24 #define _ERR_MAX_BUF_SIZE 128
26 static uint32_t _errCode;
27 static const char * _errDescr;
28 const char * _errName;
34 bool errSet(uint32_t code,
const char * descr,
const char * name)
36 if (_errCode != 0)
return false;
37 if (descr != 0) _errDescr = descr;
84 if (strlen(_errDescr) == 0) {
85 logError(
"!! Error %8x: <no description> %s", _errCode, _errName);
88 if (_errName == 0 || strlen(_errName) == 0) {
89 logError(
"!! Error %8x: %s", _errCode, _errDescr);
91 logError(
"!! Error %8x: %s [%s]", _errCode, _errDescr, _errName);
102 logError(
"!! Error ??: Unknown cause");
bool errHas()
Returns whether there is an error pending.
const char * errGetDescr()
Returns the last error description, if any, else null.
void errFatal()
Prints the last error and halts the system.
Manages the global system error.
void errPrint(bool clear)
Prints the last error.
void errClear()
Clears the current error.
uint32_t errGet()
Returns the last error code, or null.
#define logError(MSG,...)
Format a log message with fatal level.
#define LOG_DEF(NAME,...)
Define a logger for a module.
bool errSet(uint32_t code, const char *error, const char *name)
Sets an error.
const char * errGetName()
Returns the last error cause name, or null.
Implements a generic logger facility.