Project aiming to make a self-controlled solar reflector
Dependencies: Accelerometer LCD Inverter Algorithm MotorDriver Anemometer GUI ArduinoJson Misc Definitions Pushbutton WebSocketClient temp_fan
Diff: main.cpp
- Revision:
- 29:5b14b0ec5efc
- Parent:
- 28:1b8e1d100b58
- Child:
- 30:7fce3ae08754
diff -r 1b8e1d100b58 -r 5b14b0ec5efc main.cpp --- a/main.cpp Tue Mar 30 13:34:45 2021 +0000 +++ b/main.cpp Tue Mar 30 18:13:01 2021 +0000 @@ -83,10 +83,13 @@ { case OP_ETHERNET:{ topL = "CONNECT ONLINE?"; - botL = "YES[IN] NO[DE]"; + botL = "NO[DE] YES[IN]"; lcd.LCD_display(topL,botL); while(true){ if(bt_inc.read()){ + topL = "CONNECTING"; + botL = ""; + lcd.LCD_display(topL, botL); flag_rec = 1; eth.connect(); gui = new GUI("ws://int-sol-ref.herokuapp.com/", ð, &flag_eth); @@ -167,14 +170,11 @@ topL = "NORMAL:IDLING"; topL = (flag_aTrack) ? topL : "*" + topL; if(timer_read_ms(t_disp) >= LCD_RRATE){ - botL = Misc::itos(ane.getWind(&flag_disp)) + "kph*" + Misc::itos(fan.getTemp()) + "C*" + botL = Misc::itos(ane.getWind(&flag_disp)) + "kph " + Misc::itos(fan.getTemp()) + "C " + ((flag_eth)?Misc::itos(inverter->getPower()):"---") + "W"; t_disp.reset(); t_disp.start(); - } - if(flag_disp){ lcd.LCD_display(topL,botL); - flag_disp = 0; } if(flag_time) //If delay interval has passed @@ -206,7 +206,7 @@ topL = (flag_flas)? "NORMAL:R1 <=>" : "NORMAL:R1 <-=->"; topL = (flag_aTrack) ? topL : "*" + topL; flag_flas = !flag_flas; - botL = Misc::itos(ane.getWind(&flag_disp)) + "kph*" + Misc::itos(fan.getTemp()) + "C*" + botL = Misc::itos(ane.getWind(&flag_disp)) + "kph " + Misc::itos(fan.getTemp()) + "C " + ((flag_eth)?Misc::itos(inverter->getPower()):"---") + "W"; t_disp.reset(); t_disp.start(); @@ -226,7 +226,7 @@ topL = (flag_flas)? "NORMAL:R1 > = < " : "NORMAL:R1 ->=<-"; topL = (flag_aTrack) ? topL : "*" + topL; flag_flas = !flag_flas; - botL = Misc::itos(ane.getWind(&flag_disp)) + "kph*" + Misc::itos(fan.getTemp()) + "C*" + botL = Misc::itos(ane.getWind(&flag_disp)) + "kph " + Misc::itos(fan.getTemp()) + "C " + ((flag_eth)?Misc::itos(inverter->getPower()):"---") + "W"; t_disp.reset(); t_disp.start(); @@ -250,7 +250,7 @@ topL = (flag_flas)? "NORMAL:R2 <=>" : "NORMAL:R2 <-=->"; topL = (flag_aTrack) ? topL : "*" + topL; flag_flas = !flag_flas; - botL = Misc::itos(ane.getWind(&flag_disp)) + "kph*" + Misc::itos(fan.getTemp()) + "C*" + botL = Misc::itos(ane.getWind(&flag_disp)) + "kph " + Misc::itos(fan.getTemp()) + "C " + ((flag_eth)?Misc::itos(inverter->getPower()):"---") + "W"; t_disp.reset(); t_disp.start(); @@ -270,7 +270,7 @@ topL = (flag_flas)? "NORMAL:R2 > = < " : "NORMAL:R2 ->=<-"; topL = (flag_aTrack) ? topL : "*" + topL; flag_flas = !flag_flas; - botL = Misc::itos(ane.getWind(&flag_disp)) + "kph*" + Misc::itos(fan.getTemp()) + "C*" + botL = Misc::itos(ane.getWind(&flag_disp)) + "kph " + Misc::itos(fan.getTemp()) + "C " + ((flag_eth)?Misc::itos(inverter->getPower()):"---") + "W"; t_disp.reset(); t_disp.start(); @@ -293,7 +293,7 @@ case OP_WIND:{ if (flag_eth && prevm != mode){gui->state(mode);} if (flag_eth){gui->receives(&wthres, &flag_aTrack, &flag_powerOn,&sun_angle);} - mode = (flag_powerOn) ? mode : OP_POWER_OFF; if(mode != OP_NORMAL){break;} + mode = (flag_powerOn) ? mode : OP_POWER_OFF; if(mode != OP_WIND){break;} if (flag_eth){gui->windSpeed(ane.getWind());} prevm = mode; fan.checkTemp(&mode);if(mode != OP_WIND){break;} @@ -301,15 +301,12 @@ if(timer_read_ms(t_disp) >= LCD_RRATE){ topL = (flag_flas)? "WIND SAFETY *!*" : "WIND SAFETY"; flag_flas = !flag_flas; - botL = Misc::itos(ane.getWind(&flag_disp)) + "kph*" + Misc::itos(fan.getTemp()) + "C*" + botL = Misc::itos(ane.getWind(&flag_disp)) + "kph " + Misc::itos(fan.getTemp()) + "C " + ((flag_eth)?Misc::itos(inverter->getPower()):"---") + "W"; + lcd.LCD_display(topL,botL); t_disp.reset(); t_disp.start(); } - if(flag_disp){ - lcd.LCD_display(topL,botL); - flag_disp = 0; - } //Move all motor backward motor.moveBackward(M_ALL); @@ -326,8 +323,8 @@ prevm = mode; fan.checkTemp(&mode);if(mode != OP_MANUAL1){break;} topL = "MANUAL:M1"; - botL = Misc::itos(ane.getWind(&flag_disp)) + "kph*" + Misc::itos(fan.getTemp()) + "C*" - + ((flag_eth)?Misc::itos(inverter->getPower()):"---") + "W"; + botL = Misc::itos(ane.getWind(&flag_disp)) + "kph " + Misc::itos(fan.getTemp()) + "C " + + Misc::itos(acc.getAngle(S_R1)) + "deg"; if(flag_disp){ lcd.LCD_display(topL,botL); flag_disp = 0; @@ -357,7 +354,7 @@ flag_flas = !flag_flas; t_disp.reset(); t_disp.start(); - botL = "EXTENDING"; + botL = "EXTEND" + Misc::blank(5) + Misc::itos(acc.getAngle(S_R1)) + "deg"; lcd.LCD_display(topL,botL); } @@ -372,7 +369,7 @@ flag_flas = !flag_flas; t_disp.reset(); t_disp.start(); - botL = "RETRACTING"; + botL = "RETRACT"+ Misc::blank(4) + Misc::itos(acc.getAngle(S_R1)) + "deg"; lcd.LCD_display(topL,botL); } flag_idle = 0; @@ -393,7 +390,8 @@ prevm = mode; fan.checkTemp(&mode);if(mode != OP_MANUAL2){break;} topL = "MANUAL:M2"; - botL = Misc::itos(ane.getWind(&flag_disp),3) + "kph | " + Misc::itos(fan.getTemp()) + "C"; + botL = Misc::itos(ane.getWind(&flag_disp)) + "kph " + Misc::itos(fan.getTemp()) + "C " + + Misc::itos(acc.getAngle(S_R2)) + "deg"; if(flag_disp){ lcd.LCD_display(topL,botL); flag_disp = 0; @@ -423,7 +421,7 @@ flag_flas = !flag_flas; t_disp.reset(); t_disp.start(); - botL = "EXTENDING"; + botL = "EXTEND" + Misc::blank(5) + Misc::itos(acc.getAngle(S_R2)) + "deg"; lcd.LCD_display(topL,botL); } @@ -438,7 +436,7 @@ flag_flas = !flag_flas; t_disp.reset(); t_disp.start(); - botL = "RETRACTING"; + botL = "RETRACT" + Misc::blank(4) + Misc::itos(acc.getAngle(S_R2)) + "deg"; lcd.LCD_display(topL,botL); } flag_idle = 0; @@ -459,7 +457,8 @@ prevm = mode; fan.checkTemp(&mode);if(mode != OP_MANUAL_ALL){break;} topL = "MANUAL:ALL"; - botL = Misc::itos(ane.getWind(&flag_disp),3) + "kph | " + Misc::itos(fan.getTemp()) + "C"; + botL = Misc::itos(ane.getWind(&flag_disp)) + "kph " + Misc::itos(fan.getTemp()) + "C " + + Misc::itos(acc.getAngle(S_R1)) + "|" + Misc::itos(acc.getAngle(S_R2)); if(flag_disp){ lcd.LCD_display(topL,botL); flag_disp = 0; @@ -489,7 +488,7 @@ flag_flas = !flag_flas; t_disp.reset(); t_disp.start(); - botL = "EXTENDING"; + botL = "EXTEND" + Misc::blank(5) + Misc::itos(acc.getAngle(S_R1)) + "|" + Misc::itos(acc.getAngle(S_R2)); lcd.LCD_display(topL,botL); } @@ -504,7 +503,7 @@ flag_flas = !flag_flas; t_disp.reset(); t_disp.start(); - botL = "RETRACTING"; + botL = "RETRACT" + Misc::blank(4) + Misc::itos(acc.getAngle(S_R1)) + "|" + Misc::itos(acc.getAngle(S_R2)); lcd.LCD_display(topL,botL); } flag_idle = 0; @@ -698,7 +697,6 @@ } wait_us(LOOP_DELAY); - flag_disp = 1; } }