Skip to content

Commit

Permalink
Version 1.5.0
Browse files Browse the repository at this point in the history
- added support for GDEY075T7 7.5" b/w 800x480
- updated GxEPD2_Example, added HSPI use for Waveshare ESP32 Driver Board
- updated GxEPD2_SD_AVR_Example, fixes for BMP handling
- updated GxEPD2_SD_Example, fixes for BMP handling, added HSPI use for Waveshare ESP32 Driver Board
- updated GxEPD2_SerialFlash_Example, fixes for BMP handling
- updated GxEPD2_SerialFlash_Loader, updated https certificates and use
- updated GxEPD2_Spiffs_Example, fixes for BMP handling
- updated GxEPD2_Spiffs_Loader, updated https certificates and use
- added GxEPD2_WiFi_CertStore_Example, use of a BearSSL CertStore on ESP8266, like a browser
- added GxEPD2_WiFi_CertStore_Loader, download root certificates (from Mozilla) to ESP8266 flash
- updated GxEPD2_WiFi_Example, fixes for BMP handling, updated https certificates and use
- updated GxEPD2_WS_ESP32_Driver, added HSPI use for Waveshare ESP32 Driver Board
  • Loading branch information
ZinggJM committed Dec 13, 2022

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 35c4e68 commit 70bc618
Showing 44 changed files with 2,116 additions and 908 deletions.
36 changes: 25 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
- For SPI e-paper displays from Dalian Good Display
- and SPI e-paper boards from Waveshare

### important note :
### important note:
- the display panels are for 3.3V supply and 3.3V data lines
- never connect data lines directly to 5V Arduino data pins, use e.g. 4k7/10k resistor divider
- series resistor only is not enough for reliable operation (back-feed effect through protection diodes)
@@ -15,9 +15,9 @@
- the actual Waveshare display boards now have level converters and series regulator, safe for 5V
- use 3k3 pull-down on SS for ESP8266 for boards with level converters
- note that 7.5" e-paper displays don't work reliable if fed from 3.3V Arduino pin
- note that Waveshare bords with "clever" reset circuit may need shortened reset pulse
- note that Waveshare boards with "clever" reset circuit may need shortened reset pulse
- use `init(115200, true, 2, false)` for Waveshare boards with "clever" reset circuit
- note that Waveshare bords with "clever" reset circuit need 1k pull-up on RST on ESP8266, or different pin
- note that Waveshare boards with "clever" reset circuit need 1k pull-up on RST on ESP8266, or different pin

### Paged Drawing, Picture Loop
- This library uses paged drawing to limit RAM use and cope with missing single pixel update support
@@ -96,13 +96,14 @@
- GDEW042Z15 4.2" b/w/r 400x300, UC8176 (IL0398)
- GDEQ042Z21 4.2" b/w/r 400x300, UC8276, (Waveshare V2)
- ACeP565 5.65" Waveshare 5.65" 7-color e-paper display 600x448
- GDEW0583T7 5.83" b/w 600x448, UC8179 (IL0371)
- GDEW0583T8 5.83" b/w 648x480, GD7965
- GDEW0583Z83 5.83" b/w/r 648x480, GD7965
- GDEW075T8 7.5" b/w 640x384, UC8179 (IL0371)
- GDEW075T7 7.5" b/w 800x480, GD7965
- GDEW075Z09 7.5" b/w/r 640x384, UC8179 (IL0371)
- GDEW075Z08 7.5" b/w/r 800x480, GD7965
- GDEW0583T7 5.83" b/w 600x448, UC8159c (IL0371)
- GDEW0583T8 5.83" b/w 648x480, EK79655 (GD7965)
- GDEW0583Z83 5.83" b/w/r 648x480, EK79655 (GD7965)
- GDEW075T8 7.5" b/w 640x384, UC8159c (IL0371)
- GDEW075T7 7.5" b/w 800x480, EK79655 (GD7965)
- GDEY075T7 7.5" b/w 800x480, UC8179 (GD7965)
- GDEW075Z09 7.5" b/w/r 640x384, UC8159c (IL0371)
- GDEW075Z08 7.5" b/w/r 800x480, EK79655 (GD7965)
- GDEH075Z90 7.5" b/w/r 880x528, SSD1677
- GDEH116T91 11.6" b/w 960x640, SSD1677
- GDEW1248T3 12.48" b/w 1304x984, UC8179
@@ -118,7 +119,20 @@
- 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.9
### Version 1.5.0
- added support for GDEY075T7 7.5" b/w 800x480
- updated GxEPD2_Example, added HSPI use for Waveshare ESP32 Driver Board
- updated GxEPD2_SD_AVR_Example, fixes for BMP handling
- updated GxEPD2_SD_Example, fixes for BMP handling, added HSPI use for Waveshare ESP32 Driver Board
- updated GxEPD2_SerialFlash_Example, fixes for BMP handling
- updated GxEPD2_SerialFlash_Loader, updated https certificates and use
- updated GxEPD2_Spiffs_Example, fixes for BMP handling
- updated GxEPD2_Spiffs_Loader, updated https certificates and use
- added GxEPD2_WiFi_CertStore_Example, use of a BearSSL CertStore on ESP8266, like a browser
- added GxEPD2_WiFi_CertStore_Loader, download root certificates (from Mozilla) to ESP8266 flash
- updated GxEPD2_WiFi_Example, fixes for BMP handling, updated https certificates and use
- updated GxEPD2_WS_ESP32_Driver, added HSPI use for Waveshare ESP32 Driver Board
#### Version 1.4.9
- added missing constructor lines to GxEPD2_display_selection.h
- added panel details to comments in GxEPD2_display_selection.h
- added panel details to Supported SPI e-paper panels in README.md
26 changes: 23 additions & 3 deletions examples/GxEPD2_Example/GxEPD2_Example.ino
Original file line number Diff line number Diff line change
@@ -15,6 +15,18 @@

// see GxEPD2_wiring_examples.h for wiring suggestions and examples

// NOTE for use with Waveshare ESP32 Driver Board:
// **** also need to select the constructor with the parameters for this board in GxEPD2_display_selection_new_style.h ****
//
// The Wavehare ESP32 Driver Board uses uncommon SPI pins for the FPC connector. It uses HSPI pins, but SCK and MOSI are swapped.
// To use HW SPI with the ESP32 Driver Board, HW SPI pins need be re-mapped in any case. Can be done using either HSPI or VSPI.
// Other SPI clients can either be connected to the same SPI bus as the e-paper, or to the other HW SPI bus, or through SW SPI.
// The logical configuration would be to use the e-paper connection on HSPI with re-mapped pins, and use VSPI for other SPI clients.
// VSPI with standard VSPI pins is used by the global SPI instance of the Arduino IDE ESP32 package.

// uncomment next line to use HSPI for EPD (and e.g VSPI for SD), e.g. with Waveshare ESP32 Driver Board
//#define USE_HSPI_FOR_EPD

// base class GxEPD2_GFX can be used to pass references or pointers to the display instance as parameter, uses ~1.2k more code
// enable or disable GxEPD2_GFX base class
#define ENABLE_GxEPD2_GFX 0
@@ -103,6 +115,10 @@
arduino::MbedSPI SPI0(4, 7, 6); // need be valid pins for same SPI channel, else fails blinking 4 long 4 short
#endif

#if defined(ESP32) && defined(USE_HSPI_FOR_EPD)
SPIClass hspi(HSPI);
#endif

void setup()
{
Serial.begin(115200);
@@ -116,8 +132,12 @@ void setup()
pinMode(15, INPUT_PULLUP); // safety pin
while (!digitalRead(15)) delay(100); // check safety pin for fail recovery
#endif
display.init(115200); // default 10ms reset pulse, e.g. for bare panels with DESPI-C02
//display.init(115200, true, 2, false); // USE THIS for Waveshare boards with "clever" reset circuit, 2ms reset pulse
#if defined(ESP32) && defined(USE_HSPI_FOR_EPD)
hspi.begin(13, 12, 14, 15); // remap hspi for EPD (swap pins)
display.epd2.selectSPI(hspi, SPISettings(4000000, MSBFIRST, SPI_MODE0));
#endif
//display.init(115200); // default 10ms reset pulse, e.g. for bare panels with DESPI-C02
display.init(115200, true, 2, false); // USE THIS for Waveshare boards with "clever" reset circuit, 2ms reset pulse
//display.init(115200, true, 10, false, SPI0, SPISettings(4000000, MSBFIRST, SPI_MODE0)); // extended init method with SPI channel and/or settings selection
// first update should be full refresh
helloWorld();
@@ -1228,7 +1248,7 @@ void drawBitmaps800x480()
while (display.nextPage());
delay(2000);
}
if (display.epd2.panel == GxEPD2::GDEW075T7)
if ((display.epd2.panel == GxEPD2::GDEW075T7) || (display.epd2.panel == GxEPD2::GDEY075T7))
{
// avoid ghosting caused by OTP waveform
display.clearScreen();
Loading

0 comments on commit 70bc618

Please sign in to comment.