esphome / feature-requests

ESPHome Feature Request Tracker
https://esphome.io/
404 stars 26 forks source link

Support for HXD8357D (partially works with ili9341 module). #1870

Open khrazik opened 1 year ago

khrazik commented 1 year ago

Describe the problem you have/What new integration you would like I would like for ESPhome to support full resolution of the (Adafruit HXD8357D display).

Please describe your use case for this integration and alternatives you've tried: I am building a household barcode scanner with an information display utilizing ESPhome, Home Assistant and Grocy. HXD8357D would be useful for me, as it's bigger (at 3,5") and higher-res (at 320x480) than typical ILI9341 displays supported by ESPhome.

It seems that this display has a lot in common with the ILI9341 - when ESPhome is compiled with SPI and ILI9341 support, the HXD8357D works, showing "hello world", but only part of the screen is utilized, the rest being garbage. This makes sense, since the ILI9341 is 320x240.

I have tried replacing all instances of "320" with "480" and "240" with "320" in ili9341_display.cpp, and ili9341_defines.h, and recompiling, but the display blinks white 5 or 6 times, then stops responding.

I'm way out of my depth here. I'm not assuming it's a simple thing to fix, but on the off chance it is, I'd appreciate your help.

Additional context none

clowrey commented 1 year ago

You could try using my hacked up ili9341 component here: https://github.com/esphome/feature-requests/issues/1187#issuecomment-1254195657 Or at least use it as an example of how to make your own specifically for this display. Oh and you will need to use that display with a ESP32 Wrover style module with the additional PSRAM or the buffer wont fit.. It'll give you runtime errors after you compile with the normal ESP32 core and the 320x480 buffer..

Actually the blinking you described may be the buffer overruns happening.. have you looked at the serial logs?