77 lines
No EOL
2.4 KiB
C++
77 lines
No EOL
2.4 KiB
C++
#pragma once
|
|
#include "ise_display_definitions.hpp"
|
|
|
|
#include <ESPMegaDisplay.hpp>
|
|
#include <TimeStructure.hpp>
|
|
#include <DigitalInputCard.hpp>
|
|
#include <DigitalOutputCard.hpp>
|
|
#include <ClimateCard.hpp>
|
|
#include <RemoteVariable.hpp>
|
|
|
|
/**
|
|
* @brief A class for controlling the ESPMegaDisplay.
|
|
*
|
|
* Made for ISE building 2 room 303/2.
|
|
*/
|
|
|
|
|
|
|
|
|
|
class ISEDisplay : public ESPMegaDisplay {
|
|
public:
|
|
ISEDisplay(HardwareSerial* adapter);
|
|
void begin(DigitalInputCard* inputCard, DigitalOutputCard* outputCard, ClimateCard* climateCard);
|
|
void updateLightGroupStatePageDashboard();
|
|
void updateDateTimeText(rtctime_t time);
|
|
void updateWeather(char *weather_string);
|
|
void updateTempOutside(float temp_outside);
|
|
void updatePMoutside(u_int16_t pm25_outside);
|
|
void updatePMinside(u_int8_t pm25_inside);
|
|
void loop();
|
|
|
|
|
|
|
|
private:
|
|
|
|
void handleTouch(uint8_t page, uint8_t component, uint8_t touch_type);
|
|
void handlePWMChange(uint8_t pin, bool state, uint16_t value);
|
|
void setPMstate(bool is_pm_on, uint8_t pm_fan_speed);
|
|
void setACstate(uint8_t ac_fan_speed, uint8_t ac_mode, uint8_t ac_temperature);
|
|
void setLightLevel(uint8_t row, uint8_t level);
|
|
|
|
DigitalInputCard* inputCard;
|
|
DigitalOutputCard *outputCard;
|
|
ClimateCard *climateCard;
|
|
uint8_t outputCallbackHandle;
|
|
uint8_t climateCallbackHandle;
|
|
uint8_t user_mode;
|
|
uint8_t ac_mode;
|
|
uint8_t ac_fan_speed;
|
|
uint8_t ac_temperature;
|
|
uint8_t pm_fan_speed;
|
|
uint8_t time_since_last_screen_update;
|
|
u_int8_t lightLevelRow1;
|
|
u_int8_t lightLevelRow2;
|
|
u_int8_t lightLevelRow3;
|
|
u_int8_t lightLevelRow4;
|
|
|
|
|
|
void updateuserACmode();
|
|
void updateACfanSpeed();
|
|
void updateLightGroupStatePageStandby();
|
|
void updateAirPurifierState();
|
|
void updateAirPurifierStateStandby();
|
|
void updateACState();
|
|
|
|
bool calculateLightGroupState();
|
|
void toggleLightGroupState();
|
|
void toggleLightGroupStateStandby();
|
|
void toggleLightIndividual(uint8_t row);
|
|
void toggleSliderLight(uint8_t row,uint8_t lightLevel);
|
|
void togglePM();
|
|
void togglePMStandby();
|
|
void toggleAC();
|
|
void toggleACStandby();
|
|
void changeUserACmode();
|
|
|
|
}; |