|
RTE RBC 2oo2 Reference Application 0.1.0 build 0006685
SIL 4 2oo2 Dual-Site Fault-Tolerant ERTMS Radio Block Centre Reference Architecture
|
Everything related to this channel's own "dual transfer" state: the single-mode degradation reaction when the A<->B peer stops answering at all, and this site's role-byte formatting helper. This site's live ONLINE/STANDBY/FAULTED role itself is now in-memory state (ctx->is_online/ctx->own_faulted), driven by the inter-site negotiate step in ab_gp_channel.c - see that file's own doc. Distinct from (and a legacy, hand-rolled precedent for) safeAPIFreamwork's own rte_dual framework module (ADR-020) - see that module's ADR for the reusable, generalized version of this same idea; this file is application-specific glue that predates it and is not retrofitted to use it in this pass (see ADR-020 section 4's own non-goals). More...
Go to the source code of this file.
Functions | |
| void | ab_gp_channel_dual_on_transfer_lost (void *context) |
| const char * | ab_gp_channel_dual_role_byte_to_string (uint8_t role_byte) |
Everything related to this channel's own "dual transfer" state: the single-mode degradation reaction when the A<->B peer stops answering at all, and this site's role-byte formatting helper. This site's live ONLINE/STANDBY/FAULTED role itself is now in-memory state (ctx->is_online/ctx->own_faulted), driven by the inter-site negotiate step in ab_gp_channel.c - see that file's own doc. Distinct from (and a legacy, hand-rolled precedent for) safeAPIFreamwork's own rte_dual framework module (ADR-020) - see that module's ADR for the reusable, generalized version of this same idea; this file is application-specific glue that predates it and is not retrofitted to use it in this pass (see ADR-020 section 4's own non-goals).
Definition in file ab_gp_channel_dual.h.
| void ab_gp_channel_dual_on_transfer_lost | ( | void * | context | ) |
rte_watchdog FAILOVER callback (config.custom_action) for ctx->dual_transfer_watchdog: fires when this channel has received no fresh sample AT ALL from its A<->B peer within RTE_EXAMPLE_AB_DUAL_TRANSFER_TIMEOUT_MS - see this function's own definition for the full reasoning on why this degrades to SINGLE mode rather than rebooting.
Local makros Local types declarations Local variables declarations Global variables declarations Local function declarations Global functions
Definition at line 25 of file ab_gp_channel_dual.c.
| const char * ab_gp_channel_dual_role_byte_to_string | ( | uint8_t | role_byte | ) |
Definition at line 39 of file ab_gp_channel_dual.c.