diff --git a/src/user_code.cpp b/src/user_code.cpp index 331d734..9fda500 100644 --- a/src/user_code.cpp +++ b/src/user_code.cpp @@ -19,8 +19,7 @@ NexButton fan_auto_btn = NexButton(1, 11, "fan_auto_btn"); NexButton fan_1_btn = NexButton(1, 12, "fan_1_btn"); NexButton fan_2_btn = NexButton(1, 13, "fan_2_btn"); NexButton fan_3_btn = NexButton(1, 14, "fan_3_btn"); -NexText temperature_txt = NexText(1, 15, "temperature"); -NexPage dashboard_page = NexPage(1, 0, "dashboard"); +NexText temp_txt = NexText(1, 15, "temp_txt"); // List of Component ID Message to listen to NexTouch *nex_listen_list[] = @@ -70,15 +69,15 @@ void user_init() lt_bt.attachPop(lt_btn_cb, <_bt); fan_bt.attachPop(fan_btn_cb, &fan_bt); puri_bt.attachPop(puri_btn_cb, &puri_bt); - up_bt.attachPop(ac_temp_adj_btn_cb, &up_bt); - down_bt.attachPop(ac_temp_adj_btn_cb, &down_bt); - mode_off_btn.attachPop(ac_mode_adj_btn_cb, &mode_off_btn); - mode_fan_btn.attachPop(ac_mode_adj_btn_cb, &mode_fan_btn); - mode_cool_btn.attachPop(ac_mode_adj_btn_cb, &mode_cool_btn); - fan_auto_btn.attachPop(ac_fan_adj_btn_cb, &fan_auto_btn); - fan_1_btn.attachPop(ac_fan_adj_btn_cb, &fan_1_btn); - fan_2_btn.attachPop(ac_fan_adj_btn_cb, &fan_2_btn); - fan_3_btn.attachPop(ac_fan_adj_btn_cb, &fan_3_btn); + up_bt.attachPop(temp_up_btn_cb, &up_bt); + down_bt.attachPop(temp_down_btn_cb, &down_bt); + mode_off_btn.attachPop(mode_off_btn_cb, &mode_off_btn); + mode_fan_btn.attachPop(mode_fan_btn_cb, &mode_fan_btn); + mode_cool_btn.attachPop(mode_cool_btn_cb, &mode_cool_btn); + fan_auto_btn.attachPop(fan_auto_btn_cb, &fan_auto_btn); + fan_1_btn.attachPop(fan_1_btn_cb, &fan_1_btn); + fan_2_btn.attachPop(fan_2_btn_cb, &fan_2_btn); + fan_3_btn.attachPop(fan_3_btn_cb, &fan_3_btn); } /* @@ -94,7 +93,8 @@ This code will run when an input pin changed state */ void virtual_interrupt_user_callback(int pin, int state) { - if (pin>=0&pin<=7){ + if (pin >= 0 & pin <= 7) + { pwm_toggle(pin); } } @@ -138,41 +138,64 @@ void puri_btn_cb(void *comp) { pwm_toggle(AIR_PURIFIER_PIN); } -void ac_temp_adj_btn_cb(void *comp) +void temp_up_btn_cb(void *comp) { if (!ac_lock) { uint8_t new_temp = ac_get_temperature(); - if (comp == &up_bt) - ac_set_state(ac_get_mode(), ac_get_temperature() + 1, ac_get_fan_speed()); - else if (comp == &down_bt) - ac_set_state(ac_get_mode(), ac_get_temperature() - 1, ac_get_fan_speed()); + ac_set_state(ac_get_mode(), ac_get_temperature() + 1, ac_get_fan_speed()); } } -void ac_mode_adj_btn_cb(void *comp) +void temp_down_btn_cb(void *comp) { if (!ac_lock) { - if (comp == &mode_off_btn) - ac_set_state(0, ac_get_temperature(), ac_get_fan_speed()); - else if (comp == &mode_fan_btn) - ac_set_state(1, ac_get_temperature(), ac_get_fan_speed()); - else if (comp == &mode_cool_btn) - ac_set_state(2, ac_get_temperature(), ac_get_fan_speed()); + uint8_t new_temp = ac_get_temperature(); + ac_set_state(ac_get_mode(), ac_get_temperature() - 1, ac_get_fan_speed()); } } -void ac_fan_adj_btn_cb(void *comp) +void mode_cool_btn_cb(void *comp) +{ + if (!ac_lock) + ac_set_state(1, ac_get_temperature(), ac_get_fan_speed()); +} +void mode_fan_btn_cb(void *comp) +{ + if (!ac_lock) + ac_set_state(2, ac_get_temperature(), ac_get_fan_speed()); +} +void mode_off_btn_cb(void *comp) +{ + if (!ac_lock) + ac_set_state(0, ac_get_temperature(), ac_get_fan_speed()); +} + +void fan_auto_btn_cb(void *comp) { if (!ac_lock) { - if (comp == &fan_auto_btn) - ac_set_state(ac_get_mode(), ac_get_temperature(), 0); - else if (comp == &fan_1_btn) - ac_set_state(ac_get_mode(), ac_get_temperature(), 1); - else if (comp == &fan_2_btn) - ac_set_state(ac_get_mode(), ac_get_temperature(), 2); - else if (comp == &fan_3_btn) - ac_set_state(ac_get_mode(), ac_get_temperature(), 3); + ac_set_state(ac_get_mode(), ac_get_temperature(), 0); + } +} +void fan_1_btn_cb(void *comp) +{ + if (!ac_lock) + { + ac_set_state(ac_get_mode(), ac_get_temperature(), 3); + } +} +void fan_2_btn_cb(void *comp) +{ + if (!ac_lock) + { + ac_set_state(ac_get_mode(), ac_get_temperature(), 2); + } +} +void fan_3_btn_cb(void *comp) +{ + if (!ac_lock) + { + ac_set_state(ac_get_mode(), ac_get_temperature(), 1); } } @@ -202,15 +225,16 @@ bool cud_fan_group_state() void ac_changed_user_callback(int mode, int temperature, int fan_speed) { - char temp_text[3] = {(temperature - temperature % 10) + '0', (temperature % 10) + '0', 'C'}; - temperature_txt.setText(temp_text); - mode_off_btn.Set_background_image_pic(mode == 0 ? 1 : 0); - mode_fan_btn.Set_background_image_pic(mode == 1 ? 1 : 0); - mode_cool_btn.Set_background_image_pic(mode == 2 ? 1 : 0); - fan_auto_btn.Set_background_image_pic(fan_speed == 0 ? 1 : 0); - fan_1_btn.Set_background_image_pic(fan_speed == 1 ? 1 : 0); - fan_2_btn.Set_background_image_pic(fan_speed == 2 ? 1 : 0); - fan_3_btn.Set_background_image_pic(fan_speed == 3 ? 1 : 0); + char temp_text[3]; + sprintf(temp_text, "%dC", temperature); + temp_txt.setText(temp_text); + mode_off_btn.Set_background_image_pic(mode == 0 ? 14 : 13); + mode_fan_btn.Set_background_image_pic(mode == 2 ? 16 : 15); + mode_cool_btn.Set_background_image_pic(mode == 1 ? 18 : 17); + fan_auto_btn.Set_background_image_pic(fan_speed == 0 ? 20 : 19); + fan_1_btn.Set_background_image_pic(fan_speed == 3 ? 22 : 21); + fan_2_btn.Set_background_image_pic(fan_speed == 2 ? 24 : 23); + fan_3_btn.Set_background_image_pic(fan_speed == 1 ? 26 : 25); } void ac_lock_callback(String topic, String payload) diff --git a/src/user_code.hpp b/src/user_code.hpp index 3ddc63a..1647c26 100644 --- a/src/user_code.hpp +++ b/src/user_code.hpp @@ -52,9 +52,15 @@ void timer_tick_callback(); void lt_btn_cb(void *comp); void fan_btn_cb(void *comp); void puri_btn_cb(void *comp); -void ac_temp_adj_btn_cb(void *comp); -void ac_mode_adj_btn_cb(void *comp); -void ac_fan_adj_btn_cb(void *comp); +void temp_up_btn_cb(void *comp); +void temp_down_btn_cb(void *comp); +void mode_off_btn_cb(void *comp); +void mode_fan_btn_cb(void *comp); +void mode_cool_btn_cb(void *comp); +void fan_auto_btn_cb(void *comp); +void fan_1_btn_cb(void *comp); +void fan_2_btn_cb(void *comp); +void fan_3_btn_cb(void *comp); void cud_light_toggle(); bool cud_light_group_state(); void cud_fan_toggle();