mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-05 02:39:57 +02:00
Feature: Post reset reason as Event (#335)
* Add event for all reset reasons --------- Co-authored-by: Cabooman <81711263+Cabooman@users.noreply.github.com>
This commit is contained in:
parent
dcfba11a93
commit
2c434624c6
3 changed files with 145 additions and 1 deletions
|
@ -176,6 +176,22 @@ void init_events(void) {
|
|||
events.entries[EVENT_SERIAL_TX_FAILURE].level = EVENT_LEVEL_ERROR;
|
||||
events.entries[EVENT_SERIAL_TRANSMITTER_FAILURE].level = EVENT_LEVEL_ERROR;
|
||||
events.entries[EVENT_EEPROM_WRITE].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_UNKNOWN].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_POWERON].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_EXT].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_SW].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_PANIC].level = EVENT_LEVEL_WARNING;
|
||||
events.entries[EVENT_RESET_INT_WDT].level = EVENT_LEVEL_WARNING;
|
||||
events.entries[EVENT_RESET_TASK_WDT].level = EVENT_LEVEL_WARNING;
|
||||
events.entries[EVENT_RESET_WDT].level = EVENT_LEVEL_WARNING;
|
||||
events.entries[EVENT_RESET_DEEPSLEEP].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_BROWNOUT].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_SDIO].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_USB].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_JTAG].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_EFUSE].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_PWR_GLITCH].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_RESET_CPU_LOCKUP].level = EVENT_LEVEL_WARNING;
|
||||
|
||||
events.entries[EVENT_EEPROM_WRITE].log = false; // Don't log the logger...
|
||||
|
||||
|
@ -298,6 +314,39 @@ const char* get_event_message_string(EVENTS_ENUM_TYPE event) {
|
|||
return "OTA update timed out!";
|
||||
case EVENT_EEPROM_WRITE:
|
||||
return "Info: The EEPROM was written";
|
||||
case EVENT_RESET_UNKNOWN:
|
||||
return "Info: The board was reset unexpectedly, and reason can't be determined";
|
||||
case EVENT_RESET_POWERON:
|
||||
return "Info: The board was reset from a power-on event. Normal operation";
|
||||
case EVENT_RESET_EXT:
|
||||
return "Info: The board was reset from an external pin";
|
||||
case EVENT_RESET_SW:
|
||||
return "Info: The board was reset via software, webserver or OTA. Normal operation";
|
||||
case EVENT_RESET_PANIC:
|
||||
return "Warning: The board was reset due to an exception or panic. Inform developers!";
|
||||
case EVENT_RESET_INT_WDT:
|
||||
return "Warning: The board was reset due to an interrupt watchdog timeout. Inform developers!";
|
||||
case EVENT_RESET_TASK_WDT:
|
||||
return "Warning: The board was reset due to a task watchdog timeout. Inform developers!";
|
||||
case EVENT_RESET_WDT:
|
||||
return "Warning: The board was reset due to other watchdog timeout. Inform developers!";
|
||||
case EVENT_RESET_DEEPSLEEP:
|
||||
return "Info: The board was reset after exiting deep sleep mode";
|
||||
case EVENT_RESET_BROWNOUT:
|
||||
return "Info: The board was reset due to a momentary low voltage condition. This is expected during certain "
|
||||
"operations like flashing via USB";
|
||||
case EVENT_RESET_SDIO:
|
||||
return "Info: The board was reset over SDIO";
|
||||
case EVENT_RESET_USB:
|
||||
return "Info: The board was reset by the USB peripheral";
|
||||
case EVENT_RESET_JTAG:
|
||||
return "Info: The board was reset by JTAG";
|
||||
case EVENT_RESET_EFUSE:
|
||||
return "Info: The board was reset due to an efuse error";
|
||||
case EVENT_RESET_PWR_GLITCH:
|
||||
return "Info: The board was reset due to a detected power glitch";
|
||||
case EVENT_RESET_CPU_LOCKUP:
|
||||
return "Warning: The board was reset due to CPU lockup. Inform developers!";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
// #define INCLUDE_EVENTS_TEST // Enable to run an event test loop, see events_test_on_target.cpp
|
||||
|
||||
#define EE_MAGIC_HEADER_VALUE 0x0006 // 0x0000 to 0xFFFF
|
||||
#define EE_MAGIC_HEADER_VALUE 0x0007 // 0x0000 to 0xFFFF
|
||||
|
||||
#define GENERATE_ENUM(ENUM) ENUM,
|
||||
#define GENERATE_STRING(STRING) #STRING,
|
||||
|
@ -72,6 +72,22 @@
|
|||
XX(EVENT_SERIAL_TX_FAILURE) \
|
||||
XX(EVENT_SERIAL_TRANSMITTER_FAILURE) \
|
||||
XX(EVENT_EEPROM_WRITE) \
|
||||
XX(EVENT_RESET_UNKNOWN) \
|
||||
XX(EVENT_RESET_POWERON) \
|
||||
XX(EVENT_RESET_EXT) \
|
||||
XX(EVENT_RESET_SW) \
|
||||
XX(EVENT_RESET_PANIC) \
|
||||
XX(EVENT_RESET_INT_WDT) \
|
||||
XX(EVENT_RESET_TASK_WDT) \
|
||||
XX(EVENT_RESET_WDT) \
|
||||
XX(EVENT_RESET_DEEPSLEEP) \
|
||||
XX(EVENT_RESET_BROWNOUT) \
|
||||
XX(EVENT_RESET_SDIO) \
|
||||
XX(EVENT_RESET_USB) \
|
||||
XX(EVENT_RESET_JTAG) \
|
||||
XX(EVENT_RESET_EFUSE) \
|
||||
XX(EVENT_RESET_PWR_GLITCH) \
|
||||
XX(EVENT_RESET_CPU_LOCKUP) \
|
||||
XX(EVENT_NOF_EVENTS)
|
||||
|
||||
typedef enum { EVENTS_ENUM_TYPE(GENERATE_ENUM) } EVENTS_ENUM_TYPE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue