turgu1/ESP-IDF-InkPlate

[Bug] 1bit mode not working properly

Opened this issue · 4 comments

When Inkplate is set to 1bit mode, no output is displayed during display refresh. This started happening since branch v0.9.8.

I was able to reproduce it with esp-idf v4.4 and Native_IDF/Hello_World example.
On branch v0.9.7 the example works correctly.
On branch v0.9.8 and idf-v5.0-support (using esp-idf v5.0) Inkplate flashes black and then presents an empty screen. No text is displayed and apart the warning about waveform not being loaded, there are no errors in the monitor.

I haven't noticed this issue before, because I've been so far using only 3bit color mode. Suprised noone has reported it yet.

The EPub-Inkplate still uses version 0.9.6 (No time available to update and test with v0.9.8 yet).

The problem must certainly be related to the added NVS waveform support...

How does waveform with id=20 differ from other waveforms? Why is it such a specific edge case?

Minimal testable example:

1 Bit Mode - doesn't work (panel stays clear)

#include "inkplate.hpp"

Inkplate inkplate(DisplayMode::INKPLATE_1BIT);

extern "C" void app_main() {
    inkplate.begin();
    inkplate.clearDisplay();
    inkplate.fillCircle(100, 100, 50, BLACK);
    inkplate.display();
}

3 Bit Mode - works (a small black circle appears in the top left corner)

#include "inkplate.hpp"

Inkplate inkplate(DisplayMode::INKPLATE_3BIT);

extern "C" void app_main() {
    inkplate.begin();
    inkplate.clearDisplay();
    inkplate.fillCircle(100, 100, 50, BLACK);
    inkplate.display();
}