Skip to content

eLink Protocol

Adrian O'Grady edited this page May 2, 2020 · 2 revisions

Heartbeat request

Example message

21 24 05

Structure

Byte Notes
0 Command station request?
1 Ping?
2 Checksum

Heartbeat response from command station

Example message

62 22 40 00

Structure

Byte Notes
0 Command station response?
1 Pong?
2 Bit field?
3 Checksum

Loco Speed Control

Example messages

E4 13 D0 D1 80 76
E4 13 CA AC B4 25
E4 13 CA AC 00 91
E4 13 CA AC 37 A6

Stucture

Byte Notes
0 Loco control request
1 Speed control
2 Loco Id upper byte
3 Loco Id lower byte
4 Speed reverse = 0-127
Speed forward = 128-255
5 Checksum

Loco Function Control

Example messages

E4 20 C0 9F 01 9A - Loco 159, F1 on, F0, F2-F4 off
E4 20 C0 9F 11 8A - Loco 159, F0+F1 on,  F2-F4 off
E4 28 C0 9F 10 83 - Loco 159, F25 on, F21-F24 off, F26-F28 off
E4 28 C0 9F 00 93 - Loco 159, F21-F28 off

Structure

Byte Notes
0 Loco control request
1 Function bank (0x20, 0x21, 0x22, 0x23, 0x28)
2 Loco Id upper byte
3 Loco Id lower byte
4 Active functions bits
5 Checksum

Function Selection

Function Bank Bit Flag
F0 0x20 0x10
F1 0x20 0x01
F2 0x20 0x02
F3 0x20 0x04
F4 0x20 0x08
F5 0x21 0x01
F6 0x21 0x02
F7 0x21 0x04
F8 0x21 0x08
F9 0x22 0x01
F10 0x22 0x02
F11 0x22 0x04
F12 0x22 0x08
F13 0x23 0x01
F14 0x23 0x02
F15 0x23 0x04
F16 0x23 0x08
F17 0x23 0x10
F18 0x23 0x20
F19 0x23 0x40
F20 0x23 0x80
F21 0x28 0x01
F22 0x28 0x02
F23 0x28 0x04
F24 0x28 0x08
F25 0x28 0x10
F26 0x28 0x20
F27 0x28 0x40
F28 0x28 0x80

Notes

The software seems to need to track the active state of latched functions as activating and deactivating functions require selecting the relevant function bank and setting the bits for the functions that are currently active in that bank. Triggered functions are set and then cleared within a second.

Mystery Message 1

Possibly request to reset points?

Example message

52 00 8B D9

Stucture

Byte Notes
0 ???
1 Broadcast?
2 ???
3 Checksum

Notes

Sent immediately after initialising loco speeds after handshake.