I have been quite intrigued by the idea of using the Diptyx E-reader as a platform for writing/note taking. The screens that I'm using have a update time of about 0.8s, with a custom LUT. In practice this means that the displays will start updating practically instantly, but takes 0.8s to finish updating, blocking any new data from being displayed in the mean time. It is possible to shorten this duration, but this then decreases the contrast of what is being displayed..
So that's where I got the idea: Instead of updating the pixels in a single refresh, we update each pixel in multiple quick updates. In this way, we get good responsiveness, but also good contrast.
We have 2 framebuffers, in these we store the target levels for each pixels (0 for white, 10 for black), and the current level. Now, for each frame we check if the level of each pixel is lower or higher than the target level. If this is the case, we update that pixel on the screen, and add or subtract 1 to the current level of that pixel.
If we now set the target level of pixel to 10, the pixel will receive 10 short updates in the next 10 frames, and will then be left in neutral. (this btw makes it also possible to use grayscales, simply by setting a lower target level! )
In the video you can see a quick demo of what typing looks like with this technique:
With the two screens you could do some very cool things, like writing markdown in the left screen, and seeing the rendered text in the right screen. Or imagine a text adventure with the text interface in the top screen, and a view of the map or inventory on the bottom screen.
Martijn
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.