|
K-FSW ec10f94
Modular flight software on Zephyr, for small satellites
|
Data Structures | |
| struct | kfsw_event_record |
| struct | kfsw_event_stats |
Macros | |
| #define | KFSW_EVENT_MAX_PAYLOAD_SIZE 16U |
| #define | KFSW_EVENT_PARAM_TABLE_ID 27U |
| #define | KFSW_EVENT_PARAM_TABLE_NAME "event" |
Types | |
| typedef bool(* | kfsw_event_visitor_t) (const struct kfsw_event_record *record, void *context) |
Enumerations | |
| enum | kfsw_event_source { KFSW_EVENT_SOURCE_BOOT = 1 , KFSW_EVENT_SOURCE_COMMAND = 2 , KFSW_EVENT_SOURCE_FTP = 3 , KFSW_EVENT_SOURCE_APP = 4 , KFSW_EVENT_SOURCE_FBO = 5 , KFSW_EVENT_SOURCE_GNDWDT = 6 , KFSW_EVENT_SOURCE_RESMON = 7 } |
| enum | kfsw_event_severity { KFSW_EVENT_INFO = 0 , KFSW_EVENT_WARNING = 1 , KFSW_EVENT_ERROR = 2 , KFSW_EVENT_CRITICAL = 3 } |
Functions | |
| void | kfsw_event_emit (enum kfsw_event_source source, uint16_t id, enum kfsw_event_severity severity, const void *payload, size_t payload_size) |
| void | kfsw_event_visit (kfsw_event_visitor_t visitor, void *context) |
| int | kfsw_event_get (uint16_t age, struct kfsw_event_record *record) |
| void | kfsw_event_get_stats (struct kfsw_event_stats *stats) |
| void | kfsw_event_clear (void) |
| const char * | kfsw_event_severity_name (enum kfsw_event_severity severity) |
| const char * | kfsw_event_source_name (enum kfsw_event_source source) |
Variables | |
| const struct kfsw_param_definition_set | kfsw_event_param_definitions |
Bounded event record.
RAM record of numeric events, separate from the console log.
Each event has an ID, timestamp, sequence number and small payload. The ring does not survive a reset.
| #define KFSW_EVENT_MAX_PAYLOAD_SIZE 16U |
Payload bytes are stored as given.
Payloads sent over a link are big-endian.
| #define KFSW_EVENT_PARAM_TABLE_ID 27U |
Parameter table of this service, in the service band.
| #define KFSW_EVENT_PARAM_TABLE_NAME "event" |
Parameter table name.
| enum kfsw_event_severity |
Event severity.
| enum kfsw_event_source |
Component that produced an event.
IDs are unique per source.
| void kfsw_event_clear | ( | void | ) |
Discard held records.
Counters are preserved.
| void kfsw_event_emit | ( | enum kfsw_event_source | source, |
| uint16_t | id, | ||
| enum kfsw_event_severity | severity, | ||
| const void * | payload, | ||
| size_t | payload_size | ||
| ) |
Record one event.
Safe from any thread and never blocks. When the ring is full the oldest record is overwritten and the overwritten counter increases.
| int kfsw_event_get | ( | uint16_t | age, |
| struct kfsw_event_record * | record | ||
| ) |
Copy one held record by age, where 0 is the most recent.
Returns -ENOENT when fewer records are held than requested.
| void kfsw_event_get_stats | ( | struct kfsw_event_stats * | stats | ) |
Copy the current counters.
| const char * kfsw_event_severity_name | ( | enum kfsw_event_severity | severity | ) |
Short name for a severity, for shell output.
| const char * kfsw_event_source_name | ( | enum kfsw_event_source | source | ) |
Short name for a source, for shell output.
| void kfsw_event_visit | ( | kfsw_event_visitor_t | visitor, |
| void * | context | ||
| ) |
Visit held records, oldest first.
|
extern |
Event record counters.