TD
Train Describer (TD) Feed
Overview
The Train Describer feed provides low-level detail about the position of trains and their train reporting number through a network of berths. Usually, but not always, a berth is associated with a signal - but there are locations (such as terminal platforms at stations) where there may be more than one berth.
From each berth, there are zero or more other berths which a train description may move, or 'step' in to. Some of these may be one-way, some may be two-way.
Topics
Message are available in geographic feeds, as well as an country-wide feed. The topic names are as follows:
Topic | Description |
---|---|
TD_ALL_SIG_AREA | All signalling areas |
TD_SE_SIG_AREA | Scotland - East |
TD_SW_SIG_AREA | Scotland - West |
TD_LNE_NE_SIG_AREA | London North Eastern - North East |
TD_MC_EM_SIG_AREA | Midlands & Continental - East Midlands |
TD_LNE_GN_SIG_AREA | London North Eastern - Great Northern |
TD_LNW_LC_SIG_AREA | London North Western - Lancashire and Cumbria |
TD_LNW_C_SIG_AREA | London North Western - Central |
TD_WCS_SIG_AREA | West Coast - South |
TD_ANG_SIG_AREA | Anglia |
TD_KENT_MCC_SIG_AREA | Kent and Midlands & Continental |
TD_SUSS_SIG_AREA | Sussex |
TD_WESS_SIG_AREA | Wessex |
TD_WTV_SIG_AREA | Western - Thames Valley |
TD_WWC_SIG_AREA | Western - West Country |
TD_WWM_SIG_AREA | Western Wales and Marches |
Message types
The Train Describer feed has seven message types:
- CA - Berth Step, where a description moves 'from' a berth, 'to' another berth
- CB - Berth Cancel, where a description is removed from a berth
- CC - Berth Interpose, where a description is interposed (placed in to) a berth
- CT - Heartbeat
- SF - Signalling data update
- SG - Signalling data refresh
- SH - Signalling data refresh finished
The CA, CB, CC and CT messages are referred to as C-Class, and the SF, SG and SH messages are referred to as S-Class.
C-Class
Messages are sent in JSON format, as follows:
- {"CA_MSG":{"time":"1349696911000", "area_id":"SK", "msg_type":"CA", "from":"3647", "to":"3649", "descr":"1F42"}}
- {"CB_MSG":{"time":"1349696911000", "area_id":"G1", "msg_type":"CB", "from":"G669", "descr":"2J01"}}
- {"CC_MSG":{"time":"1349696911000", "area_id":"G1", "msg_type":"CC", "descr":"2J01", "to":"G669"}}
- {"CT_MSG":{"time":"1349696911000", "area_id":"SA", "msg_type":"CT", "report_time":"1249"}}
CA message
The CA message is a 'step' message. This moves the description from the 'from' berth, in to the 'to' berth, cancelling the description in the 'from' berth and overwriting any description in the 'to' berth.
CB message
The CB message is a 'cancel' message. This cancels the description in the 'from' berth.
CC message
The CC message is an 'interpose' message. This inserts the description in to the 'to' berth, overwriting any description in the 'to' berth.
CT message
The CT message is a 'heartbeat' message, periodically sent from a train describer.
S-Class
Messages are sent in JSON format, as follows:
- {"SF_MSG":{"time":"1349696911000", "area_id":"WJ", "msg_type:"SF", "address":"3E", "data":"18", "report_time":"073814"}}
- {"SG_MSG":{"time":"1349696911000", "area_id":"WJ", "msg_type:"SG", "address":"30", "data":"900000C0", "report_time":"073814"}}
- {"SH_MSG":{"time":"1349696911000", "area_id":"WJ", "msg_type:"SH", "address":"30", "data":"900000C0", "report_time":"073814"}}
S-Class messages report the status of the following signalling elements:
- Signal aspects - whether the signal is displaying its most restrictive aspect or not
- Points - whether the points are set normal or reverse
- Route set - the route set from a signal to another signal or bay platform
- TRTS buttons - the status of a Train Ready to Start button, used by train dispatch staff to indicate to the signaller that platform duties are complete
- Level crossings - whether they are lowered or raised
- Track circuits - whether a particular track circuit is occupied or not
Not all train describers support S-Class data, and those that do may only support a subset of the available groups of data. The List of Train Describers shows S-Class support.
Interpreting S-Class data
Consider the S-Class data as a set of 2,048 bits, grouped in to bytes numbered from 0x00 to 0xFF. Each bit relates to a particular signalling element.
Each time an element changes state, an SF message is sent with the value of the elements in the entire byte.
Every few hours, the state of all bits is sent as a 'refresh' in a series of SG messages with the value of groups of four bytes. These messages are terminated with an SH message.
To decode the set of addresses and bits in to signalling elements, several other sets of data are required:
- A mapping table containing a list of bits and the signalling elements to which they refer
- A diagram containing signal numbers, routes available from signals, point numbers and track circuit detail
These translation tables are currently in the process of being gathered.