For coursework of group 3 in SOFT564Z
Dependencies: Motordriver ros_lib_kinetic
Diff: Battery_Monitor.cpp
- 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); }