diff --git a/README.md b/README.md index 6885498..a7ae3da 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,9 @@ - promotion panels from suppliers are welcome, to add support to GxEPD2 - donation panels from users are welcome, to add support to GxEPD2 -### Version 1.4.0 +### Version 1.4.1 +- fix for Waveshare "clever" reset circuit: power controller before reset pulse +#### Version 1.4.0 - changed the default reset duration to 10ms instead of 20ms - changed the delay after reset to 10ms or reset duration, whichever is higher, instead of 200ms - added a busyCallback feature, to allow to service periodic actions during wait for BUSY termination diff --git a/library.properties b/library.properties index e38b8b3..652044e 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=GxEPD2 -version=1.4.0 +version=1.4.1 author=Jean-Marc Zingg maintainer=Jean-Marc Zingg sentence=Arduino Display Library for SPI E-Paper displays from Dalian Good Display and Waveshare. diff --git a/src/GxEPD2_EPD.cpp b/src/GxEPD2_EPD.cpp index 15d2c4b..71d1de6 100644 --- a/src/GxEPD2_EPD.cpp +++ b/src/GxEPD2_EPD.cpp @@ -94,8 +94,9 @@ void GxEPD2_EPD::_reset() } else { - digitalWrite(_rst, HIGH); + digitalWrite(_rst, HIGH); // NEEDED for Waveshare "clever" reset circuit, power controller before reset pulse pinMode(_rst, OUTPUT); + delay(10); // NEEDED for Waveshare "clever" reset circuit, at least delay(2); digitalWrite(_rst, LOW); delay(_reset_duration); digitalWrite(_rst, HIGH); diff --git a/src/GxEPD2_EPD.h b/src/GxEPD2_EPD.h index 3160592..c9340a5 100644 --- a/src/GxEPD2_EPD.h +++ b/src/GxEPD2_EPD.h @@ -33,7 +33,7 @@ class GxEPD2_EPD GxEPD2_EPD(int16_t cs, int16_t dc, int16_t rst, int16_t busy, int16_t busy_level, uint32_t busy_timeout, uint16_t w, uint16_t h, GxEPD2::Panel p, bool c, bool pu, bool fpu); virtual void init(uint32_t serial_diag_bitrate = 0); // serial_diag_bitrate = 0 : disabled - virtual void init(uint32_t serial_diag_bitrate, bool initial, uint16_t reset_duration = 20, bool pulldown_rst_mode = false); + virtual void init(uint32_t serial_diag_bitrate, bool initial, uint16_t reset_duration = 10, bool pulldown_rst_mode = false); // Support for Bitmaps (Sprites) to Controller Buffer and to Screen virtual void clearScreen(uint8_t value) = 0; // init controller memory and screen (default white) virtual void writeScreenBuffer(uint8_t value) = 0; // init controller memory (default white)