mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-04 10:19:29 +02:00
Event cleanup
This commit is contained in:
parent
32378df03e
commit
b528c8917f
25 changed files with 45 additions and 138 deletions
|
@ -39,6 +39,9 @@ void init_events(void) {
|
|||
entries[EVENT_CAN_WARNING].led_color = YELLOW;
|
||||
entries[EVENT_CELL_DEVIATION_HIGH].led_color = YELLOW;
|
||||
entries[EVENT_KWH_PLAUSIBILITY_ERROR].led_color = YELLOW;
|
||||
|
||||
// BLUE...
|
||||
entries[EVENT_OTA_UPDATE].led_color = BLUE;
|
||||
}
|
||||
|
||||
void set_event(EVENTS_ENUM_TYPE event, uint8_t data) {
|
||||
|
@ -48,12 +51,25 @@ void set_event(EVENTS_ENUM_TYPE event, uint8_t data) {
|
|||
entries[event].timestamp = time_seconds;
|
||||
entries[event].data = data;
|
||||
entries[event].occurences++;
|
||||
|
||||
update_led_color(event);
|
||||
|
||||
if (total_led_color == RED) {
|
||||
bms_status = FAULT;
|
||||
} else if (total_led_color) {
|
||||
bms_status = UPDATING;
|
||||
}
|
||||
|
||||
set_event_message(event);
|
||||
#ifdef DEBUG_VIA_USB
|
||||
Serial.println(event_message);
|
||||
#endif
|
||||
}
|
||||
|
||||
uint8_t get_event_ledcolor(void) {
|
||||
return total_led_color;
|
||||
}
|
||||
|
||||
/* Local functions */
|
||||
static void update_event_time(void) {
|
||||
unsigned long new_millis = millis();
|
||||
|
@ -64,7 +80,7 @@ static void update_event_time(void) {
|
|||
}
|
||||
|
||||
static void update_led_color(EVENTS_ENUM_TYPE event) {
|
||||
total_led_color = (total_led_color == RED) ? RED : entries[event].led_color;
|
||||
total_led_color = max(total_led_color, entries[event].led_color);
|
||||
}
|
||||
|
||||
static void set_event_message(EVENTS_ENUM_TYPE event) {
|
||||
|
@ -132,6 +148,9 @@ static void set_event_message(EVENTS_ENUM_TYPE event) {
|
|||
case EVENT_UNKNOWN_EVENT_SET:
|
||||
snprintf(event_message, sizeof(event_message), "An unknown event was set! Review your code!");
|
||||
break;
|
||||
case EVENT_OTA_UPDATE:
|
||||
snprintf(event_message, sizeof(event_message), "OTA update started!");
|
||||
break;
|
||||
case EVENT_DUMMY:
|
||||
snprintf(event_message, sizeof(event_message), "The dummy event was set!"); // Don't change this event message!
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue