// SPDX-License-Identifier: GPL-2.0-or-later #pragma once // uncomment next line to use HSPI for EPD (and VSPI for SD), e.g. with Waveshare ESP32 Driver Board #define USE_HSPI_FOR_EPD /// uncomment next line to use class GFX of library GFX_Root instead of Adafruit_GFX, to use less code and ram // #include // base class GxEPD2_GFX can be used to pass references or pointers to the display instance as parameter, uses ~1.2k more code // enable GxEPD2_GFX base class #define ENABLE_GxEPD2_GFX 1 #include #include #include #include // FreeFonts from Adafruit_GFX #include #include #include #include #include "imagedata.h" // GDEW027C44 2.7 " b/w/r 176x264, IL91874 // GDEH0154D67 1.54" b/w 200x200 class DisplayEPaperClass { public: DisplayEPaperClass(); ~DisplayEPaperClass(); void fullRefresh(); void init(uint8_t type, uint8_t _CS, uint8_t _DC, uint8_t _RST, uint8_t _BUSY, uint8_t _SCK, uint8_t _MOSI); void loop(float totalPower, float totalYieldDay, float totalYieldTotal, uint8_t isprod); uint8_t displayRotation = 2; private: void headlineIP(); void actualPowerPaged(float _totalPower, float _totalYieldDay, float _totalYieldTotal, uint8_t _isprod); void lastUpdatePaged(); bool _changed = false; char _fmtText[35]; const char* _settedIP; uint8_t headfootline = 16; GxEPD2_GFX* _display; }; extern DisplayEPaperClass DisplayEPaper;