# GxEPD2 New Simplified Version of GxEPD for Arduino ## for SPI e-paper displays from Dalian Good Display ## and SPI e-paper boards from Waveshare ### important note : ### - these displays are for 3.3V supply and 3.3V data lines. ### - never connect data lines directly to 5V data pins. ### Paged Drawing, Picture Loop #### - This library uses paged drawing to limit RAM use and cope with missing single pixel update support #### - buffer size can be selected in the application by template parameter page_height, see GxEPD2_Example #### - Paged drawing is implemented as picture loop, like in U8G2 (Oliver Kraus) #### - see https://github.com/olikraus/u8glib/wiki/tpictureloop #### - Paged drawing is also available using drawPaged() and drawCallback(), like in GxEPD #### - // GxEPD style paged drawing; drawCallback() is called as many times as needed #### - void drawPaged(void (*drawCallback)(const void*), const void* pv) #### - paged drawing is done using Adafruit_GFX methods inside picture loop or drawCallback ### Full Screen Buffer Support #### - full screen buffer is selected by setting template parameter page_height to display height #### - drawing to full screen buffer is done using Adafruit_GFX methods without picture loop or drawCallback #### - and then calling method display() ### Low Level Bitmap Drawing Support #### - bitmap drawing support to the controller memory and screen is available: #### - either through the template class instance methods that forward calls to the base display class #### - or directy using an instance of a base display class and calling its methods directly ### Supporting Arduino Forum Topics: - Waveshare e-paper displays with SPI: http://forum.arduino.cc/index.php?topic=487007.0 - Good Dispay ePaper for Arduino : https://forum.arduino.cc/index.php?topic=436411.0 ### Version 1.0.4 - add GxEPD2_GFX base class support (optional, selectable, uses slightly more code) - base class GxEPD2_GFX can be used to pass references or pointers to the display instance as parameter - add GxEPD2_GFX_MultiDisplayExample, uses GxEPD2_GFX reference parameter - modify GxEPD2_MultiDisplayExample for ESP8266 (template issue: class expected instead of typename) #### Version 1.0.3 - fix GxEPD2_SD_Example & GxEPD2_SD_AVR_Example - add GxEPD2_MultiDisplayExample (preliminary version) #### Version 1.0.2 - initial release version 1.0.2 - tested with ESP8266, ESP32, STM32F103C8T6, AVR Arduino (Pro Mini 3.3V) - 1.54" 3-color GxEPD2_154c can be used with paging for AVR - wave tables in program space, 4.2" b/w can be used with GxEPD2_SD_AVR_Example - issues enabled and welcome, please use Forum Topic for enhancement suggestions #### Version 1.0.1 - pre-release test version - GxEPD2_SD_AVR_Example added, has no graphics buffer to reduce RAM usage (base display class use) - issues disabled so far, use Arduino Forum Topics instead - in this version 1.54" 3-color GxEPD2_154c can only be used with full size buffer (or with no buffer base display class) #### Version 1.0.0 - preliminary version, under construction