Index: firmware/App/Drivers/Battery.c =================================================================== diff -u -rdbfeaf78c05fc922eba6ff8c7a31ba8a9392c642 -r5e3e9943759f429fc2213db848475c07ca6b79a5 --- firmware/App/Drivers/Battery.c (.../Battery.c) (revision dbfeaf78c05fc922eba6ff8c7a31ba8a9392c642) +++ firmware/App/Drivers/Battery.c (.../Battery.c) (revision 5e3e9943759f429fc2213db848475c07ca6b79a5) @@ -54,8 +54,6 @@ static BOOL hasBatteryChargerStatus = FALSE; ///< Flag indicates if battery charger status has been obtained. static U32 commFaultPersistentCount = 0; ///< Persistence count for battery comm fault. -static SELF_TEST_STATUS_T batteryTestStatus; ///< Current battery SOC test status. - // ********** private function prototypes ********** static U32 getBatteryRemainingPercent( void ); @@ -84,7 +82,6 @@ lostACPowerPersistentCount = 0; hasBatteryChargerStatus = FALSE; commFaultPersistentCount = 0; - batteryTestStatus = SELF_TEST_STATUS_IN_PROGRESS; setupI2CDriver(); } @@ -134,10 +131,14 @@ if ( TRUE == getBatteryData( BATTERY_PACK_SLAVE_ADDRESS, BATTERY_PACK_REL_STATE_OF_CHARGE_CMD, &relStateOfCharge_pct ) ) { batteryRelStateOfCharge_pct.data = (U32)relStateOfCharge_pct; - if ( ( SELF_TEST_STATUS_IN_PROGRESS == batteryTestStatus ) && ( getBatteryRemainingPercent() < BATTERY_PACK_MIN_CHARGE_PCT ) ) + if ( getBatteryRemainingPercent() < BATTERY_PACK_MIN_CHARGE_PCT ) { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_BATTERY_PACK_CHARGE_TOO_LOW, getBatteryRemainingPercent() ); } + else + { + clearAlarmCondition( ALARM_ID_HD_BATTERY_PACK_CHARGE_TOO_LOW ); + } } if ( TRUE == getBatteryData( BATTERY_PACK_SLAVE_ADDRESS, BATTERY_PACK_STATUS_CMD, &batteryPackStatus ) ) @@ -153,24 +154,14 @@ /*********************************************************************//** * @brief - * The execBatteryTest function executes the battery SOC check. - * @details Inputs: battery state of charge - * @details Outputs: alerts when battery pack charge is low - * @return battery SOC test status + * The isBatteryCharged function checks if the battery is charged. + * @details Inputs: batteryRelStateOfCharge_pct + * @details Outputs: none + * @return TRUE if battery is charged, otherwise FALSE *************************************************************************/ -SELF_TEST_STATUS_T execBatteryTest( void ) +BOOL isBatteryCharged( void ) { -#ifndef DISABLE_BATT_COMM - if ( batteryRelStateOfCharge_pct > BATTERY_PACK_MIN_CHARGE_PCT ) - { - clearAlarmCondition( ALARM_ID_HD_BATTERY_PACK_CHARGE_TOO_LOW ); - batteryTestStatus = SELF_TEST_STATUS_PASSED; - } -#else - batteryTestStatus = SELF_TEST_STATUS_PASSED; -#endif - - return batteryTestStatus; + return ( getBatteryRemainingPercent() > BATTERY_PACK_MIN_CHARGE_PCT ? TRUE : FALSE ); } /*********************************************************************//**