Index: firmware/App/Drivers/Battery.c =================================================================== diff -u -r5e3e9943759f429fc2213db848475c07ca6b79a5 -r885cb03f6618d6556a53e834691f2e050ba90593 --- firmware/App/Drivers/Battery.c (.../Battery.c) (revision 5e3e9943759f429fc2213db848475c07ca6b79a5) +++ firmware/App/Drivers/Battery.c (.../Battery.c) (revision 885cb03f6618d6556a53e834691f2e050ba90593) @@ -37,6 +37,7 @@ #define BATTERY_PACK_REL_STATE_OF_CHARGE_CMD 0x0D ///< Command to get battery pack relative state of charge. #define BATTERY_PACK_STATUS_CMD 0x16 ///< Command to get battery pack status. +#define BATTERY_PACK_ERROR_BITS 0x0F ///< Error codes are in the first byte. #define BATTERY_PACK_MIN_CHARGE_PCT 50 ///< Minimum battery pack state of charge in percentage. #define BATTERY_COMM_TIME_OUT_MS 1 ///< Battery communication time out in ms. @@ -143,7 +144,7 @@ if ( TRUE == getBatteryData( BATTERY_PACK_SLAVE_ADDRESS, BATTERY_PACK_STATUS_CMD, &batteryPackStatus ) ) { - if ( 0 != batteryPackStatus ) + if ( 0 != ( batteryPackStatus & BATTERY_PACK_ERROR_BITS ) ) { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_BATTERY_PACK_ERROR_DETECTED, batteryPackStatus ); }