Xiao esp32c6 seeed studio round display hardware test problem

Tried to start using the round display with my Xiao esp32c6
followed all instructions of this tutorial Getting Started with Seeed Studio Round Display for XIAO | Seeed Studio Wiki (I guess)
trying to compile hardware test and get this issue:

In file included from C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\HardwareTest.ino:8:
C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\lv_hardware_test.h: In function ‘void rtc_clock_cb(lv_timer_t*)’:
C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\lv_hardware_test.h:41:46: error: ‘user_data’ was not declared in this scope
41 | lv_obj_t rtc_clock = (lv_obj_t *)timer>-user_data;
| ^~~~~~~~~
C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\lv_hardware_test.h: In function 'void hardware_polled_cb(lv_timer_t
)’:
C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\lv_hardware_test.h:59:45: error: ‘user_data’ was not declared in this scope
59 | lv_obj_t *tf_state = (lv_obj_t *)timer>-user_data;
| ^~~~~~~~~
Multiple libraries were found for “SD.h”
Used: C:\Users\grink\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.4\libraries\SD
Not used: C:\Users\grink\AppData\Local\Arduino15\libraries\SD
Not used: C:\Users\grink\Documents\Arduino\libraries\SD
exit status 1

Compilation error: ‘user_data’ was not declared in this scope
I don’t have rtc battery or sd card installed.

Hi there,
Welcome here,
So the round display requires some attention to details on the Display driving.
Which BSP are you using for the ESP32C6 ?
HTH
GL :slight_smile: PJ :v:

I don’t really know, how do I check that? I followed this basic tutorial when first started using it Getting Started with Seeed Studio XIAO ESP32C6 | Seeed Studio Wiki
so i guess I’m using the esp32 package.

Hi there,
Ok, So if you look inthe Boards tab of the Arduino IDE you can see which it is using the newer one may NOT work with that demo or Example. Try rolling it back to the 3.0.0 BSP and see if it compiles.
HTH
GL :slight_smile: PJ :v:

So i was using the 3.0.4 one, rolled back to 3.0.0 and still got this error messege:
In file included from C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\HardwareTest.ino:8:
C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\lv_hardware_test.h: In function ‘void rtc_clock_cb(lv_timer_t*)’:
C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\lv_hardware_test.h:41:44: error: invalid use of incomplete type ‘lv_timer_t’ {aka ‘struct lv_timer_t’}
41 | lv_obj_t *rtc_clock = (lv_obj_t )timer->user_data;
| ^~
In file included from c:\users\grink\documents\arduino\libraries\lvgl\src/lv_init.h:17,
from c:\users\grink\documents\arduino\libraries\lvgl\lvgl.h:21,
from c:\Users\grink\Documents\Arduino\libraries\lvgl\src/lvgl.h:16,
from C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\HardwareTest.ino:1:
c:\users\grink\documents\arduino\libraries\lvgl\src/misc/lv_types.h:112:16: note: forward declaration of ‘lv_timer_t’ {aka ‘struct lv_timer_t’}
112 | typedef struct lv_timer_t lv_timer_t;
| ^~~~~~~~~~
C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\lv_hardware_test.h: In function 'void hardware_polled_cb(lv_timer_t
)’:
C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\lv_hardware_test.h:59:43: error: invalid use of incomplete type ‘lv_timer_t’ {aka ‘struct lv_timer_t’}
59 | lv_obj_t *tf_state = (lv_obj_t *)timer->user_data;
| ^~
c:\users\grink\documents\arduino\libraries\lvgl\src/misc/lv_types.h:112:16: note: forward declaration of ‘lv_timer_t’ {aka ‘struct lv_timer_t’}
112 | typedef struct lv_timer_t lv_timer_t;
| ^~~~~~~~~~
C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\lv_hardware_test.h: In function ‘void lv_hardware_test()’:
C:\Users\grink\AppData\Local\Temp.arduinoIDE-unsaved2024815-13036-20if5c.1vlzn\HardwareTest\lv_hardware_test.h:116:64: error: ‘S’ was not declared in this scope; did you mean ‘SS’?
116 | lv_obj_clear_flag(battery_outline, LV_OBJ_FLAG_SCROLLABLE);S
| ^
| SS
Multiple libraries were found for “SD.h”
Used: C:\Users\grink\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0\libraries\SD
Not used: C:\Users\grink\AppData\Local\Arduino15\libraries\SD
Not used: C:\Users\grink\Documents\Arduino\libraries\SD
exit status 1

Compilation error: invalid use of incomplete type ‘lv_timer_t’ {aka ‘struct lv_timer_t’}

also tried to roll back other libraries like in this post Seeed Studio Round Display for XIAO, Arduino fails to compile at the last step 'HardwareTest' - #16 by PJ_Glasso
but i still get this erorr:Multiple libraries were found for “SD.h”
Used: C:\Users\grink\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0\libraries\SD
Not used: C:\Users\grink\AppData\Local\Arduino15\libraries\SD
Not used: C:\Users\grink\Documents\Arduino\libraries\SD
exit status 1

Compilation error: exit status 1

Hi there,
So BTW, The wiKi say’s this:
ESP32 development board package not compatible with TFT library when ESP32 development board package update to version 3.0.X,so we recommend you use ESP32 deveopment board package version 2.0.X to use XIAO Round Display.

Besides, ESP32C6 is not support version 2.0.X package, so we not recommend you use XIAO ESP32C6 with XIAO Round Display.

HTH
GL :slight_smile: PJ :v:

works very well with S3 and C3… :+1:

1 Like

So there is really no way to get c6 wotking with the display?

Hi there,
AFAIK, No .
Espressif kinda stuck it to everyone, when they updated to the latest IDF , it killed a lot of backwad compatibility with old hardware and LIB’s , a move purley to force the issue to move to ESP-IDF or not use there hardware.
my .2
HTH
GL :slight_smile: PJ

The C3 and S3 are kind of grandfathered in… LOL :v:

Okay, then i will try to get the c3, thanks for your help!

Not sure if it works, but found this on GitHub, ESP32 Board Package 3.0.x and ESP32-C6 and ESP32-H2 works for me with modifications of TFT_eSPI 2.5.43 · Issue #3438 · Bodmer/TFT_eSPI · GitHub
looks like the guy managed to run the round display with ESP32C6.
Also there is a PR which adds a support of ESP32C6 to V 2.0.X Add TFT_eSPI_ESP32_C6.c and TFT_eSPI_ESP32_C6.h by Cincinnatu · Pull Request #3399 · Bodmer/TFT_eSPI · GitHub
Cheers

1 Like