Hi everybody,
I'm currently working on trying to access the data flash of bq27541-G1 through the i2c interface.
I managed to access the data block (subclass ID 48 in the datasheet) and read the Device Name, but I'm having some problems with the "offset" to index the BlockData() command.
I can read the whole block when I issue 0x40 as the reading address, but as I try to use the offset to only read the DeviceName it appears as if I'm not using it at all, and I keep reading the same data (some bytes that I see as "thrash", as they are not related on the datasheet - the block starts at the 8th byte of the 32 byte block as I see things - and then the bytes with the offset 40,42,43,44 and 45 according to Table 7 page 21)
What I'm currently doing is:
- write BlockDataControl() and 0x00
- write DataFlashClass() and 0x30 (Class ID 48 in hexa)
- write DataFlashBlock() and 0x01 (2nd block of the Class)
- write BlockData() (0x40) for the whole block and (0x4D) to try to read only the Device Name
- read the i2c bus (as many as 32 bytes for the block and the 11 bytes default for Device Name)
Am I missing something here? Can anybody shed a light in this matter? Did I misintepret the offset of BlockData()?
Sorry if I misplaced this topic,
att.
Diogo Furukawa