-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't get component esp_lcd_gc9503 to work (IDFGH-13231) (BSP-518) #345
Comments
Hi @dannybackx, |
Thanks for pointing to that. I suspect the SPI code to configure the display isn't working. The BSP does things like this :
while my code starts like this :
ideas ? |
This is getting really frustrating. The BSP from the board vendor is based on old esp-idf versions and they claim you guys move too fast. But it used esp-idf's components/esp_driver_spi/src/gpspi/spi_master.c . The esp-bsp stuff for gc9503 doesn't seem to work, and it uses own SPI functions in managed_components/espressif__esp_lcd_panel_io_additions/esp_lcd_panel_io_3wire_spi.c . I'm not sure what to do here. Except maybe give up on esp-idf's managed components. |
Hi @dannybackx , If this doesn't help, you can check your schematic whether you need to do HW reset of the display and whether SPI is sending the data as you intend |
Hi @dannybackx, Therefore, please ensure that when using gc9503_vendor_config_t vendor_config = {
.rgb_config = &rgb_config,
// .init_cmds = lcd_init_cmds, // Uncomment these line if use custom initialization commands
// .init_cmds_size = sizeof(lcd_init_cmds) / sizeof(gc9503_lcd_init_cmd_t),
.flags = {
.mirror_by_cmd = 0, // Only work when `auto_del_panel_io` is set to 0
.auto_del_panel_io = 1, /**
* Set to 1 if panel IO is no longer needed after LCD initialization.
* If the panel IO pins are sharing other pins of the RGB interface to save GPIOs,
* Please set it to 1 to release the pins.
*/
},
}; |
Responding to the "inaccessible" remark, do you refer to the subversion url in my message ? |
For clarity - I was originally working on a more complicated app, so I cut that down to the minimum and showed that in this thread. Tried your suggestions in the more complicated app but didn't show that in the minimal source. I did that now, still not getting anywhere. So the minimal source at https://sourceforge.net/p/esp32-s3-86-box-project-base/code/HEAD/tree/trunk/touchscreen/ has been updated, I'm not further yet. The backlight works but the LCD doesn't show anything (note: the hardware is proven to work).
|
Sorry for the late reply. Thank you very much for organizing such a minimal code example. After reviewing it, I found some issues:
|
Ok, so there are several versions of this board, even from the same vendor/website, and I managed to point you to the wrong spec sheet. The TR board data sheet has a very similar setup as your screenshot shows, but with different pin numbers - the one in my include file. Furthermore, the include file I use is derived from a source directory which I got from the merchant site at the time. I believe the lot is also at https://github.com/smartpanle/QMSD-ESP32-BSP/tree/master . More importantly (because it works), in the same repo as the cut down example you studied, there's a directory "minimal" which is less minimal than what you saw, but it's based on the original BSP, with more or less the same include file. See https://sourceforge.net/p/esp32-s3-86-box-project-base/code/HEAD/tree/trunk/minimal/ . I see they currently support esp-idf 5.[23] but that took them a long time. So I believe the pin numbers you saw are not the issue. Regarding the init_cmds. I basically have several versions of such a table. There is a default one in the espressif__esp_lcd_gc9503 component that gets loaded if you don't specify anything. So I tried not specifying anything. Bothersome is that almost all of the codes in those tables are missing in the gc9503 documentation, so I have no clue what they do. But I shouldn't complain to you about that. |
Yes, I understand. Did you try commenting out |
Yes, I think so. |
Answers checklist.
General issue report
I am using all the example / advice on https://components.espressif.com/components/espressif/esp_lcd_gc9503/versions/3.0.1?language=en but my display stays blank.
The hardware (ZX3D95CD01S board available from multiple sources on AliExpress) works just fine if you compile stuff with the board support package. However, that is based on old esp-idf versions and this bothers me for other (dependency) reasons.
Board reference https://www.aliexpress.com/item/1005005886057393.html?spm=a2g0o.order_list.order_list_main.23.3afe1802V0TN7o
So I'm trying to get the board to display something with the generic components, and have tried a lot of different scenarios already. The latest and cleanest is a merge between the included sample in the esp_lvgl_port component and the sample code on the esp_lcd_gc9503 page , so replacing the st7789 dependency with gc9503 code.
See https://sourceforge.net/p/esp32-s3-86-box-project-base/code/HEAD/tree/trunk/touchscreen
This should cleanly build with a variety of recent esp-idf distributions, currently using yesterday's 5.3-rc1.
Dependency list is just stuff from the components repo.
The screen lights up a little bit (the backlight is active, I mean) but other than that remains dark.
How can I debug further ?
The text was updated successfully, but these errors were encountered: