diff --git a/Doc/1.54 Inch 4C/GDEM0154F51H.pdf b/Doc/1.54 Inch 4C/GDEM0154F51H.pdf new file mode 100644 index 0000000..724c174 Binary files /dev/null and b/Doc/1.54 Inch 4C/GDEM0154F51H.pdf differ diff --git a/Doc/2.9 Inch 4C/GDEY029F51H.pdf b/Doc/2.9 Inch 4C/GDEY029F51H.pdf new file mode 100644 index 0000000..82e4891 Binary files /dev/null and b/Doc/2.9 Inch 4C/GDEY029F51H.pdf differ diff --git a/Doc/JD79660A_datasheet_v1.0.3_20230620.pdf b/Doc/JD79660A_datasheet_v1.0.3_20230620.pdf new file mode 100644 index 0000000..1d0c906 Binary files /dev/null and b/Doc/JD79660A_datasheet_v1.0.3_20230620.pdf differ diff --git a/Doc/JD79667AA V1.0.4_20230720.pdf b/Doc/JD79667AA V1.0.4_20230720.pdf new file mode 100644 index 0000000..73c7fc0 Binary files /dev/null and b/Doc/JD79667AA V1.0.4_20230720.pdf differ diff --git a/Example/EpaperModuleTest_Arduino_ESP32/EpaperModuleTest_Arduino_ESP32.ino b/Example/EpaperModuleTest_Arduino_ESP32/EpaperModuleTest_Arduino_ESP32.ino index 7188265..b0d20ca 100644 --- a/Example/EpaperModuleTest_Arduino_ESP32/EpaperModuleTest_Arduino_ESP32.ino +++ b/Example/EpaperModuleTest_Arduino_ESP32/EpaperModuleTest_Arduino_ESP32.ino @@ -5,6 +5,7 @@ #include #include +#include #include // ESP32 CS(SS)=5,SCL(SCK)=18,SDA(MOSI)=23,BUSY=4,RES(RST)=17,DC=16 @@ -15,6 +16,7 @@ // 1.54'' EPD Module //GxEPD2_BW display(GxEPD2_154_D67(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEH0154D67 200x200, SSD1681 +//GxEPD2_4C display(GxEPD2_154c_GDEM0154F51H(/*CS=15*/ CS_PIN, /*DC=4*/ DC_PIN, /*RST=2*/ RES_PIN, /*BUSY=5*/ BUSY_PIN)); // GDEM0154F51H 200x200, JD79660 // 2.13'' EPD Module //GxEPD2_BW display(GxEPD2_213_BN(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // DEPG0213BN 122x250, SSD1680 @@ -23,6 +25,7 @@ // 2.9'' EPD Module //GxEPD2_BW display(GxEPD2_290_BS(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // DEPG0290BS 128x296, SSD1680 //GxEPD2_3C display(GxEPD2_290_C90c(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEM029C90 128x296, SSD1680 +//GxEPD2_4C display(GxEPD2_290c_GDEY029F51H(/*CS=15*/ CS_PIN, /*DC=4*/ DC_PIN, /*RST=2*/ RES_PIN, /*BUSY=5*/ BUSY_PIN)); // GDEY029F51H 168x384, JD79667 // 3.7'' EPD Module //GxEPD2_BW display(GxEPD2_370_GDEY037T03(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEY037T03 240x416, UC8253 @@ -85,7 +88,10 @@ void helloFullScreenPartialMode() display.setRotation(1); display.setFont(&FreeMonoBold9pt7b); if (display.epd2.WIDTH < 104) display.setFont(0); - display.setTextColor(GxEPD_BLACK); + if((display.epd2.panel == GxEPD2::GDEY029F51H) || (display.epd2.panel == GxEPD2::GDEM0154F51H)) + display.setTextColor(GxEPD_YELLOW); + else + display.setTextColor(GxEPD_BLACK); const char* updatemode; if (display.epd2.hasFastPartialUpdate) { diff --git a/Example/EpaperModuleTest_Arduino_ESP32C3/EpaperModuleTest_Arduino_ESP32C3.ino b/Example/EpaperModuleTest_Arduino_ESP32C3/EpaperModuleTest_Arduino_ESP32C3.ino index 5bf6d6d..21541c6 100644 --- a/Example/EpaperModuleTest_Arduino_ESP32C3/EpaperModuleTest_Arduino_ESP32C3.ino +++ b/Example/EpaperModuleTest_Arduino_ESP32C3/EpaperModuleTest_Arduino_ESP32C3.ino @@ -15,14 +15,16 @@ // 1.54'' EPD Module //GxEPD2_BW display(GxEPD2_154_D67(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEH0154D67 200x200, SSD1681 +//GxEPD2_4C display(GxEPD2_154c_GDEM0154F51H(/*CS=15*/ CS_PIN, /*DC=4*/ DC_PIN, /*RST=2*/ RES_PIN, /*BUSY=5*/ BUSY_PIN)); // GDEM0154F51H 200x200, JD79660 // 2.13'' EPD Module -GxEPD2_BW display(GxEPD2_213_BN(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // DEPG0213BN 122x250, SSD1680 +//GxEPD2_BW display(GxEPD2_213_BN(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // DEPG0213BN 122x250, SSD1680 //GxEPD2_3C display(GxEPD2_213_Z98c(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEY0213Z98 122x250, SSD1680 // 2.9'' EPD Module //GxEPD2_BW display(GxEPD2_290_BS(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // DEPG0290BS 128x296, SSD1680 //GxEPD2_3C display(GxEPD2_290_C90c(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEM029C90 128x296, SSD1680 +//GxEPD2_4C display(GxEPD2_290c_GDEY029F51H(/*CS=15*/ CS_PIN, /*DC=4*/ DC_PIN, /*RST=2*/ RES_PIN, /*BUSY=5*/ BUSY_PIN)); // GDEY029F51H 168x384, JD79667 // 3.7'' EPD Module //GxEPD2_BW display(GxEPD2_370_GDEY037T03(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEY037T03 240x416, UC8253 @@ -88,7 +90,10 @@ void helloFullScreenPartialMode() display.setRotation(1); display.setFont(&FreeMonoBold9pt7b); if (display.epd2.WIDTH < 104) display.setFont(0); - display.setTextColor(GxEPD_BLACK); + if((display.epd2.panel == GxEPD2::GDEY029F51H) || (display.epd2.panel == GxEPD2::GDEM0154F51H)) + display.setTextColor(GxEPD_YELLOW); + else + display.setTextColor(GxEPD_BLACK); const char* updatemode; if (display.epd2.hasFastPartialUpdate) { diff --git a/Example/EpaperModuleTest_Arduino_ESP32S3/EpaperModuleTest_Arduino_ESP32S3.ino b/Example/EpaperModuleTest_Arduino_ESP32S3/EpaperModuleTest_Arduino_ESP32S3.ino index ee31aed..c82d955 100644 --- a/Example/EpaperModuleTest_Arduino_ESP32S3/EpaperModuleTest_Arduino_ESP32S3.ino +++ b/Example/EpaperModuleTest_Arduino_ESP32S3/EpaperModuleTest_Arduino_ESP32S3.ino @@ -15,6 +15,7 @@ // 1.54'' EPD Module //GxEPD2_BW display(GxEPD2_154_D67(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEH0154D67 200x200, SSD1681 +//GxEPD2_4C display(GxEPD2_154c_GDEM0154F51H(/*CS=15*/ CS_PIN, /*DC=4*/ DC_PIN, /*RST=2*/ RES_PIN, /*BUSY=5*/ BUSY_PIN)); // GDEM0154F51H 200x200, JD79660 // 2.13'' EPD Module //GxEPD2_BW display(GxEPD2_213_BN(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // DEPG0213BN 122x250, SSD1680 @@ -23,6 +24,7 @@ // 2.9'' EPD Module //GxEPD2_BW display(GxEPD2_290_BS(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // DEPG0290BS 128x296, SSD1680 //GxEPD2_3C display(GxEPD2_290_C90c(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEM029C90 128x296, SSD1680 +//GxEPD2_4C display(GxEPD2_290c_GDEY029F51H(/*CS=15*/ CS_PIN, /*DC=4*/ DC_PIN, /*RST=2*/ RES_PIN, /*BUSY=5*/ BUSY_PIN)); // GDEY029F51H 168x384, JD79667 // 3.7'' EPD Module //GxEPD2_BW display(GxEPD2_370_GDEY037T03(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEY037T03 240x416, UC8253 @@ -85,7 +87,10 @@ void helloFullScreenPartialMode() display.setRotation(1); display.setFont(&FreeMonoBold9pt7b); if (display.epd2.WIDTH < 104) display.setFont(0); - display.setTextColor(GxEPD_BLACK); + if((display.epd2.panel == GxEPD2::GDEY029F51H) || (display.epd2.panel == GxEPD2::GDEM0154F51H)) + display.setTextColor(GxEPD_YELLOW); + else + display.setTextColor(GxEPD_BLACK); const char* updatemode; if (display.epd2.hasFastPartialUpdate) { diff --git a/Example/EpaperModuleTest_Arduino_ESP8266/EpaperModuleTest_Arduino_ESP8266.ino b/Example/EpaperModuleTest_Arduino_ESP8266/EpaperModuleTest_Arduino_ESP8266.ino index 151dda9..e378b1c 100644 --- a/Example/EpaperModuleTest_Arduino_ESP8266/EpaperModuleTest_Arduino_ESP8266.ino +++ b/Example/EpaperModuleTest_Arduino_ESP8266/EpaperModuleTest_Arduino_ESP8266.ino @@ -15,14 +15,16 @@ // 1.54'' EPD Module //GxEPD2_BW display(GxEPD2_154_D67(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEH0154D67 200x200, SSD1681 +//GxEPD2_4C display(GxEPD2_154c_GDEM0154F51H(/*CS=15*/ CS_PIN, /*DC=4*/ DC_PIN, /*RST=2*/ RES_PIN, /*BUSY=5*/ BUSY_PIN)); // GDEM0154F51H 200x200, JD79660 // 2.13'' EPD Module -GxEPD2_BW display(GxEPD2_213_BN(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // DEPG0213BN 122x250, SSD1680 +//GxEPD2_BW display(GxEPD2_213_BN(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // DEPG0213BN 122x250, SSD1680 //GxEPD2_3C display(GxEPD2_213_Z98c(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEY0213Z98 122x250, SSD1680 // 2.9'' EPD Module //GxEPD2_BW display(GxEPD2_290_BS(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // DEPG0290BS 128x296, SSD1680 //GxEPD2_3C display(GxEPD2_290_C90c(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEM029C90 128x296, SSD1680 +//GxEPD2_4C display(GxEPD2_290c_GDEY029F51H(/*CS=15*/ CS_PIN, /*DC=4*/ DC_PIN, /*RST=2*/ RES_PIN, /*BUSY=5*/ BUSY_PIN)); // GDEY029F51H 168x384, JD79667 // 3.7'' EPD Module //GxEPD2_BW display(GxEPD2_370_GDEY037T03(/*CS=5*/ CS_PIN, /*DC=*/ DC_PIN, /*RES=*/ RES_PIN, /*BUSY=*/ BUSY_PIN)); // GDEY037T03 240x416, UC8253 @@ -85,7 +87,10 @@ void helloFullScreenPartialMode() display.setRotation(1); display.setFont(&FreeMonoBold9pt7b); if (display.epd2.WIDTH < 104) display.setFont(0); - display.setTextColor(GxEPD_BLACK); + if((display.epd2.panel == GxEPD2::GDEY029F51H) || (display.epd2.panel == GxEPD2::GDEM0154F51H)) + display.setTextColor(GxEPD_YELLOW); + else + display.setTextColor(GxEPD_BLACK); const char* updatemode; if (display.epd2.hasFastPartialUpdate) {