Skip to content

Commit 10187e3

Browse files
committed
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
1 parent ed7c405 commit 10187e3

File tree

21 files changed

+15391
-28
lines changed

21 files changed

+15391
-28
lines changed

MyEPDs_UpdateInfos.pdf

4.34 KB
Binary file not shown.

README.md

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,27 @@ A simple E-Paper display library with common base class and separate IO class fo
3333
- Good Dispay ePaper for Arduino : https://forum.arduino.cc/index.php?topic=436411.0
3434

3535
### Supported SPI e-paper panels from Good Display:
36-
- GDEP015OC1 1.54" b/w
37-
- GDEW0154Z04 1.54" b/w/r 200x200
38-
- GDEW0154Z17 1.54" b/w/r 152x152
39-
- GDE0213B1 2.13" b/w
40-
- GDEH0213B72 2.13" b/w, replacement for GDE0213B1
36+
- GDEP015OC1 1.54" b/w
37+
- GDEW0154Z04 1.54" b/w/r 200x200
38+
- GDEW0154Z17 1.54" b/w/r 152x152
39+
- GDE0213B1 2.13" b/w
40+
- GDEH0213B72 2.13" b/w, replacement for GDE0213B1
41+
- GDEH0213B73 2.13" b/w, new replacement for GDE0213B1, GDEH0213B72
4142
- GDEW0213I5F 2.13" b/w flexible
42-
- GDEW0213Z16 2.13" b/w/r
43-
- GDEH029A1 2.9" b/w
44-
- GDEW029T5 2.9" b/w
43+
- GDEW0213Z16 2.13" b/w/r
44+
- GDEH029A1 2.9" b/w
45+
- GDEW029T5 2.9" b/w
4546
- GDEW029Z10 2.9" b/w/r
47+
- GDEW026T0 2.6" b/w
4648
- GDEW027C44 2.7" b/w/r
4749
- GDEW027W3 2.7" b/w
48-
- GDEW042T2 4.2" b/w
49-
- GDEW042Z15 4.2" b/w/r
50-
- GDEW0583T7 5.83" b/w
51-
- GDEW075T8 7.5" b/w
52-
- GDEW075Z09 7.5" b/w/r
50+
- GDEW0371W7 3.7" b/w
51+
- GDEW042T2 4.2" b/w
52+
- GDEW042Z15 4.2" b/w/r
53+
- GDEW0583T7 5.83" b/w
54+
- GDEW075T8 7.5" b/w
55+
- GDEW075Z09 7.5" b/w/r
56+
- GDEW075Z08 7.5" b/w/r 800x480
5357
#### Supported SPI e-paper panels & boards from Waveshare: compare with Good Display, same panel
5458

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

5963
### for pin mapping suggestions see ConnectingHardware.md
6064

61-
### Version 3.0.7
65+
### Version 3.0.8
66+
- added support for GDEH0213B73 2.13" b/w, replacement for GDE0213B1, GDEH0213B72
67+
- added support for GDEW026T0 2.6" b/w 152x256
68+
- added support for GDEW0371W7 3.7" b/w 240x416
69+
- added support for GDEW075Z08 7.5" b/w/r 800x480
70+
- changed 4.2" b/w waveform table, for better result with actual panels
71+
#### Version 3.0.7
6272
- fix for incomplete download in GxEPD_WiFi_Example
6373
- added missing powerDown() in base class GxEPD and class GxGDEW0154Z04
6474
- added missing getUTF8Width() for U8g2_for_Adafruit_GFX in GxFont_GFX

examples/GxEPD_Example/GxEPD_Example.ino

Lines changed: 75 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,21 @@
4848
//#include <GxGDEW0213I5F/GxGDEW0213I5F.h> // 2.13" b/w 104x212 flexible
4949
//#include <GxGDE0213B1/GxGDE0213B1.h> // 2.13" b/w
5050
//#include <GxGDEH0213B72/GxGDEH0213B72.h> // 2.13" b/w new panel
51+
//#include <GxGDEH0213B73/GxGDEH0213B73.h> // 2.13" b/w newer panel
5152
//#include <GxGDEW0213Z16/GxGDEW0213Z16.h> // 2.13" b/w/r
5253
//#include <GxGDEH029A1/GxGDEH029A1.h> // 2.9" b/w
5354
//#include <GxGDEW029T5/GxGDEW029T5.h> // 2.9" b/w IL0373
5455
//#include <GxGDEW029Z10/GxGDEW029Z10.h> // 2.9" b/w/r
56+
//#include <GxGDEW026T0/GxGDEW026T0.h> // 2.6" b/w
5557
//#include <GxGDEW027C44/GxGDEW027C44.h> // 2.7" b/w/r
5658
//#include <GxGDEW027W3/GxGDEW027W3.h> // 2.7" b/w
59+
//#include <GxGDEW0371W7/GxGDEW0371W7.h> // 3.7" b/w
5760
//#include <GxGDEW042T2/GxGDEW042T2.h> // 4.2" b/w
5861
//#include <GxGDEW042Z15/GxGDEW042Z15.h> // 4.2" b/w/r
5962
//#include <GxGDEW0583T7/GxGDEW0583T7.h> // 5.83" b/w
6063
//#include <GxGDEW075T8/GxGDEW075T8.h> // 7.5" b/w
6164
//#include <GxGDEW075Z09/GxGDEW075Z09.h> // 7.5" b/w/r
65+
//#include <GxGDEW075Z08/GxGDEW075Z08.h> // 7.5" b/w/r 800x480
6266

6367
#include GxEPD_BitmapExamples
6468

@@ -239,7 +243,7 @@ void showBitmapExample()
239243
}
240244
#endif
241245

242-
#if defined(_GxGDEH0213B72_H_)
246+
#if defined(_GxGDEH0213B72_H_) || defined(_GxGDEH0213B73_H_)
243247
void showBitmapExample()
244248
{
245249
display.drawExampleBitmap(BitmapExample1, sizeof(BitmapExample1));
@@ -338,7 +342,7 @@ void showBitmapExample()
338342
display.drawExampleBitmap(BitmapExample1, 0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
339343
display.update();
340344
delay(5000);
341-
// showBoat();
345+
// showBoat();
342346
}
343347
#endif
344348

@@ -369,6 +373,23 @@ void showBitmapExample()
369373
}
370374
#endif
371375

376+
#if defined(_GxGDEW026T0_H_)
377+
void showBitmapExample()
378+
{
379+
display.drawExampleBitmap(BitmapExample1, sizeof(BitmapExample1));
380+
delay(2000);
381+
#if !defined(__AVR)
382+
display.drawExampleBitmap(BitmapExample2, sizeof(BitmapExample2));
383+
delay(2000);
384+
display.drawExampleBitmap(BitmapExample3, sizeof(BitmapExample3));
385+
delay(2000);
386+
#endif
387+
display.fillScreen(GxEPD_WHITE);
388+
display.drawExampleBitmap(BitmapExample1, 0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
389+
display.update();
390+
}
391+
#endif
392+
372393
#if defined(_GxGDEW027C44_H_)
373394
#define HAS_RED_COLOR
374395
void showBitmapExample()
@@ -408,11 +429,28 @@ void showBitmapExample()
408429
}
409430
#endif
410431

411-
#if defined(_GxGDEW042T2_H_) || defined(_GxGDEW042T2_FPU_H_)
432+
#if defined(_GxGDEW0371W7_H_)
433+
void showBitmapExample()
434+
{
435+
display.drawExampleBitmap(BitmapExample1, sizeof(BitmapExample1));
436+
delay(2000);
437+
#if !defined(__AVR)
438+
display.drawExampleBitmap(BitmapExample2, sizeof(BitmapExample2));
439+
delay(2000);
440+
display.drawExampleBitmap(BitmapExample3, sizeof(BitmapExample3));
441+
delay(2000);
442+
#endif
443+
display.fillScreen(GxEPD_WHITE);
444+
display.drawExampleBitmap(BitmapExample1, 0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
445+
display.update();
446+
}
447+
#endif
448+
449+
#if defined(_GxGDEW042T2_H_)
412450
void showBitmapExample()
413451
{
414452
#if defined(__AVR)
415-
display.drawBitmap(BitmapExample1, sizeof(BitmapExample1));
453+
//display.drawBitmap(BitmapExample1, sizeof(BitmapExample1));
416454
#else
417455
display.drawExampleBitmap(BitmapExample1, sizeof(BitmapExample1));
418456
delay(2000);
@@ -501,6 +539,38 @@ void showBitmapExample()
501539
}
502540
#endif
503541

542+
#if defined(_GxGDEW075Z08_H_)
543+
#define HAS_RED_COLOR
544+
void showBitmapExample()
545+
{
546+
#if defined(__AVR) || defined(MCU_STM32F103C8)
547+
// draw (part of) black bitmap, not enough space for red
548+
display.drawPicture(BitmapExample1, 0, sizeof(BitmapExample1), 0);
549+
#else
550+
// draw black and red bitmap
551+
display.drawExamplePicture(BitmapExample1, BitmapExample2, sizeof(BitmapExample1), sizeof(BitmapExample2));
552+
//delay(5000);
553+
//display.drawPicture(BitmapExample1, 0, sizeof(BitmapExample1), 0);
554+
//delay(5000);
555+
//display.drawPicture(0, BitmapExample2, 0, sizeof(BitmapExample2));
556+
//delay(5000);
557+
//display.drawExamplePicture(BitmapExample1, 0, sizeof(BitmapExample1), 0);
558+
//delay(5000);
559+
//display.drawExamplePicture(0, BitmapExample2, 0, sizeof(BitmapExample2));
560+
//delay(5000);
561+
//display.fillScreen(GxEPD_WHITE);
562+
//display.drawBitmap(0, 0, BitmapExample1, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
563+
//display.update();
564+
//delay(5000);
565+
//display.fillScreen(GxEPD_WHITE);
566+
//display.drawBitmap(0, 0, BitmapExample2, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
567+
//display.update();
568+
//display.drawExampleBitmap(BitmapExample1, 0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, GxEPD_BLACK);
569+
//display.updateWindow(0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, false);
570+
#endif
571+
}
572+
#endif
573+
504574
void showFont(const char name[], const GFXfont* f)
505575
{
506576
display.fillScreen(GxEPD_WHITE);
@@ -562,7 +632,7 @@ void drawCornerTest()
562632
display.setRotation(rotation); // restore
563633
}
564634

565-
#if defined(_GxGDEP015OC1_H_) || defined(_GxGDE0213B1_H_) || defined(_GxGDEH0213B72_H_) || defined(_GxGDEH029A1_H_)
635+
#if defined(_GxGDEP015OC1_H_) || defined(_GxGDE0213B1_H_) || defined(_GxGDEH0213B72_H_) || defined(_GxGDEH0213B73_H_)|| defined(_GxGDEH029A1_H_)
566636
#include "IMG_0001.h"
567637
void showBoat()
568638
{

examples/PagedDisplayForSmallRam/PagedDisplayForSmallRam.ino

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,21 @@
4242
//#include <GxGDEW0213I5F/GxGDEW0213I5F.h> // 2.13" b/w 104x212 flexible
4343
//#include <GxGDE0213B1/GxGDE0213B1.h> // 2.13" b/w
4444
//#include <GxGDEH0213B72/GxGDEH0213B72.h> // 2.13" b/w new panel
45+
//#include <GxGDEH0213B73/GxGDEH0213B73.h> // 2.13" b/w newer panel
4546
//#include <GxGDEW0213Z16/GxGDEW0213Z16.h> // 2.13" b/w/r
4647
//#include <GxGDEH029A1/GxGDEH029A1.h> // 2.9" b/w
48+
//#include <GxGDEW029T5/GxGDEW029T5.h> // 2.9" b/w IL0373
4749
//#include <GxGDEW029Z10/GxGDEW029Z10.h> // 2.9" b/w/r
50+
//#include <GxGDEW026T0/GxGDEW026T0.h> // 2.6" b/w // NOTE: does not compile for UNO: segmentation fault, reason unknown
4851
//#include <GxGDEW027C44/GxGDEW027C44.h> // 2.7" b/w/r
4952
//#include <GxGDEW027W3/GxGDEW027W3.h> // 2.7" b/w
53+
//#include <GxGDEW0371W7/GxGDEW0371W7.h> // 3.7" b/w
5054
//#include <GxGDEW042T2/GxGDEW042T2.h> // 4.2" b/w
5155
//#include <GxGDEW042Z15/GxGDEW042Z15.h> // 4.2" b/w/r
5256
//#include <GxGDEW0583T7/GxGDEW0583T7.h> // 5.83" b/w
5357
//#include <GxGDEW075T8/GxGDEW075T8.h> // 7.5" b/w
5458
//#include <GxGDEW075Z09/GxGDEW075Z09.h> // 7.5" b/w/r
59+
//#include <GxGDEW075Z08/GxGDEW075Z08.h> // 7.5" b/w/r 800x480
5560

5661
#include <GxIO/GxIO_SPI/GxIO_SPI.h>
5762
#include <GxIO/GxIO.h>
@@ -175,7 +180,7 @@ void showFontCallback()
175180
display.println("0123456789:;<=>?");
176181
display.println("@ABCDEFGHIJKLMNO");
177182
display.println("PQRSTUVWXYZ[\\]^_");
178-
#if defined(_GxGDEW0154Z04_H_) || defined(_GxGDEW0213Z16_H_) || defined(_GxGDEW029Z10_H_) || defined(_GxGDEW027C44_H_) || defined(_GxGDEW042Z15_H_) || defined(_GxGDEW075Z09_H_)
183+
#if defined(_GxGDEW0154Z04_H_) || defined(_GxGDEW0213Z16_H_) || defined(_GxGDEW029Z10_H_) || defined(_GxGDEW027C44_H_) || defined(_GxGDEW042Z15_H_) || defined(_GxGDEW075Z09_H_) || defined(_GxGDEW075Z08_H_)
179184
display.setTextColor(GxEPD_RED);
180185
#endif
181186
display.println("`abcdefghijklmno");

examples/PartialUpdateExample/PartialUpdateExample.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,12 @@
4242
//#include <GxGDEW0213I5F/GxGDEW0213I5F.h> // 2.13" b/w 104x212 flexible
4343
//#include <GxGDE0213B1/GxGDE0213B1.h> // 2.13" b/w
4444
//#include <GxGDEH0213B72/GxGDEH0213B72.h> // 2.13" b/w new panel
45+
//#include <GxGDEH0213B73/GxGDEH0213B73.h> // 2.13" b/w newer panel
4546
//#include <GxGDEH029A1/GxGDEH029A1.h> // 2.9" b/w
4647
//#include <GxGDEW029T5/GxGDEW029T5.h> // 2.9" b/w IL0373
48+
//#include <GxGDEW026T0/GxGDEW026T0.h> // 2.6" b/w
4749
//#include <GxGDEW027W3/GxGDEW027W3.h> // 2.7" b/w
50+
//#include <GxGDEW0371W7/GxGDEW0371W7.h> // 3.7" b/w
4851
//#include <GxGDEW042T2/GxGDEW042T2.h> // 4.2" b/w
4952
// these displays do not fully support partial update
5053
//#include <GxGDEW0154Z17/GxGDEW0154Z17.h> // 1.54" b/w/r 152x152
@@ -55,6 +58,7 @@
5558
//#include <GxGDEW0583T7/GxGDEW0583T7.h> // 5.83" b/w
5659
//#include <GxGDEW075T8/GxGDEW075T8.h> // 7.5" b/w
5760
//#include <GxGDEW075Z09/GxGDEW075Z09.h> // 7.5" b/w/r
61+
//#include <GxGDEW075Z08/GxGDEW075Z08.h> // 7.5" b/w/r 800x480
5862

5963
#include <GxIO/GxIO_SPI/GxIO_SPI.h>
6064
#include <GxIO/GxIO.h>
@@ -154,7 +158,7 @@ void loop()
154158
{
155159
#if defined(__AVR) || false
156160
showPartialUpdatePaged();
157-
#elif defined(_GxGDEW075Z09_H_) && (defined(ESP8266) || defined(ARDUINO_ARCH_STM32F1))
161+
#elif (defined(_GxGDEW075Z09_H_) || defined(_GxGDEW075Z08_H_)) && (defined(ESP8266) || defined(ARDUINO_ARCH_STM32F1))
158162
showPartialUpdatePaged();
159163
#elif defined(_GxGDEW075Z09_H_)
160164
showPartialUpdate_75Z09();
@@ -349,7 +353,7 @@ void showPartialUpdate_75Z09()
349353

350354
#endif
351355

352-
#if defined(__AVR) || defined(_GxGDEW075Z09_H_) && (defined(ESP8266) || defined(ARDUINO_ARCH_STM32F1)) || false
356+
#if defined(__AVR) || (defined(_GxGDEW075Z09_H_) || defined(_GxGDEW075Z08_H_)) && (defined(ESP8266) || defined(ARDUINO_ARCH_STM32F1)) || false
353357

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
name=GxEPD_ParticleExample
2-
dependencies.GxEPD=3.0.7
2+
dependencies.GxEPD=3.0.8
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
name=GxEPD_ParticlePartialUpdateExample
2-
dependencies.GxEPD=3.0.7
2+
dependencies.GxEPD=3.0.8

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=GxEPD
2-
version=3.0.7
2+
version=3.0.8
33
author=Jean-Marc Zingg
44
maintainer=Jean-Marc Zingg
55
sentence=Display Library for SPI e-paper panels from Dalian Good Display and boards from Waveshare.

0 commit comments

Comments
 (0)