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:
10:566529fff615
Parent:
9:6e950b9a9a81
Child:
11:2ade1ad7bad6
--- a/main.cpp	Fri Mar 12 01:45:00 2021 +0000
+++ b/main.cpp	Fri Mar 12 02:29:39 2021 +0000
@@ -24,7 +24,7 @@
 I2C i2c(PIN_SDA,PIN_SCL);
 Anemometer ane; //
 //MotorDriver motor;
-LowPowerTimer t,t_mode;
+LowPowerTimer t,t_mode, t_disp;
 int mode = OP_CALIBRATION;
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -32,7 +32,7 @@
 int main()
 {
 i2c.frequency(I2C_FREQ);
-//Accelerometer acc(&i2c); //Accelerometer
+Accelerometer acc(&i2c); //Accelerometer
 LCD lcd(&i2c);
 
 float ang_P,ang_R;
@@ -56,14 +56,17 @@
 string botL = "CALIBRATION SLOT";
 
 t.start(); //Start timer
+t_disp.start();
 
 lcd.LCD_display(topL, botL);
+wait_us(1000000);
 
 while(1)
 {
     switch(mode)
     {
         case OP_PLACEMENT:{
+            acc.calibrate();
             topL = "PUT SENSOR ON";
             botL = "PANEL&REFLECTORS";
             if(flag_disp){
@@ -75,8 +78,13 @@
         }
 ////////////////////////////////////////////////////////////////////////////////
         case OP_NORMAL:{
+            ane.checkWind(&mode);
             topL = "NORMAL";
-            botL = "";
+            if(timer_read_s(t_disp) >= LCD_WRATE){
+                botL = Misc::itos((int)ane.getWind(&flag_disp)) + " kph";
+                t_disp.reset();
+                t_disp.start();
+            }
             if(flag_disp){
                 lcd.LCD_display(topL,botL);
                 flag_disp = 0;
@@ -89,7 +97,11 @@
         case OP_WIND:{
             ane.checkWind(&mode);
             topL = "WIND SAFETY";
-            botL = "";
+            if(timer_read_s(t_disp) >= LCD_WRATE){
+                botL = Misc::itos((int)ane.getWind(&flag_disp)) + " kph";
+                t_disp.reset();
+                t_disp.start();
+            }
             if(flag_disp){
                 lcd.LCD_display(topL,botL);
                 flag_disp = 0;