VSPI not defined ...
icedawn opened this issue · 6 comments
Any idea what this is? It's in the LilyGO TFT library code, but you may have a work around?
In file included from /Users/ecrump/scratch/arduino/esp32/lilygo/teastainGit/LilyGO-T-display-S3-setup-and-examples-main/HotHead/HotHead.ino:2:
/Users/ecrump/Documents/Arduino/libraries/TFT_eSPI/TFT_eSPI.h:302:21: error: 'VSPI' was not declared in this scope
uint8_t port = VSPI;
^~~~
/Users/ecrump/Documents/Arduino/libraries/TFT_eSPI/TFT_eSPI.h:302:21: note: suggested alternative: 'SPI'
uint8_t port = VSPI;
^~~~
SPI
exit status 1
Compilation error: exit status 1
Hi! Couple of Q's:
I have never run across this error, sorry!
Are you using the Arduino V2.0.3?
Can you tell me where you got the TFT_eSPI Library folder and it's drivers?
Is it from Arduino? (The one installed by Arduino)
Is it from LiliGO's repository when you downloaded and unzipped the files?
Have you done the Arduino Library Updates on this Library ?
These pointed questions will help me understand your situation!!!
Thanks, Terry
Thanks for responding Terry! It's weird that only one other person I can find has hit this error ;-). I think I followed your instructions which leads me to believe there's something in my config. I've reinstalled Arduino and tried a bunch of permutations. Here are some direct answers to your questions ...
Arduino v2.0.3: yes
TFT_eSPI: https://github.com/Xinyuan-LilyGO/TTGO-T-Display
Arduino TFT_eSPI (bodman): no. I have tried that just in case, but it had a ton more problems (basically as you documented ;-)
LiliGO's repository: yes, I think so (TFT_eSPI answer above)
Updates: no. That said, yes, I did try that without success, but I've started fresh once I saw your notes. I've gone in manually and deleted things in the libraries folder and reinstalled the IDE from scratch.
I'm thinking that I'm missing a dependency that people normally have. I have another dev machine, so I'm going to test it there now that I know it's probably not the TTGO library itself.
I have walked through the code, btw. The offending code that pulls in VSPI is here ...
TFT-ESPI.h:302
#if defined (ESP32) // TODO: make generic for other processors
#if defined (USE_HSPI_PORT)
uint8_t port = HSPI;
#else
uint8_t port = VSPI;
#endif
#endif
VSPI isn't defined. I'm curious if you walk through where TFT_eSPI.h is coming from, do you have that line? do you have USE_HSPI_PORT defined? Is VSPI defined? If so, where ;-). That's probably my missing dependency ;-)
In any event, I'll keep debugging it ...
Thanks!
OK, first off I see a problem, that could improve your evening.
https://github.com/Xinyuan-LilyGO/TTGO-T-Display is NOT the correct source for the LilyGO T-Display S3 .
TTGO is an older board that I always wanted until the new T-Display S3 came out late this summer.
It is in fact:
https://github.com/Xinyuan-LilyGO/T-Display-S3
Subtle difference. The TTGO is in fact a SPI display but the LilyGO T-Display S3 is a larger 8 bit parallel LCD, not SPI as the naming implies. LilyGO T-Display S3 users have been fighting with LilyGO over this and just this week the author of TFT_eSPI agreed and issued a modified version, which I was able to beta-test and it works fine.
That is why -currently- you need to delete the TFT_eSPI Library and replace it with LilyGO T-Display S3 version and resist the temptation to update it through Arduino.
My repository is a response to my grief and sweat so I can help others.
So, please confirm which of the two boards we are talking about!
Terry
OH!!!! LOL, that is excellent! Thank you for catching that Terry ... that's the piece I was in no danger of seeing ;-). I've got the T-Display-S3 boards.
I'll give this a try later tonight and confirm!
Confirmed! That did the trick! I was using the TTGO sources for the TFT_eSPI, not the T-Display-S3 version. Your demo compiled and popped up without any fuss on the T-Display-S3 device ;-)
I owe you a few beers!
My pleasure!