Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217
Fork of SS_SensePOC2P0_11Dec2017_USERPID by
battery.cpp
00001 #include "mbed.h" 00002 #include "battery.h" 00003 //#include "display_modules.h" 00004 00005 #define BATTERY_PIN PTB1 // Battery Pin 00006 #define BATTERY_MAX_OPERATING_VOLTAGE (float)3.3 // Battery Max Operating Voltage 00007 #define BATTERY_INTERMEDIATE_HIGH_VOLTAGE (float)3.64 // Battery Full Voltage 00008 #define BATTERY_MEDIUM_VOLTAGE (float)3.57 // battery Medium Voltage 00009 #define BATTERY_LOW_VOLTAGE (float)3.53 // Battery LOW Voltage 00010 00011 /* 00012 #define BATTERY_SCREEN_CHARGE_CONDITION 0 00013 #define BATTERY_LOW_CHARGE_CONDITION 1 00014 #define BATTERY_CRITICALLY_LOW_CHARGE_CONDITION 2 00015 #define BATTERY_SCREEN_NO_CHARGE_CONDITION 3 00016 */ 00017 00018 static uint8_t battery_voltage_condition = BATTERY_SCREEN_CHARGE_CONDITION; 00019 00020 00021 AnalogIn A(BATTERY_PIN); 00022 Serial battery(USBTX, USBRX); 00023 00024 /* Function : To Monitor Battery Voltage 00025 returns : void 00026 00027 */ 00028 00029 //uint8_t battery_condition=0; 00030 void battery_monitor() 00031 { 00032 00033 float b_voltage; 00034 b_voltage = A.read_u16()*(BATTERY_MAX_OPERATING_VOLTAGE/65535)*2; 00035 wait(0.001f); 00036 battery.printf("voltage=%f",b_voltage); 00037 00038 if (b_voltage >= BATTERY_INTERMEDIATE_HIGH_VOLTAGE ) 00039 battery_voltage_condition = BATTERY_SCREEN_CHARGE_CONDITION; 00040 00041 else if ((b_voltage < BATTERY_INTERMEDIATE_HIGH_VOLTAGE ) && (b_voltage > BATTERY_MEDIUM_VOLTAGE)) // 15% to 10% Battery voltage 00042 battery_voltage_condition = BATTERY_LOW_CHARGE_CONDITION ; 00043 00044 else if ((b_voltage < BATTERY_MEDIUM_VOLTAGE) && (b_voltage > BATTERY_LOW_VOLTAGE)) // 10% to 5% battery volage 00045 battery_voltage_condition = BATTERY_CRITICALLY_LOW_CHARGE_CONDITION; 00046 00047 else if (b_voltage < BATTERY_LOW_VOLTAGE) 00048 battery_voltage_condition = BATTERY_SCREEN_NO_CHARGE_CONDITION ; 00049 00050 } 00051 00052 /* Function : To get battery status depending battery voltage 00053 returns : battery_voltage_condition 00054 00055 */ 00056 00057 uint8_t get_battery_status() 00058 { 00059 00060 return battery_voltage_condition; 00061 }
Generated on Mon Jul 18 2022 19:19:02 by
1.7.2
