|
Safe API Framework 0.1.0 build 384e6ae
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
|
Fail-Safe Output Unit (FSOU) output permission, optional OSAdapter seam (ADR-041, proposed). More...
#include <stdbool.h>#include <stdint.h>#include "rte/utils/safestate/rte_safestate.h"#include "rte/utils/status/rte_status.h"Go to the source code of this file.
Functions | |
| rte_status_t | rte_fsou_grant (uint32_t cycle_id) |
| Grants this channel's output permission to the FSOU for one cycle (REQ-FSOU-002). | |
| rte_status_t | rte_fsou_revoke (rte_safestate_reason_t reason) |
| Withdraws this channel's output permission from the FSOU (REQ-FSOU-002). | |
| bool | rte_fsou_is_present (void) |
| Tells whether an FSOU OSAdapter is registered. | |
| void | rte_fsou_report_presence (void) |
| Logs once whether an FSOU is present (REQ-FSOU-003). | |
Fail-Safe Output Unit (FSOU) output permission, optional OSAdapter seam (ADR-041, proposed).
The SCP model has a hardware FSOU that passes a site's outputs only when both channels granted permission in the current cycle window (Capella IF-SCP-02/03, baseline rule 4). This module is the RTE side of that seam: it dispatches a per-cycle grant and a revoke to whatever FSOU OSAdapter the integrator registered (rte_osadapter/fsou/rte_osadapter_fsou.h), following the ADR-005 registration pattern.
The seam is optional. With no OSAdapter registered (e.g. the container build) there is no FSOU and the software checkpoint (rte_channel_checkpoint()) stays the only output gate; rte_fsou_report_presence() says which case applies, once.
Nothing in RTE calls rte_fsou_grant() / rte_fsou_revoke() yet: where the grant hooks into the cycle is the open decision of ADR-041.
Definition in file rte_fsou.h.