0x1000 |
0x00 |
|
4 |
VAR |
str |
|
|
CANB |
Device Type. Should be 2 16bit fields identifying device profile but its a string. |
complete |
0x1001 |
0x00 |
|
1 |
VAR |
u8 |
|
|
|
Error Register |
complete |
0x100A |
0x00 |
|
4 |
VAR |
u32 |
|
|
00 0A 00 01 ( 1.9 ?? ) |
Manufacturer Software Version. Should be string but its binary. |
partial |
0x1017 |
0x00 |
|
2 |
VAR |
u16 |
rw |
|
1000 |
Producer heartbeat time in ms |
complete |
0x1018 |
0x00 |
|
1 |
REC |
u8 |
ro |
|
5 |
Vendor Identity Object - highest sub-index supported Should be 4 items but this contains 5 |
complete |
0x1018 |
0x01 |
|
4 |
VAR |
u32 |
ro |
|
0xB1 50 B1 50 |
Vendor ID. Gibberish unknown vendor. |
complete |
0x1018 |
0x02 |
|
4 |
VAR |
u32 |
ro |
|
6 |
Product Code |
complete |
0x1018 |
0x03 |
|
4 |
VAR |
u32 |
ro |
|
0A 00 00 00 ( 0.9 ) |
Product Revision |
complete |
0x1018 |
0x04 |
|
4 |
VAR |
u32 |
ro |
|
00 00 00 00 |
Serial Number |
complete |
0x1018 |
0x05 |
|
4 |
VAR |
u32 |
ro |
11 F7 CA 23 |
|
Appears to be same across difference battery packs |
|
0x101C |
0x00 |
|
2 |
VAR |
u16 |
rw |
1000 |
1000 |
Looks like some timer value.. |
|
0x1800 |
0x00 |
|
1 |
REC |
u8 |
const |
|
5 |
TPDO 1 - Fixed mapping, see 0x1A00 |
complete |
0x1800 |
0x01 |
|
4 |
VAR |
u32 |
rw |
|
00 00 00 80 |
TPDO 1 COB-ID and transmission state |
complete |
0x1800 |
0x02 |
|
1 |
VAR |
u8 |
rw |
|
0 |
TPDO 1 transmission type |
complete |
0x1800 |
0x03 |
|
2 |
VAR |
u16 |
rw |
|
0 |
TPDO 1 inhibit time. Multiples of 100 microseconds |
complete |
0x1800 |
0x04 |
|
2 |
VAR |
u16 |
rw |
|
0 |
Reserved |
complete |
0x1800 |
0x05 |
|
2 |
VAR |
u16 |
rw |
|
0 |
TPDO 1 event timer in ms |
complete |
0x1801 |
0x00 |
|
1 |
REC |
u8 |
const |
|
5 |
TPDO 2 - Fixed mapping, see 0x1A01 |
complete |
0x1801 |
0x01 |
|
4 |
VAR |
u32 |
rw |
|
00 00 00 80 |
TPDO 2 COB-ID and transmission state |
complete |
0x1801 |
0x02 |
|
1 |
VAR |
u8 |
rw |
|
0 |
TPDO 2 transmission type |
complete |
0x1801 |
0x03 |
|
2 |
VAR |
u16 |
rw |
|
0 |
TPDO 2 inhibit time. Multiples of 100 microseconds |
complete |
0x1801 |
0x04 |
|
2 |
VAR |
u16 |
rw |
|
0 |
Reserved |
complete |
0x1801 |
0x05 |
|
2 |
VAR |
u16 |
rw |
|
0 |
TPDO 2 event timer in ms |
complete |
0x1802 |
0x00 |
|
1 |
REC |
u8 |
const |
|
5 |
TPDO 3 - Fixed mapping, empty. |
complete |
0x1802 |
0x01 |
|
4 |
VAR |
u32 |
rw |
|
00 00 00 80 |
TPDO 3 COB-ID and transmission state |
complete |
0x1802 |
0x02 |
|
1 |
VAR |
u8 |
rw |
|
0 |
TPDO 3 transmission type |
complete |
0x1802 |
0x03 |
|
2 |
VAR |
u16 |
rw |
|
0 |
TPDO 3 inhibit time. Multiples of 100 microseconds |
complete |
0x1802 |
0x04 |
|
2 |
VAR |
u16 |
rw |
|
0 |
Reserved |
complete |
0x1802 |
0x05 |
|
2 |
VAR |
u16 |
rw |
|
0 |
TPDO 3 event timer in ms |
complete |
0x1803 |
0x00 |
|
1 |
REC |
u8 |
const |
|
5 |
TPDO 4 - Fixed mapping, empty. |
complete |
0x1803 |
0x01 |
|
4 |
VAR |
u32 |
rw |
|
00 00 00 80 |
TPDO 4 COB-ID and transmission state |
complete |
0x1803 |
0x02 |
|
1 |
VAR |
u8 |
rw |
|
0 |
TPDO 4 transmission type |
complete |
0x1803 |
0x03 |
|
2 |
VAR |
u16 |
rw |
|
0 |
TPDO 4 inhibit time. Multiples of 100 microseconds |
complete |
0x1803 |
0x04 |
|
2 |
VAR |
u16 |
rw |
|
0 |
Reserved |
complete |
0x1803 |
0x05 |
|
2 |
VAR |
u16 |
rw |
|
0 |
TPDO 4 event timer in ms |
complete |
0x1A00 |
0x00 |
|
1 |
REC |
u8 |
ro |
|
0 |
TPDO 1 mapping This mapping actually reads empty. Its not configurable but internally has the following 5 map entries configured. Documented here for EDS. |
partial |
0x1A00 |
0x01 |
tpdo_sub_1 |
4 |
VAR |
u32 |
const |
|
0x200001F0 |
For EDS - Maps to voltage 0x2000 0x01 |
complete |
0x1A00 |
0x02 |
tpdo_sub_2 |
4 |
VAR |
u32 |
const |
|
0x20004DF0 |
For EDS - Maps to chargelevel 0x2000 0x04 |
complete |
0x1A00 |
0x03 |
tpdo_sub_3 |
4 |
VAR |
u32 |
const |
|
0x201002F0 |
For EDS - Maps to maxcapacity 0x2010 0x02 |
complete |
0x1A00 |
0x04 |
tpdo_sub_4 |
4 |
VAR |
u32 |
const |
|
|
For EDS - Maps to stateofcharge 0x2010 0x01 |
complete |
0x1A00 |
0x05 |
tpdo_sub_5 |
4 |
VAR |
u32 |
const |
|
0x21000108 |
For EDS - Mapping appears to be a bitmap: 1 - Maps to power_enable 0x2100 0x01 2 - Meaning unknown. This shows briefly after startup. 4 - This bit is enabled when charging. Source unknown. 8 - This bit is enabled when charing is stopped. Meaning and source unknown. |
partial |
0x1A01 |
0x00 |
|
1 |
REC |
u8 |
ro |
|
4 |
TPDO 2 mapping This mapping actually reads empty. Its not configurable but internally has the following 4 map entries configured. Documented here for EDS. |
complete |
0x1A01 |
0x01 |
tpdo_sub_1 |
4 |
VAR |
u32 |
const |
|
0x20100CF0 |
For EDS - Maps to temp2 0x2010 0x0C |
complete |
0x1A01 |
0x02 |
tpdo_sub_2 |
4 |
VAR |
u32 |
const |
|
0x20100DF0 |
For EDS - Maps to temp3 0x2010 0x0D |
complete |
0x1A01 |
0x03 |
tpdo_sub_3 |
4 |
VAR |
u32 |
const |
|
0x200002F0 |
For EDS - Maps to temp1 0x2000 0x02 |
complete |
0x1A01 |
0x04 |
tpdo_sub_4 |
4 |
VAR |
u32 |
const |
|
0x200003F0 |
For EDS - Maps to current 0x2000 0x03 |
complete |
0x1A02 |
0x00 |
|
1 |
REC |
u8 |
ro |
|
0 |
TPDO 3 mapping appears static. Unconfigured. |
complete |
0x1A03 |
0x00 |
|
1 |
REC |
u8 |
ro |
|
0 |
TPDO 4 mapping appears static. Unconfigured. |
complete |
0x2000 |
0x00 |
stat1 |
1 |
REC |
u8 |
ro |
|
4 |
Status Record 1 - highest sub-index supported |
complete |
0x2000 |
0x01 |
voltage |
2 |
VAR |
u16 |
|
|
current voltage |
Pack voltage in mV |
complete |
0x2000 |
0x02 |
temp1 |
2 |
VAR |
s16 |
|
|
current temp |
Temperature 1 - centi-degrees C - Farthest from power plug |
complete |
0x2000 |
0x03 |
current |
2 |
VAR |
s16 |
ro |
E2FF |
current |
Current +in -out |
complete |
0x2000 |
0x04 |
chargelevel |
2 |
VAR |
u16 |
ro |
A605 |
|
Charge level in milliamp hours. Changes when BMS reboots |
partial |
0x2001 |
0x00 |
|
1 |
|
u8 |
|
|
0 |
|
|
0x2010 |
0x00 |
stat2 |
1 |
REC |
u8 |
const |
|
14 |
Status Record 2 - highest sub-index supported |
complete |
0x2010 |
0x01 |
stateofcharge |
1 |
VAR |
u8 |
rw |
0C |
Percent level of charge |
State of charge in percent. Calculated as 2000x04 / 2010x02 |
complete |
0x2010 |
0x02 |
maxcapacity |
2 |
VAR |
u16 |
rw |
802B |
|
Max capacity in milliamp hours. This is writable presumably to adjust for aging. Not sure if its adjusted internally or externally. Must do full charge, discharge to find out. |
partial |
0x2010 |
0x03 |
|
1 |
VAR |
|
rw |
|
|
|
|
0x2010 |
0x04 |
|
1 |
VAR |
|
|
|
0 |
During charge 1 |
|
0x2010 |
0x05 |
|
1 |
VAR |
|
|
|
0 |
During charge 1 |
|
0x2010 |
0x06 |
|
1 |
VAR |
|
|
|
1 |
During charge 0 |
|
0x2010 |
0x07 |
|
1 |
VAR |
|
|
|
|
|
|
0x2010 |
0x08 |
|
1 |
VAR |
|
|
|
1 |
During charge 0 |
|
0x2010 |
0x09 |
|
1 |
VAR |
|
|
|
|
|
|
0x2010 |
0x0A |
|
2 |
VAR |
|
|
|
|
|
|
0x2010 |
0x0B |
|
4 |
VAR |
|
|
|
0x00000000 |
0x01000000 During charge |
|
0x2010 |
0x0C |
temp2 |
2 |
VAR |
s16 |
|
|
current temp |
Temperature 2 - centi-degrees C - Nearest power plug |
complete |
0x2010 |
0x0D |
temp3 |
2 |
VAR |
s16 |
|
|
current temp |
Temperature 3 - centi-degrees C - Center of pack |
complete |
0x2100 |
0x00 |
|
1 |
|
|
|
|
0 |
|
|
0x2101 |
0x00 |
|
1 |
|
|
|
|
0 |
|
|
0x2102 |
0x00 |
|
1 |
|
|
|
|
0 |
|
|
0x2103 |
0x00 |
|
1 |
|
|
|
|
0 |
|
|
0x2104 |
0x00 |
|
1 |
|
|
|
|
0 |
|
|
0x2105 |
0x00 |
|
1 |
|
|
|
|
0 |
|
|
0x2200 |
0x00 |
|
1 |
REC |
u8 |
const |
|
3 |
highest sub-index supported |
|
0x2200 |
0x01 |
power_enable |
1 |
VAR |
u8 |
rw |
|
0 |
Power output control. - 0 to disable output - 1 to enable output |
partial |
0x2200 |
0x02 |
|
1 |
VAR |
|
ro |
|
0 |
Goes high when power enabled |
|
0x2200 |
0x03 |
|
4 |
VAR |
|
ro |
01 00 00 00 |
|
Goes to 00 00 00 00 when power enabled |
|
0x2201 |
0x00 |
|
1 |
REC |
|
const |
|
2 |
highest sub-index supported |
|
0x2201 |
0x01 |
|
1 |
VAR |
|
rw |
|
1 |
|
|
0x2201 |
0x02 |
|
1 |
VAR |
|
|
|
0 |
|
|
0x2202 |
0x00 |
|
1 |
|
|
|
|
2 |
|
|
0x2202 |
0x01 |
|
1 |
|
|
|
|
0 |
|
|
0x2300 |
0x00 |
|
1 |
REC |
u8 |
|
|
3 |
highest sub-index supported |
|
0x2300 |
0x01 |
|
1 |
VAR |
|
|
|
0 |
|
|
0x2300 |
0x02 |
|
4 |
VAR |
|
|
00 00 00 00 |
|
|
|
0x2300 |
0x03 |
|
4 |
VAR |
|
|
00 00 00 00 |
|
|
|
0x2301 |
0x00 |
|
1 |
REC |
u8 |
|
|
5 |
highest sub-index supported |
|
0x2301 |
0x01 |
|
2 |
VAR |
|
|
00 00 |
|
|
|
0x2301 |
0x02 |
|
2 |
VAR |
|
|
00 00 |
|
|
|
0x2301 |
0x03 |
|
2 |
VAR |
|
|
00 00 |
|
|
|
0x2301 |
0x04 |
|
2 |
VAR |
|
|
00 00 |
|
|
|
0x2301 |
0x05 |
|
1 |
VAR |
|
|
|
0 |
|
|
0x2400 |
0x00 |
|
4 |
VAR |
|
rw |
FF FF FF FF |
|
|
|
0x2401 |
0x00 |
|
4 |
VAR |
|
rw |
FF FF FF FF |
|
|
|
0x5000 |
0x00 |
|
1 |
REC |
u8 |
const |
|
2 |
highest sub-index supported |
|
0x5000 |
0x01 |
|
1 |
VAR |
|
rw |
|
0 |
Goes high when power enabled |
partial |
0x5000 |
0x02 |
|
1 |
VAR |
|
rw |
|
0 |
Goes high when power enabled |
partial |
0x5100 |
0x00 |
|
1 |
REC |
u8 |
const |
|
4 |
highest sub-index supported |
|
0x5100 |
0x01 |
|
4 |
VAR |
|
|
16 ED 08 08 |
|
|
|
0x5100 |
0x02 |
|
4 |
VAR |
|
|
00 00 4D 53 |
|
|
|
0x5100 |
0x03 |
|
4 |
VAR |
|
|
DC 77 FB 5B |
|
|
|
0x5100 |
0x04 |
|
4 |
VAR |
|
|
02 00 00 F5 |
|
|
|
0x5101 |
0x00 |
|
1 |
|
u8 |
ro |
|
1 |
|
|
0x5101 |
0x01 |
|
1 |
|
u8 |
rw |
|
0 |
Writing zero here causes a reboot. |
partial |
0x5102 |
0x00 |
|
1 |
REC |
u8 |
|
|
2 |
|
|
0x5102 |
0x01 |
|
4 |
VAR |
|
|
|
00 00 00 00 |
|
|
0x5102 |
0x02 |
|
4 |
VAR |
|
|
|
00 00 00 00 |
|
|
0x5103 |
0x00 |
|
1 |
|
|
rw |
|
0 |
|
|
0x5103 |
0x01 |
|
4 |
|
|
rw |
|
03 00 00 00 |
Meaning unknown, values change: 03, 04, 08 |
|