Other Parts Discussed in Thread: BQSTUDIO
Hello,
I'm programming the chip via I2C and the following struct (a few lines of which are shown here for brevity):
static const uint8_t bq76952_config[] = {// cmd addr len data (uint8_t)'W', 0x10, 0x03, 0x3E, 0x02, 0x00, (uint8_t)'C', 0x10, 0x07, 0x3E, 0x02, 0x00, 0x76, 0x95, 0x00, 0x36, (uint8_t)'W', 0x10, 0x03, 0x3E, 0x90, 0x00, (uint8_t)'X', 0x05, 0xDC, // 1500 ms delay (uint8_t)'W', 0x10, 0x1E, 0x3E, 0x80, 0x91, 0x57, 0x2F, 0x57, 0x2F, 0x57, 0x2F, 0x57, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x5C, 0x2F, 0x5C, (uint8_t)'W', 0x10, 0x06, 0x1D, 0x2F, 0x5C, 0x2F, 0x5C, 0x2F, (uint8_t)'W', 0x10, 0x03, 0x60, 0x6A, 0x24, (uint8_t)'X', 0x00, 0x14, // 20 ms delay (uint8_t)'W', 0x10, 0x03, 0x3E, 0x80, 0x91, (uint8_t)'C', 0x10, 0x23, 0x3E, 0x80, 0x91, 0x57, 0x2F, 0x57, 0x2F, 0x57, 0x2F, 0x57, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x59, 0x2F, 0x5C, 0x2F, 0x5C, 0x2F, 0x5C, 0x2F, 0x5C, 0x2F,
The read back of 0x3E is just the subcmd (0x9180) followed by zeros as seen here:
What am I missing? Longer time delays needed? Incomplete initialization at top of struct (from BQStudio)?
Regards,