#pragma once #include #include #include #include "shared.hpp" #include "config.hpp" #include "fonts/fonts.hpp" #include #include #include #ifdef USE_QR #include "qrcodegen.h" #endif // extern TaskHandle_t epdTaskHandle; typedef struct { char dispNum; } UpdateDisplayTaskItem; void setupDisplays(); // void taskEpd(void *pvParameters); void splitText(const uint dispNum, const String& top, const String& bottom, bool partial); //void splitTextPaged(const uint dispNum, String top, String bottom, bool partial); void showDigit(const uint dispNum, char chr, bool partial, const GFXfont *font); void showChars(const uint dispNum, const String& chars, bool partial, const GFXfont *font); //void showDigitPaged(const uint dispNum, char chr, bool partial, const GFXfont *font); extern "C" void updateDisplay(void *pvParameters) noexcept; void updateDisplayAlt(int epdIndex); void prepareDisplayUpdateTask(void *pvParameters); int getBgColor(); int getFgColor(); void setBgColor(int color); void setFgColor(int color); void renderText(const uint dispNum, const String& text, bool partial); void renderQr(const uint dispNum, const String& text, bool partial); void setEpdContent(std::array newEpdContent); std::array getCurrentEpdContent(); void waitUntilNoneBusy();