13,3 inch e-paper display plugin
Posted: 24 Nov 2019, 17:17
I am trying to transfer the ability to operate a 13,3-inch 1600×1200 mono or 3 color e-paper display from a commercial project I did to the ESPeasy platform.
The problem is the very long refresh time of this type of display. It takes 5-6 seconds to fully change all pixels on screen.
Entering new screen content is easy. Just send 10-20 bytes via UART or SPI (depending on type). Of course, the PLUGIN_WRITE section does this. Only then I have to wait these 5-6 seconds until it is done.
I can do it in some loop by reading the register from time to time if there is confirmation. But while waiting in the PLUGIN_WRITE section, all remaining ESP activity is blocked.
The use of PLUGIN_TEN_PER_SECOND is obvious.
However, I need to transfer the value of 3 parameters to PLUGIN_TEN_PER_SECOND from the PLUGIN_WRITE section. These parameters are of the type unsigned int and byte.
I am currently using unused in setup`s sections PCONFIG(x) variables. But is there any other method, smarter, bypassing PCONFIG(x)?
The problem is the very long refresh time of this type of display. It takes 5-6 seconds to fully change all pixels on screen.
Entering new screen content is easy. Just send 10-20 bytes via UART or SPI (depending on type). Of course, the PLUGIN_WRITE section does this. Only then I have to wait these 5-6 seconds until it is done.
I can do it in some loop by reading the register from time to time if there is confirmation. But while waiting in the PLUGIN_WRITE section, all remaining ESP activity is blocked.
The use of PLUGIN_TEN_PER_SECOND is obvious.
However, I need to transfer the value of 3 parameters to PLUGIN_TEN_PER_SECOND from the PLUGIN_WRITE section. These parameters are of the type unsigned int and byte.
I am currently using unused in setup`s sections PCONFIG(x) variables. But is there any other method, smarter, bypassing PCONFIG(x)?