rename folders
This commit is contained in:
parent
1ec8effe90
commit
1815597374
63 changed files with 1 additions and 0 deletions
68
ESPMegaPRO-firmware/lib/ESPMegaPRO/InternalDisplay.hpp
Normal file
68
ESPMegaPRO-firmware/lib/ESPMegaPRO/InternalDisplay.hpp
Normal file
|
@ -0,0 +1,68 @@
|
|||
#pragma once
|
||||
#include <ESPMegaDisplay.hpp>
|
||||
#include <TimeStructure.hpp>
|
||||
#include <ESPMegaIoT.hpp>
|
||||
#include <DigitalInputCard.hpp>
|
||||
#include <DigitalOutputCard.hpp>
|
||||
|
||||
// Page IDs
|
||||
#define INTERNAL_DISPLAY_DASHBOARD_PAGE 0
|
||||
#define INTERNAL_DISPLAY_INPUT_PAGE 1
|
||||
#define INTERNAL_DISPLAY_OUTPUT_PAGE 2
|
||||
#define INTERNAL_DISPLAY_AC_PAGE 3
|
||||
|
||||
// Picture IDs
|
||||
#define PIC_LAN_DISCONNECTED 2
|
||||
#define PIC_LAN_CONNECTED 3
|
||||
#define PIC_MQTT_DISCONNECTED 4
|
||||
#define PIC_MQTT_CONNECTED 5
|
||||
#define PIC_PWM_BAR_ON 33
|
||||
#define PIC_PWM_BAR_OFF 48
|
||||
|
||||
// Messages
|
||||
#define MSG_MQTT_CONNECTED "BMS Managed"
|
||||
#define MSG_MQTT_DISCONNECTED "Standalone"
|
||||
|
||||
// Refresh Interval
|
||||
#define INTERNAL_DISPLAY_CLOCK_REFRESH_INTERVAL 15000
|
||||
#define INTERNAL_DISPLAY_TOP_BAR_REFRESH_INTERVAL 5000
|
||||
|
||||
class InternalDisplay : public ESPMegaDisplay {
|
||||
public:
|
||||
InternalDisplay(HardwareSerial *displayAdapter);
|
||||
void begin(ESPMegaIoT *iot, std::function<rtctime_t()> getRtcTime);
|
||||
void loop();
|
||||
void bindInputCard(DigitalInputCard *inputCard);
|
||||
void bindOutputCard(DigitalOutputCard *outputCard);
|
||||
|
||||
private:
|
||||
DigitalInputCard *inputCard;
|
||||
DigitalOutputCard *outputCard;
|
||||
// Previously registered callbacks of input and output cards
|
||||
// We need to call them when the respective card is binded to the display
|
||||
// Because we will replace the callbacks with the display's own callbacks
|
||||
void handleInputStateChange(uint8_t pin, bool state);
|
||||
void handlePwmStateChange(uint8_t pin, bool state, 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(bool networkStatus, bool mqttStatus);
|
||||
void updateClock();
|
||||
void refreshPage();
|
||||
void refreshPage(uint8_t page);
|
||||
void refreshDashboard();
|
||||
void refreshInput();
|
||||
void refreshOutput();
|
||||
void refreshAC();
|
||||
MqttConfig *mqttConfig;
|
||||
NetworkConfig *networkConfig;
|
||||
// Pointers to various data
|
||||
ESPMegaIoT *iot;
|
||||
std::function<rtctime_t()> getRtcTime;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue