Project aiming to make a self-controlled solar reflector

Dependencies:   Accelerometer LCD Inverter Algorithm MotorDriver Anemometer GUI ArduinoJson Misc Definitions Pushbutton WebSocketClient temp_fan

Revision:
29:5b14b0ec5efc
Parent:
28:1b8e1d100b58
Child:
30:7fce3ae08754
--- 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/", &eth, &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;
 }
 
 }