diff --git a/Jenkinsfile b/Jenkinsfile index 40b69c7..dcf9353 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ pipeline { stages { stage('Build') { steps { - git branch: 'ise', url: 'https://git.siwatsystem.com/ise-senior-iot/iot-firmware.git' + git branch: 'main', url: 'https://git.siwatsystem.com/ise-senior-iot/iot-firmware.git' sh 'export PLATFORMIO_PATH=/root/.platformio/penv/bin/platformio' sh '/usr/bin/python3 gen_release.py' stash includes: 'release/**/*', name: 'release_binaries' diff --git a/ise_display/Images/Rev1/Background.png b/ise_display/Images/Rev1/Background.png deleted file mode 100644 index 48245ac..0000000 Binary files a/ise_display/Images/Rev1/Background.png and /dev/null differ diff --git a/ise_display/Images/Rev1/Bar-Empty.png b/ise_display/Images/Rev1/Bar-Empty.png deleted file mode 100644 index 288907d..0000000 Binary files a/ise_display/Images/Rev1/Bar-Empty.png and /dev/null differ diff --git a/ise_display/Images/Rev1/Bar-Full.png b/ise_display/Images/Rev1/Bar-Full.png deleted file mode 100644 index 460457f..0000000 Binary files a/ise_display/Images/Rev1/Bar-Full.png and /dev/null differ diff --git a/ise_display/Images/Rev1/Bar-Off.png b/ise_display/Images/Rev1/Bar-Off.png deleted file mode 100644 index 29556ee..0000000 Binary files a/ise_display/Images/Rev1/Bar-Off.png and /dev/null differ diff --git a/ise_display/Images/Rev1/Off-IC.png b/ise_display/Images/Rev1/Off-IC.png deleted file mode 100644 index eab181e..0000000 Binary files a/ise_display/Images/Rev1/Off-IC.png and /dev/null differ diff --git a/ise_display/Images/Rev1/Selector.png b/ise_display/Images/Rev1/Selector.png deleted file mode 100644 index 2c404a9..0000000 Binary files a/ise_display/Images/Rev1/Selector.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/bg-guide.png b/ise_display/Images/mvp-v1/bg-guide.png deleted file mode 100644 index 695ae2d..0000000 Binary files a/ise_display/Images/mvp-v1/bg-guide.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/bg.png b/ise_display/Images/mvp-v1/bg.png deleted file mode 100644 index e81c2a2..0000000 Binary files a/ise_display/Images/mvp-v1/bg.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/bgc.png b/ise_display/Images/mvp-v1/bgc.png deleted file mode 100644 index b2f41f5..0000000 Binary files a/ise_display/Images/mvp-v1/bgc.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/lightow1.png b/ise_display/Images/mvp-v1/lightow1.png deleted file mode 100644 index d996064..0000000 Binary files a/ise_display/Images/mvp-v1/lightow1.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/lightrow2.png b/ise_display/Images/mvp-v1/lightrow2.png deleted file mode 100644 index 65a4a60..0000000 Binary files a/ise_display/Images/mvp-v1/lightrow2.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/airOff.png b/ise_display/Images/mvp-v1/set1/airOff.png deleted file mode 100644 index 9a11f72..0000000 Binary files a/ise_display/Images/mvp-v1/set1/airOff.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/airOn.png b/ise_display/Images/mvp-v1/set1/airOn.png deleted file mode 100644 index 1ffdbeb..0000000 Binary files a/ise_display/Images/mvp-v1/set1/airOn.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/fanAuto.png b/ise_display/Images/mvp-v1/set1/fanAuto.png deleted file mode 100644 index 43fea4f..0000000 Binary files a/ise_display/Images/mvp-v1/set1/fanAuto.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/fanHigh.png b/ise_display/Images/mvp-v1/set1/fanHigh.png deleted file mode 100644 index c54eb96..0000000 Binary files a/ise_display/Images/mvp-v1/set1/fanHigh.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/fanLow.png b/ise_display/Images/mvp-v1/set1/fanLow.png deleted file mode 100644 index 20586fb..0000000 Binary files a/ise_display/Images/mvp-v1/set1/fanLow.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/fanMid.png b/ise_display/Images/mvp-v1/set1/fanMid.png deleted file mode 100644 index b11cacb..0000000 Binary files a/ise_display/Images/mvp-v1/set1/fanMid.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/lightoff.png b/ise_display/Images/mvp-v1/set1/lightoff.png deleted file mode 100644 index 8653a69..0000000 Binary files a/ise_display/Images/mvp-v1/set1/lightoff.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/lighton.png b/ise_display/Images/mvp-v1/set1/lighton.png deleted file mode 100644 index c5d4410..0000000 Binary files a/ise_display/Images/mvp-v1/set1/lighton.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/lv1off.png b/ise_display/Images/mvp-v1/set1/lv1off.png deleted file mode 100644 index 09ef11c..0000000 Binary files a/ise_display/Images/mvp-v1/set1/lv1off.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/lv1on.png b/ise_display/Images/mvp-v1/set1/lv1on.png deleted file mode 100644 index 5458a18..0000000 Binary files a/ise_display/Images/mvp-v1/set1/lv1on.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/lv2off.png b/ise_display/Images/mvp-v1/set1/lv2off.png deleted file mode 100644 index 5989373..0000000 Binary files a/ise_display/Images/mvp-v1/set1/lv2off.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/lv2on.png b/ise_display/Images/mvp-v1/set1/lv2on.png deleted file mode 100644 index 927a806..0000000 Binary files a/ise_display/Images/mvp-v1/set1/lv2on.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/modeCool.png b/ise_display/Images/mvp-v1/set1/modeCool.png deleted file mode 100644 index f1e2856..0000000 Binary files a/ise_display/Images/mvp-v1/set1/modeCool.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/modeDry.png b/ise_display/Images/mvp-v1/set1/modeDry.png deleted file mode 100644 index 639fbc5..0000000 Binary files a/ise_display/Images/mvp-v1/set1/modeDry.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/modeFan.png b/ise_display/Images/mvp-v1/set1/modeFan.png deleted file mode 100644 index c4514fe..0000000 Binary files a/ise_display/Images/mvp-v1/set1/modeFan.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/row1off.png b/ise_display/Images/mvp-v1/set1/row1off.png deleted file mode 100644 index d996064..0000000 Binary files a/ise_display/Images/mvp-v1/set1/row1off.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/row1on.png b/ise_display/Images/mvp-v1/set1/row1on.png deleted file mode 100644 index 9f77956..0000000 Binary files a/ise_display/Images/mvp-v1/set1/row1on.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/row2off.png b/ise_display/Images/mvp-v1/set1/row2off.png deleted file mode 100644 index caf94fb..0000000 Binary files a/ise_display/Images/mvp-v1/set1/row2off.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/row2on.png b/ise_display/Images/mvp-v1/set1/row2on.png deleted file mode 100644 index e3185b4..0000000 Binary files a/ise_display/Images/mvp-v1/set1/row2on.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/row3off.png b/ise_display/Images/mvp-v1/set1/row3off.png deleted file mode 100644 index c4c049a..0000000 Binary files a/ise_display/Images/mvp-v1/set1/row3off.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/row3on.png b/ise_display/Images/mvp-v1/set1/row3on.png deleted file mode 100644 index a4c6092..0000000 Binary files a/ise_display/Images/mvp-v1/set1/row3on.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/row4off.png b/ise_display/Images/mvp-v1/set1/row4off.png deleted file mode 100644 index 349cd01..0000000 Binary files a/ise_display/Images/mvp-v1/set1/row4off.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/row4on.png b/ise_display/Images/mvp-v1/set1/row4on.png deleted file mode 100644 index e8f24ee..0000000 Binary files a/ise_display/Images/mvp-v1/set1/row4on.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/tempNeg-touched.png b/ise_display/Images/mvp-v1/set1/tempNeg-touched.png deleted file mode 100644 index 8640674..0000000 Binary files a/ise_display/Images/mvp-v1/set1/tempNeg-touched.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/tempNeg.png b/ise_display/Images/mvp-v1/set1/tempNeg.png deleted file mode 100644 index bd1f51b..0000000 Binary files a/ise_display/Images/mvp-v1/set1/tempNeg.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/tempPlus-touched.png b/ise_display/Images/mvp-v1/set1/tempPlus-touched.png deleted file mode 100644 index ee53c65..0000000 Binary files a/ise_display/Images/mvp-v1/set1/tempPlus-touched.png and /dev/null differ diff --git a/ise_display/Images/mvp-v1/set1/tempPlus.png b/ise_display/Images/mvp-v1/set1/tempPlus.png deleted file mode 100644 index 2647f70..0000000 Binary files a/ise_display/Images/mvp-v1/set1/tempPlus.png and /dev/null differ diff --git a/ise_display/fonts/Rajdhani-112-ascii.zi b/ise_display/fonts/Rajdhani-112-ascii.zi deleted file mode 100644 index f7daca6..0000000 Binary files a/ise_display/fonts/Rajdhani-112-ascii.zi and /dev/null differ diff --git a/ise_display/fonts/Rajdhani-128-ascii.zi b/ise_display/fonts/Rajdhani-128-ascii.zi deleted file mode 100644 index e9164e1..0000000 Binary files a/ise_display/fonts/Rajdhani-128-ascii.zi and /dev/null differ diff --git a/ise_display/fonts/Rajdhani-72-ascii.zi b/ise_display/fonts/Rajdhani-72-ascii.zi deleted file mode 100644 index a696ad2..0000000 Binary files a/ise_display/fonts/Rajdhani-72-ascii.zi and /dev/null differ diff --git a/ise_display/fonts/Rajdhani-96-ascii.zi b/ise_display/fonts/Rajdhani-96-ascii.zi deleted file mode 100644 index f5b5581..0000000 Binary files a/ise_display/fonts/Rajdhani-96-ascii.zi and /dev/null differ diff --git a/ise_display/fonts/arial_32_ascii.zi b/ise_display/fonts/arial_32_ascii.zi deleted file mode 100644 index 2a4c6d1..0000000 Binary files a/ise_display/fonts/arial_32_ascii.zi and /dev/null differ diff --git a/ise_display/ise_display.HMI b/ise_display/ise_display.HMI deleted file mode 100644 index 5f8c0a1..0000000 Binary files a/ise_display/ise_display.HMI and /dev/null differ diff --git a/ise_display/ise_display_test2.HMI b/ise_display/ise_display_test2.HMI deleted file mode 100644 index e6dcbeb..0000000 Binary files a/ise_display/ise_display_test2.HMI and /dev/null differ diff --git a/ise_display/mvp_display_v1.HMI b/ise_display/mvp_display_v1.HMI deleted file mode 100644 index cea307b..0000000 Binary files a/ise_display/mvp_display_v1.HMI and /dev/null differ diff --git a/src/user_code.cpp b/src/user_code.cpp index 85709d3..49d4be7 100644 --- a/src/user_code.cpp +++ b/src/user_code.cpp @@ -1,197 +1,20 @@ #include -uint8_t user_acmode = 0; +//Timer Components +ESPMega_Timer timer1(0, 50, timer1_callback, 15001); + // Display Componets // Link with Dual state button object with id 2 on page 1 named bt0 -NexButton light_toggle = NexButton(1,2,"light_toggle"); -NexButton row1_master = NexButton(1,11,"row1_master"); -NexButton row2_master = NexButton(1,12,"row2_master"); -NexButton row3_master = NexButton(1,14,"row3_master"); -NexButton row4_master = NexButton(1,13,"row4_master"); -NexButton row1_lv1 = NexButton(1,3,"row1_lv1"); -NexButton row1_lv2 = NexButton(1,4,"row1_lv2"); -NexButton row2_lv1 = NexButton(1,5,"row2_lv1"); -NexButton row2_lv2 = NexButton(1,6,"row2_lv2"); -NexButton row3_lv1 = NexButton(1,10,"row3_lv1"); -NexButton row3_lv2 = NexButton(1,7,"row3_lv2"); -NexButton row4_lv1 = NexButton(1,9,"row4_lv1"); -NexButton row4_lv2 = NexButton(1,8,"row4_lv2"); -NexButton temp_plus = NexButton(1,18,"temp_plus"); -NexButton temp_neg = NexButton(1,17,"temp_neg"); -NexButton fan = NexButton(1,16,"fan"); -NexButton mode = NexButton(1,15,"mode"); -NexButton ac_toggle = NexButton(1,1,"ac_toggle"); -NexText cur_temp = NexText(1,19,"cur_temp"); +NexDSButton bt0 = NexDSButton(1, 2, "bt0"); // List of Component ID Message to listen to NexTouch *nex_listen_list[] = { - &light_toggle, - &row1_master, - &row2_master, - &row3_master, - &row4_master, - &row1_lv1, - &row1_lv2, - &row2_lv1, - &row2_lv2, - &row3_lv1, - &row3_lv2, - &row4_lv1, - &row4_lv2, - &temp_plus, - &temp_neg, - &fan, - &mode, - &ac_toggle, + &bt0, NULL}; -bool row_is_on(int light1_pin, int light2_pin) { - return pwm_get_state(light1_pin) && pwm_get_state(light2_pin); -} - -void light_toggle_pop_callback(void *ptr) +void bt0PopCallback(void *ptr) { - Serial.println("Toggle Button Pressed"); - bool new_state = !row_is_on(ROW1_LIGHT1,ROW1_LIGHT2) && !row_is_on(ROW2_LIGHT1,ROW2_LIGHT2) && !row_is_on(ROW3_LIGHT1,ROW3_LIGHT2) && !row_is_on(ROW4_LIGHT1,ROW4_LIGHT2); - pwm_set_state(ROW1_LIGHT1, new_state); - pwm_set_state(ROW1_LIGHT2, new_state); - pwm_set_state(ROW2_LIGHT1, new_state); - pwm_set_state(ROW2_LIGHT2, new_state); - pwm_set_state(ROW3_LIGHT1, new_state); - pwm_set_state(ROW3_LIGHT2, new_state); - pwm_set_state(ROW4_LIGHT1, new_state); - pwm_set_state(ROW4_LIGHT2, new_state); -} - -void row1_lv1_pop_callback(void *ptr) -{ - Serial.println("Row 1 Light 1 Button Pressed"); - pwm_toggle(ROW1_LIGHT1); -} - -void row1_lv2_pop_callback(void *ptr) -{ - Serial.println("Row 1 Light 2 Button Pressed"); - pwm_toggle(ROW1_LIGHT2); -} - -void row2_lv1_pop_callback(void *ptr) -{ - Serial.println("Row 2 Light 1 Button Pressed"); - pwm_toggle(ROW2_LIGHT1); -} - -void row2_lv2_pop_callback(void *ptr) -{ - Serial.println("Row 2 Light 2 Button Pressed"); - pwm_toggle(ROW2_LIGHT2); -} - -void row3_lv1_pop_callback(void *ptr) -{ - Serial.println("Row 3 Light 1 Button Pressed"); - pwm_toggle(ROW3_LIGHT1); -} - -void row3_lv2_pop_callback(void *ptr) -{ - Serial.println("Row 3 Light 2 Button Pressed"); - pwm_toggle(ROW3_LIGHT2); -} - -void row4_lv1_pop_callback(void *ptr) -{ - Serial.println("Row 4 Light 1 Button Pressed"); - pwm_toggle(ROW4_LIGHT1); -} - -void row4_lv2_pop_callback(void *ptr) -{ - Serial.println("Row 4 Light 2 Button Pressed"); - pwm_toggle(ROW4_LIGHT2); -} - -void increase_temp() { - uint8_t current_temp = ac_get_temperature(); - ac_set_state(ac_get_mode(), current_temp+1, ac_get_fan_speed()); -} - -void decrease_temp() { - uint8_t current_temp = ac_get_temperature(); - ac_set_state(ac_get_mode(), current_temp-1, ac_get_fan_speed()); -} - -void temp_plus_pop_callback(void *ptr) -{ - Serial.println("Temp Plus Button Pressed"); - increase_temp(); -} - -void temp_neg_pop_callback(void *ptr) -{ - Serial.println("Temp Neg Button Pressed"); - decrease_temp(); -} - -void fan_pop_callback(void *ptr) -{ - Serial.println("Fan Button Pressed"); - uint8_t current_fan_speed = ac_get_fan_speed(); - uint8_t new_fan_speed = (current_fan_speed + 1) % 4; // Loop back to 0 when reaching 3 - ac_set_state(ac_get_mode(), ac_get_temperature(), new_fan_speed); -} - -void mode_pop_callback(void *ptr) -{ - Serial.println("Mode Button Pressed"); - uint8_t current_mode = ac_get_mode(); - uint8_t new_mode = (current_mode + 1) % 3; // Loop back to 0 when reaching 2 - ac_set_state(new_mode, ac_get_temperature(), ac_get_fan_speed()); -} - -void ac_toggle_pop_callback(void *ptr) -{ - Serial.println("AC Toggle Button Pressed"); - //this function should set the state of the AC to toggle between off (mode 0) and the same state as before store in variable acmode - if (ac_get_mode() == 0) { - ac_set_state(user_acmode, ac_get_temperature(), ac_get_fan_speed()); - } else { - user_acmode = ac_get_mode(); - ac_set_state(0, ac_get_temperature(), ac_get_fan_speed()); - } - -} - -void row1_master_pop_callback(void *ptr) -{ - Serial.println("Row 1 Master Button Pressed"); - bool new_state = !row_is_on(ROW1_LIGHT1,ROW1_LIGHT2); - pwm_set_state(ROW1_LIGHT1, new_state); - pwm_set_state(ROW1_LIGHT2, new_state); -} - -void row2_master_pop_callback(void *ptr) -{ - Serial.println("Row 2 Master Button Pressed"); - bool new_state = !row_is_on(ROW2_LIGHT1,ROW2_LIGHT2); - pwm_set_state(ROW2_LIGHT1, new_state); - pwm_set_state(ROW2_LIGHT2, new_state); -} - -void row3_master_pop_callback(void *ptr) -{ - Serial.println("Row 3 Master Button Pressed"); - bool new_state = !row_is_on(ROW3_LIGHT1,ROW3_LIGHT2); - pwm_set_state(ROW3_LIGHT1, new_state); - pwm_set_state(ROW3_LIGHT2, new_state); -} - -void row4_master_pop_callback(void *ptr) -{ - Serial.println("Row 4 Master Button Pressed"); - bool new_state = !row_is_on(ROW4_LIGHT1,ROW4_LIGHT2); - pwm_set_state(ROW4_LIGHT1, new_state); - pwm_set_state(ROW4_LIGHT2, new_state); + pwm_toggle(2); } /* @@ -208,27 +31,14 @@ This code will run after every component is initialized */ void user_init() { - elcd.print("page main"); - elcd_send_stop_bit(); - light_toggle.attachPop(light_toggle_pop_callback, &light_toggle); - row1_lv1.attachPop(row1_lv1_pop_callback, &row1_lv1); - row1_lv2.attachPop(row1_lv2_pop_callback, &row1_lv2); - row2_lv1.attachPop(row2_lv1_pop_callback, &row2_lv1); - row2_lv2.attachPop(row2_lv2_pop_callback, &row2_lv2); - row3_lv1.attachPop(row3_lv1_pop_callback, &row3_lv1); - row3_lv2.attachPop(row3_lv2_pop_callback, &row3_lv2); - row4_lv1.attachPop(row4_lv1_pop_callback, &row4_lv1); - row4_lv2.attachPop(row4_lv2_pop_callback, &row4_lv2); - row1_master.attachPop(row1_master_pop_callback, &row1_master); - row2_master.attachPop(row2_master_pop_callback, &row2_master); - row3_master.attachPop(row3_master_pop_callback, &row3_master); - row4_master.attachPop(row4_master_pop_callback, &row4_master); - temp_plus.attachPop(temp_plus_pop_callback, &temp_plus); - temp_neg.attachPop(temp_neg_pop_callback, &temp_neg); - fan.attachPop(fan_pop_callback, &fan); - mode.attachPop(mode_pop_callback, &mode); - ac_toggle.attachPop(ac_toggle_pop_callback, &ac_toggle); + timer1.begin(); + ESPMega_EXTLCD.print("page home"); + ESPMega_EXTLCD.write(0xFF); + ESPMega_EXTLCD.write(0xFF); + ESPMega_EXTLCD.write(0xFF); + bt0.attachPop(bt0PopCallback, &bt0); } + /* This code will run once every event loop */ @@ -244,112 +54,12 @@ void virtual_interrupt_user_callback(int pin, int state) { } -void update_lcd_row1() { - bool master_state = row_is_on(ROW1_LIGHT1,ROW1_LIGHT2); - row1_master.Set_background_image_pic(master_state?9:10); - bool lt1_state = pwm_get_state(ROW1_LIGHT1); - bool lt2_state = pwm_get_state(ROW1_LIGHT2); - //also update the light1 and light2 buttons background to reflect the current state - row1_lv1.Set_background_image_pic(lt1_state?5:6); - row1_lv2.Set_background_image_pic(lt2_state?7:8); - -} - -void update_lcd_row2() { - bool master_state = row_is_on(ROW2_LIGHT1,ROW2_LIGHT2); - row2_master.Set_background_image_pic(master_state?11:12); - bool lt1_state = pwm_get_state(ROW2_LIGHT1); - bool lt2_state = pwm_get_state(ROW2_LIGHT2); - //also update the light1 and light2 buttons background to reflect the current state - row2_lv1.Set_background_image_pic(lt1_state?5:6); - row2_lv2.Set_background_image_pic(lt2_state?7:8); - - -} - -void update_lcd_row3() { - bool master_state = row_is_on(ROW3_LIGHT1,ROW3_LIGHT2); - row3_master.Set_background_image_pic(master_state?13:14); - bool lt1_state = pwm_get_state(ROW3_LIGHT1); - bool lt2_state = pwm_get_state(ROW3_LIGHT2); - //also update the light1 and light2 buttons background to reflect the current state - row3_lv1.Set_background_image_pic(lt1_state?5:6); - row3_lv2.Set_background_image_pic(lt2_state?7:8); - -} - -void update_lcd_row4() { - bool master_state = row_is_on(ROW4_LIGHT1,ROW4_LIGHT2); - row4_master.Set_background_image_pic(master_state?15:16); - bool lt1_state = pwm_get_state(ROW4_LIGHT1); - bool lt2_state = pwm_get_state(ROW4_LIGHT2); - //also update the light1 and light2 buttons background to reflect the current state - row4_lv1.Set_background_image_pic(lt1_state?5:6); - row4_lv2.Set_background_image_pic(lt2_state?7:8); - -} - -void update_toggle_button() { - //calcuate the current state of the toggle button - bool current_state = row_is_on(ROW1_LIGHT1,ROW1_LIGHT2) || row_is_on(ROW2_LIGHT1,ROW2_LIGHT2) || row_is_on(ROW3_LIGHT1,ROW3_LIGHT2) || row_is_on(ROW4_LIGHT1,ROW4_LIGHT2); - light_toggle.Set_background_image_pic(current_state?3:4); -} - -void update_lcd_ac() { - //update the current temperature - char temp_str[3]; - sprintf(temp_str, "%d", ac_get_temperature()); - cur_temp.setText(temp_str); - //update the fan speed auto is 18, high 19, medium 21, low 20 - // Fan Speed 0: Auto, 1: High, 2: Mid, 3: Low - uint8_t fan_speed = ac_get_fan_speed(); - if(fan_speed == 0) { - fan.Set_background_image_pic(18); - } else if(fan_speed == 1) { - fan.Set_background_image_pic(19); - } else if(fan_speed == 2) { - fan.Set_background_image_pic(21); - } else if(fan_speed == 3) { - fan.Set_background_image_pic(20); - } else { - fan.Set_background_image_pic(18); - } - //update the mode cool is 22, fan mode is 24, for off the toggle button act as indicator - //Mode 0: Off, 1: Cool, 2: Fan - uint8_t mode_state = ac_get_mode(); - mode.Set_background_image_pic(mode_state==1?22:24); - //update the ac toggle button - ac_toggle.Set_background_image_pic(ac_get_mode()==0?1:2); -} - - - void pwm_changed_user_callback(int pin) { - switch (pin) + if (pin == 2) { - case ROW1_LIGHT1: - case ROW1_LIGHT2: - update_lcd_row1(); - update_toggle_button(); - break; - case ROW2_LIGHT1: - case ROW2_LIGHT2: - update_lcd_row2(); - update_toggle_button(); - break; - case ROW3_LIGHT1: - case ROW3_LIGHT2: - update_lcd_row3(); - update_toggle_button(); - break; - case ROW4_LIGHT1: - case ROW4_LIGHT2: - update_lcd_row4(); - update_toggle_button(); - break; - default: - break; + // inform the lcd when pwm 2 changed + bt0.setValue(pwm_get_state(2)); } } @@ -360,6 +70,15 @@ void timer_tick_callback() { if (standalone) { + timer1.loop(); + } +} + +void timer1_callback() +{ + for (int i = 0; i < 16; i++) + { + pwm_set_state(i, 1); } } @@ -377,10 +96,4 @@ void user_state_request_callback() { void user_mqtt_callback(char* topic, uint8_t topic_length, char* payload, unsigned int payload_length) { -} - -void elcd_send_stop_bit() { - elcd.write(0xFF); - elcd.write(0xFF); - elcd.write(0xFF); } \ No newline at end of file diff --git a/src/user_code.hpp b/src/user_code.hpp index 601195a..8b3e361 100644 --- a/src/user_code.hpp +++ b/src/user_code.hpp @@ -6,22 +6,6 @@ #include "espmega_iot_timer.hpp" #include "espmega_iot_external_lcd.hpp" -// I/O Assignment -// Available Inputs 0-15 -// Available Outputs 0-3, 7-11 -// There are 4 rows of lights -// Each row has 2 lights -// Each light has 2 states -#define ROW1_LIGHT1 0 -#define ROW1_LIGHT2 1 -#define ROW2_LIGHT1 2 -#define ROW2_LIGHT2 3 -#define ROW3_LIGHT1 7 -#define ROW3_LIGHT2 8 -#define ROW4_LIGHT1 9 -#define ROW4_LIGHT2 10 -#define COMPUTER_DESK_CONTACTOR 12 - // Bus Overclocking Configuration // Do not enable if you are using external I/O cards as it will cause signal integrity issues. // Choose only one mode @@ -41,7 +25,7 @@ // IR Kit Configuration #define IR_RECIEVE_PIN 35 -#define IR_SEND_PIN 17 +#define IR_SEND_PIN 5 #define MARK_EXCESS_MICROS 20 #define IR_RAW_BUFFER_LENGTH 750 #define AC_MAX_TEMPERATURE 30 @@ -60,38 +44,9 @@ // Analog Module Configuration #define ANALOG_REPORTING_INTERVAL 500 -// User Defined Variables - // User Defined Functions -#define elcd ESPMega_EXTLCD -void elcd_send_stop_bit(); -bool row_is_on(int light1_pin, int light2_pin); -void update_lcd_row1(); -void update_lcd_row2(); -void update_lcd_row3(); -void update_lcd_row4(); -void update_toggle_button(); -void light_toggle_pop_callback(void *ptr); -void row1_lv1_pop_callback(void *ptr); -void row1_lv2_pop_callback(void *ptr); -void row2_lv1_pop_callback(void *ptr); -void row2_lv2_pop_callback(void *ptr); -void row3_lv1_pop_callback(void *ptr); -void row3_lv2_pop_callback(void *ptr); -void row4_lv1_pop_callback(void *ptr); -void row4_lv2_pop_callback(void *ptr); -void row1_master_pop_callback(void *ptr); -void row2_master_pop_callback(void *ptr); -void row3_master_pop_callback(void *ptr); -void row4_master_pop_callback(void *ptr); -void increase_temp(); -void decrease_temp(); -void temp_plus_pop_callback(void *ptr); -void temp_neg_pop_callback(void *ptr); -void fan_pop_callback(void *ptr); -void mode_pop_callback(void *ptr); -void ac_toggle_pop_callback(void *ptr); - +void timer1_callback(); +void bt0PopCallback(void *ptr); // User Defined IoT Core Callback Functions (Required) void user_mqtt_callback(char* topic, uint8_t topic_length, char* payload, unsigned int payload_length);