Skip to content

Hyperion Charger and Test Controller (TC) application

daturach edited this page Oct 12, 2022 · 18 revisions

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