Explorar el Código

Version 1.4.1

- fix for Waveshare "clever" reset circuit: power controller before reset pulse
ZinggJM hace 4 años
padre
commit
bd0a1bd5a6
Se han modificado 4 ficheros con 7 adiciones y 4 borrados
  1. 3 1
      README.md
  2. 1 1
      library.properties
  3. 2 1
      src/GxEPD2_EPD.cpp
  4. 1 1
      src/GxEPD2_EPD.h

+ 3 - 1
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

+ 1 - 1
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. 

+ 2 - 1
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);

+ 1 - 1
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)