Close

Minor updates

A project log for HACKtablet: Crestron TSS-752 Teardown + Rebuild

Tearing down a Crestron display conference room controller, the second. And making it into a CircuitPython device.

kmatch98kmatch98 06/10/2022 at 20:550 Comments

Had to take some time away, due to other personal business but thought I should update the to do list.

Now with the ESP32-S3 "bounce buffer" code from Espressif and adding the ability to trigger a refresh the display work without glitches and without tearing.  Main next steps are to merge a first version and clean up the include statements so that it will build CircuitPython in a normal environment.

Other things are required to make this work.  I had to make update to the ESP-IDF to allow:

1. CircuitPython to allocate the framebuffer.  CircuitPython allocates all the PSRAM into its heap and then the CircuitPython core code allocates it from the heap.  The ESP-IDF assumes that the framebuffer will be allocated from the PSRAM using the ESP-IDF allocation functions.  I had to create a function that allowed CircuitPython to preallocate the framebuffer and pass the relevant address into the display init function.

2. I added a function so the the CircuitPython display can trigger the refresh.  The ESP-IDF just refreshes continuously.  I had to add this new function so that the display would not refresh while the memory was being changed, which caused tearing.

3.  I need to create an issue on the ESP-IDF to request the abilities above.

4. I'd like a way to evaluate the CircuitPython frame rate.  So far I haven't found any obvious way of measuring it.

Discussions