nikthefix / Lilygo_Support_T_Display_S3_Long_TFT_eSPI_Volos-nikthefix

16 stars 2 forks source link

Black display #1

Open d3mac123 opened 5 months ago

d3mac123 commented 5 months ago

Hey Nick, I am so sorry to bother you :(

I have tried your code but I got a blank display. Any ideas on how to fix that? I added the (lvl folder and lv_conf.h file to the Arduino/libraries folder, as per Volos instructions but, can't see anything on the board anymore). I also have reset the board but, still, no good.

nikthefix commented 5 months ago

For the calculator demo you don't need any lvgl related files. Install a fresh TFT_eSPI and don't change anything. Check the build settings listed in the sketch comments. Update esp32_arduino core to 3.0.0 alpha3

Get back to me.

d3mac123 commented 5 months ago

I have installed a brand new TFT_eSPI library using the default settings in the User_Setup_Select.h file. It did not work. I updated the User_Setup_Select.h file setting line 133, which sets the LilyGoT_Display_S3 as the board for the library. I did not work.

I guess the only thing missing is to install the alpha version of ESP32 library. However :)

d3mac123 commented 5 months ago

I found also something interesting. After trying so many times to upload/run your code (I know the code is working behind because I set some Serial.println when touching) without success (meaning having the display working). I uploaded the factory lvgl demo, just to test if the display was still working fine. Then the "funny thing":

nikthefix commented 5 months ago

In user_Setup_Select.h leave the board as undefined (line 27 #include ). In user_Setup.h check line 45 #define ILI9341_DRIVER is uncommented.

These are the default settings for a fresh TFT_eSPI. You don't need to change anything.

Yes it sounds like you need to install Alpha 3 core. You can install it via the Arduino IDE boards manager. Make sure you have the Additional Boards URL set in preferences in the IDE. It should be this:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json

Let me know if this fixes it.

nikthefix commented 5 months ago

BTW, installing alpha3 will reset your build settings so you'll have to configure again:

Board ESP32-S3-Dev USB CDC On boot Enabled Flash Size 16MB Partition Scheme 16M Flash(3MB APP/9.9MB FATFS) PSRAM "OPI PSRAM"

nikthefix commented 5 months ago

Another thing to double check is that you've removed any of the lilygo supplied libs / source files from your Arduino Libraries folder. They are not compatible with what we're doing here as they are modified versions.

If you need to test that the display is working at any point then use my Hello World sketch as this is bare bones with no touch.

d3mac123 commented 5 months ago

You are a genius! Your code is working fine and my limited (no OTA/etc) code too. However (I tried different Partition Schemes), the code with AsynElegantOTA terminates on compilation (see below). I guess this is related to the usage of the Alpha version of ESP32, right?

In file included from /Users/alexsouza/Documents/Arduino/CoPilot_Long/CoPilot_Long.ino:54:
/Users/alexsouza/Documents/Arduino/libraries/AsyncElegantOTA/src/AsyncElegantOTA.h:18:14: fatal error: esp_int_wdt.h: No such file or directory
   18 |     #include "esp_int_wdt.h"
      |              ^~~~~~~~~~~~~~~
compilation terminated.

exit status 1

Compilation error: exit status 1
nikthefix commented 5 months ago

Yes, there are many things in alpha3 which still don't work properly with older code. You can remedy this by referring to the Espressif migration document.

You can also make your own custom partition scheme. You'll notice a 'custom' option in the partitions list in alpha3. It's undefined but you can do your own thing. I made one which is 16MB all program space so that I could store loads of Gifs as byte arrays - which would otherwise have over filled the space. I don't find FATFS or SPIFFS (depreciated) that useful most of the time but it is great for serving web pages etc.

Don't forget that it's alpha3 - not even a release candidate yet. Early days.

The alternative is to use an earlier version of the ESP core but as library contributors update their own code to comply with the new changes as they appear, I suspect there could be a greater risk of much more confusing problems. I think it's better to move forward and embrace whatever temporary difficulties the new core imposes.

Of course, if you were making a commercial product then you'd want to dump the entire flash contents of a known working version in order to 'freeze it in time' where no updates could touch it - so to speak.