Why is there so much sex every time?
Your library seemed beautiful to me, but very incomprehensible
I'm not making a claim. I'm just asking for advice.
I understand that and my previous answer was only a suggestion and not meant to be rude![]()
As I understand it, you manage to run the LVGL music demo on Teensy 4 with an ILI9341 screen. Your next question now concerns LVGL and its integration into the Arduino environment (i.e. installing LVGL_Arduino). I do not know enough to help you about that. However, by asking for advice on the Arduino forum or, even better, on the LVGL forum you are more likely to reach people who know the answer...
Arduino: 1.8.19 (Linux), TD: 1.56, Board: "Teensy 4.1, Serial, 600 MHz, Faster, US English"
/home/pi/Arduino/lvgl_music_demo.ino/lvgl_music_demo.ino.ino: In function 'void setup()':
/home/pi/Arduino/lvgl_music_demo.ino/lvgl_music_demo.ino.ino:164:19: error: 'lv_demo_music' was not declared in this scope
lv_demo_music();
^
Error compiling for board Teensy 4.1.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I got the lvgl_touch_minimal to run. However, the code says it should be in landscape, but the ILI9341 is in portrait mode.
Edit: Finally understood what you meant by copying everything. Got it to compile and run. Now to figure out how on earth to use something like this, for my own application.
Using the baseline configuration, but edited for my PCB, I got 65 FPS at 40 MHz. Unfortunately my DC=9, and my CS=10, because I designed my PCB based on the standard t3 library.
Using the baseline configuration, but edited for my PCB, I got 65 FPS at 40 MHz.
disp->refr_timer->period = 15; // line 158 of lvgl_music_demo.ino
Before doing that, I tried on my pc for the simulator. I do not know where to get Eclipse CDT. I tried the eclipse installer, and there is no mention of CDT in any of the choices. I picked the C/C++ developers IDE. Eventually I found a CDT plug-in. Did all that and tried compiling the lvgl project they tell you to download. The buttons on the IDE don't work, ie Hammer. But the project build accessed from the right button mouse does. The build works. But running results in all sorts of errors. Quite honestly, a mal-documented mess. The links from lvgl do not go directly to where you need to go, or they offer ambiguous choices that are not obvious to a new user.
I found a just Eclipse CDT project on github. https://github.com/eclipse-cdt/cdt Tried downloading that. It used mvn to build. The build fails, after 14 minutes on an i7. Very little clue on what to do when the build fails. Why on earth, after downloading the moon, they couldn't also get the prerequisites - or print out what was needed, is beyond me.
The lvgl page is full of marketing fluff, and incredibly short of detail on how to actually get everything set up correctly. There is no obvious complete tutorial. Clearly written by people who are very familiar with all these tools - but have no idea how to tell new users what to do. Unless someone kindly helps out here, I can't see using these tools at all. The barrier to entry seems very high, requiring far more prerequisite knowledge than indicated in the description. Feel like I wasted my morning.
I just updated the example in the library to work with LVGL's latest version (the main branch on github).
I just tested it from a freshly installed Windows 10 (64 bits) machine and followed the steps:
- Installed Arduino 1.8.19 with default options.
- Installed Teensyduino 1.57 with default options.
- Downloaded file https://github.com/lvgl/lvgl/archive/refs/heads/master.zip and extracted it into "...\Documents\Arduino\libraries\" folder.
- Downloaded file https://github.com/vindar/ILI9341_T4/archive/refs/heads/main.zip and extracted it into "...\Documents\Arduino\libraries\" folder.
- Copied and renamed file '...\Documents\Arduino\libraries\lvgl-master\lv_conf_template.h' to '...\Documents\Arduino\libraries\lv_conf.h' (the base library folder).
- Edited file '...\Documents\Arduino\libraries\lv_conf.h' with the following changes:
- [line 15] #if 1
- [line 76] #define LV_TICK_CUSTOM 1
- [line 256] #define LV_USE_PERF_MONITOR 1
- [line 348] #define LV_FONT_MONTSERRAT_12 1
- [line 349] #define LV_FONT_MONTSERRAT_14 1
- [line 350] #define LV_FONT_MONTSERRAT_16 1
- Set hardware: Teensy 4.1 with the following wiring from the ILI9341 screen:
- SCK to Teensy pin 13
- SDO (MISO) to Teensy pin 12
- SDI (MOSI) to Teensy pin 11
- DC to Teensy pin 10
- CS to Teensy pin 9
- RESET to Teensy pin 6
- VCC and LED to +5V, GND to ground
- Opened Arduino IDE and loaded example: [File]->[Examples]->[ILI9341_T4]->[lvgl_music_demo]. The example compiled and uploaded without trouble.
- Loaded [lvgl_minimal_touch] example. Set additional wiring:
The example compiled and uploaded without trouble again.
- T_CLK to Teensy pin 13
- T_CS to Teesny pin 4
- T_DIN to Teensy pin 11
- T_DO to Teensy pin 12
- T_IRQ to Teensy pin 3
Hopefully someone will find this guide useful !
I want to apologize to the forum for my rant on lvgl. I have not been able to get the simulator to run, but that is not a reason to vent like I did. It would seem the product is for developers more advanced than I am. Perhaps at another time, I will make an attempt to get the simulator to work.
@vindar: I cannot thank you enough!!
Following your instructions, I managed to have the "lvgl_music_demo" up&running on my T4.1.
I got 145fps at about 84% CPU load with refresh=5 and SPI at 80 MHz. And CPU clock speed was only 528 MHz.
Now, I am trying to figure how to start a new project using your ILI9341_T4 library + touch + LVGL and using SquareLine Studio to design the GUI... I think I'm headed to source path hell...! Any advice?
Hi, I have ILI9341 with 8-bit parallel interface, ILI9342C with SPI interface and I have no idea how to get either working. Any ideas? I need quite high performance.