For coursework of group 3 in SOFT564Z

Dependencies:   Motordriver ros_lib_kinetic

Revision:
11:0b9098ec11c7
Parent:
7:2796f0b5228d
Child:
12:82b8fe254222
--- a/Battery_Monitor.cpp	Tue Dec 17 16:33:46 2019 +0000
+++ b/Battery_Monitor.cpp	Thu Dec 19 00:13:38 2019 +0000
@@ -3,6 +3,16 @@
 #include "Battery_Monitor.hpp"
 #include "General.hpp"
 #include "Pins.h"
+#include "rtos.h"
+
+//extern Mutex Global_Battery_Level_Mutex;
+//extern float Global_Battery_Level;
+//extern float Global_Battery_Value;
+
+float Global_Battery_Level;
+float Global_Battery_Value;
+bool Battery_Update_Flag;
+Mutex Global_Battery_Level_Mutex;
 
 void Battery_Monitor::battCheck(void)
 {
@@ -10,7 +20,18 @@
 
     float temp_batLev = Read_V_Batt - Minimum_VBatt;
     this->Battery_Level = (Maximum_VBatt - Minimum_VBatt) / temp_batLev;
-    
+
+
+    Global_Battery_Level_Mutex.lock();
+    Global_Battery_Level = Read_V_Batt;
+    Global_Battery_Value = this->Battery_Level;
+    if(Battery_Update_Flag == false)
+    {
+        Battery_Update_Flag = true;
+    }
+    Global_Battery_Level_Mutex.unlock();
+
+    /*    
     Channel_1.write(this->Battery_Level);
     Channel_2.write(1.0f-(this->Battery_Level));
 
@@ -24,5 +45,6 @@
     } else if(this->Battery_Level < 0.05f) {  
         Flag_Error(criticalFAILURE, "Power Below 5% - Power Failure Iminent!\n\r");
     }
+    */
     //pc.printf("Voltage readings are: VBATT: %f\n\r", Read_V_Batt);
 }