SafeAPI RBC 2oo2 Generic Application
IL/CTC route and train logic for the safeAPIRBC2oo2 reference RBC
Loading...
Searching...
No Matches
ab_ga_ctc.h
Go to the documentation of this file.
1
34#ifndef SAFEAPI_EXAMPLE_AB_GA_CTC_H
35#define SAFEAPI_EXAMPLE_AB_GA_CTC_H
36
37#include <stdint.h>
38
39#include "safeapi/utils/status/sapi_status.h"
40
41#include "rbc_wire_types.h"
42#include "ga_interface.h" /* ab_gp_train_session_t (opaque), session getters/setters,
43 * GP registration - the ONLY GP header this module
44 * (or any GA module) ever includes */
45#include <stdbool.h>
46
56void ab_ga_ctc_on_route_context_changed(const ab_gp_route_context_t *ctx, ab_gp_route_update_type_t update_type);
57
66void ab_ga_ctc_on_train_context_changed(const ab_gp_train_context_t *ctx, ab_gp_train_update_type_t update_type);
67
77void ab_ga_ctc_build_connected(uint8_t out[RBC_ENVELOPE_WIRE_SIZE], uint8_t train_id, uint32_t d_lrbg);
78
85void ab_ga_ctc_build_ma_granted(uint8_t out[RBC_ENVELOPE_WIRE_SIZE], uint8_t train_id, uint32_t ma_seq,
86 uint32_t ma_length);
87
93void ab_ga_ctc_build_ma_extended(uint8_t out[RBC_ENVELOPE_WIRE_SIZE], uint8_t train_id, uint32_t ma_seq,
94 uint32_t ma_length);
95
107
139void ab_ga_ctc_build_train_info(uint8_t out[RBC_ENVELOPE_WIRE_SIZE], uint8_t train_id, uint32_t d_lrbg,
140 uint32_t ma_seq, uint32_t granted_length, bool ma_granted,
141 uint16_t front_signal, uint32_t dist_to_front_signal, uint16_t target_signal,
142 uint32_t nid_lrbg, uint32_t v_train, uint32_t m_mode);
143
149
175uint8_t ab_ga_ctc_build_outputs(ab_gp_train_session_t *sessions, ab_gp_db_t *db,
176 ab_gp_ctc_pending_output_t out[AB_GP_CTC_MAX_PENDING_OUTPUTS]);
177
178#endif /* SAFEAPI_EXAMPLE_AB_GA_CTC_H */
void ab_ga_ctc_build_connected(uint8_t out[RBC_ENVELOPE_WIRE_SIZE], uint8_t train_id, uint32_t d_lrbg)
Builds and wire-encodes the outbound CTC_CONNECTED indication for train_id (kind=RBC_MSG_CTC_CONNECTE...
Definition ab_ga_ctc.c:92
void ab_ga_ctc_build_ma_granted(uint8_t out[RBC_ENVELOPE_WIRE_SIZE], uint8_t train_id, uint32_t ma_seq, uint32_t ma_length)
Builds and wire-encodes the outbound CTC_MA_GRANTED indication for train_id (kind=RBC_MSG_CTC_MA_GRAN...
Definition ab_ga_ctc.c:103
void ab_ga_ctc_build_train_info(uint8_t out[RBC_ENVELOPE_WIRE_SIZE], uint8_t train_id, uint32_t d_lrbg, uint32_t ma_seq, uint32_t granted_length, bool ma_granted, uint16_t front_signal, uint32_t dist_to_front_signal, uint16_t target_signal, uint32_t nid_lrbg, uint32_t v_train, uint32_t m_mode)
Builds and wire-encodes a severity-leveled operational alarm (kind=RBC_MSG_CTC_ALARM) directly into o...
Definition ab_ga_ctc.c:132
uint8_t ab_ga_ctc_build_outputs(ab_gp_train_session_t *sessions, ab_gp_db_t *db, ab_gp_ctc_pending_output_t out[AB_GP_CTC_MAX_PENDING_OUTPUTS])
Decides which trains need a CTC indication THIS cycle and builds all of them - see this file's own mo...
Definition ab_ga_ctc.c:169
void ab_ga_ctc_on_train_context_changed(const ab_gp_train_context_t *ctx, ab_gp_train_update_type_t update_type)
GA's dispatch module fans every train-context change here - stores the received snapshot and marks th...
Definition ab_ga_ctc.c:278
void ab_ga_ctc_build_ma_extended(uint8_t out[RBC_ENVELOPE_WIRE_SIZE], uint8_t train_id, uint32_t ma_seq, uint32_t ma_length)
Builds and wire-encodes the outbound CTC_MA_EXTENDED indication for train_id (kind=RBC_MSG_CTC_MA_EXT...
Definition ab_ga_ctc.c:116
void ab_ga_ctc_on_route_context_changed(const ab_gp_route_context_t *ctx, ab_gp_route_update_type_t update_type)
GA's single dispatch module (safeAPIRBC2oo2GA/src/AB/main/ ab_ga_dispatch.c) is the ONLY thing that r...
Definition ab_ga_ctc.c:264