Index: firmware/App/Drivers/BatteryDriver.c =================================================================== diff -u -rf65325ed47c1d70a3abf8a6f853f858b57228734 -r365cfa9529a444e02ecc928dea87e97bca95c193 --- firmware/App/Drivers/BatteryDriver.c (.../BatteryDriver.c) (revision f65325ed47c1d70a3abf8a6f853f858b57228734) +++ firmware/App/Drivers/BatteryDriver.c (.../BatteryDriver.c) (revision 365cfa9529a444e02ecc928dea87e97bca95c193) @@ -16,6 +16,7 @@ ***************************************************************************/ #include // For memcpy + #include "BatteryDriver.h" #include "i2c.h" #include "Messaging.h" @@ -37,20 +38,20 @@ // ********** private data ********** -static OVERRIDE_U32_T batteryI2cStatusRegister; ///< Battery I2C interrupt status register. +static OVERRIDE_U32_T batteryI2cStatusRegister; ///< Battery I2C interrupt status register. /// Lookup table mapping device enum to I2C slave addresses. -static const U32 deviceAddr[NUM_OF_BATTERY_DEVICES] = { +static const U32 deviceAddr[ NUM_OF_BATTERY_DEVICES ] = { BATTERY_CHARGER_SLAVE_ADDRESS, ///< BATTERY_CHARGER_ADDRESS BATTERY_PACK_SLAVE_ADDRESS, ///< BATTERY_PACK_ADDRESS }; /// Lookup table mapping register enum to register addresses. -static const U32 regAddr[NUM_OF_BATTERY_REGISTERS - 1] = { +static const U32 regAddr[ NUM_OF_BATTERY_REGISTERS - 1 ] = { 0x00, ///< BEGINNING_OF_LIST - 0x0f, ///< BATTERY_PACK_REMAINING_CAPACITY + 0x0F, ///< BATTERY_PACK_REMAINING_CAPACITY 0x16, ///< BATTERY_PACK_BATTERY_STATUS - 0x0d, ///< BATTERY_PACK_RELATIVE_STATE_OF_CHARGE + 0x0D, ///< BATTERY_PACK_RELATIVE_STATE_OF_CHARGE 0x10, ///< BATTERY_PACK_FULL_CHARGE_CAPACITY 0x21, ///< BATTERY_CHARGER_STATUS 0x37, ///< BATTERY_CHARGER_TS @@ -101,7 +102,8 @@ { BOOL result = FALSE; - result = writeChargerRegisterByte( BATTERY_CHARGER_ADC_CONTROL_REGISTER, BATTERY_CHARGER_ADC_CONTROL_VALUE ); + result = writeChargerRegisterByte( BATTERY_CHARGER_ADC_CONTROL_REGISTER, + BATTERY_CHARGER_ADC_CONTROL_VALUE ); return result; } @@ -211,20 +213,23 @@ * @details \b Inputs: none * @details \b Outputs: get data from battery device * @param deviceSel battery device to communicate with. - * @param registerSel register to read from batteru device. + * @param registerSel register to read from battery device. * @param dataPtr pointer to store the register data * @return TRUE if data received successfully, otherwise FALSE *************************************************************************/ -BOOL getBatteryData( BATTERY_DEVICE_ADDRESS_ENUM_T deviceSel, BATTERY_MANAGEMENT_ENUM_T registerSel, U32 *dataPtr ) +BOOL getBatteryData( BATTERY_DEVICE_ADDRESS_ENUM_T deviceSel, + BATTERY_MANAGEMENT_ENUM_T registerSel, U32 *dataPtr ) { BOOL result = FALSE; - if ( ( deviceSel < NUM_OF_BATTERY_DEVICES ) && ( registerSel < NUM_OF_BATTERY_REGISTERS -1 ) ) + + if ( ( deviceSel < NUM_OF_BATTERY_DEVICES ) && + ( registerSel < NUM_OF_BATTERY_REGISTERS -1 ) ) { if ( TRUE == startCommTx( deviceAddr[deviceSel] ) ) { U16 responseData = (U16)( (*dataPtr) & MASK_OFF_MSW ); - if ( TRUE == getData( regAddr[registerSel], &responseData ) ) + if ( TRUE == getData( regAddr[ registerSel ], &responseData ) ) { *dataPtr = responseData; result = TRUE; @@ -386,6 +391,7 @@ U32 getI2cStatusRegister( BOOL resetOverride ) { U32 result = i2cREG1->STR; + if ( OVERRIDE_KEY == batteryI2cStatusRegister.override ) { result = batteryI2cStatusRegister.ovData; @@ -435,6 +441,7 @@ BOOL testBatteryI2cStatusOverride( MESSAGE_T *message ) { BOOL result = u32Override( message, &batteryI2cStatusRegister, OFF, HEX_32_BIT_FULL_SCALE ); + return result; }