For coursework of group 3 in SOFT564Z
Dependencies: Motordriver ros_lib_kinetic
Battery_Monitor.cpp
- Committer:
- Jonathan738
- Date:
- 2019-12-05
- Revision:
- 7:2796f0b5228d
- Parent:
- 4:8afc50a3e4ac
- Child:
- 11:0b9098ec11c7
File content as of revision 7:2796f0b5228d:
#include "mbed.h" #include "Debug.hpp" #include "Battery_Monitor.hpp" #include "General.hpp" #include "Pins.h" void Battery_Monitor::battCheck(void) { float Read_V_Batt = this->V_Batt.read(); float temp_batLev = Read_V_Batt - Minimum_VBatt; this->Battery_Level = (Maximum_VBatt - Minimum_VBatt) / temp_batLev; Channel_1.write(this->Battery_Level); Channel_2.write(1.0f-(this->Battery_Level)); char Btry_lvl_string[20]; sprintf(Btry_lvl_string, "Battery Level is : %1.2f",Battery_Level); Flag_Error(warning, Btry_lvl_string); if(this->Battery_Level < 0.2f && this->Battery_Level > 0.1f) { Flag_Error(warning, "Power Below 20% - Charging Required!\n\r"); } 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); }