-
Notifications
You must be signed in to change notification settings - Fork 85
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
Support for JC3248W535EN #217
Comments
PS - And an Arduino build is in the ArduinoLvgl branch |
This is just such a coincidence...I was ready to open an issue on the same topic this evening. A few weeks ago I bought exactly this display for an existing project. As my project supports a few types of these CYD's I was using the esp32-smartdisplay library. For initial testing of this display I used the Arduino_GFX library. This worked fine. However I had the need of a single library supporting different types/brands of CYDs'. So I tried to integrate support for the AXS15231B driver-chip to the esp32-library. So far I managed to integrate the expressif code into my development branch and have a first image on the display, using the esp32-smartdisplay-demo. So that is a first step. See images Unfortunately I'm bumping into the following issue: The display will do the 1st display refresh correctly. However subsequent display updates are rendered wrong. The 'microseconds' value should update twice every second. Unfortunately it doesn't. The result after 5 updates is shown below. My debugging shows that partial updates for this chip are not working. |
@JoDaNl Pls share, I wouldn't mind taking a look. Pls share your repo |
Alright. I created a single repo which
See : esp32-smartdisplay-demo-AXS15231B-dev Best to cleanup/delete the %user%/.platformio folder as I'm using a custom IDF5 based platform. Otherwise it will not compile ! Once compiled & uploaded the display will start and show the demo. The terminal will print the coordinates of display-updates. Subsequent updates are from the 'milliseconds' label. As of update 115 onwards you will see some corrupted pixels.
... always starts writing at pixel (0,0) regardless of the RASET & CASET registers |
Tks for sharing, I looked at your code, and compared it to the provided examples, and even used the same demo. One thing I did find was that the vendor examples all do full screen refresh, and when turning on partial, they all had the same pixellation issue. I'm wondering if the register documentation is incorrect or the hardware has an issue / limitation here |
Looking further and my guess is that the code never implemented partial refresh, as the existing logic is broken for partial. I looked at the data sheet versus what is being sent, and it makes no sense for partial. when sending partial, you need to set CASET and RASET, then send with RAMWR. But it does this, CASET, then RAMWRC, which is just wrong. Unless I read the data incorrectly |
And I tried that, no luck. Would the best course be, if you really need partial refresh be to working, to raise an issue against the actual driver - https://components.espressif.com/components/espressif/esp_lcd_axs15231b/versions/1.0.0?language=en |
I did some further testing & investigations. Also checked other implementations (like ESPHome driver & Arduino-GFX library). My conclusion is that there's some functionality missing in the driver chip (bug). Setting the CASET & RASET registers DOES allow me to create a window, however it is NOT POSSIBLE to position this window, i.e. the window is always in the upper-left corner. I have moves to full refresh and splitted to update of the screen in multiple parts due to a DMA issue. Example has been committed. Would like to move aways from the cursom IDF5 based platform defition PLATFORMIO.INI However setting platform back to |
Made an implementation for the JC3248W535N in the current develop. Do not own the board and still work in progress... |
Just tried out the develop branch with mine and it's a no go (with no changes by me). Small update... after some platformio cleanup we no longer have the above slow bleed but just booting to a garbled screen. :( |
A pity... A thing is the QSPI... This is not yet supported. Besides that it looks straight forward... |
No progress so far :( And I honestly don't know why. |
Would it be possible to add support for this board JC3248W535EN
The display and touch interface is based on the AXS15231B chip, which isn't currently supported, but the vendor supplied an ESP-IDF based build.
The text was updated successfully, but these errors were encountered: