boots normally now

This commit is contained in:
Siwat Sirichai 2024-03-22 23:24:41 +07:00
parent 4e20578b20
commit c802f901f5
5 changed files with 133 additions and 96 deletions

View File

@ -14,3 +14,4 @@ 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

View File

@ -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)

View File

@ -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;
}; };

View File

@ -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

View File

@ -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");
} }