File syn_errlog.h¶
FileList > src > syntropic > system > syn_errlog.h
Go to the source code of this file
Persistent error registry — survives resets via param store. More...
#include "../common/syn_defs.h"#include <stdbool.h>#include <stddef.h>#include <stdint.h>
Classes¶
| Type | Name |
|---|---|
| struct | SYN_ErrEntry Error log entry — code + severity + context + timestamps. |
| struct | SYN_ErrLog Error log instance — circular buffer of error entries. |
Public Types¶
| Type | Name |
|---|---|
| enum | SYN_ErrSeverity Error severity levels. |
Public Functions¶
| Type | Name |
|---|---|
| void | syn_errlog_clear (SYN_ErrLog * log) Clear all entries. |
| size_t | syn_errlog_count_severity (const SYN_ErrLog * log, SYN_ErrSeverity severity) Count errors with a specific severity level. |
| void | syn_errlog_init (SYN_ErrLog * log, SYN_ErrEntry * entries, size_t capacity, uint32_t boot_count) Initialize the error log. |
| const SYN_ErrEntry * | syn_errlog_latest (const SYN_ErrLog * log) Get the most recent error entry. |
| bool | syn_errlog_read (const SYN_ErrLog * log, size_t index, SYN_ErrEntry * out) Read an error entry by index (0 = oldest available). |
| void | syn_errlog_record (SYN_ErrLog * log, uint16_t code, SYN_ErrSeverity severity, uint32_t context) Record an error. |
Public Static Functions¶
| Type | Name |
|---|---|
| size_t | syn_errlog_available (const SYN_ErrLog * log) Number of entries currently available for reading. |
| size_t | syn_errlog_count (const SYN_ErrLog * log) Total errors ever recorded (including overwritten). |
| void | syn_errlog_enable (SYN_ErrLog * log, bool en) Enable/disable recording. |
Detailed Description¶
Records errors with code, timestamp, boot count, and optional context. Stored in flash via syn_param so they survive power cycles. Can be queried via CLI for field diagnostics.
** **
SYN_ErrEntry entries[16];
SYN_ErrLog elog;
syn_errlog_init(&elog, entries, 16, &my_param_store, 42);
syn_errlog_record(&elog, ERR_MOTOR_STALL, 0x0001);
syn_errlog_record(&elog, ERR_OVERTEMP, 85);
// Read back:
SYN_ErrEntry e;
for (size_t i = 0; i < syn_errlog_count(&elog); i++) {
syn_errlog_read(&elog, i, &e);
// e.code, e.context, e.timestamp, e.boot_count
}
Public Types Documentation¶
enum SYN_ErrSeverity¶
Error severity levels.
enum SYN_ErrSeverity {
SYN_ERR_INFO = 0,
SYN_ERR_WARNING = 1,
SYN_ERR_ERROR = 2,
SYN_ERR_FATAL = 3
};
Public Functions Documentation¶
function syn_errlog_clear¶
Clear all entries.
Parameters:
logError log.
function syn_errlog_count_severity¶
Count errors with a specific severity level.
Parameters:
logError log.severitySeverity to count.
Returns:
Number of matching entries.
function syn_errlog_init¶
Initialize the error log.
void syn_errlog_init (
SYN_ErrLog * log,
SYN_ErrEntry * entries,
size_t capacity,
uint32_t boot_count
)
Parameters:
logError log instance.entriesCaller-provided entry buffer.capacityNumber of entries in buffer.boot_countCurrent boot count (from boot manager or 0).
function syn_errlog_latest¶
Get the most recent error entry.
Parameters:
logError log.
Returns:
Pointer to latest entry, or NULL if empty.
function syn_errlog_read¶
Read an error entry by index (0 = oldest available).
Parameters:
logError log.indexEntry index.outOutput entry.
Returns:
true if entry exists.
function syn_errlog_record¶
Record an error.
void syn_errlog_record (
SYN_ErrLog * log,
uint16_t code,
SYN_ErrSeverity severity,
uint32_t context
)
Parameters:
logError log.codeApplication-defined error code.severitySeverity level.contextApplication-defined context value.
Public Static Functions Documentation¶
function syn_errlog_available¶
Number of entries currently available for reading.
Parameters:
logError log.
Returns:
Available entry count.
function syn_errlog_count¶
Total errors ever recorded (including overwritten).
Parameters:
logError log.
Returns:
Total error count.
function syn_errlog_enable¶
Enable/disable recording.
Parameters:
logError log.entrue to enable, false to disable.
The documentation for this class was generated from the following file src/syntropic/system/syn_errlog.h