SafeAPI RBC 2oo2 Generic Application
IL/CTC route and train logic for the safeAPIRBC2oo2 reference RBC
Loading...
Searching...
No Matches
ab_ga_ertms_ctc_types.h
1
8
9#ifndef RBC_CTC_TYPES_H
10#define RBC_CTC_TYPES_H
11
12#include "../rbc_ertms_types.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18#define RBC_CTC_TRAIN_SERVICE_STR_LEN 16U
19#define RBC_CTC_ALARM_DESC_MAX_LEN 64U
20#define RBC_CTC_MAX_TRACK_SECTIONS 32U
21
22/* ========================================================================= */
23/* Train Supervision & Telemetry Models */
24/* ========================================================================= */
25
26typedef enum rbc_ctc_supervision_state_e
27{
28 RBC_CTC_SUPERVISION_NORMAL = 0,
29 RBC_CTC_SUPERVISION_WARNING = 1,
30 RBC_CTC_SUPERVISION_INTERVENTION = 2,
31 RBC_CTC_SUPERVISION_COMM_LOST = 3,
32 RBC_CTC_SUPERVISION_STANDBY = 4
33} rbc_ctc_supervision_state_t;
34
35typedef struct rbc_ctc_train_telemetry_s
36{
37 rbc_nid_engine_t nid_engine;
38 char service_number[RBC_CTC_TRAIN_SERVICE_STR_LEN];
39 rbc_nid_lrbg_t nid_lrbg;
40 rbc_distance_m_t d_lrbg_m;
41 rbc_speed_kmh_t current_speed_kmh;
42 rbc_speed_kmh_t allowed_speed_kmh;
43 rbc_m_mode_t etcs_mode;
44 rbc_m_level_t etcs_level;
45 rbc_distance_m_t ma_length_m;
46 uint32_t ma_seq;
47 rbc_ctc_supervision_state_t supervision_state;
48 rbc_timestamp_ms_t last_report_time_ms;
50
51/* ========================================================================= */
52/* Train Description & Timetable Integration */
53/* ========================================================================= */
54
55typedef struct rbc_ctc_train_describer_s
56{
57 rbc_nid_engine_t nid_engine;
58 char service_number[RBC_CTC_TRAIN_SERVICE_STR_LEN];
59 uint32_t destination_station_id;
60 rbc_timestamp_ms_t scheduled_departure_ms;
61 rbc_timestamp_ms_t scheduled_arrival_ms;
62 rbc_distance_m_t train_length_m;
63 rbc_speed_kmh_t max_speed_kmh;
65
66/* ========================================================================= */
67/* Dispatcher TSR Management */
68/* ========================================================================= */
69
70typedef enum rbc_ctc_tsr_state_e
71{
72 RBC_CTC_TSR_STATE_PLANNED = 0,
73 RBC_CTC_TSR_STATE_ACTIVE = 1,
74 RBC_CTC_TSR_STATE_REVOKED = 2
75} rbc_ctc_tsr_state_t;
76
77typedef struct rbc_ctc_tsr_command_s
78{
79 rbc_nid_tsr_t nid_tsr;
80 rbc_nid_section_t start_section;
81 rbc_distance_m_t start_offset_m;
82 rbc_distance_m_t length_m;
83 rbc_speed_kmh_t speed_limit_kmh;
84 rbc_timestamp_ms_t valid_from_ms;
85 rbc_timestamp_ms_t valid_to_ms;
86 rbc_ctc_tsr_state_t state;
88
89/* ========================================================================= */
90/* Alarms & System Diagnostics */
91/* ========================================================================= */
92
93typedef enum rbc_ctc_alarm_severity_e
94{
95 RBC_CTC_ALARM_INFO = 0,
96 RBC_CTC_ALARM_WARNING = 1,
97 RBC_CTC_ALARM_CRITICAL = 2
98} rbc_ctc_alarm_severity_t;
99
100typedef struct rbc_ctc_alarm_event_s
101{
102 uint32_t alarm_id;
103 rbc_ctc_alarm_severity_t severity;
104 rbc_nid_engine_t nid_engine;
105 rbc_timestamp_ms_t timestamp_ms;
106 char description[RBC_CTC_ALARM_DESC_MAX_LEN];
108
109#ifdef __cplusplus
110}
111#endif
112
113#endif /* RBC_CTC_TYPES_H */
Last Relevant Balise Group (Country + BG identifier).