Index: firmware/App/Drivers/BatteryDriver.c =================================================================== diff -u -r78d196593cdcc9c3cd7166f02a99a7408a3e0b32 -rbbc62d810da9b094ea4f0fc765e1586ed37f0b34 --- firmware/App/Drivers/BatteryDriver.c (.../BatteryDriver.c) (revision 78d196593cdcc9c3cd7166f02a99a7408a3e0b32) +++ firmware/App/Drivers/BatteryDriver.c (.../BatteryDriver.c) (revision bbc62d810da9b094ea4f0fc765e1586ed37f0b34) @@ -34,16 +34,16 @@ // ********** 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. -const U32 device_addr[NUM_OF_BATTERY_DEVICES] = { - 0x6B, ///< BATTERY_CHARGER_ADDRESS - 0x0B, ///< BATTERY_PACK_ADDRESS +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. -const U32 reg_addr[NUM_OF_BATTERY_REGISTERS-1] = { +static const U32 regAddr[NUM_OF_BATTERY_REGISTERS - 1] = { 0x00, ///< BEGINNING_OF_LIST 0x0f, ///< BATTERY_PACK_REMAINING_CAPACITY 0x16, ///< BATTERY_PACK_BATTERY_STATUS @@ -70,18 +70,18 @@ /*********************************************************************//** * @brief - * The initsetupI2CDriver function initializes the I2C driver for battery + * The initSetupI2cDriver function initializes the I2C driver for battery * communication. * @details \b Inputs: none * @details \b Outputs: I2C driver initialized. * @return none *************************************************************************/ -void initsetupI2CDriver(void) +void initSetupI2cDriver( void ) { - batteryI2CStatusRegister.data = 0; - batteryI2CStatusRegister.ovData = 0; - batteryI2CStatusRegister.ovInitData = 0; - batteryI2CStatusRegister.override = OVERRIDE_RESET; + batteryI2cStatusRegister.data = 0; + batteryI2cStatusRegister.ovData = 0; + batteryI2cStatusRegister.ovInitData = 0; + batteryI2cStatusRegister.override = OVERRIDE_RESET; setupI2CDriver(); } @@ -197,18 +197,19 @@ BOOL getBatteryData( BATTERY_DEVICE_ADDRESS_ENUM_T deviceSel, BATTERY_MANAGEMENT_ENUM_T registerSel, U32 * dataPtr ) { BOOL result = FALSE; - - if ( TRUE == startCommTx( device_addr[deviceSel] ) ) + if ( ( deviceSel < NUM_OF_BATTERY_DEVICES ) && ( registerSel < NUM_OF_BATTERY_REGISTERS -1 ) ) { - U16 data = (U16)( (*dataPtr) & MASK_OFF_MSW ); - - if ( TRUE == getData( reg_addr[registerSel], &data ) ) + if ( TRUE == startCommTx( deviceAddr[deviceSel] ) ) { - *dataPtr = data; - result = TRUE; + U16 responseData = (U16)( (*dataPtr) & MASK_OFF_MSW ); + + if ( TRUE == getData( regAddr[registerSel], &responseData ) ) + { + *dataPtr = responseData; + result = TRUE; + } } } - return result; } @@ -237,7 +238,7 @@ if ( TRUE == waitForAccessReady() ) { - if ( 0 == ( getI2CStatusRegister( TRUE ) & ( (U32)I2C_NACK | (U32)I2C_AL ) ) ) + if ( 0 == ( getI2cStatusRegister( TRUE ) & ( (U32)I2C_NACK | (U32)I2C_AL ) ) ) { result = TRUE; } @@ -273,7 +274,7 @@ static BOOL getData( U08 command, U16 * dataPtr ) { BOOL result = FALSE; - U16 batteryData = 0; + U16 responseData = 0; if ( TRUE == waitForTxReady() ) { @@ -290,12 +291,12 @@ { // Due to the double buffer, the master must generate the stop condition after the (message size - 1)th data i2cSetStop( i2cREG1 ); - batteryData = i2cReceiveByte( i2cREG1); + responseData = i2cReceiveByte( i2cREG1 ); if ( TRUE == waitForRxReady() ) { - batteryData = ( batteryData | ( i2cReceiveByte( i2cREG1) << 8 ) ); - *dataPtr = batteryData; + responseData = ( responseData | ( i2cReceiveByte( i2cREG1 ) << 8 ) ); + *dataPtr = responseData; result = TRUE; } else @@ -310,23 +311,23 @@ /*********************************************************************//** * @brief - * The getI2CStatusRegister function returns the current I2C status + * The getI2cStatusRegister function returns the current I2C status * register value. - * @details \b Inputs: batteryI2CStatusRegister, i2cREG1->STR + * @details \b Inputs: batteryI2cStatusRegister, i2cREG1->STR * @details \b Outputs: none * @param resetOverride flag to reset the override after reading. * @return current I2C interrupt status register value. *************************************************************************/ -U32 getI2CStatusRegister( BOOL resetOverride ) +U32 getI2cStatusRegister( BOOL resetOverride ) { U32 result = i2cREG1->STR; - if ( OVERRIDE_KEY == batteryI2CStatusRegister.override ) + if ( OVERRIDE_KEY == batteryI2cStatusRegister.override ) { - result = batteryI2CStatusRegister.ovData; + result = batteryI2cStatusRegister.ovData; if ( TRUE == resetOverride ) { - batteryI2CStatusRegister.override = OVERRIDE_RESET; - batteryI2CStatusRegister.ovData = batteryI2CStatusRegister.ovInitData; + batteryI2cStatusRegister.override = OVERRIDE_RESET; + batteryI2cStatusRegister.ovData = batteryI2cStatusRegister.ovInitData; } } @@ -356,20 +357,19 @@ * TEST SUPPORT FUNCTIONS *************************************************************************/ - /*********************************************************************//** * @brief - * The testBatteryI2CStatusOverride function overrides the battery I2C + * The testBatteryI2cStatusOverride function overrides the battery I2C * status register value. * @details \b Inputs: none - * @details \b Outputs: batteryI2CStatusRegister + * @details \b Outputs: batteryI2cStatusRegister * @param message override message from Diamond which includes the * I2C status register value to override to. * @return TRUE if override request is successful, FALSE if not *************************************************************************/ -BOOL testBatteryI2CStatusOverride( MESSAGE_T *message ) +BOOL testBatteryI2cStatusOverride( MESSAGE_T *message ) { - BOOL result = u32Override( message, &batteryI2CStatusRegister, 0x0, 0xFFFFFFFF ); + BOOL result = u32Override( message, &batteryI2cStatusRegister, OFF, HEX_32_BIT_FULL_SCALE ); return result; }