Hi there,
Yea for sure, but only because they jam so much stuff on there with it.
If it were just a display then Easy enough. PINS, PINS, and PINSā¦too
They (seeed) would be well served by putting out a version without the SD and RTC and more like a plain TFT with TouchScreen. SPI or I2C ā¦ my .02 they would sell more of those.
HTH
GL PJ
If you want to use the round display, first make sure you replace the library with the one that we recommend replacing here
And donāt add other redundant tft libraries
Yes It will be weaker for samd21. It is not recommended to use XIAO SAMD21 to drive a round screen.
XIAO rp2040 works in theory. So I suggest you retry it after completely replacing the libraries we mentioned
For XIAO_ESP32s3_sense, you need to pay attention to what version of the package you have on board. Currently, versions 3.0.0 and above are not yet adapted to XIAO Round Display. Our engineer team is working on this. What you need to do now is to switch to an older version (esp32 2.0.x)
If you have completed the steps above and the screen is still not lit. Try re-powering and resetting the XIAO and make sure your switch is on
can you say what is wrong with the older codes that throw the errors
I have been studying tft_espiā¦ and it is overly complicated for no particular reasonā¦ can you sudgest another library?
Actually, according to the original method described in the wiki, it is also possible to normally use the tft library. Itās just that the method is too complex, and if any step is missing, it may result in the inability to normally use the tft library. So we generally recommend that users who are unable to use it directly use our tested stable version library, and you donāt even need to change the configuration within it to use it.
Hi there,
I would agree with you on this. However I would like to see a table or something to indicate whats been tested?
I have NO issueās . ZERO getting it to Work. It does the ONLY caveat I find is the BSP must Be 2.0.11 to have a clean experience.
i.e.
Goās like this:
Download the 2 Librariesā¦Zips.
Seeed_Arduino_RoundDisplay-main.zip (Link from Wiki)
TFT_eSPI-master.zip (2nd Link from Wiki)
do the Include library from the Arduino Sketch menu, "Add ZIP Library " option.
copy lv_conf.h to your arduino Library folder from Seeed_Arduino_Round_display library added in the previous step.
Last is to edit the User_Setup_Select.h to comment out and IN the info directed from the Wiki.
"uncomment out the users setups and in the Xiao round display #66 save and compile , It works.
PERIOD!
Even better would be already compiled bins, for the demoās already posted on the Wiki for those who are code Challenged. They can just flash and GO. Knowing the hardware does work.
Personally , USER donāt RTFMā¦ thatās where most problems come from.
HTH
my .02
GL PJ
I really think the Arduino IDE does crazy unpredictable things behind the scenesā¦ And as for manuals, hard to find themā¦ Too Many Dependencies ā¦ And Arduino will not let you put Libaries in Subfolders
Like the tft display thing we did, I broke out the Arduino Uno and still one sketch worked and another sketch threw compile errorsā¦ and I am so sick of seeing adafruit this and adafruit thatā¦ what daā¦ I am all about giving credit where credit is dueā¦ Its hard enough keeping up with a handfull of Seeed Products without having to weed thru literally thousands of devices
and dont even get me started on the Arduino IDE that picks one of those thousandsā¦ instead of the ONE MCU i own and have plugged in! What da?
I got a million freekin Libs installed I think I would rather have static code that works, rather than dynamic updatesā¦ Having to roll back code is a classic example
Hi there,
NO, It does NOT , thatās YOUR imagination. LOL
Nothing behind the scenes, The Problem is between the Keyboard and the Floor.
and is indicative of a Lack of Knowledge and experience. Thatās ALL it is , REALLY!
You canāt have both, static code and evolution, NEVER and nowhere can you give and example of that being the case. Suck it up and crack the books or Wikiās in todayās world. Just having access to the hardware vendors and there take on it is differing, thatās why so much Fruitguys stuff exist . You see they tried what you want and all Weā got was a bigger BALL of yarn, worse was it only worked mostly on there stuff in the beginning , They saw the light too late. Now is a different story.
Grove is the same situation.
The best to be expected is that Seeed Tests and verifyās there stuff works. PERIOD!
if they choose NOT to update the demoās then the onus is on YOU the user or maker.
That will never change , It canāt. IMO
unless rose colored glasses is a THING!
GL PJ
II followed PJ_Grassoā's instructions and got the error showwn below. I was aablle to fix it by updatiing to TFT_eSPI 2.5.43 as indicateed in my previous post.
If ther is a bettter fiix to clear the erroor then plese advise
In file included from c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.h:96,
from c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:16:
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.c: In function 'void dc_callback(spi_transaction_t*)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:203:22: error: 'GPIO' was not declared in this scope
203 | #define DC_D GPIO.out_w1ts = (1 << TFT_DC)//;GPIO.out_w1ts = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.c:807:28: note: in expansion of macro 'DC_D'
807 | if ((bool)spi_tx->user) {DC_D;}
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.c:808:9: note: in expansion of macro 'DC_C'
808 | else {DC_C;}
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::begin_tft_write()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:247:22: error: 'GPIO' was not declared in this scope
247 | #define CS_L GPIO.out_w1tc = (1 << TFT_CS); GPIO.out_w1tc = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:80:5: note: in expansion of macro 'CS_L'
80 | CS_L;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::begin_nin_write()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:247:22: error: 'GPIO' was not declared in this scope
247 | #define CS_L GPIO.out_w1tc = (1 << TFT_CS); GPIO.out_w1tc = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:92:5: note: in expansion of macro 'CS_L'
92 | CS_L;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::end_tft_write()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
248 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:106:7: note: in expansion of macro 'CS_H'
106 | CS_H;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::end_nin_write()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
248 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:121:7: note: in expansion of macro 'CS_H'
121 | CS_H;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::begin_tft_read()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:247:22: error: 'GPIO' was not declared in this scope
247 | #define CS_L GPIO.out_w1tc = (1 << TFT_CS); GPIO.out_w1tc = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:141:5: note: in expansion of macro 'CS_L'
141 | CS_L;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::end_tft_read()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
248 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:161:7: note: in expansion of macro 'CS_H'
161 | CS_H;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::writecommand(uint8_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:984:3: note: in expansion of macro 'DC_C'
984 | DC_C;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::writedata(uint8_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:203:22: error: 'GPIO' was not declared in this scope
203 | #define DC_D GPIO.out_w1ts = (1 << TFT_DC)//;GPIO.out_w1ts = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:1047:3: note: in expansion of macro 'DC_D'
1047 | DC_D; // Play safe, but should already be in data mode
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'uint8_t TFT_eSPI::readcommand8(uint8_t, uint8_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:1084:3: note: in expansion of macro 'DC_C'
1084 | DC_C; tft_Write_8(0xD9);
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual uint16_t TFT_eSPI::readPixel(int32_t, int32_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
248 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:1247:3: note: in expansion of macro 'CS_H'
1247 | CS_H;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::readRectRGB(int32_t, int32_t, int32_t, int32_t, uint8_t*)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
248 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:2257:3: note: in expansion of macro 'CS_H'
2257 | CS_H;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::setWindow(int32_t, int32_t, int32_t, int32_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:3480:5: note: in expansion of macro 'DC_C'
3480 | DC_C; tft_Write_8(TFT_CASET);
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::readAddrWindow(int32_t, int32_t, int32_t, int32_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:3556:3: note: in expansion of macro 'DC_C'
3556 | DC_C; tft_Write_8(TFT_CASET);
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::drawPixel(int32_t, int32_t, uint32_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:3756:7: note: in expansion of macro 'DC_C'
3756 | DC_C; tft_Write_8(TFT_CASET);
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:3763:7: note: in expansion of macro 'DC_C'
3763 | DC_C; tft_Write_8(TFT_PASET);
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:3769:3: note: in expansion of macro 'DC_C'
3769 | DC_C; tft_Write_8(TFT_RAMWR);
| ^~~~
Multiple libraries were found for "SD.h"
Used: C:\Users\Bill\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\libraries\SD
Not used: C:\Users\Bill\AppData\Local\Arduino15\libraries\SD
exit status 1
Compilation error: exit status 1In file included from c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.h:96,
from c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:16:
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.c: In function 'void dc_callback(spi_transaction_t*)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:203:22: error: 'GPIO' was not declared in this scope
203 | #define DC_D GPIO.out_w1ts = (1 << TFT_DC)//;GPIO.out_w1ts = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.c:807:28: note: in expansion of macro 'DC_D'
807 | if ((bool)spi_tx->user) {DC_D;}
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.c:808:9: note: in expansion of macro 'DC_C'
808 | else {DC_C;}
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::begin_tft_write()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:247:22: error: 'GPIO' was not declared in this scope
247 | #define CS_L GPIO.out_w1tc = (1 << TFT_CS); GPIO.out_w1tc = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:80:5: note: in expansion of macro 'CS_L'
80 | CS_L;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::begin_nin_write()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:247:22: error: 'GPIO' was not declared in this scope
247 | #define CS_L GPIO.out_w1tc = (1 << TFT_CS); GPIO.out_w1tc = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:92:5: note: in expansion of macro 'CS_L'
92 | CS_L;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::end_tft_write()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
248 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:106:7: note: in expansion of macro 'CS_H'
106 | CS_H;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::end_nin_write()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
248 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:121:7: note: in expansion of macro 'CS_H'
121 | CS_H;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::begin_tft_read()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:247:22: error: 'GPIO' was not declared in this scope
247 | #define CS_L GPIO.out_w1tc = (1 << TFT_CS); GPIO.out_w1tc = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:141:5: note: in expansion of macro 'CS_L'
141 | CS_L;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::end_tft_read()':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
248 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:161:7: note: in expansion of macro 'CS_H'
161 | CS_H;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::writecommand(uint8_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:984:3: note: in expansion of macro 'DC_C'
984 | DC_C;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::writedata(uint8_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:203:22: error: 'GPIO' was not declared in this scope
203 | #define DC_D GPIO.out_w1ts = (1 << TFT_DC)//;GPIO.out_w1ts = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:1047:3: note: in expansion of macro 'DC_D'
1047 | DC_D; // Play safe, but should already be in data mode
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'uint8_t TFT_eSPI::readcommand8(uint8_t, uint8_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:1084:3: note: in expansion of macro 'DC_C'
1084 | DC_C; tft_Write_8(0xD9);
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual uint16_t TFT_eSPI::readPixel(int32_t, int32_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
248 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:1247:3: note: in expansion of macro 'CS_H'
1247 | CS_H;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::readRectRGB(int32_t, int32_t, int32_t, int32_t, uint8_t*)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
248 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:2257:3: note: in expansion of macro 'CS_H'
2257 | CS_H;
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::setWindow(int32_t, int32_t, int32_t, int32_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:3480:5: note: in expansion of macro 'DC_C'
3480 | DC_C; tft_Write_8(TFT_CASET);
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'void TFT_eSPI::readAddrWindow(int32_t, int32_t, int32_t, int32_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:3556:3: note: in expansion of macro 'DC_C'
3556 | DC_C; tft_Write_8(TFT_CASET);
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::drawPixel(int32_t, int32_t, uint32_t)':
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:3756:7: note: in expansion of macro 'DC_C'
3756 | DC_C; tft_Write_8(TFT_CASET);
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:3763:7: note: in expansion of macro 'DC_C'
3763 | DC_C; tft_Write_8(TFT_PASET);
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
202 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
| ^~~~
c:\Users\Bill\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:3769:3: note: in expansion of macro 'DC_C'
3769 | DC_C; tft_Write_8(TFT_RAMWR);
| ^~~~
Multiple libraries were found for "SD.h"
Used: C:\Users\Bill\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\libraries\SD
Not used: C:\Users\Bill\AppData\Local\Arduino15\libraries\SD
exit status 1
Compilation error: exit status 1
For information the following are thee steps I have followed.
I reached a totally confused state so I decided to start from scratch to see what happens.
1. I found an uncluttered computer and deleted all traces of Arduino and reloaded the latest version 2.3.2 on Windows 10.
2. From Seed tutorial āGetting Started with Seeed Studio Rounds Display for XIAOā, I downloaded āSeeed_Arduino_RoundDisplayā.
3. From Seed tutorial āGetting Started with Seeed Studio Rounds Display for XIAOā, I downloaded āSeeed-Studio_XIAO-Round_Display-lvgl8.3.5ā.
4. I copied the libraries in āSeeed-Studio_XIAO-Round_Display-lvgl8.3.5ā to Documents/Arduino/libraries
5. I copied lvgl.h in āSeeed-Studio_XIAO-Round_Display-lvgl8.3.5ā to Documents/Arduino/libraries
6. I changed the file defines in User_Setup_Select.h to the ones shown in the tutorial.
7. I loaded Hardware Test.ino and the compiler returned a page full of errors.
8. I updated the TFT_eSPI library from 2.5.22 to 2.5.43 and the sketch compiled without errors.
9. I connected a XIAO ESP32S3 and downloaded the Hardware Test example.
10. The sketch down loaded OK but the display was blank.
Attached is screenshot of the Arduino directory. One of the replies to this string suggested that the driver was bad; where is the driver in the file structure shown in the attached picture.
There seems to be something wrong with the file down load from Seed or the tutorial needs updating
Help appreciated.
Received PJ_Grassso response(6/28/2024/
1.Deleted TFT_eSPI 2.5.43 and installed the file downloaded from WIKI; the downloaded file is 2.5.23
My Middle school teacher, back when teachers were Real Men used to tell usā¦
" You can like itā¦ or Lump itā¦ either wayā¦ anāt nothing gonna change about itā¦" McClenny Saundersā¦
It looks like Arduino is using BSP 3.0.2 which is the latest package.
How do I load an older version.
I have c:\users\bill\AppData\Local\Arduino\packages\esp32\hardware\esp32\3.0.2
Can clarify what you mean by"You need to post your compiler output, first 3 lines.
Thanks for response.
I installed BSP 2.0.11, TFT_esp32 2.5.22 and lvgl 8.3.4.
All the programs compiled OK on the SEEED_esp32s3 with the round camera. I had problems downloading; at one point I downloaded a program(can,t remember which one) and I kept getting failure to download errors. I tried all the reset procedures to enter BOOT mode and I finally downloaded the BLINK program( which is step #3 in the recovery procedure); now everything works. I guess the BLINK was able to overwrite the offending program and return the esp32se to workable mode.
Thanks for your help
It seems a bad policy to have to roll back the config files to a year old point in time; is this ever going to get resolved??
Hi there,
Sounds like it wrote over the bootloader area or some other boundary, the blink just straightened that out.
Actually it will work with the current ones, Itās not within Seeedās control , all the LIbraries you are using are third party and some go there own way later in development as to what stuff they support on the ESP chips. Once you have it working , try switching to newer BSPās and Updated TFT_eSPI lib. If you set the user configs correctly youāll get good results.
Heck I 'm just glad it WORKSā¦
HTH
GL PJ
Hi there,
Sure, good stuff
When you run a compile it outputs the Steps itās taking, If you have the āVerboseā tick mark set in the config/preferences for the IDE. From that the first three lines of output tell you which āBSPā it used.
The last 20 or so the LIBs it found and applied to the build process , as well as the files and names it creates for them along with the flash regions they are written to. itās a LOT of good info but you wonāt know it unless you study more.
the old adage comes to mind, āGarbage IN , Garbage OUTā
Use the Board MAnager to select the right BSP and recompile , then look at the output for any errors or versions that are different from the examples, often that will give it away. the SD card stuff and the Adafruit stuff is notorious for that. COmpiler output is the key first step in troubleshooting any of this stuff. PERIOD!
HTH
GL PJ
Donāt forget to mark the post that suggested the fix with the solution so others can find it.