-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Luke Tucker edited this page Jan 13, 2022
·
17 revisions
TBW
There are two kinds of monitoring messages received from the device. There is a "CM2024 SUP" message every second which seems to be an overall status and is used to indicate that a battery is ready to charge (and possibly other things I am yet to figure out). The second type of message is a "CM2024 DAT" which returns the status of each slot independently.
First a message like this will arrive
43 4D 32 30 32 34 20 53 55 50 CM2024 SUP
Followed by another fixed length message like this:
02 00 7B 01 EE 02 0D 00 82 78 78 78 78 78 78 78
78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78
78 98 16 0D 0A
Then when a battery is inserted it will switch to something like:
01 00 7B 01 ED 02 09 00 13 00 01 01 00 02 00 00
00 3C 05 05 00 08 78 78 78 78 78 78 78 78 78 78
78 73 26 0D 0A
78 is a filler value for no data
So far I have figured out the following:
Offset | Description |
---|---|
01 | Unknown |
02 | Unknown |
03 | Unknown |
04 | Unknown |
05 | Unknown |
06 | Unknown |
07 | Unknown |
08 - 09 | Sequence Counter going from 0x0000 to 0x0257 (0-599) in increments of 13 - Little Endian |
10 | Slot awaiting setup (see slot table) |
11 | Chemistry selected (See chemistry table) |
12 | Program selected (See program table) |
13 | Selected maximum charge current (applicable for NiHM/Cd only) (see charge current table) |
14 | Selected discharge rate (see discharge table) |
15 - 16 | Selected capacity in mAh in units of 1. Little Endian |
17 | SD card status (see table) |
18 | Cool time in minutes |
19 | Unknown |
20 | Unknown |
21 | Unknown |
22 | SD Slot status |
23 | Unknown |
24 | Unknown |
25 | Unknown |
26 | Unknown |
27 | Unknown |
28 | Unknown |
29 | Unknown |
30 | Unknown |
31 | Unknown |
32 | Unknown |
33 | Unknown |
34 - 35 | Unknown - likely a CRC16 |
36 - 37 | Always 0D 0A - \r\n |
Offset | Description |
---|---|
01 - 02 | Sequence Counter going from 0x0000 to 0x0257 (0-599) and resetting - big endian |
03 | Slot number (see slot table) |
04 | Chemistry (see chemistry table) |
05 | Unknown flag - either 0 or 1 |
06 | Program state - always the same as the next value (in 06) unless the program finishes and then it's 0B |
07 | Program (see program table) |
08 | Activity Step (see activity table) |
09 - 10 | Time in minutes - big endian. When Ready, this will stop. |
11 - 12 | Voltage in units of 0.001 (big endian). e.g. 5F 07 = 1.887 |
13 - 14 | Current in units of 0.001 (big endian). E.g. 17 02 = 0.535 |
15 - 18 | C-CAP stored in units of 0.01 (big endian) |
19 - 22 | D-CAP stored in units of 0.01 (big endian). e.g. 3D 88 01 00 = 1004.13 |
23 | Unknown |
24 | Unknown |
25 | Maximum charge current (see table) |
26 | Unknown |
27 | Unknown |
28 | Pause time in minutes. Windows software allows increments of 30 mins so not sure if other values supported |
29 - 30 | Battery capacity in mAh - big endian |
31 | Discharge rate (see discharge rate table) |
32 | Unknown - Sometimes the same as previous value in 31 so it’s related |
33 | Unknown |
34 - 35 | Checksum - CRC-16/MODBUS calculated from bytes 02 to 33 |
36 - 37 | Carriage return - always 0D 0A (i.e. \r\n) |
TBW
This is a set of common enumerated values which appear in various messages.
Value | Description |
---|---|
00 | Slot 1 |
01 | Slot 2 |
02 | Slot 3 |
03 | Slot 4 |
04 | Slot 5 |
05 | Slot 6 |
06 | Slot 7 |
07 | Slot 8 |
08 | Slot A |
09 | Slot B |
Value | Description |
---|---|
01 | NiHM/Cd |
02 | NiZn |
Value | Description |
---|---|
00 | None / slot empty |
01 | Recharge |
02 | Discharge |
03 | Procharge |
04 | Cycle |
05 | Alive |
06 | Maximize |
07 | No setup |
08 | Unknown |
09 | Unknown |
0A | Error |
0B | Complete |
Value | Description |
---|---|
00 | Idle |
01 | Charging |
02 | Discharging |
03 | Ready |
04 | Unknown |
05 | Cool Down |
06 | Error |
Value | Description |
---|---|
00 | Not Applicable (NiZn) |
01 | 500mA |
02 | 1000mA |
03 | 1500mA |
04 | 2000mA |
05 | 2500mA |
06 | 3000mA |
The values are interpreted differently depending on the chemistry
Value | Description |
---|---|
01 | 150mA |
02 | 300mA |
03 | 450mA |
04 | 600mA |
Value | Description |
---|---|
01 | 125mA |
02 | 250mA |
03 | 375mA |
04 | 500mA |
05 | 625mA |
06 | 750mA |
Value | Description |
---|---|
00 | SD off |
01 | Unknown |
02 | On / Ready |
Value | Description |
---|---|
00 | NO CARD |
01 | Unknown |
02 | Unknown |
03 | Unknown |
04 | Unknown |
05 | Unknown |
06 | Unknown |
07 | Inserted |
08 | Ready |