#pragma once #include #include #include #include #include #include #include #include "fonts/fonts.hpp" #include "lib/config.hpp" #include "lib/shared.hpp" #include "icons/icons.h" #ifdef USE_QR #include "qrcodegen.h" #endif // extern TaskHandle_t epdTaskHandle; typedef struct { char dispNum; } UpdateDisplayTaskItem; void forceFullRefresh(); void refreshFromMemory(); void setupDisplays(); void splitText(const uint dispNum, const String &top, const 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); 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 renderIcon(const uint dispNum, const String &text, bool partial); 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, bool forceUpdate); void setEpdContent(std::array newEpdContent); void setEpdContent(std::array newEpdContent); std::array getCurrentEpdContent(); void waitUntilNoneBusy();