RTE RBC 2oo2 Reference Application 0.1.0 build 0006685
SIL 4 2oo2 Dual-Site Fault-Tolerant ERTMS Radio Block Centre Reference Architecture
Loading...
Searching...
No Matches
ab_gp_proc_handover.h File Reference

ERTMS Subset-026 §5.11 RBC-to-RBC Handover Procedure (Packet 131). More...

Include dependency graph for ab_gp_proc_handover.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void ab_gp_proc_handover_init (ab_gp_ertms_train_context_t *ctx)
 Initializes handover context for a train slot.
bool ab_gp_proc_handover_announce (ab_gp_ertms_train_context_t *ctx, uint16_t target_nid_c, uint16_t target_nid_rbc, uint64_t target_nid_radio, uint32_t d_rbctr_m)
 Announces an upcoming boundary transition to a neighboring RBC.
bool ab_gp_proc_handover_generate_packet_131 (ab_gp_ertms_train_context_t *ctx, rbc_packet_131_rbc_transition_t *out_p131)
 Generates an ERTMS Packet 131 (RBC transition order) payload.
bool ab_gp_proc_handover_complete (ab_gp_ertms_train_context_t *ctx)
 Completes the handover and marks session transferred.
ab_gp_ertms_handover_state_t ab_gp_proc_handover_get_state (const ab_gp_ertms_train_context_t *ctx)
 Returns current handover state for a train.

Detailed Description

ERTMS Subset-026 §5.11 RBC-to-RBC Handover Procedure (Packet 131).

Implements SIL 4 C99 RBC Handover state machine, Packet 131 (RBC transition order) generation, boundary distance supervision, and session transfer coordination.

Definition in file ab_gp_proc_handover.h.

Function Documentation

◆ ab_gp_proc_handover_init()

void ab_gp_proc_handover_init ( ab_gp_ertms_train_context_t * ctx)

Initializes handover context for a train slot.

Parameters
[in,out]ctxTrain ERTMS context.

Definition at line 10 of file ab_gp_proc_handover.c.

◆ ab_gp_proc_handover_announce()

bool ab_gp_proc_handover_announce ( ab_gp_ertms_train_context_t * ctx,
uint16_t target_nid_c,
uint16_t target_nid_rbc,
uint64_t target_nid_radio,
uint32_t d_rbctr_m )

Announces an upcoming boundary transition to a neighboring RBC.

Parameters
[in,out]ctxTrain ERTMS context.
[in]target_nid_cTarget country code.
[in]target_nid_rbcTarget RBC ID.
[in]target_nid_radioTarget RBC telephone number.
[in]d_rbctr_mDistance to boundary in meters.
Returns
true on success, false if invalid state/args.

Definition at line 26 of file ab_gp_proc_handover.c.

◆ ab_gp_proc_handover_generate_packet_131()

bool ab_gp_proc_handover_generate_packet_131 ( ab_gp_ertms_train_context_t * ctx,
rbc_packet_131_rbc_transition_t * out_p131 )

Generates an ERTMS Packet 131 (RBC transition order) payload.

Parameters
[in,out]ctxTrain ERTMS context.
[out]out_p131Destination Packet 131 structure.
Returns
true on success, false if no handover in progress.

Definition at line 48 of file ab_gp_proc_handover.c.

◆ ab_gp_proc_handover_complete()

bool ab_gp_proc_handover_complete ( ab_gp_ertms_train_context_t * ctx)

Completes the handover and marks session transferred.

Parameters
[in,out]ctxTrain ERTMS context.
Returns
true on success.

Definition at line 75 of file ab_gp_proc_handover.c.

◆ ab_gp_proc_handover_get_state()

ab_gp_ertms_handover_state_t ab_gp_proc_handover_get_state ( const ab_gp_ertms_train_context_t * ctx)

Returns current handover state for a train.

Parameters
[in]ctxTrain ERTMS context.
Returns
Handover progression state enum.

Definition at line 87 of file ab_gp_proc_handover.c.