SafeAPI RBC 2oo2 Generic Application
IL/CTC route and train logic for the safeAPIRBC2oo2 reference RBC
Toggle main menu visibility
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
15
extern
"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
26
typedef
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
35
typedef
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;
49
}
rbc_ctc_train_telemetry_t
;
50
51
/* ========================================================================= */
52
/* Train Description & Timetable Integration */
53
/* ========================================================================= */
54
55
typedef
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;
64
}
rbc_ctc_train_describer_t
;
65
66
/* ========================================================================= */
67
/* Dispatcher TSR Management */
68
/* ========================================================================= */
69
70
typedef
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
77
typedef
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;
87
}
rbc_ctc_tsr_command_t
;
88
89
/* ========================================================================= */
90
/* Alarms & System Diagnostics */
91
/* ========================================================================= */
92
93
typedef
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
100
typedef
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];
107
}
rbc_ctc_alarm_event_t
;
108
109
#ifdef __cplusplus
110
}
111
#endif
112
113
#endif
/* RBC_CTC_TYPES_H */
rbc_ctc_alarm_event_t
Definition
ab_ga_ertms_ctc_types.h:101
rbc_ctc_alarm_event_t::nid_engine
rbc_nid_engine_t nid_engine
Definition
ab_ga_ertms_ctc_types.h:104
rbc_ctc_train_describer_t
Definition
ab_ga_ertms_ctc_types.h:56
rbc_ctc_train_telemetry_t
Definition
ab_ga_ertms_ctc_types.h:36
rbc_ctc_tsr_command_t
Definition
ab_ga_ertms_ctc_types.h:78
rbc_nid_lrbg_t
Last Relevant Balise Group (Country + BG identifier).
Definition
ab_ga_ertms_types.h:43
src
AB
ctc
ab_ga_ertms_ctc_types.h
Generated by
1.18.0