Publish Battery Emulator Events to MQTT

This commit is contained in:
amarofarinha 2024-09-04 19:49:48 +01:00
parent 5220bab830
commit 47fa46ed4e
3 changed files with 152 additions and 72 deletions

View file

@ -130,6 +130,7 @@ void init_events(void) {
events.entries[i].timestamp = 0;
events.entries[i].occurences = 0;
events.entries[i].log = true;
events.entries[i].MQTTpublished = false; // Not published by default
}
events.entries[EVENT_CANFD_INIT_FAILURE].level = EVENT_LEVEL_WARNING;
@ -222,6 +223,10 @@ void clear_event(EVENTS_ENUM_TYPE event) {
}
}
void set_event_MQTTpublished(EVENTS_ENUM_TYPE event) {
events.entries[event].MQTTpublished = true;
}
const char* get_event_message_string(EVENTS_ENUM_TYPE event) {
switch (event) {
case EVENT_CANFD_INIT_FAILURE:
@ -397,6 +402,7 @@ static void set_event(EVENTS_ENUM_TYPE event, uint8_t data, bool latched) {
if ((events.entries[event].state != EVENT_STATE_ACTIVE) &&
(events.entries[event].state != EVENT_STATE_ACTIVE_LATCHED)) {
events.entries[event].occurences++;
events.entries[event].MQTTpublished = false;
if (events.entries[event].log) {
log_event(event, data);
}