#pragma once #include #include #include #include "gzip_decompressor.hpp" #include #include #include #include #include "fonts/fonts.hpp" #include "lib/config.hpp" #include "lib/shared.hpp" #include "icons/icons.h" #include "mining_pool_stats_fetch.hpp" // Font includes #include "../fonts/antonio-semibold20.h" #include "../fonts/antonio-semibold40.h" #include "../fonts/antonio-semibold90.h" // Oswald fonts #include "../fonts/oswald-medium20.h" #include "../fonts/oswald-medium30.h" #include "../fonts/oswald-medium80.h" #include "../fonts/sats-symbol.h" #ifdef USE_QR #include "qrcodegen.h" #endif typedef struct { char dispNum; } UpdateDisplayTaskItem; void forceFullRefresh(); void setupDisplays(); void loadFonts(const String& fontName); 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); bool 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();