Radio network

The radio network for the Winter Train is based on the wireless JeeNode platform. The JeeNode radio network is a simple package based communication system capable of both broard 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 package.

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.


Package type

Type Use Intented destination
10 Position Report RBC_COM
11 Mode request RBC_COM
20 Poll acknowledgement and operator commands from DMI to OBU OBU
21 Poll of and indication to DMI_1 DMI_1
21 Poll of and indication to DMI_2 DMI_2
31 Movement Authority for OBU_1 OBU_1
32 Movement Authority for OBU_2 OBU_2
41 Mode Authority for OBU_1 OBU_1
42 Mode Authority for OBU_2 OBU_2

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
10,11 int Accumulated distance counter
AuthAck: Acknowledgement for received Movement or Mode Authority

11, Mode request

Mode request from OBU to RBC

Index Type Use Value
0 byte Package type 20
1 byte Requested mode

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, 22, Poll DMI

Poll and indications from OBU to DMI:

Index Type Use Value
0 Byte Package type 21: to DMI_1, 22: to DMI_2
1 Byte MA and error Indication B0: Green, B1: Yellow, B2: Red, B3: Blue
2 Byte Speed indication 0..255

31, 32, Movement Authority

MA from RBC to OBU:

Index Type Use Value
0 byte Package type 31, 32
1..5 byte[5] Balise ID
6,7 int Distance from balise to EOA, with sign
8 byte Allowed speed
Distance = 0

is a special MA, requesting the train to stop and clearing the MA.

41, 42, Mode Authority

Allowed mode, from RBC to OBU on request from OBU:

Index Type Use Value
0 byte Package type 41, 42
1 byte Allowed mode
2 byte Max speed

it/wintertrain/implementation/radio.txt · Last modified: 2016/10/01 11:38 by jabe