Radio Packet Specification

This section specifies the packets used for communication on the radio network.

Node Group and node ID

Each node in the radio network are assigned a unique ID (address) as follows:

ID Node name Description
10 RBC_COM Communication link to RBC
20 OBU_1 Train 1 - “Cargo Train”
21 DMI_1 DMI for train 1
22 OBU_2 Train 2 - “Circus Train”
23 DMI_2 DMI for train 2
24 OBU_2 Train 3 - “Shunt Train”
25 DMI_2 DMI for train 3
50 HHT_1 HHT 1

This ID is used to identify the sender of each package. The OBU node ID is further used as a unique identification of each train towards the RBC.

The JeeNode protocol has a concept of node group. For this project, all nodes will belong to the same group: 101

Packet type

Type Use Intended destination
10 Status and position Report from OBU RBC_COM
20 Poll acknowledgement and operator commands from DMI to OBU OBU 1)
21 Poll of and indication to DMI from OBU DMI 1)
22 Version and boot info from OBU to DMI and RBC DMI 1) and RBC_COM
31 Mode and movement Authority from RBC OBU 2)
32 Remote take-over commands from RBC OBU 2)
33 Position restore command from RBC OBU 2)
50 Request from HHT RBC
51 Response to HHT from RBC HHT

1) OBU's and DMI's are assigned in pairs - one OBU has only one DMI and vice versa. Hence the receiver ID can be deduced from the sender ID.

2) The intended train will be specified in the packet.

Packet Content

See enummeration for coding of values.

Type 10, Position Report

Position report from OBU to RBC:

Index Type Use Value
0 byte Package type 10
1..5 byte[5] Balise ID
6,7 int Distance, with sign Actual distance from balise to train measured in unit of tachometer pulses. This unit is specific to each train.
8 byte Current speed 0..255
9 byte Status B0-2: Requested operational mode, B3-4 Nominal driving direction, B5-6: Track polarity, B7: AuthAck
10 byte Remote take-over mode 0: Undefined, 1: DMI, 2: Pending Remote take-over, 3: Remote take-over, 4: Pending release
Note: AuthAck - Acknowledgement for received Movement or Mode Authority. Is one bit sufficient?? 

FIXME

Type 20, DMI acknowledgement

Acknowledgement and commands from DMI to OBU:

Index Type Use Value
0 byte Package type 20
1 Byte Selectors B0-2: Mode Selector, B3-4: Direction Selector, B5-7: Traction Selector

Type 21, Poll DMI

Poll and indications from OBU to DMI:

Index Type Use Value
0 Byte Package type 21
1 Byte MA and error Indication B0: Green, B1: Yellow, B2: Red, B3: Blue, B4: Red2 (mode authority)
2 Byte Speed indication 0..255
! 3 Byte Motor power command (PWM) 0.255

Type 22, Boot info

OBU boot info to DMI:

Index Type Use Value
! 0 Byte Package type 22
! 1 Byte Major version 0..255
! 2 Byte Minor version 0..255

Type 31, Movement Authority

MA from RBC to OBU:

Index Type Use Value
0 byte Package type 31
1 byte Train ID Same as radio node ID of the OBU
2 byte Authorized mode and direction B0-2: Authorized mode (opMode, includes Emergency Stop)
3..7 byte[5] Balise ID 0, 0, 0, 0, 0: void balise ID, MA to be ignored. Any other value: MA to be respected.
8,9 int Distance from balise to EOA, with sign Measured in unit of tacometer pulses, specific for each train.
10 byte Allowed speed

Type 32, Remote take-over command

Commands for remote take-over of operation. Send from RBC to OBU:

Index Type Use Value
0 byte Package type 32
1 byte Train ID Same as radio node ID of the OBU
2 byte Remote take-over command 0: NOP, 1: request take-over, 2: release take-over
3 byte Selectors B0-2: Mode Selector, B3-4: Direction Selector, B5-7: Traction Selector

Type 33, Position restore command

Position restore command in case of OBU reset. Send from RBC to OBU:

Index Type Use Value
0 byte Package type 33
1 byte Train ID Same as radio node ID of the OBU
2..6 byte[5] Balise ID Restored position
7,8 int Distance, with sign Distance from restored position of train to balise

Type 50, HHT Request

Request from HHT. Send from HHT to RBC:

Index Type Use Value
0 byte Package type 50
1 byte Request code 0: Void, 1:Balise lookup, 2: DIstance lookup, 3: Request operation, 4: Release operation, 5:Toggle element
2..6 byte[5] Balise ID Latest read balise
7..11 byte[5] Previous Balise ID Previous read balise (Distance lookup only)

Type 51, HHT Response

Response from RBC on HHT request. Send from RBC to HHT:

Index Type Use Value
0 byte Package type 51
1 byte Response code 0: Void 1: Balise known, 2: Balise unknown, 3: Distance positive, 4: Distance negative, 5: Distance ambiguous
2..6 byte[5] Balise ID For reference
7..16 char[10] Balise name (response code 1)
7,8 int Distance (response code 3)

it/wintertrainv4/implementation/radiopacket.txt · Last modified: 2020/10/20 21:26 by jabe