Library Issue: SparkFun Battery Babysitter - LiPo Battery Manager

Hello,

I have a query regarding the SparkFun Battery Babysitter - LiPo Battery Manager library with the following link:

https://github.com/sparkfun/Battery_Babysitter

From the manual page 29, I see that power is under Subclass 68, and hibernate I and V can be read from offset 7 and 9. Now in the example BQ27441_Basic, power data is got by calling the function power() which is as following:

int16_t BQ27441::power(void)
{
	return (int16_t) readWord(BQ27441_COMMAND_AVG_POWER);
}

The readword() and i2cReadBytes() functions are as following:

uint16_t BQ27441::readWord(uint16_t subAddress)
{
	uint8_t data[2];
	i2cReadBytes(subAddress, data, 2);
	return ((uint16_t) data[1] << 8) | data[0];
}
// Read a specified number of bytes over I2C at a given subAddress
int16_t BQ27441::i2cReadBytes(uint8_t subAddress, uint8_t * dest, uint8_t count)
{
	int16_t timeout = BQ72441_I2C_TIMEOUT;	
	Wire.beginTransmission(_deviceAddress);
	Wire.write(subAddress);
	Wire.endTransmission(true);
	
	Wire.requestFrom(_deviceAddress, count);
	
	for (int i=0; i<count; i++)
	{
		dest[i] = Wire.read();
	}
	
	return timeout;
}

My questions are:

  1. The power() function is reading 2 bytes so which 2 bytes it is reading (Hibernate I at offset 7 or Hibernate V at offset 9)?

  2. In the BQ27441_Basic.ino how can, it is reporting power in mW just by reading Hibernate I or Hibernate V?

int power = lipo.power(); // Read average power draw (mW)
  1. If I want to see both the Hibernate I at offset 7 and Hibernate V at offset 9, how should I modify the library to print the individual data of Hibernate I at offset 7 and Hibernate V at offset 9 and also the power?

Please correct me if I am wrong. But reading data from different offsets sounds confusing and the data I am getting doesn’t make sense. I hope to hear back soon. Thanks for your time.

For the BQ7441, I’m unable to find the information in the datasheet (https://cdn.sparkfun.com/datasheets/Pro … 441-g1.pdf) for the library you’re mentioning. Is it the BQ7441 datasheet or the BQ24075 datasheet (https://cdn.sparkfun.com/assets/learn_t … q24075.pdf)?

TS-Brandon:
For the BQ7441, I’m unable to find the information in the datasheet (https://cdn.sparkfun.com/datasheets/Pro … 441-g1.pdf) for the library you’re mentioning. Is it the BQ7441 datasheet or the BQ24075 datasheet (https://cdn.sparkfun.com/assets/learn_t … q24075.pdf)?

Hi Brandon,

Thanks for your response. I am referring to BQ7441. Here is the manual I am talking about:

https://www.ti.com/lit/ug/sluuac9a/sluu … e.com%252F