ESPMegaPRO-v3-SDK/Template Project/lib/ESPMegaPRO/InternalDisplay.hpp

39 lines
1.4 KiB
C++

#include <ESPMegaPRO_OOP.hpp>
#include <ESPMegaDisplay.hpp>
#define INTERNAL_DISPLAY_DASHBOARD_PAGE 0
#define INTERNAL_DISPLAY_INPUT_PAGE 1
#define INTERNAL_DISPLAY_OUTPUT_PAGE 2
#define INTERNAL_DISPLAY_AC_PAGE 3
class InternalDisplay : public ESPMegaDisplay {
public:
InternalDisplay(HardwareSerial *displayAdapter);
void begin(ESPMegaPRO *espmega);
void loop();
void bindInputCard(uint8_t card_id);
void bindOutputCard(uint8_t card_id);
private:
uint8_t bindedInputCard;
uint8_t bindedOutputCard;
ESPMegaPRO *espmega;
void handleInputStateChange(uint8_t pin, bool state);
void handlePwmStateChange(uint8_t pin, uint16_t value);
void handlePageChange(uint8_t page);
void setOutputBar(uint8_t pin, uint16_t value);
void setOutputStateColor(uint8_t pin, bool state);
void setInputMarker(uint8_t pin, bool state);
void setPWMAdjustmentSlider(uint16_t value);
void setPWMAdjustmentPin(uint8_t pin);
void setPWMAdjustmentButton(bool state);
void saveNetworkConfig();
void saveMQTTConfig();
void updateStatusIcons();
void updateClock();
void refreshPage();
void refreshPage(uint8_t page);
void refreshDashboard();
void refreshInput();
void refreshOutput();
void refreshAC();
};