boots normally now
This commit is contained in:
parent
4e20578b20
commit
c802f901f5
|
@ -13,4 +13,5 @@ platform = espressif32
|
||||||
board = wt32-eth01
|
board = wt32-eth01
|
||||||
framework = arduino
|
framework = arduino
|
||||||
lib_deps = siwats/ESPMegaPROR3@^2.3.8
|
lib_deps = siwats/ESPMegaPROR3@^2.3.8
|
||||||
monitor_speed = 115200
|
monitor_speed = 115200
|
||||||
|
build_flags = -DCORE_DEBUG_LEVEL=5
|
|
@ -20,9 +20,12 @@ CUDDisplay::CUDDisplay(cud_display_conf_t *conf) : ESPMegaDisplay(conf->uart, co
|
||||||
.picture_off_pressed = {LCD_DASHBOARD_PIC_FAN_1_OFF_PRESSED, LCD_DASHBOARD_PIC_FAN_2_OFF_PRESSED, LCD_DASHBOARD_PIC_FAN_3_OFF_PRESSED}};
|
.picture_off_pressed = {LCD_DASHBOARD_PIC_FAN_1_OFF_PRESSED, LCD_DASHBOARD_PIC_FAN_2_OFF_PRESSED, LCD_DASHBOARD_PIC_FAN_3_OFF_PRESSED}};
|
||||||
}
|
}
|
||||||
|
|
||||||
void CUDDisplay::begin()
|
void CUDDisplay::begin(cud_display_cards_t cards)
|
||||||
{
|
{
|
||||||
|
// Save Cards
|
||||||
|
this->cards = cards;
|
||||||
// Register callbacks
|
// Register callbacks
|
||||||
|
ESP_LOGV("CUD Display", "Registering callbacks");
|
||||||
auto binded_input_callback = std::bind(&CUDDisplay::handle_input_change, this, std::placeholders::_1, std::placeholders::_2);
|
auto binded_input_callback = std::bind(&CUDDisplay::handle_input_change, this, std::placeholders::_1, std::placeholders::_2);
|
||||||
auto binded_output_callback = std::bind(&CUDDisplay::handle_output_change, this, std::placeholders::_1, std::placeholders::_2);
|
auto binded_output_callback = std::bind(&CUDDisplay::handle_output_change, this, std::placeholders::_1, std::placeholders::_2);
|
||||||
auto binded_aqi_callback = std::bind(&CUDDisplay::handle_aqi_change, this, std::placeholders::_1);
|
auto binded_aqi_callback = std::bind(&CUDDisplay::handle_aqi_change, this, std::placeholders::_1);
|
||||||
|
@ -30,24 +33,35 @@ void CUDDisplay::begin()
|
||||||
auto binded_touch_callback = std::bind(&CUDDisplay::handle_touch, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);
|
auto binded_touch_callback = std::bind(&CUDDisplay::handle_touch, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);
|
||||||
auto binded_ac_callback = std::bind(&CUDDisplay::handle_ac_change, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);
|
auto binded_ac_callback = std::bind(&CUDDisplay::handle_ac_change, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);
|
||||||
auto binded_ac_sensor_callback = std::bind(&CUDDisplay::handle_ac_sensor, this, std::placeholders::_1, std::placeholders::_2);
|
auto binded_ac_sensor_callback = std::bind(&CUDDisplay::handle_ac_sensor, this, std::placeholders::_1, std::placeholders::_2);
|
||||||
this->conf->inputCard->registerCallback(binded_input_callback);
|
ESP_LOGV("CUD Display", "Registering Input Card Callbacks");
|
||||||
this->conf->outputCard->registerChangeCallback(binded_output_callback);
|
this->cards.inputCard->registerCallback(binded_input_callback);
|
||||||
|
ESP_LOGV("CUD Display", "Registering Output Card Callbacks");
|
||||||
|
this->cards.outputCard->registerChangeCallback(binded_output_callback);
|
||||||
|
ESP_LOGV("CUD Display", "Registering AQI Callbacks");
|
||||||
this->conf->aqi->registerCallback(binded_aqi_callback);
|
this->conf->aqi->registerCallback(binded_aqi_callback);
|
||||||
|
ESP_LOGV("CUD Display", "Registering Display Payload Callbacks");
|
||||||
this->registerPayloadCallback(binded_payload_callback);
|
this->registerPayloadCallback(binded_payload_callback);
|
||||||
|
ESP_LOGV("CUD Display", "Registering Display Touch Callbacks");
|
||||||
this->registerTouchCallback(binded_touch_callback);
|
this->registerTouchCallback(binded_touch_callback);
|
||||||
this->conf->ac->registerChangeCallback(binded_ac_callback);
|
ESP_LOGV("CUD Display", "Registering AC Callbacks");
|
||||||
this->conf->ac->registerSensorCallback(binded_ac_sensor_callback);
|
this->cards.ac->registerChangeCallback(binded_ac_callback);
|
||||||
|
ESP_LOGV("CUD Display", "Registering AC Sensor Callbacks");
|
||||||
|
this->cards.ac->registerSensorCallback(binded_ac_sensor_callback);
|
||||||
// Initialize the display
|
// Initialize the display
|
||||||
|
ESP_LOGV("CUD Display", "Initializing display");
|
||||||
this->display_init();
|
this->display_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CUDDisplay::display_init()
|
void CUDDisplay::display_init()
|
||||||
{
|
{
|
||||||
// Perform a reset on the display
|
// Perform a reset on the display
|
||||||
|
ESP_LOGV("CUD Display", "Resetting display");
|
||||||
this->reset();
|
this->reset();
|
||||||
// Set the display to the main screen
|
// Set the display to the main screen
|
||||||
|
ESP_LOGV("CUD Display", "Setting display to main screen");
|
||||||
this->jumpToPage(LCD_PAGE_ID_DASHBOARD);
|
this->jumpToPage(LCD_PAGE_ID_DASHBOARD);
|
||||||
// Send the initial states to the display
|
// Send the initial states to the display
|
||||||
|
ESP_LOGV("CUD Display", "Sending initial states to display");
|
||||||
this->refresh_display();
|
this->refresh_display();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,7 +69,7 @@ bool CUDDisplay::get_lights_state()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
if (this->conf->outputCard->getState(this->conf->light_pins[i]))
|
if (this->cards.outputCard->getState(this->conf->light_pins[i]))
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -65,7 +79,7 @@ bool CUDDisplay::get_fans_state()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
if (this->conf->outputCard->getState(this->conf->fan_pins[i]))
|
if (this->cards.outputCard->getState(this->conf->fan_pins[i]))
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -131,7 +145,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
bool light_on = this->get_lights_state();
|
bool light_on = this->get_lights_state();
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
this->conf->outputCard->setState(this->conf->light_pins[i], !light_on);
|
this->cards.outputCard->setState(this->conf->light_pins[i], !light_on);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -142,7 +156,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
bool fan_on = this->get_fans_state();
|
bool fan_on = this->get_fans_state();
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
this->conf->outputCard->setState(this->conf->fan_pins[i], !fan_on);
|
this->cards.outputCard->setState(this->conf->fan_pins[i], !fan_on);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -150,14 +164,14 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
else if (element_id == LCD_DASHBOARD_ELEMENT_AIR_PURIFIER)
|
else if (element_id == LCD_DASHBOARD_ELEMENT_AIR_PURIFIER)
|
||||||
{
|
{
|
||||||
// If it is, toggle the air purifier
|
// If it is, toggle the air purifier
|
||||||
this->conf->outputCard->setState(this->conf->air_purifier_pin, !this->conf->outputCard->getState(this->conf->air_purifier_pin));
|
this->cards.outputCard->setState(this->conf->air_purifier_pin, !this->cards.outputCard->getState(this->conf->air_purifier_pin));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check if element_id is the mosquito zapper button
|
// Check if element_id is the mosquito zapper button
|
||||||
else if (element_id == LCD_DASHBOARD_ELEMENT_MOSQUITO_ZAPPER)
|
else if (element_id == LCD_DASHBOARD_ELEMENT_MOSQUITO_ZAPPER)
|
||||||
{
|
{
|
||||||
// If it is, toggle the mosquito zapper
|
// If it is, toggle the mosquito zapper
|
||||||
this->conf->outputCard->setState(this->conf->mosquito_zapper_pin, !this->conf->outputCard->getState(this->conf->mosquito_zapper_pin));
|
this->cards.outputCard->setState(this->conf->mosquito_zapper_pin, !this->cards.outputCard->getState(this->conf->mosquito_zapper_pin));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check if element_id is a light button
|
// Check if element_id is a light button
|
||||||
|
@ -166,7 +180,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
if (element_id == this->light_group.element_id[i])
|
if (element_id == this->light_group.element_id[i])
|
||||||
{
|
{
|
||||||
// If it is, toggle the light
|
// If it is, toggle the light
|
||||||
this->conf->outputCard->setState(this->conf->light_pins[i], !this->conf->outputCard->getState(this->conf->light_pins[i]));
|
this->cards.outputCard->setState(this->conf->light_pins[i], !this->cards.outputCard->getState(this->conf->light_pins[i]));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -176,7 +190,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
if (element_id == this->fan_group.element_id[i])
|
if (element_id == this->fan_group.element_id[i])
|
||||||
{
|
{
|
||||||
// If it is, toggle the fan
|
// If it is, toggle the fan
|
||||||
this->conf->outputCard->setState(this->conf->fan_pins[i], !this->conf->outputCard->getState(this->conf->fan_pins[i]));
|
this->cards.outputCard->setState(this->conf->fan_pins[i], !this->cards.outputCard->getState(this->conf->fan_pins[i]));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -188,15 +202,15 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
return;
|
return;
|
||||||
// Toggle the AC
|
// Toggle the AC
|
||||||
// Is the AC on?
|
// Is the AC on?
|
||||||
if (this->conf->ac->getMode() != 0)
|
if (this->cards.ac->getMode() != 0)
|
||||||
{
|
{
|
||||||
// If it is, turn it off
|
// If it is, turn it off
|
||||||
this->conf->ac->setMode(0);
|
this->cards.ac->setMode(0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// If it is not, turn it on
|
// If it is not, turn it on
|
||||||
this->conf->ac->setMode(previous_mode);
|
this->cards.ac->setMode(previous_mode);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -207,7 +221,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
if (this->ac_locked)
|
if (this->ac_locked)
|
||||||
return;
|
return;
|
||||||
// Set the AC mode to fan
|
// Set the AC mode to fan
|
||||||
this->conf->ac->setMode(1);
|
this->cards.ac->setMode(1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check if element_id is the AC mode cool button
|
// Check if element_id is the AC mode cool button
|
||||||
|
@ -217,7 +231,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
if (this->ac_locked)
|
if (this->ac_locked)
|
||||||
return;
|
return;
|
||||||
// Set the AC mode to cool
|
// Set the AC mode to cool
|
||||||
this->conf->ac->setMode(2);
|
this->cards.ac->setMode(2);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check if element_id is the AC fan speed auto button
|
// Check if element_id is the AC fan speed auto button
|
||||||
|
@ -227,7 +241,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
if (this->ac_locked)
|
if (this->ac_locked)
|
||||||
return;
|
return;
|
||||||
// Set the AC fan speed to auto
|
// Set the AC fan speed to auto
|
||||||
this->conf->ac->setFanSpeed(0);
|
this->cards.ac->setFanSpeed(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check if element_id is the AC fan speed low button
|
// Check if element_id is the AC fan speed low button
|
||||||
|
@ -237,7 +251,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
if (this->ac_locked)
|
if (this->ac_locked)
|
||||||
return;
|
return;
|
||||||
// Set the AC fan speed to low
|
// Set the AC fan speed to low
|
||||||
this->conf->ac->setFanSpeed(1);
|
this->cards.ac->setFanSpeed(1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check if element_id is the AC fan speed medium button
|
// Check if element_id is the AC fan speed medium button
|
||||||
|
@ -247,7 +261,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
if (this->ac_locked)
|
if (this->ac_locked)
|
||||||
return;
|
return;
|
||||||
// Set the AC fan speed to medium
|
// Set the AC fan speed to medium
|
||||||
this->conf->ac->setFanSpeed(2);
|
this->cards.ac->setFanSpeed(2);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check if element_id is the AC fan speed high button
|
// Check if element_id is the AC fan speed high button
|
||||||
|
@ -257,7 +271,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
if (this->ac_locked)
|
if (this->ac_locked)
|
||||||
return;
|
return;
|
||||||
// Set the AC fan speed to high
|
// Set the AC fan speed to high
|
||||||
this->conf->ac->setFanSpeed(3);
|
this->cards.ac->setFanSpeed(3);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check if element_id is the AC temperature up button
|
// Check if element_id is the AC temperature up button
|
||||||
|
@ -267,7 +281,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
if (this->ac_locked)
|
if (this->ac_locked)
|
||||||
return;
|
return;
|
||||||
// Increase the AC temperature
|
// Increase the AC temperature
|
||||||
this->conf->ac->setTemperature(this->conf->ac->getTemperature() + 1);
|
this->cards.ac->setTemperature(this->cards.ac->getTemperature() + 1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check if element_id is the AC temperature down button
|
// Check if element_id is the AC temperature down button
|
||||||
|
@ -277,7 +291,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
|
||||||
if (this->ac_locked)
|
if (this->ac_locked)
|
||||||
return;
|
return;
|
||||||
// Decrease the AC temperature
|
// Decrease the AC temperature
|
||||||
this->conf->ac->setTemperature(this->conf->ac->getTemperature() - 1);
|
this->cards.ac->setTemperature(this->cards.ac->getTemperature() - 1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// The element_id is not the one that our display is handling, so we can ignore it
|
// The element_id is not the one that our display is handling, so we can ignore it
|
||||||
|
@ -351,6 +365,11 @@ void CUDDisplay::handle_ac_change(uint8_t mode, uint8_t fan_speed, uint8_t tempe
|
||||||
this->refresh_display_ac();
|
this->refresh_display_ac();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CUDDisplay::handle_ac_sensor(float temperature, float humidity)
|
||||||
|
{
|
||||||
|
// Not needed for now
|
||||||
|
}
|
||||||
|
|
||||||
void CUDDisplay::set_display_light_state(uint8_t row, bool state)
|
void CUDDisplay::set_display_light_state(uint8_t row, bool state)
|
||||||
{
|
{
|
||||||
this->takeSerialMutex();
|
this->takeSerialMutex();
|
||||||
|
@ -416,29 +435,38 @@ void CUDDisplay::set_display_air_purifier_state(bool state)
|
||||||
void CUDDisplay::refresh_display()
|
void CUDDisplay::refresh_display()
|
||||||
{
|
{
|
||||||
// Send every states to the display
|
// Send every states to the display
|
||||||
|
ESP_LOGV("CUD Display", "Refreshing all light button states");
|
||||||
this->set_display_light_all_state();
|
this->set_display_light_all_state();
|
||||||
|
ESP_LOGV("CUD Display", "Refreshing all fan button states");
|
||||||
this->set_display_fan_all_state();
|
this->set_display_fan_all_state();
|
||||||
this->set_display_air_purifier_state(this->conf->outputCard->getState(this->conf->air_purifier_pin));
|
ESP_LOGV("CUD Display", "Refreshing air purifier state");
|
||||||
this->set_display_mosquito_zapper_state(this->conf->outputCard->getState(this->conf->mosquito_zapper_pin));
|
this->set_display_air_purifier_state(this->cards.outputCard->getState(this->conf->air_purifier_pin));
|
||||||
|
ESP_LOGV("CUD Display", "Refreshing mosquito zapper state");
|
||||||
|
this->set_display_mosquito_zapper_state(this->cards.outputCard->getState(this->conf->mosquito_zapper_pin));
|
||||||
|
ESP_LOGV("CUD Display", "Refreshing light states");
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
this->set_display_light_state(i, this->conf->outputCard->getState(this->conf->light_pins[i]));
|
this->set_display_light_state(i, this->cards.outputCard->getState(this->conf->light_pins[i]));
|
||||||
}
|
}
|
||||||
|
ESP_LOGV("CUD Display", "Refreshing Fan state");
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
this->set_display_fan_state(i, this->conf->outputCard->getState(this->conf->fan_pins[i]));
|
this->set_display_fan_state(i, this->cards.outputCard->getState(this->conf->fan_pins[i]));
|
||||||
}
|
}
|
||||||
|
refresh_display_ac();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CUDDisplay::refresh_display_ac()
|
void CUDDisplay::refresh_display_ac()
|
||||||
{
|
{
|
||||||
// Fetch data from the AC
|
// Fetch data from the AC
|
||||||
uint8_t mode = this->conf->ac->getMode();
|
uint8_t mode = this->cards.ac->getMode();
|
||||||
bool state = mode != 0;
|
bool state = mode != 0;
|
||||||
previous_mode = previous_mode == 0 ? 2 : previous_mode;
|
previous_mode = previous_mode == 0 ? 2 : previous_mode;
|
||||||
bool drawn_mode = mode == 0? previous_mode : mode;
|
bool drawn_mode = mode == 0? previous_mode : mode;
|
||||||
uint8_t fan_speed = this->conf->ac->getFanSpeed();
|
uint8_t fan_speed = this->cards.ac->getFanSpeed();
|
||||||
uint8_t temperature = this->conf->ac->getTemperature();
|
uint8_t temperature = this->cards.ac->getTemperature();
|
||||||
|
ESP_LOGV("CUD Display", "Mode: %d, Fan Speed: %d, Temperature: %d", mode, fan_speed, temperature);
|
||||||
|
ESP_LOGV("CUD Display", "Previous Mode: %d", previous_mode);
|
||||||
// Draw the state picture set
|
// Draw the state picture set
|
||||||
// Is the AC locked?
|
// Is the AC locked?
|
||||||
if (this->ac_locked)
|
if (this->ac_locked)
|
||||||
|
|
|
@ -19,9 +19,6 @@
|
||||||
struct cud_display_conf_t
|
struct cud_display_conf_t
|
||||||
{
|
{
|
||||||
RemoteVariable *aqi;
|
RemoteVariable *aqi;
|
||||||
DigitalInputCard *inputCard;
|
|
||||||
DigitalOutputCard *outputCard;
|
|
||||||
ClimateCard *ac;
|
|
||||||
HardwareSerial *uart;
|
HardwareSerial *uart;
|
||||||
const int tx;
|
const int tx;
|
||||||
const int rx;
|
const int rx;
|
||||||
|
@ -33,6 +30,13 @@ struct cud_display_conf_t
|
||||||
uint8_t mosquito_zapper_pin;
|
uint8_t mosquito_zapper_pin;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct cud_display_cards_t
|
||||||
|
{
|
||||||
|
DigitalInputCard *inputCard;
|
||||||
|
DigitalOutputCard *outputCard;
|
||||||
|
ClimateCard *ac;
|
||||||
|
};
|
||||||
|
|
||||||
struct cud_display_light_group_t
|
struct cud_display_light_group_t
|
||||||
{
|
{
|
||||||
uint8_t element_id[4];
|
uint8_t element_id[4];
|
||||||
|
@ -57,7 +61,7 @@ class CUDDisplay : public ESPMegaDisplay
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CUDDisplay(cud_display_conf_t *conf);
|
CUDDisplay(cud_display_conf_t *conf);
|
||||||
void begin();
|
void begin(cud_display_cards_t cards);
|
||||||
void display_init();
|
void display_init();
|
||||||
private:
|
private:
|
||||||
// States Calculation
|
// States Calculation
|
||||||
|
@ -89,6 +93,7 @@ class CUDDisplay : public ESPMegaDisplay
|
||||||
uint8_t previous_mode; // Used to store mode prior to turning off
|
uint8_t previous_mode; // Used to store mode prior to turning off
|
||||||
// Local Variables
|
// Local Variables
|
||||||
cud_display_conf_t *conf;
|
cud_display_conf_t *conf;
|
||||||
|
cud_display_cards_t cards;
|
||||||
cud_display_light_group_t light_group;
|
cud_display_light_group_t light_group;
|
||||||
cud_display_fan_group_t fan_group;
|
cud_display_fan_group_t fan_group;
|
||||||
};
|
};
|
|
@ -120,74 +120,74 @@
|
||||||
#define LCD_DASHBOARD_PIC_SOCKET_POWER_OFF 13
|
#define LCD_DASHBOARD_PIC_SOCKET_POWER_OFF 13
|
||||||
|
|
||||||
// Air Conditioner
|
// Air Conditioner
|
||||||
#define LCD_DASHBOARD_ELEMENT_AC_STATE 12
|
#define LCD_DASHBOARD_ELEMENT_AC_STATE 20
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_AC_STATE "ac_state"
|
#define LCD_DASHBOARD_ELEMENT_NAME_AC_STATE "btn_ac_toggle"
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_ICO_LOCK "ico_ac_lock"
|
#define LCD_DASHBOARD_ELEMENT_NAME_ICO_LOCK "ico_ac_lock"
|
||||||
#define LCD_DASHBOARD_PIC_AC_STATE_OFF 30
|
#define LCD_DASHBOARD_PIC_AC_STATE_OFF 59
|
||||||
#define LCD_DASHBOARD_PIC_AC_STATE_OFF_PRESSED 31
|
#define LCD_DASHBOARD_PIC_AC_STATE_OFF_PRESSED 58
|
||||||
#define LCD_DASHBOARD_PIC_AC_STATE_OFF_LOCKED 31
|
#define LCD_DASHBOARD_PIC_AC_STATE_OFF_LOCKED 59
|
||||||
#define LCD_DASHBOARD_PIC_AC_STATE_ON 32
|
#define LCD_DASHBOARD_PIC_AC_STATE_ON 61
|
||||||
#define LCD_DASHBOARD_PIC_AC_STATE_ON_PRESSED 33
|
#define LCD_DASHBOARD_PIC_AC_STATE_ON_PRESSED 60
|
||||||
#define LCD_DASHBOARD_PIC_AC_STATE_ON_LOCKED 33
|
#define LCD_DASHBOARD_PIC_AC_STATE_ON_LOCKED 61
|
||||||
|
|
||||||
#define LCD_DASHBOARD_ELEMENT_AC_MODE_FAN 13
|
#define LCD_DASHBOARD_ELEMENT_AC_MODE_FAN 23
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_FAN "ac_mode_fan"
|
#define LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_FAN "btn_acm_fan"
|
||||||
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE 34
|
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE 70
|
||||||
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE_PRESS 35
|
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE_PRESS 69
|
||||||
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE 35
|
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE 68
|
||||||
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE_PRESS 34
|
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE_PRESS 67
|
||||||
|
|
||||||
#define LCD_DASHBOARD_ELEMENT_AC_MODE_COOL 14
|
#define LCD_DASHBOARD_ELEMENT_AC_MODE_COOL 22
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_COOL "ac_mode_cool"
|
#define LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_COOL "btn_acm_cool"
|
||||||
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE 36
|
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE 70
|
||||||
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE_PRESS 37
|
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE_PRESS 69
|
||||||
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE 37
|
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE 68
|
||||||
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE_PRESS 36
|
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE_PRESS 67
|
||||||
|
|
||||||
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_AUTO 15
|
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_AUTO 24
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_AUTO "ac_fan_auto"
|
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_AUTO "btn_acfs_auto"
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE 38
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE 74
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE_PRESS 39
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE_PRESS 73
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE 39
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE 72
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE_PRESS 38
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE_PRESS 71
|
||||||
|
|
||||||
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_HIGH 16
|
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_LOW 25
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_HIGH "ac_fan_high"
|
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_LOW "btn_acfs_low"
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE 40
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE 82
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE_PRESS 41
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE_PRESS 81
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE 41
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE 80
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE_PRESS 40
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE_PRESS 79
|
||||||
|
|
||||||
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_MEDIUM 17
|
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_MEDIUM 26
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_MEDIUM "ac_fan_medium"
|
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_MEDIUM "btn_acfs_medium"
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE 42
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE 86
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE_PRESS 43
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE_PRESS 85
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE 43
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE 84
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE_PRESS 42
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE_PRESS 83
|
||||||
|
|
||||||
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_LOW 18
|
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_HIGH 27
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_LOW "ac_fan_low"
|
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_HIGH "btn_acfs_high"
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE 44
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE_PRESS 45
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE_PRESS
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE 45
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE 76
|
||||||
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE_PRESS 44
|
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE_PRESS 75
|
||||||
|
|
||||||
#define LCD_DASHBOARD_ELEMENT_AC_TEMPERATURE 19
|
#define LCD_DASHBOARD_ELEMENT_AC_TEMPERATURE 6
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_AC_TEMPERATURE "ac_temp"
|
#define LCD_DASHBOARD_ELEMENT_NAME_AC_TEMPERATURE "txt_ac_temp"
|
||||||
|
|
||||||
#define LCD_DASHBOARD_ELEMENT_AC_TEMP_UP_BUTTON 20
|
#define LCD_DASHBOARD_ELEMENT_AC_TEMP_UP_BUTTON 19
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_AC_TEMP_UP_BUTTON "ac_temp_up"
|
#define LCD_DASHBOARD_ELEMENT_NAME_AC_TEMP_UP_BUTTON "btn_temp_up"
|
||||||
|
|
||||||
#define LCD_DASHBOARD_ELEMENT_AC_TEMP_DOWN_BUTTON 21
|
#define LCD_DASHBOARD_ELEMENT_AC_TEMP_DOWN_BUTTON 18
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_AC_TEMP_DOWN_BUTTON "ac_temp_down"
|
#define LCD_DASHBOARD_ELEMENT_NAME_AC_TEMP_DOWN_BUTTON "btn_temp_down"
|
||||||
|
|
||||||
#define LCD_DASHBOARD_ELEMENT_ROOM_TEMPERATURE 19
|
#define LCD_DASHBOARD_ELEMENT_ROOM_TEMPERATURE 4
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_ROOM_TEMPERATURE "room_temp"
|
#define LCD_DASHBOARD_ELEMENT_NAME_ROOM_TEMPERATURE "txt_room_temp"
|
||||||
|
|
||||||
// All System Button
|
// All System Button
|
||||||
#define LCD_DASHBOARD_ELEMENT_ALL_SYSTEM_TOGGLE 20
|
#define LCD_DASHBOARD_ELEMENT_ALL_SYSTEM_TOGGLE 17
|
||||||
#define LCD_DASHBOARD_ELEMENT_NAME_ALL_SYSTEM_TOGGLE "all_toggle"
|
#define LCD_DASHBOARD_ELEMENT_NAME_ALL_SYSTEM_TOGGLE "btn_allsys"
|
||||||
#define LCD_DASHBOARD_PIC_ALL_SYSTEM_TOGGLE_ON 46
|
#define LCD_DASHBOARD_PIC_ALL_SYSTEM_TOGGLE_ON 57
|
||||||
#define LCD_DASHBOARD_PIC_ALL_SYSTEM_TOGGLE_ON_PRESSED 47
|
#define LCD_DASHBOARD_PIC_ALL_SYSTEM_TOGGLE_ON_PRESSED 56
|
||||||
#define LCD_DASHBOARD_PIC_ALL_SYSTEM_TOGGLE_OFF 47
|
#define LCD_DASHBOARD_PIC_ALL_SYSTEM_TOGGLE_OFF 55
|
||||||
#define LCD_DASHBOARD_PIC_ALL_SYSTEM_TOGGLE_OFF_PRESSED 46
|
#define LCD_DASHBOARD_PIC_ALL_SYSTEM_TOGGLE_OFF_PRESSED 54
|
||||||
|
|
|
@ -20,7 +20,6 @@ ClimateCard ac = ClimateCard(AC_IR_TX_PIN, ac_config, AC_SENSOR_TYPE, AC_SENSOR_
|
||||||
|
|
||||||
cud_display_conf_t cud_display_conf = {
|
cud_display_conf_t cud_display_conf = {
|
||||||
.aqi = &aqi,
|
.aqi = &aqi,
|
||||||
.ac = &ac,
|
|
||||||
.uart = &DISPLAY_UART,
|
.uart = &DISPLAY_UART,
|
||||||
.tx = DISPLAY_TX,
|
.tx = DISPLAY_TX,
|
||||||
.rx = DISPLAY_RX,
|
.rx = DISPLAY_RX,
|
||||||
|
@ -99,7 +98,11 @@ void setup()
|
||||||
espmega.inputs.registerCallback(handle_input_change);
|
espmega.inputs.registerCallback(handle_input_change);
|
||||||
// Start the display routine
|
// Start the display routine
|
||||||
ESP_LOGV("CUD IoT OS", "Starting CUDDisplay");
|
ESP_LOGV("CUD IoT OS", "Starting CUDDisplay");
|
||||||
cudDisplay.begin();
|
cud_display_cards_t cards = {
|
||||||
|
.inputCard = &espmega.inputs,
|
||||||
|
.outputCard = &espmega.outputs,
|
||||||
|
.ac = &ac};
|
||||||
|
cudDisplay.begin(cards);
|
||||||
ESP_LOGI("CUD IoT OS", "Initialization Complete");
|
ESP_LOGI("CUD IoT OS", "Initialization Complete");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue