-
Notifications
You must be signed in to change notification settings - Fork 1
Hyperion Charger and Test Controller (TC) application
This is some info about the definition file (Hyperion.txt) I made for the Hyperion EOS1420inet3 charger device, tested with the Test Controller (TC) (https://lygte-info.dk/project/TestControllerIntro%20UK.html). The main work that remains is to decipher the CRC/Checksum algorithm. A few weeks later...
Deciphering this checksum is a big word. It's more like when do you start looking at this problem? :-) Well, now it's done and looks quite easy. As an example, let's take the below returned value without the spaces and without the checksum value (0F9C):
- First, convert this value to ASCII. Result: 48,48,52,69,67,49,48,48,48,49,48,48,48,48,48,48,48,56,48,48,53,48,48,55,68,48,48,53,68,67,48,50,66,67,48,48,49,50,48,48,51,51,48,48,54,50,48,49,50,67,48,48,49,52,48,48,70,65,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48
- Calculate the SUM: Result: 3996
- Convert the result to HEX: Result: F9C
- Add a zero in front and you are done! Niiiice
That will allow sending any commands to the device. See here for a discussion about this topic.
Command | Description | Returned value |
---|---|---|
000A81000101FB | Read MEM 01 | 004EC1 0001 0000 0008 0050 07D0 05DC 02BC 0012 0033 0062 012C 0014 00FA 0000 0000 0000 0000 0000 0F9C |
Example: 7h4 means position 7, 4 bytes, meaning 0001 in the above value. Note that there is one control char at the start and at the end of the sequence. Space are added for clarity's sake.
7h4: Memory number: from 0001 to 0014
11h4: Battery type: 0000:NiCd; 0001:NiMh; 0002:Lilo; 0003:LiPo; 0004:LiFe; 0005: Pb
15h4: Number of cells: 0001:1s, 0002:2s, 0003:3s .... 0008:8s
19h4: Battery capacity in mAh (0050)
23h4: Charge current in mA (07D0)
27h4: Discharge current in mA (05DC)
31h4: Discharge mV/cell (02BC)
35h4: Peak sense in mV/cell (0012)
39h4: Cutoff Temp in °C (0033)
43h4: Charge capacity Limit (TCS Capacity) in % (0062)
47h4: Safety timer in min. (012C)
51h4: Pre peak delay in min. (0014)
55h4: Trickle current in mA. (00FA)
59h4: TCS End action (0000)
63h4: TVC adjust voltage in mV (0000)
67h4: Pb Bat floating voltage in mV (0000)
71h4: Pb Bat charger voltage in mV (0000)
75h4: TCS Set store in % (0000)
79h4: Checksum: 0F9C
Command (with spaces for clarity) | Description |
---|---|
004E01 0001 0003 0001 0014 00C8 00C8 0DAC 0000 0032 0064 012C 0000 0000 0000 03E8 0000 0000 003C 0F8D | Write parameters to MEM 01, see above for description |
Command (Log viewer) | Returned value |
---|---|
000A8A0000020A | 0186CA 0000 003B 0008 0000 4A52 048B 0001 0003 0001 0037 5453 0000 000F 0000 0000 0000 0000 0DDC 0E33 0E1D 0E13 0DFB 0E12 0000 0000 0000 0000 0000 0000 0000 0000 005F 0044 004C 0054 005E 0050 0000 0000 0000 0000 0000 0000 0000 0000 0009 0031 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 4BA1 |
7h4: ???? (0000)
11h4: ???? (003B)
15h4: ???? (0008)
19h4: ???? (0000)
23h4: Input voltage in mV. (4A52)
27h4: Output current in mA. (048B)
31h4: Cycle number ???? (0001)
35h4: Battery type ???? (0003)
39h4: Channel 1 Discharge ???? (0001)
43h4: Charge time in seconds (0037)
47h4: Output voltage in mV. (5453)
51h4: Output current in mA. Charge/Discharge (0000)
55h4: Output capacity in mAh Charge/Discharge (000F)
59h4: ???? (0000)
63h4: ???? (0000)
67h4: ???? (0000)
71h4: ???? (0000)
75h4: Cell voltage 01 in mV. (0DDC)
79h4: Cell voltage 02 in mV. (0E33)
83h4: Cell voltage 03 in mV. (0E1D)
87h4: Cell voltage 04 in mV. (0E13)
91h4: Cell voltage 05 in mV. (0DFB)
95h4: Cell voltage 06 in mV. (0E12)
99h4: Cell voltage 07 in mV. (0000)
103h4: Cell voltage 08 in mV. (0000)
107h4: Cell voltage 09 in mV. (0000)
111h4: Cell voltage 10 in mV. (0000)
115h4: Cell voltage 11 in mV. (0000)
119h4: Cell voltage 12 in mV. (0000)
123h4: Cell voltage 13 in mV. (0000)
127h4: Cell voltage 14 in mV. (0000)
131h4: Internal Resistance Cell #1: HEX:005F DEC:95 (9.5 mOhm)
135h4: Internal Resistance Cell #2: HEX:0044 DEC:68 (6.8 mOhm)
139h4: Internal Resistance Cell #3: HEX:004C DEC:76 (7.6 mOhm)
143h4: Internal Resistance Cell #4: HEX:0054 DEC:84 (8.4 mOhm)
147h4: Internal Resistance Cell #5: HEX:005E DEC:94 (9.4 mOhm)
151h4: Internal Resistance Cell #6: HEX:0050 DEC:80 (8.0 mOhm)
155h4: Internal Resistance Cell #7:
159h4: Internal Resistance Cell #8:
163h4: Internal Resistance Cell #9:
167h4: Internal Resistance Cell #10:
171h4: Internal Resistance Cell #11:
175h4: Internal Resistance Cell #12:
179h4: Internal Resistance Cell #13:
183h4: Internal Resistance Cell #14:
187h4: Charge Level %
191h4: Internal resistance Pack Ri mOhm HEX:0031 DEC:49
195h4: ????
....
203h4: Output Voltage mV Discharge ????
207h4-391h4: Unknown !!
Checksum: last 4 bytes (4BA1)
Command (data viewer) | Returned value |
---|---|
000A82000001FB | 00EAC2 0000 4C1D 1EF5 0013 0000 0000 0000 0000 0000 0000 0000 0079 0036 03C1 0000 1F73 0000 0000 0000 03C1 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 2CE4 |
7h4: 0000 ????
11h4: Input voltage (4C1D)
15h4: Output voltage (1EF5)
19h4: Battery resistance (0013)
23h4: Current temperature (0000)
27h4: Peak temperature (0000)
31h4: Charge time in minute
35h4: Charge time in seconds
39h4: Cycle #1 Charge output capacity
43h4: ????
47h4: Charge peak voltage
51h4: Discharge time in minutes (0079)
55h4: Discharge time in seconds (0036)
59h4: Cycle #1, Discharge: output capacity (03C1)
63h4: ????
67h4: Charge avg voltage (1F73)
71h4: ????
75h4: Cycle #1, Charge output capacity
79h4: ????
83h4: Cycle #1: Discharge output capacity (03C1)
87h4 - 231h4 ???? (probably the 10 possible cycles!)
235h4: Checksum
Command | Description |
---|---|
000A81 0002 01FC | Read MEM 02 |
000A81 0003 01FD | Read MEM 03 |
000A81 0004 01FE | Read MEM 04 |
000A81 0005 01FF | Read MEM 05 |
000A81 0006 0200 | Read MEM 06 |
000A81 0007 0201 | Read MEM 07 |
000A81 0008 0202 | Read MEM 08 |
000A81 0009 0203 | Read MEM 09 |
000A81 000A 020B | Read MEM 10 |
000A81 000B 020C | Read MEM 11 |
000A81 000C 020D | Read MEM 12 |
000A81 000D 020E | Read MEM 13 |
000A81 000E 020F | Read MEM 14 |
000A81 000F 0210 | Read MEM 15 |
000A81 0010 01FB | Read MEM 16 |
000A81 0011 01FC | Read MEM 17 |
000A81 0012 01FD | Read MEM 18 |
000A81 0013 01FE | Read MEM 19 |
000A81 0014 01FF | Read MEM 20 |
000A0C 0001 0205 | Read All MEM |
000A09 0000 01FA | Stop ! |
000E05 0002 0003 02BF | Charge (05), Param in MEM 02, Solo Mode |
000E05 000E 0000 02CF | Charge (05), Param in MEM 14, Automatic (NiMh+NiCd) |
000E05 000E 0001 02D0 | Charge (05), Param in MEM 14, Normal (NiMh+NiCd) |
000E05 000E 0002 02D1 | Charge (05), Param in MEM 14, Linear (NiMh+NiCd) |
000E06 0002 0003 02C0 | Discharge (06), Param in MEM 02, Solo Mode |
000E06 0007 0003 02C5 | Discharge (06), Param in MEM 07, Solo Mode |
000E11 0007 0003 02C1 | Balance (11), Param in MEM 07, Solo Mode |
000E07 0002 0003 02C1 | Storage (07), Param in MEM 02, Solo Mode |
000E07 0007 0003 02C6 | Storage (07), Param in MEM 07, Solo Mode |
000A83 0000 01FC | Read User setup data |
003603 0000 0001 0001 0006 0001 0001 0001 0002 0118 0190 0009 2710 0A60 | Set User setup data |
7h4: 0000 not used?
11h4: Temperature mode; Celsius: 0000, Fahrenheit: 0001
15h4: End sound time; No cutoff: 0000, 5 seconds: 0001, 15 seconds: 0002, 1 minute: 0003, 5 minutes: 0004
19h4: End sound melody: 10 different, 1:0001, 2:0002, ..., 9:0009, 10:000A
23h4: Button sound enabled: 0001, disabled: 0000
27h4: End sound enabled: 0001, disabled: 0000
31h4: Progress sound: enabled:0001, disabled:0000
35h4: Lipo max C: 1C:0001, 2C:0002, ..., 6C:0006
39h4: Power supply voltage, HEX: 0118, DEC:280 (28.0 Volts)
43h4: Power supply current, HEX: 0190, DEC: 400 (40.0 A)
47h4: 0009: Not used?
51h4: Input voltage low warning, HEX: 2710, DEC: 10000 (10.000 V)
55h4: Checksum: 0A60