Other Parts Discussed in Thread: BQSTUDIO, EV2400
Tool/software:
TRM reports device id as 0x100
Datasheet reports it as 0x40
Readback is 0x0100 (TRM is correct datasheet is wrong)
Also the readback 'instructions' are erroneous in the TRM
11.3.1 DEVICE_TYPE: 0x0001
When reading DEVICE_TYPE(), a block read is used. This requires that a write to 0x00 of 0x0200 should
be followed by a read of 0x40 with 6 bytes to be read out. All In little-endian order, the first 2 bytes are
DEVICE_TYPE(), then 2 bytes of FW_VERSION() and 2 bytes of FW BUILD.
^^^^I don't see it working like above.. I get back:
data[0] = 0
data[1] = 1
data[2] = 0
data[3] = 0
data[4] = 0
data[5] = 0
which would imply the fw version and fw build are zero... so readback should just be 2 bytes (data[0] and data[1]) for the device id, which is 0x0100
I think they're confusing it with the below command
11.3.2 FW_VERSION: 0x0002
When reading FW_VERSION(), a block read is used. This requires that a write to 0x00 of 0x0200 should
be followed by a read of 0x40 with 6 bytes to be read out. All in little-endian order, the first 2 bytes are
DEVICE_TYPE(), then 2 bytes of FW_VERSION() and 2 bytes of FW BUILD.
^^^^for this last command the device type does not match up...I'm gettting the following, is what i'm lookinf for when issuing the fw_version subcommand? When looking at bqstudio this Looks right but the endianess is wrong.
Here's what i get ( all values in decimal):
6 byte readback:
1
0
1
2
0
10
computed value:
device_type: 1 (0x0001)
firmware version: 513 (0x0201)
build version: 2560 (0x0A00