Radio network

The radio network for the Winter Train v. 2 is based on the wireless JeeNode platform. The JeeNode radio network is a simple package based communication system capable of both broad cast and point to point communication.

Due to limitations in the protocol used by the JeeNodes, the package header can only contain one radio “node” ID - either sender or receiver. In order to simplify implementation and debugging, all communication will be done as “broadcast” (which it anyway is). The package header will contain the sender ID. The first byte of the payload will specify the package type, which normally also will indicate the intended destination.

Based on this, any receiver can identify the sender and the content and hence determine, if the receiver should react on the received package.

Compared to version 1, the specification of a few packets has been changed - details, that were not implemented in version 1.

Node ID

Node group: 101

ID Node name Description
10 RBC_COM Communication link to RBC
20 OBU_1 Train 1 - Stainz 2020
21 DMI_1 DMI for train 1
22 OBU_2 Train 2
23 DMI_2 DMI for train 2

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.


Package type

Type Use Intended destination
10 Status and position Report RBC_COM
20 Poll acknowledgement and operator commands from DMI to OBU OBU 1)
21 Poll of and indication to from OBU to DMI DMI 1)
31 Mode and movement Authority for OBU OBU 2)

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.

RF12 Package Specification

See enummeration for coding of values.

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 Actual distance from balise to train, with sign Distance measured from position of tag reader antenna.
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
AuthAck: Acknowledgement for received Movement or Mode Authority FIXME One bit only??

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

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
2 Byte Speed indication 0..255

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
3..7 byte[5] Balise ID
8,9 int Distance from balise to EOA, with sign
10 byte Allowed speed
Distance = 0 is a special MA, requesting the train to stop and clearing the MA.

it/wintertrainv2/implementation/radio/start.txt · Last modified: 2017/10/13 18:03 by jabe