Index: firmware/App/Drivers/Battery.c =================================================================== diff -u -r80a6638b362f5f613c0665200023d181f614d1bc -rf6ee9517385497e9c909ab355109fa4fa7e23554 --- firmware/App/Drivers/Battery.c (.../Battery.c) (revision 80a6638b362f5f613c0665200023d181f614d1bc) +++ firmware/App/Drivers/Battery.c (.../Battery.c) (revision f6ee9517385497e9c909ab355109fa4fa7e23554) @@ -56,7 +56,7 @@ // ********** private data ********** static U16 batteryStatus = 0; ///< Battery current status. -static U32 batteryRelStateOfCharge_pct; ///< Battery pack relative state of charge. +static U32 batteryRelStateOfCharge_pct = 0; ///< Battery pack relative state of charge. static OVERRIDE_F32_T batteryRemCapacity_mAh = { 0.0, 0.0, 0.0, 0 }; ///< Battery pack remaining capacity (in mAh). static U16 batteryPackStatus = 0; ///< Battery pack current status. static U32 lastBatteryMonitorTime = 0; ///< Previous battery monitor time. @@ -143,17 +143,9 @@ { hasBatteryChargerStatus = FALSE; - if ( TRUE == getBatteryData( BATTERY_PACK_SLAVE_ADDRESS, BATTERY_PACK_REL_STATE_OF_CHARGE_CMD, &relStateOfCharge_pct ) ) + if ( TRUE == getBatteryData( BATTERY_PACK_SLAVE_ADDRESS, BATTERY_PACK_REM_CAPACITY_CMD, &remCapacity_mAh ) ) { - batteryRelStateOfCharge_pct.data = (U32)relStateOfCharge_pct; - if ( getBatteryRemainingPercent() < BATTERY_PACK_MIN_CHARGE_PCT ) - { - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_BATTERY_PACK_ERROR_DETECTED, getBatteryRemainingPercent() ); - } - else - { - clearAlarmCondition( ALARM_ID_HD_BATTERY_PACK_ERROR_DETECTED ); - } + batteryRemCapacity_mAh.data = (F32)remCapacity_mAh * BATTERY_MAH_2_MWH_FACTOR; } if ( TRUE == getBatteryData( BATTERY_PACK_SLAVE_ADDRESS, BATTERY_PACK_REM_CAPACITY_CMD, &remCapacity_mAh ) )