There is going to be a very large update comming and I mneed some bug testers. #274
Replies: 7 comments 42 replies
-
I''ll try it tomorrow on my Mac mini and Esp32 Elecrow 7" panel. |
Beta Was this translation helpful? Give feedback.
-
Hy, i can do this i've you wan't me. I have a second display ready for testing. Regards Sebastian |
Beta Was this translation helpful? Give feedback.
-
Not yet folks. It will be in a few days. I am still making changes... |
Beta Was this translation helpful? Give feedback.
-
I'm up for some testing. I love the look of the dithering, what sort of performance hit are you expecting when it's enabled? |
Beta Was this translation helpful? Give feedback.
-
OK so I have pushed the last batch of changes. As I have said I am not expecting this to run properly right out of the gate. build arguments are the same as before so nothing changed there. The first big change is how the frame buffer is created. It is a separate entity from the bus drivers. Meaning you no longer need to create the bus and then create the frame buffer. The frame buffer is able to be created before the bus gets created. to create frame buffers you use give it a test run using the RGB565 byte swap for now and lets go from there.. |
Beta Was this translation helpful? Give feedback.
-
Ok no more reboot, I'm getting something a bit more useful now:
|
Beta Was this translation helpful? Give feedback.
-
I can verify that the new branch builds on MacOS.
When using a simple gui app on Mac, there is an error in the new code that didn't exist in the previous code. I'm not familiar enough with the task_handler.py to debug this further other than that it's a change that seemed to work before.
The error is from the following line:
|
Beta Was this translation helpful? Give feedback.
-
This update is really large. It completely changes how the bus drivers work. It is probably going to break things so I will need to work through the issues. I just need people to test it out.
For those that do not know I had spent some time really looking at the RGB bus driver in search of a way to get better performance and also add software rotation without taking a huge performance hit for it. For the people running a dual core ESP32 I did find a solution. That solution involves running the RGB bus driver from the second core. This was tricky to do to keep things synchronized but I did get it to work properly. Fast forward a few months and I picked up a display that using an I8080 bus and as it turns out the display IC doesn't support hardware rotation. I did not know that IC's from busses other than the RGB bus would need to have software rotation available....
This problem gets more complicated because of needing to perform a byte swap when using RGB565 with some of the display IC's. It would be less than ideal to iterate over the buffer 2 times.
I had to pull the code from the RGB driver and rewrite it so the code isn't bus specific. Then I had to add in the RGB565 byte swapping, And just because I am a glutton for punishment I decided to add dithering when using RGB565 as well. The dithering is a runtime option that is able to be turned on and off at any time while the program is running. So if you are displaying an image that has some banding issues in the colors you can turn it on when that image is being displayed and then turn it off when the image is not being displayed. One of the things that really shows the banding is gradients. The dithering option smooths all of that out..
RGB565 gradient, no dithering...

Same image with dithering..

It's a night and day difference... That is the reason why I decided to add it.
I am going to need some people willing to test things out for me. If you are up for it let me know.
Beta Was this translation helpful? Give feedback.
All reactions