|
RTE RBC 2oo2 Reference Application 0.1.0 build 0006685
SIL 4 2oo2 Dual-Site Fault-Tolerant ERTMS Radio Block Centre Reference Architecture
|
One decoded envelope - see this file's own module doc for where the wire<->struct conversion now lives (per-domain, not one shared codec). More...
#include <rbc_wire_types.h>
Data Fields | |
| rbc_msg_kind_t | kind |
| uint8_t | train_id |
| uint8_t | nid_message |
| uint16_t | l_message |
| uint32_t | t_train |
| uint32_t | cycle |
| uint32_t | d_lrbg |
| uint32_t | msg_type |
| uint32_t | route_len |
| uint32_t | ma_seq |
| uint32_t | ma_length |
| uint32_t | t_train_ack |
| uint32_t | nid_lrbg |
| uint32_t | q_dirlrbg |
| uint32_t | q_dlrbg |
| uint32_t | l_doubtover |
| uint32_t | l_doubtunder |
| uint32_t | q_length |
| uint32_t | v_train |
| uint32_t | q_dirtrain |
| uint32_t | m_mode |
| uint32_t | m_level |
| uint32_t | start_signal |
| uint32_t | end_signal |
| uint32_t | route_type |
| uint32_t | route_status |
One decoded envelope - see this file's own module doc for where the wire<->struct conversion now lives (per-domain, not one shared codec).
Definition at line 371 of file rbc_wire_types.h.
| rbc_msg_kind_t rbc_envelope_t::kind |
Wire routing discriminator (0-11) - UNCHANGED meaning/values for 0-9; still what every decode switch in this codebase dispatches on.
Definition at line 373 of file rbc_wire_types.h.
| uint8_t rbc_envelope_t::train_id |
1 or 2 - which Train/IL instance this concerns. 0 = unset/not applicable (never a valid train_id on the wire).
Definition at line 375 of file rbc_wire_types.h.
| uint8_t rbc_envelope_t::nid_message |
REQ-RBC-001 (revised): the real Subset-026 NID_MESSAGE this kind corresponds to where one exists (e.g. kind=RBC_MSG_M146 -> nid_message=146U), or 0U for a kind with no real counterpart (P0/M24_M15/ROUTE_ADD/CTC_*) - see TrainRBCSim's message_catalog.json for which. Informational header field only, calculated by rbc_wire_encode() from kind - never used for routing/dispatch (kind still is), so it carries no collision risk with kind's own small, already-allocated value space (e.g. ROUTE_ADD is kind=3, unrelated to real NID_MESSAGE=3 Movement Authority).
Definition at line 377 of file rbc_wire_types.h.
| uint16_t rbc_envelope_t::l_message |
REQ-RBC-001 (revised): total envelope length in bytes (header + content), calculated by rbc_wire_encode() from kind - see this struct's own file header for the exact per-kind values. Read (not trusted blindly) by rbc_wire_decode() to know how much content this particular envelope actually carries within the fixed RBC_ENVELOPE_WIRE_SIZE slot.
Definition at line 386 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::t_train |
REQ-RBC-001 (revised): message origination timestamp (real Subset-026 header field) - caller-supplied (this codec has no clock source of its own), not yet consumed by any decision logic in this codebase.
Definition at line 392 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::cycle |
M136: this train's own free-running cycle number. M24_M15: echoes the M136 cycle being acked.
Definition at line 395 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::d_lrbg |
M136/CTC_CONNECTED: reported position.
Definition at line 397 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::msg_type |
M24_M15: RTE_EXAMPLE_MSG_M24 or _M15 (common_config.h).
Definition at line 398 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::route_len |
ROUTE_ADD: length (meters) this route grants/extends the MA by.
Definition at line 399 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::ma_seq |
M3/M146/CTC_MA_*: monotonic MA sequence number for this train.
Definition at line 400 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::ma_length |
M3/CTC_MA_*: cumulative granted MA length (meters) as of ma_seq.
Definition at line 401 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::t_train_ack |
M146 only (REQ-RBC-001 revised): real Subset-026 message 146's own content field - echoes the T_TRAIN timestamp of the message being acknowledged (the real ack mechanism; distinct from ma_seq, which this codebase's OWN, non-real M146 usage still also carries and acks by - see ab_gp_channel.c's own RBC_MSG_M146 case). 0 when kind != RBC_MSG_M146 (not present on the wire at all then - l_message says so).
Definition at line 402 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::nid_lrbg |
M136: identity of the last relevant balise group.
Definition at line 419 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::q_dirlrbg |
M136: train orientation according to reference direction.
Definition at line 420 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::q_dlrbg |
M136: train front position according to reference direction.
Definition at line 421 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::l_doubtover |
M136: overreading confidence interval.
Definition at line 422 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::l_doubtunder |
M136: underreading confidence interval.
Definition at line 423 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::q_length |
M136: train length confirmation status.
Definition at line 424 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::v_train |
M136: reported train speed.
Definition at line 425 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::q_dirtrain |
M136: actual running direction according to reference direction.
Definition at line 426 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::m_mode |
M136: reported ETCS mode.
Definition at line 427 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::m_level |
M136: reported ETCS level.
Definition at line 428 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::start_signal |
ROUTE_ADD/ROUTE_RELEASE/TRAIN_POSITION_IN_ROUTE: route identity - the signal this route starts at.
Definition at line 442 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::end_signal |
ROUTE_ADD/ROUTE_RELEASE/TRAIN_POSITION_IN_ROUTE: route identity - the signal this route ends at.
Definition at line 444 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::route_type |
ROUTE_ADD only: rbc_route_type_t (RBC_ROUTE_TYPE_FS/_OS/_SH) - the supervision mode IL is granting this route under.
Definition at line 446 of file rbc_wire_types.h.
| uint32_t rbc_envelope_t::route_status |
TRAIN_POSITION_IN_ROUTE only: rbc_route_status_t (RBC_ROUTE_STATUS_NO_TRAIN/_TRAIN_IN_ROUTE).
Definition at line 448 of file rbc_wire_types.h.