You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Before opening this issue, I've tried two base codes to get CST816S working : esp-watch from esp-bsp and T display S3 both codes doesn't seem to work with my ESP32C6 and LCD TFT setup.
The LCD works fine and displays whatever you instructs it to show with LVGL.
But once I configure the CST816S driver the MCU stucks at doing its first hadnshake with the driver, at id reading.
I've made a minimal code (without this driver) to test the hardware wiring and i'm able to notice INT interrupts when I touch the screen and I'm also able to get the ID with this command :
`static void id_register_read(uint8_t addr)
{
uint8_t data[2];
Following up the issue with the library I ended up seeing the freeze/blocking at this function esp_err_t panel_io_i2c_rx_buffer(esp_lcd_panel_io_t *io, int lcd_cmd, void *buffer, size_t buffer_size)
in esp_lcd/src/esp_lcd_panel_io_i2c.c file.
Please note that I've added a queue to see if the ISR generates the interrupts but I don't see them coming. The esp32c6 is lost in the id reading step in esp_lcd_touch_new_i2c_cst816s function.
Could you please provide me with some guidelines to debug this issue or resolve it.
Regards,
Mohammed
The text was updated successfully, but these errors were encountered:
MohammedBENHADINE
changed the title
Freeze while trying to read id using ESP32C6 and releasev5.1
[ESP LCD Touch CST816S Controller] Freeze while trying to read id using ESP32C6 and releasev5.1
Oct 10, 2023
github-actionsbot
changed the title
[ESP LCD Touch CST816S Controller] Freeze while trying to read id using ESP32C6 and releasev5.1
[ESP LCD Touch CST816S Controller] Freeze while trying to read id using ESP32C6 and releasev5.1 (BSP-404)
Oct 10, 2023
The drivers in esp-watch from esp-bsp were created a long time ago and are not well-maintained. Please try again with the latest drivers mentioned above.
Hi @Lzw655 ,
Thanks for the quick reply.
I'm getting the same behavior with the newest version of the cst816s driver.
Now I wonder if the LCD has a different IC. The supplier gave me this source code but it's not usable from my ESP32C6.
The IC reference is CST816D , is that different from the CST816S ?
Some pictures of the display :
After many tests I figured out that the issue was hardware based.
The IC has some manufacturing issue and after using another one the library worked fine.
Hello,
Before opening this issue, I've tried two base codes to get CST816S working : esp-watch from esp-bsp and T display S3 both codes doesn't seem to work with my ESP32C6 and LCD TFT setup.
The LCD works fine and displays whatever you instructs it to show with LVGL.
But once I configure the CST816S driver the MCU stucks at doing its first hadnshake with the driver, at id reading.
I've made a minimal code (without this driver) to test the hardware wiring and i'm able to notice INT interrupts when I touch the screen and I'm also able to get the ID with this command :
`static void id_register_read(uint8_t addr)
{
uint8_t data[2];
}`
Following up the issue with the library I ended up seeing the freeze/blocking at this function
esp_err_t panel_io_i2c_rx_buffer(esp_lcd_panel_io_t *io, int lcd_cmd, void *buffer, size_t buffer_size)
in esp_lcd/src/esp_lcd_panel_io_i2c.c file.
I've this minimal code to debug this issue :
Please note that I've added a queue to see if the ISR generates the interrupts but I don't see them coming. The esp32c6 is lost in the id reading step in esp_lcd_touch_new_i2c_cst816s function.
Could you please provide me with some guidelines to debug this issue or resolve it.
Regards,
Mohammed
The text was updated successfully, but these errors were encountered: