Skip to content

Commit

Permalink
Version 3.0.8
Browse files Browse the repository at this point in the history
- added support for GDEH0213B73 2.13" b/w, replacement for GDE0213B1, GDEH0213B72
- added support for GDEW026T0 2.6" b/w 152x256
- added support for GDEW0371W7 3.7" b/w 240x416
- added support for GDEW075Z08 7.5" b/w/r 800x480
- changed 4.2" b/w waveform table, for better result with actual panels
  • Loading branch information
ZinggJM committed Jul 22, 2019
1 parent ed7c405 commit 10187e3
Show file tree
Hide file tree
Showing 21 changed files with 15,391 additions and 28 deletions.
Binary file modified MyEPDs_UpdateInfos.pdf
Binary file not shown.
38 changes: 24 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,23 +33,27 @@ A simple E-Paper display library with common base class and separate IO class fo
- Good Dispay ePaper for Arduino : https://forum.arduino.cc/index.php?topic=436411.0

### Supported SPI e-paper panels from Good Display:
- GDEP015OC1 1.54" b/w
- GDEW0154Z04 1.54" b/w/r 200x200
- GDEW0154Z17 1.54" b/w/r 152x152
- GDE0213B1 2.13" b/w
- GDEH0213B72 2.13" b/w, replacement for GDE0213B1
- GDEP015OC1 1.54" b/w
- GDEW0154Z04 1.54" b/w/r 200x200
- GDEW0154Z17 1.54" b/w/r 152x152
- GDE0213B1 2.13" b/w
- GDEH0213B72 2.13" b/w, replacement for GDE0213B1
- GDEH0213B73 2.13" b/w, new replacement for GDE0213B1, GDEH0213B72
- GDEW0213I5F 2.13" b/w flexible
- GDEW0213Z16 2.13" b/w/r
- GDEH029A1 2.9" b/w
- GDEW029T5 2.9" b/w
- GDEW0213Z16 2.13" b/w/r
- GDEH029A1 2.9" b/w
- GDEW029T5 2.9" b/w
- GDEW029Z10 2.9" b/w/r
- GDEW026T0 2.6" b/w
- GDEW027C44 2.7" b/w/r
- GDEW027W3 2.7" b/w
- GDEW042T2 4.2" b/w
- GDEW042Z15 4.2" b/w/r
- GDEW0583T7 5.83" b/w
- GDEW075T8 7.5" b/w
- GDEW075Z09 7.5" b/w/r
- GDEW0371W7 3.7" b/w
- GDEW042T2 4.2" b/w
- GDEW042Z15 4.2" b/w/r
- GDEW0583T7 5.83" b/w
- GDEW075T8 7.5" b/w
- GDEW075Z09 7.5" b/w/r
- GDEW075Z08 7.5" b/w/r 800x480
#### Supported SPI e-paper panels & boards from Waveshare: compare with Good Display, same panel

### I can and will only support e-paper panels I have!
Expand All @@ -58,7 +62,13 @@ A simple E-Paper display library with common base class and separate IO class fo

### for pin mapping suggestions see ConnectingHardware.md

### Version 3.0.7
### Version 3.0.8
- added support for GDEH0213B73 2.13" b/w, replacement for GDE0213B1, GDEH0213B72
- added support for GDEW026T0 2.6" b/w 152x256
- added support for GDEW0371W7 3.7" b/w 240x416
- added support for GDEW075Z08 7.5" b/w/r 800x480
- changed 4.2" b/w waveform table, for better result with actual panels
#### Version 3.0.7
- fix for incomplete download in GxEPD_WiFi_Example
- added missing powerDown() in base class GxEPD and class GxGDEW0154Z04
- added missing getUTF8Width() for U8g2_for_Adafruit_GFX in GxFont_GFX
Expand Down
80 changes: 75 additions & 5 deletions examples/GxEPD_Example/GxEPD_Example.ino
Original file line number Diff line number Diff line change
Expand Up @@ -48,17 +48,21 @@
//#include <GxGDEW0213I5F/GxGDEW0213I5F.h> // 2.13" b/w 104x212 flexible
//#include <GxGDE0213B1/GxGDE0213B1.h> // 2.13" b/w
//#include <GxGDEH0213B72/GxGDEH0213B72.h> // 2.13" b/w new panel
//#include <GxGDEH0213B73/GxGDEH0213B73.h> // 2.13" b/w newer panel
//#include <GxGDEW0213Z16/GxGDEW0213Z16.h> // 2.13" b/w/r
//#include <GxGDEH029A1/GxGDEH029A1.h> // 2.9" b/w
//#include <GxGDEW029T5/GxGDEW029T5.h> // 2.9" b/w IL0373
//#include <GxGDEW029Z10/GxGDEW029Z10.h> // 2.9" b/w/r
//#include <GxGDEW026T0/GxGDEW026T0.h> // 2.6" b/w
//#include <GxGDEW027C44/GxGDEW027C44.h> // 2.7" b/w/r
//#include <GxGDEW027W3/GxGDEW027W3.h> // 2.7" b/w
//#include <GxGDEW0371W7/GxGDEW0371W7.h> // 3.7" b/w
//#include <GxGDEW042T2/GxGDEW042T2.h> // 4.2" b/w
//#include <GxGDEW042Z15/GxGDEW042Z15.h> // 4.2" b/w/r
//#include <GxGDEW0583T7/GxGDEW0583T7.h> // 5.83" b/w
//#include <GxGDEW075T8/GxGDEW075T8.h> // 7.5" b/w
//#include <GxGDEW075Z09/GxGDEW075Z09.h> // 7.5" b/w/r
//#include <GxGDEW075Z08/GxGDEW075Z08.h> // 7.5" b/w/r 800x480

#include GxEPD_BitmapExamples

Expand Down Expand Up @@ -239,7 +243,7 @@ void showBitmapExample()
}
#endif

#if defined(_GxGDEH0213B72_H_)
#if defined(_GxGDEH0213B72_H_) || defined(_GxGDEH0213B73_H_)
void showBitmapExample()
{
display.drawExampleBitmap(BitmapExample1, sizeof(BitmapExample1));
Expand Down Expand Up @@ -338,7 +342,7 @@ void showBitmapExample()
display.drawExampleBitmap(BitmapExample1, 0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
display.update();
delay(5000);
// showBoat();
// showBoat();
}
#endif

Expand Down Expand Up @@ -369,6 +373,23 @@ void showBitmapExample()
}
#endif

#if defined(_GxGDEW026T0_H_)
void showBitmapExample()
{
display.drawExampleBitmap(BitmapExample1, sizeof(BitmapExample1));
delay(2000);
#if !defined(__AVR)
display.drawExampleBitmap(BitmapExample2, sizeof(BitmapExample2));
delay(2000);
display.drawExampleBitmap(BitmapExample3, sizeof(BitmapExample3));
delay(2000);
#endif
display.fillScreen(GxEPD_WHITE);
display.drawExampleBitmap(BitmapExample1, 0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
display.update();
}
#endif

#if defined(_GxGDEW027C44_H_)
#define HAS_RED_COLOR
void showBitmapExample()
Expand Down Expand Up @@ -408,11 +429,28 @@ void showBitmapExample()
}
#endif

#if defined(_GxGDEW042T2_H_) || defined(_GxGDEW042T2_FPU_H_)
#if defined(_GxGDEW0371W7_H_)
void showBitmapExample()
{
display.drawExampleBitmap(BitmapExample1, sizeof(BitmapExample1));
delay(2000);
#if !defined(__AVR)
display.drawExampleBitmap(BitmapExample2, sizeof(BitmapExample2));
delay(2000);
display.drawExampleBitmap(BitmapExample3, sizeof(BitmapExample3));
delay(2000);
#endif
display.fillScreen(GxEPD_WHITE);
display.drawExampleBitmap(BitmapExample1, 0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
display.update();
}
#endif

#if defined(_GxGDEW042T2_H_)
void showBitmapExample()
{
#if defined(__AVR)
display.drawBitmap(BitmapExample1, sizeof(BitmapExample1));
//display.drawBitmap(BitmapExample1, sizeof(BitmapExample1));
#else
display.drawExampleBitmap(BitmapExample1, sizeof(BitmapExample1));
delay(2000);
Expand Down Expand Up @@ -501,6 +539,38 @@ void showBitmapExample()
}
#endif

#if defined(_GxGDEW075Z08_H_)
#define HAS_RED_COLOR
void showBitmapExample()
{
#if defined(__AVR) || defined(MCU_STM32F103C8)
// draw (part of) black bitmap, not enough space for red
display.drawPicture(BitmapExample1, 0, sizeof(BitmapExample1), 0);
#else
// draw black and red bitmap
display.drawExamplePicture(BitmapExample1, BitmapExample2, sizeof(BitmapExample1), sizeof(BitmapExample2));
//delay(5000);
//display.drawPicture(BitmapExample1, 0, sizeof(BitmapExample1), 0);
//delay(5000);
//display.drawPicture(0, BitmapExample2, 0, sizeof(BitmapExample2));
//delay(5000);
//display.drawExamplePicture(BitmapExample1, 0, sizeof(BitmapExample1), 0);
//delay(5000);
//display.drawExamplePicture(0, BitmapExample2, 0, sizeof(BitmapExample2));
//delay(5000);
//display.fillScreen(GxEPD_WHITE);
//display.drawBitmap(0, 0, BitmapExample1, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
//display.update();
//delay(5000);
//display.fillScreen(GxEPD_WHITE);
//display.drawBitmap(0, 0, BitmapExample2, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
//display.update();
//display.drawExampleBitmap(BitmapExample1, 0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
//display.updateWindow(0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, false);
#endif
}
#endif

void showFont(const char name[], const GFXfont* f)
{
display.fillScreen(GxEPD_WHITE);
Expand Down Expand Up @@ -562,7 +632,7 @@ void drawCornerTest()
display.setRotation(rotation); // restore
}

#if defined(_GxGDEP015OC1_H_) || defined(_GxGDE0213B1_H_) || defined(_GxGDEH0213B72_H_) || defined(_GxGDEH029A1_H_)
#if defined(_GxGDEP015OC1_H_) || defined(_GxGDE0213B1_H_) || defined(_GxGDEH0213B72_H_) || defined(_GxGDEH0213B73_H_)|| defined(_GxGDEH029A1_H_)
#include "IMG_0001.h"
void showBoat()
{
Expand Down
7 changes: 6 additions & 1 deletion examples/PagedDisplayForSmallRam/PagedDisplayForSmallRam.ino
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,21 @@
//#include <GxGDEW0213I5F/GxGDEW0213I5F.h> // 2.13" b/w 104x212 flexible
//#include <GxGDE0213B1/GxGDE0213B1.h> // 2.13" b/w
//#include <GxGDEH0213B72/GxGDEH0213B72.h> // 2.13" b/w new panel
//#include <GxGDEH0213B73/GxGDEH0213B73.h> // 2.13" b/w newer panel
//#include <GxGDEW0213Z16/GxGDEW0213Z16.h> // 2.13" b/w/r
//#include <GxGDEH029A1/GxGDEH029A1.h> // 2.9" b/w
//#include <GxGDEW029T5/GxGDEW029T5.h> // 2.9" b/w IL0373
//#include <GxGDEW029Z10/GxGDEW029Z10.h> // 2.9" b/w/r
//#include <GxGDEW026T0/GxGDEW026T0.h> // 2.6" b/w // NOTE: does not compile for UNO: segmentation fault, reason unknown
//#include <GxGDEW027C44/GxGDEW027C44.h> // 2.7" b/w/r
//#include <GxGDEW027W3/GxGDEW027W3.h> // 2.7" b/w
//#include <GxGDEW0371W7/GxGDEW0371W7.h> // 3.7" b/w
//#include <GxGDEW042T2/GxGDEW042T2.h> // 4.2" b/w
//#include <GxGDEW042Z15/GxGDEW042Z15.h> // 4.2" b/w/r
//#include <GxGDEW0583T7/GxGDEW0583T7.h> // 5.83" b/w
//#include <GxGDEW075T8/GxGDEW075T8.h> // 7.5" b/w
//#include <GxGDEW075Z09/GxGDEW075Z09.h> // 7.5" b/w/r
//#include <GxGDEW075Z08/GxGDEW075Z08.h> // 7.5" b/w/r 800x480

#include <GxIO/GxIO_SPI/GxIO_SPI.h>
#include <GxIO/GxIO.h>
Expand Down Expand Up @@ -175,7 +180,7 @@ void showFontCallback()
display.println("0123456789:;<=>?");
display.println("@ABCDEFGHIJKLMNO");
display.println("PQRSTUVWXYZ[\\]^_");
#if defined(_GxGDEW0154Z04_H_) || defined(_GxGDEW0213Z16_H_) || defined(_GxGDEW029Z10_H_) || defined(_GxGDEW027C44_H_) || defined(_GxGDEW042Z15_H_) || defined(_GxGDEW075Z09_H_)
#if defined(_GxGDEW0154Z04_H_) || defined(_GxGDEW0213Z16_H_) || defined(_GxGDEW029Z10_H_) || defined(_GxGDEW027C44_H_) || defined(_GxGDEW042Z15_H_) || defined(_GxGDEW075Z09_H_) || defined(_GxGDEW075Z08_H_)
display.setTextColor(GxEPD_RED);
#endif
display.println("`abcdefghijklmno");
Expand Down
8 changes: 6 additions & 2 deletions examples/PartialUpdateExample/PartialUpdateExample.ino
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,12 @@
//#include <GxGDEW0213I5F/GxGDEW0213I5F.h> // 2.13" b/w 104x212 flexible
//#include <GxGDE0213B1/GxGDE0213B1.h> // 2.13" b/w
//#include <GxGDEH0213B72/GxGDEH0213B72.h> // 2.13" b/w new panel
//#include <GxGDEH0213B73/GxGDEH0213B73.h> // 2.13" b/w newer panel
//#include <GxGDEH029A1/GxGDEH029A1.h> // 2.9" b/w
//#include <GxGDEW029T5/GxGDEW029T5.h> // 2.9" b/w IL0373
//#include <GxGDEW026T0/GxGDEW026T0.h> // 2.6" b/w
//#include <GxGDEW027W3/GxGDEW027W3.h> // 2.7" b/w
//#include <GxGDEW0371W7/GxGDEW0371W7.h> // 3.7" b/w
//#include <GxGDEW042T2/GxGDEW042T2.h> // 4.2" b/w
// these displays do not fully support partial update
//#include <GxGDEW0154Z17/GxGDEW0154Z17.h> // 1.54" b/w/r 152x152
Expand All @@ -55,6 +58,7 @@
//#include <GxGDEW0583T7/GxGDEW0583T7.h> // 5.83" b/w
//#include <GxGDEW075T8/GxGDEW075T8.h> // 7.5" b/w
//#include <GxGDEW075Z09/GxGDEW075Z09.h> // 7.5" b/w/r
//#include <GxGDEW075Z08/GxGDEW075Z08.h> // 7.5" b/w/r 800x480

#include <GxIO/GxIO_SPI/GxIO_SPI.h>
#include <GxIO/GxIO.h>
Expand Down Expand Up @@ -154,7 +158,7 @@ void loop()
{
#if defined(__AVR) || false
showPartialUpdatePaged();
#elif defined(_GxGDEW075Z09_H_) && (defined(ESP8266) || defined(ARDUINO_ARCH_STM32F1))
#elif (defined(_GxGDEW075Z09_H_) || defined(_GxGDEW075Z08_H_)) && (defined(ESP8266) || defined(ARDUINO_ARCH_STM32F1))
showPartialUpdatePaged();
#elif defined(_GxGDEW075Z09_H_)
showPartialUpdate_75Z09();
Expand Down Expand Up @@ -349,7 +353,7 @@ void showPartialUpdate_75Z09()

#endif

#if defined(__AVR) || defined(_GxGDEW075Z09_H_) && (defined(ESP8266) || defined(ARDUINO_ARCH_STM32F1)) || false
#if defined(__AVR) || (defined(_GxGDEW075Z09_H_) || defined(_GxGDEW075Z08_H_)) && (defined(ESP8266) || defined(ARDUINO_ARCH_STM32F1)) || false

// modified to avoid float; reduces program size ~2k (for GxGDEW042T2)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
name=GxEPD_ParticleExample
dependencies.GxEPD=3.0.7
dependencies.GxEPD=3.0.8
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
name=GxEPD_ParticlePartialUpdateExample
dependencies.GxEPD=3.0.7
dependencies.GxEPD=3.0.8
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=GxEPD
version=3.0.7
version=3.0.8
author=Jean-Marc Zingg
maintainer=Jean-Marc Zingg
sentence=Display Library for SPI e-paper panels from Dalian Good Display and boards from Waveshare.
Expand Down
Loading

0 comments on commit 10187e3

Please sign in to comment.