From 9426a1ca3113b1c912402fbfb5efe7ad360abd70 Mon Sep 17 00:00:00 2001 From: antirez Date: Wed, 20 Mar 2024 15:19:23 +0100 Subject: [PATCH] TODO added. README: hint about different resolutions. --- README.md | 4 ++++ TODO.md | 11 +++++++++++ 2 files changed, 15 insertions(+) create mode 100644 TODO.md diff --git a/README.md b/README.md index bb1fcb4..680918d 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,10 @@ eink.update() The driver allocates a 1-bit framebuffer in the `fb` attribute of the object, so you can draw into it with and call `update()` in order to refresh the display, see the MicroPython framebuffer class documentation to check all the drawing primitives you have at your disposal. +By passing `width` and `height` during the initialization it is possible to set the other available resolutions supported by the chip. However this driver was tested only with the default 128 x 296 pixels resolution. Yet, there should not be problems with other resolutions. + +Mirroring can be enabled in both x and y axis with the `mirror_x` and `mirror_y` initialization parameters. They are False by default. + ## Changing speed and enabling anti-flickering When creating the instance of the driver, it is possible to pass the following parameters: diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..89cd7e4 --- /dev/null +++ b/TODO.md @@ -0,0 +1,11 @@ +IMPORTANT: Open an issue before starting to work on one of these items to make sure there is yet interest and to agree about a potential design, in order to make more likely your change gets merged. Items here can be just random ideas, noted to avoid forgetting, but their presence does not automatically mean it's a good idea for this driver to get support for them. + +## General + +* Landscape mode: use Viper to invert the FB. This should also work for framebuffer modes different than 1bit of color, so if self.landscape is true, we should also rotate GS4/GS2 FBs. Transpose the FBs in place, without allocating anything, just swapping the pixels as needed, and then swapping them again. ALTERNATIVE APPROACH: don't care about swapping and provide a simple font primitive built-in, so that it is possible to write the font in the four possible orientations. The other primitives don't need any rotation anyway. +* Allow to initialize the display in "long life" setting, where the VDL/VDH voltages are set to even lower levels. + +## Greyscale mode + +* Option to do a full refresh in both directions (the first inverted image, black background and inverted waveforms) for greyscale rendering, so that it's charge-neutral even in this case. But before, test what happens if we display again and again the same image. Are there burn-ins? +* Provide a way to render a `framebuf.GS4_HMSB` or `GS2` as 16/4 level of greys. Provide a ways to blit .grey images into the FB, even windowed blits.