add PERIODIC BMS RESET Events

This commit is contained in:
laughingguffly 2025-02-08 14:40:09 +00:00
parent c4eae97cda
commit b75d5fb20f
4 changed files with 106 additions and 106 deletions

View file

@ -130,9 +130,9 @@ void setup() {
#ifdef PERIODIC_BMS_RESET_AT #ifdef PERIODIC_BMS_RESET_AT
bmsResetTimeOffset = getTimeOffsetfromNowUntil(PERIODIC_BMS_RESET_AT); bmsResetTimeOffset = getTimeOffsetfromNowUntil(PERIODIC_BMS_RESET_AT);
if (bmsResetTimeOffset == 0) { if (bmsResetTimeOffset == 0) {
set_event(EVENT_BMS_RESET_AT_INIT_FAILED, 0); set_event(EVENT_PERIODIC_BMS_RESET_AT_INIT_FAILED, 0);
} else { } else {
set_event(EVENT_BMS_RESET_AT_INIT_SUCCESS, 0); set_event(EVENT_PERIODIC_BMS_RESET_AT_INIT_SUCCESS, 0);
} }
#endif #endif
} }

View file

@ -266,7 +266,7 @@ void handle_BMSpower() {
setBatteryPause(false, false, false, false); setBatteryPause(false, false, false, false);
datalayer.system.status.BMS_reset_in_progress = false; // Reset the power removal flag datalayer.system.status.BMS_reset_in_progress = false; // Reset the power removal flag
set_event(EVENT_BMS_RESET, 0); set_event(EVENT_PERIODIC_BMS_RESET, 0);
} }
#endif //defined(PERIODIC_BMS_RESET) || defined(REMOTE_BMS_RESET) #endif //defined(PERIODIC_BMS_RESET) || defined(REMOTE_BMS_RESET)
} }

View file

@ -218,9 +218,9 @@ void init_events(void) {
events.entries[EVENT_MQTT_DISCONNECT].level = EVENT_LEVEL_INFO; events.entries[EVENT_MQTT_DISCONNECT].level = EVENT_LEVEL_INFO;
events.entries[EVENT_EQUIPMENT_STOP].level = EVENT_LEVEL_ERROR; events.entries[EVENT_EQUIPMENT_STOP].level = EVENT_LEVEL_ERROR;
events.entries[EVENT_SD_INIT_FAILED].level = EVENT_LEVEL_WARNING; events.entries[EVENT_SD_INIT_FAILED].level = EVENT_LEVEL_WARNING;
events.entries[EVENT_BMS_RESET].level = EVENT_LEVEL_INFO; events.entries[EVENT_PERIODIC_BMS_RESET].level = EVENT_LEVEL_INFO;
events.entries[EVENT_BMS_RESET_AT_INIT_SUCCESS].level = EVENT_LEVEL_WARNING; events.entries[EVENT_PERIODIC_BMS_RESET_AT_INIT_SUCCESS].level = EVENT_LEVEL_INFO;
events.entries[EVENT_BMS_RESET_AT_INIT_FAILED].level = EVENT_LEVEL_WARNING; events.entries[EVENT_PERIODIC_BMS_RESET_AT_INIT_FAILED].level = EVENT_LEVEL_WARNING;
events.entries[EVENT_EEPROM_WRITE].log = false; // Don't log the logger... events.entries[EVENT_EEPROM_WRITE].log = false; // Don't log the logger...
@ -449,12 +449,12 @@ const char* get_event_message_string(EVENTS_ENUM_TYPE event) {
return "EQUIPMENT STOP ACTIVATED!!!"; return "EQUIPMENT STOP ACTIVATED!!!";
case EVENT_SD_INIT_FAILED: case EVENT_SD_INIT_FAILED:
return "SD card initialization failed, check hardware. Power must be removed to reset the SD card."; return "SD card initialization failed, check hardware. Power must be removed to reset the SD card.";
case EVENT_BMS_RESET: case EVENT_PERIODIC_BMS_RESET:
return "BMS Reset Event Completed."; return "BMS Reset Event Completed.";
case EVENT_BMS_RESET_AT_INIT_SUCCESS: case EVENT_PERIODIC_BMS_RESET_AT_INIT_SUCCESS:
return "Successfully Syncronised with the NTP Server BMS will reset every 24 hours at defined time"; return "Successfully syncronised with the NTP Server. BMS will reset every 24 hours at defined time";
case EVENT_BMS_RESET_AT_INIT_FAILED: case EVENT_PERIODIC_BMS_RESET_AT_INIT_FAILED:
return "Failed to syncronise with the NTP Server BMS will reset every 24 hours from when the emulator was " return "Failed to syncronise with the NTP Server. BMS will reset every 24 hours from when the emulator was "
"powered on"; "powered on";
default: default:
return ""; return "";

View file

@ -25,101 +25,101 @@
* - Increment EE_MAGIC_HEADER_VALUE in case you've changed the order * - Increment EE_MAGIC_HEADER_VALUE in case you've changed the order
*/ */
#define EVENTS_ENUM_TYPE(XX) \ #define EVENTS_ENUM_TYPE(XX) \
XX(EVENT_CANMCP2517FD_INIT_FAILURE) \ XX(EVENT_CANMCP2517FD_INIT_FAILURE) \
XX(EVENT_CANMCP2515_INIT_FAILURE) \ XX(EVENT_CANMCP2515_INIT_FAILURE) \
XX(EVENT_CANFD_BUFFER_FULL) \ XX(EVENT_CANFD_BUFFER_FULL) \
XX(EVENT_CAN_BUFFER_FULL) \ XX(EVENT_CAN_BUFFER_FULL) \
XX(EVENT_CAN_OVERRUN) \ XX(EVENT_CAN_OVERRUN) \
XX(EVENT_CAN_CORRUPTED_WARNING) \ XX(EVENT_CAN_CORRUPTED_WARNING) \
XX(EVENT_CAN_BATTERY_MISSING) \ XX(EVENT_CAN_BATTERY_MISSING) \
XX(EVENT_CAN_BATTERY2_MISSING) \ XX(EVENT_CAN_BATTERY2_MISSING) \
XX(EVENT_CAN_CHARGER_MISSING) \ XX(EVENT_CAN_CHARGER_MISSING) \
XX(EVENT_CAN_INVERTER_MISSING) \ XX(EVENT_CAN_INVERTER_MISSING) \
XX(EVENT_CAN_NATIVE_TX_FAILURE) \ XX(EVENT_CAN_NATIVE_TX_FAILURE) \
XX(EVENT_CHARGE_LIMIT_EXCEEDED) \ XX(EVENT_CHARGE_LIMIT_EXCEEDED) \
XX(EVENT_CONTACTOR_WELDED) \ XX(EVENT_CONTACTOR_WELDED) \
XX(EVENT_DISCHARGE_LIMIT_EXCEEDED) \ XX(EVENT_DISCHARGE_LIMIT_EXCEEDED) \
XX(EVENT_WATER_INGRESS) \ XX(EVENT_WATER_INGRESS) \
XX(EVENT_12V_LOW) \ XX(EVENT_12V_LOW) \
XX(EVENT_SOC_PLAUSIBILITY_ERROR) \ XX(EVENT_SOC_PLAUSIBILITY_ERROR) \
XX(EVENT_SOC_UNAVAILABLE) \ XX(EVENT_SOC_UNAVAILABLE) \
XX(EVENT_STALE_VALUE) \ XX(EVENT_STALE_VALUE) \
XX(EVENT_KWH_PLAUSIBILITY_ERROR) \ XX(EVENT_KWH_PLAUSIBILITY_ERROR) \
XX(EVENT_BALANCING_START) \ XX(EVENT_BALANCING_START) \
XX(EVENT_BALANCING_END) \ XX(EVENT_BALANCING_END) \
XX(EVENT_BATTERY_EMPTY) \ XX(EVENT_BATTERY_EMPTY) \
XX(EVENT_BATTERY_FULL) \ XX(EVENT_BATTERY_FULL) \
XX(EVENT_BATTERY_FUSE) \ XX(EVENT_BATTERY_FUSE) \
XX(EVENT_BATTERY_FROZEN) \ XX(EVENT_BATTERY_FROZEN) \
XX(EVENT_BATTERY_CAUTION) \ XX(EVENT_BATTERY_CAUTION) \
XX(EVENT_BATTERY_CHG_STOP_REQ) \ XX(EVENT_BATTERY_CHG_STOP_REQ) \
XX(EVENT_BATTERY_DISCHG_STOP_REQ) \ XX(EVENT_BATTERY_DISCHG_STOP_REQ) \
XX(EVENT_BATTERY_CHG_DISCHG_STOP_REQ) \ XX(EVENT_BATTERY_CHG_DISCHG_STOP_REQ) \
XX(EVENT_BATTERY_OVERHEAT) \ XX(EVENT_BATTERY_OVERHEAT) \
XX(EVENT_BATTERY_OVERVOLTAGE) \ XX(EVENT_BATTERY_OVERVOLTAGE) \
XX(EVENT_BATTERY_UNDERVOLTAGE) \ XX(EVENT_BATTERY_UNDERVOLTAGE) \
XX(EVENT_BATTERY_VALUE_UNAVAILABLE) \ XX(EVENT_BATTERY_VALUE_UNAVAILABLE) \
XX(EVENT_BATTERY_ISOLATION) \ XX(EVENT_BATTERY_ISOLATION) \
XX(EVENT_BATTERY_REQUESTS_HEAT) \ XX(EVENT_BATTERY_REQUESTS_HEAT) \
XX(EVENT_BATTERY_WARMED_UP) \ XX(EVENT_BATTERY_WARMED_UP) \
XX(EVENT_VOLTAGE_DIFFERENCE) \ XX(EVENT_VOLTAGE_DIFFERENCE) \
XX(EVENT_SOH_DIFFERENCE) \ XX(EVENT_SOH_DIFFERENCE) \
XX(EVENT_SOH_LOW) \ XX(EVENT_SOH_LOW) \
XX(EVENT_HVIL_FAILURE) \ XX(EVENT_HVIL_FAILURE) \
XX(EVENT_PRECHARGE_FAILURE) \ XX(EVENT_PRECHARGE_FAILURE) \
XX(EVENT_INTERNAL_OPEN_FAULT) \ XX(EVENT_INTERNAL_OPEN_FAULT) \
XX(EVENT_INVERTER_OPEN_CONTACTOR) \ XX(EVENT_INVERTER_OPEN_CONTACTOR) \
XX(EVENT_INTERFACE_MISSING) \ XX(EVENT_INTERFACE_MISSING) \
XX(EVENT_MODBUS_INVERTER_MISSING) \ XX(EVENT_MODBUS_INVERTER_MISSING) \
XX(EVENT_ERROR_OPEN_CONTACTOR) \ XX(EVENT_ERROR_OPEN_CONTACTOR) \
XX(EVENT_CELL_CRITICAL_UNDER_VOLTAGE) \ XX(EVENT_CELL_CRITICAL_UNDER_VOLTAGE) \
XX(EVENT_CELL_CRITICAL_OVER_VOLTAGE) \ XX(EVENT_CELL_CRITICAL_OVER_VOLTAGE) \
XX(EVENT_CELL_UNDER_VOLTAGE) \ XX(EVENT_CELL_UNDER_VOLTAGE) \
XX(EVENT_CELL_OVER_VOLTAGE) \ XX(EVENT_CELL_OVER_VOLTAGE) \
XX(EVENT_CELL_DEVIATION_HIGH) \ XX(EVENT_CELL_DEVIATION_HIGH) \
XX(EVENT_UNKNOWN_EVENT_SET) \ XX(EVENT_UNKNOWN_EVENT_SET) \
XX(EVENT_OTA_UPDATE) \ XX(EVENT_OTA_UPDATE) \
XX(EVENT_OTA_UPDATE_TIMEOUT) \ XX(EVENT_OTA_UPDATE_TIMEOUT) \
XX(EVENT_DUMMY_INFO) \ XX(EVENT_DUMMY_INFO) \
XX(EVENT_DUMMY_DEBUG) \ XX(EVENT_DUMMY_DEBUG) \
XX(EVENT_DUMMY_WARNING) \ XX(EVENT_DUMMY_WARNING) \
XX(EVENT_DUMMY_ERROR) \ XX(EVENT_DUMMY_ERROR) \
XX(EVENT_PERSISTENT_SAVE_INFO) \ XX(EVENT_PERSISTENT_SAVE_INFO) \
XX(EVENT_SERIAL_RX_WARNING) \ XX(EVENT_SERIAL_RX_WARNING) \
XX(EVENT_SERIAL_RX_FAILURE) \ XX(EVENT_SERIAL_RX_FAILURE) \
XX(EVENT_SERIAL_TX_FAILURE) \ XX(EVENT_SERIAL_TX_FAILURE) \
XX(EVENT_SERIAL_TRANSMITTER_FAILURE) \ XX(EVENT_SERIAL_TRANSMITTER_FAILURE) \
XX(EVENT_EEPROM_WRITE) \ XX(EVENT_EEPROM_WRITE) \
XX(EVENT_RESET_UNKNOWN) \ XX(EVENT_RESET_UNKNOWN) \
XX(EVENT_RESET_POWERON) \ XX(EVENT_RESET_POWERON) \
XX(EVENT_RESET_EXT) \ XX(EVENT_RESET_EXT) \
XX(EVENT_RESET_SW) \ XX(EVENT_RESET_SW) \
XX(EVENT_RESET_PANIC) \ XX(EVENT_RESET_PANIC) \
XX(EVENT_RESET_INT_WDT) \ XX(EVENT_RESET_INT_WDT) \
XX(EVENT_RESET_TASK_WDT) \ XX(EVENT_RESET_TASK_WDT) \
XX(EVENT_RESET_WDT) \ XX(EVENT_RESET_WDT) \
XX(EVENT_RESET_DEEPSLEEP) \ XX(EVENT_RESET_DEEPSLEEP) \
XX(EVENT_RESET_BROWNOUT) \ XX(EVENT_RESET_BROWNOUT) \
XX(EVENT_RESET_SDIO) \ XX(EVENT_RESET_SDIO) \
XX(EVENT_RESET_USB) \ XX(EVENT_RESET_USB) \
XX(EVENT_RESET_JTAG) \ XX(EVENT_RESET_JTAG) \
XX(EVENT_RESET_EFUSE) \ XX(EVENT_RESET_EFUSE) \
XX(EVENT_RESET_PWR_GLITCH) \ XX(EVENT_RESET_PWR_GLITCH) \
XX(EVENT_RESET_CPU_LOCKUP) \ XX(EVENT_RESET_CPU_LOCKUP) \
XX(EVENT_PAUSE_BEGIN) \ XX(EVENT_PAUSE_BEGIN) \
XX(EVENT_PAUSE_END) \ XX(EVENT_PAUSE_END) \
XX(EVENT_WIFI_CONNECT) \ XX(EVENT_WIFI_CONNECT) \
XX(EVENT_WIFI_DISCONNECT) \ XX(EVENT_WIFI_DISCONNECT) \
XX(EVENT_MQTT_CONNECT) \ XX(EVENT_MQTT_CONNECT) \
XX(EVENT_MQTT_DISCONNECT) \ XX(EVENT_MQTT_DISCONNECT) \
XX(EVENT_EQUIPMENT_STOP) \ XX(EVENT_EQUIPMENT_STOP) \
XX(EVENT_AUTOMATIC_PRECHARGE_FAILURE) \ XX(EVENT_AUTOMATIC_PRECHARGE_FAILURE) \
XX(EVENT_SD_INIT_FAILED) \ XX(EVENT_SD_INIT_FAILED) \
XX(EVENT_NOF_EVENTS) \ XX(EVENT_PERIODIC_BMS_RESET) \
XX(EVENT_BMS_RESET) \ XX(EVENT_PERIODIC_BMS_RESET_AT_INIT_SUCCESS) \
XX(EVENT_BMS_RESET_AT_INIT_SUCCESS) \ XX(EVENT_PERIODIC_BMS_RESET_AT_INIT_FAILED) \
XX(EVENT_BMS_RESET_AT_INIT_FAILED) XX(EVENT_NOF_EVENTS)
typedef enum { EVENTS_ENUM_TYPE(GENERATE_ENUM) } EVENTS_ENUM_TYPE; typedef enum { EVENTS_ENUM_TYPE(GENERATE_ENUM) } EVENTS_ENUM_TYPE;