Other Parts Discussed in Thread: CC1350
Tool/software: TI-RTOS
hi sir.....
BQ27510-G3 was interfaced to the cc1350 controller while receiving data from the sensor some parameter like SOC, SOH, TIME TO EMPTY values not accurate can you suggest any modification in my code
DELAY_US(70);
txBuffer_bat[0] =0x06; //temperature
i2cWrite((uint8_t)0x55, txBuffer_bat, 1);
DELAY_US(70);
i2cRead((uint8_t)0x55,rxBuffer_bat_temp,2);
Temperature = ((uint16_t) rxBuffer_bat_temp[1] << 8) | rxBuffer_bat_temp[0];
Bat_Temperature = (float)(Temperature);
Bat_Temperature = Bat_Temperature / 10.0f;
Bat_Temperature -= 272.15f;
DELAY_US(70);
txBuffer_bat[0] =0x08; //voltage
i2cWrite((uint8_t)0x55, txBuffer_bat, 1);
DELAY_US(70);
i2cRead((uint8_t)0x55,rxBuffer_bat_volt,2);
Voltage = ((uint16_t) rxBuffer_bat_volt[1] << 8) | rxBuffer_bat_volt[0];
Bat_Voltage = (float)(Voltage);
Bat_Voltage = Bat_Voltage / 1000.0f;
DELAY_US(70);
txBuffer_bat[0] =0x16; //time to empty
i2cWrite((uint8_t)0x55, txBuffer_bat, 1);
DELAY_US(70);
i2cRead((uint8_t)0x55,rxBuffer_bat_time,2);
TimeToEmpty = ((int16_t) rxBuffer_bat_time[1] << 8) | rxBuffer_bat_time[0];
Bat_TimeToEmpty = (float)(TimeToEmpty);
Bat_TimeToEmpty = Bat_TimeToEmpty / 60.0f;
DELAY_US(70);
txBuffer_bat[0] =0x14; //current
i2cWrite((uint8_t)0x55, txBuffer_bat, 1);
DELAY_US(70);
i2cRead((uint8_t)0x55,rxBuffer_bat_current,2);
AverageCurrent = ((int16_t) rxBuffer_bat_current[1] << 8) | rxBuffer_bat_current[0];
Bat_AverageCurrent = (float)(AverageCurrent);
Bat_AverageCurrent = Bat_AverageCurrent / 1000.0f;
DELAY_US(70);
txBuffer_bat[0] =0x1C; //sate of Health
i2cWrite((uint8_t)0x55, txBuffer_bat, 1);
DELAY_US(70);
i2cRead((uint8_t)0x55,rxBuffer_bat_soh,2);
StateOfHealth = ((int16_t) rxBuffer_bat_soh[1] << 8) | rxBuffer_bat_soh[0];
StateOfHealth = (StateOfHealth & 0xFF);
DELAY_US(70);
txBuffer_bat[0] =0x20; //sate of charge
i2cWrite((uint8_t)0x55, txBuffer_bat, 1);
DELAY_US(70);
i2cRead((uint8_t)0x55,rxBuffer_bat_soc,2);
StateOfCharge = ((int16_t) rxBuffer_bat_soc[1] << 8) | rxBuffer_bat_soc[0];