Safe API Framework
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
Loading...
Searching...
No Matches
sapi_cross_comparator_config_t Struct Reference

Configuration for sapi_cross_comparator_init(). More...

#include <sapi_cross_comparator.h>

Data Fields

uint32_t channel_timeout_ms
sapi_voter_compare_fn compare
void * compare_context
bool log_disagreements
bool trigger_safestate_on_disagreement
void(*) on_disagreement (void *context, sapi_voting_result_t result)
void * disagreement_context

Detailed Description

Configuration for sapi_cross_comparator_init().

Definition at line 35 of file sapi_cross_comparator.h.

Field Documentation

◆ channel_timeout_ms

uint32_t sapi_cross_comparator_config_t::channel_timeout_ms

Timeout for each channel's receive operation (milliseconds).

Definition at line 37 of file sapi_cross_comparator.h.

◆ compare

sapi_voter_compare_fn sapi_cross_comparator_config_t::compare

Optional custom comparison callback (same typedef as sapi_voter); NULL -> memcmp default.

Definition at line 40 of file sapi_cross_comparator.h.

◆ compare_context

void* sapi_cross_comparator_config_t::compare_context

User context passed to compare().

Definition at line 42 of file sapi_cross_comparator.h.

◆ log_disagreements

bool sapi_cross_comparator_config_t::log_disagreements

Log a disagreement via sapi_log_write() when it occurs.

Definition at line 44 of file sapi_cross_comparator.h.

◆ trigger_safestate_on_disagreement

bool sapi_cross_comparator_config_t::trigger_safestate_on_disagreement

If true (default expected), a DISAGREED result also triggers SAPI_SAFESTATE(SAPI_SAFESTATE_LEVEL_SAFE, ...) before sapi_cross_comparator_execute() returns - same rationale as sapi_voter_config_t::trigger_safestate_on_disagreement.

Definition at line 49 of file sapi_cross_comparator.h.

◆ on_disagreement

void(*) sapi_cross_comparator_config_t::on_disagreement(void *context, sapi_voting_result_t result)

Optional callback invoked whenever the result is not SAPI_VOTING_AGREED. See sapi_voter_config_t::on_disagreement for when this can/can't fire relative to the safestate trigger above.

Definition at line 53 of file sapi_cross_comparator.h.

◆ disagreement_context

void* sapi_cross_comparator_config_t::disagreement_context

User context passed to on_disagreement().

Definition at line 55 of file sapi_cross_comparator.h.


The documentation for this struct was generated from the following file: