32 lines
1.1 KiB
C
32 lines
1.1 KiB
C
// === Início de: components/evse_link/include/evse_link_events.h ===
|
|
#ifndef EVSE_LINK_EVENTS_H_
|
|
#define EVSE_LINK_EVENTS_H_
|
|
|
|
#include "esp_event.h"
|
|
|
|
// Base de eventos do EVSE-Link
|
|
ESP_EVENT_DECLARE_BASE(EVSE_LINK_EVENTS);
|
|
|
|
// Tamanho máximo de tag propagada via EVSE-Link (inclui NUL)
|
|
#define EVSE_LINK_TAG_MAX_LEN 32
|
|
|
|
// IDs de eventos EVSE-Link
|
|
typedef enum {
|
|
LINK_EVENT_FRAME_RECEIVED, // qualquer frame válido
|
|
LINK_EVENT_SLAVE_ONLINE, // heartbeat recebido primeira vez
|
|
LINK_EVENT_SLAVE_OFFLINE, // sem heartbeat no timeout
|
|
LINK_EVENT_MASTER_POLL_SENT, // opcional: poll enviado pelo master
|
|
LINK_EVENT_CURRENT_LIMIT_APPLIED,
|
|
LINK_EVENT_SLAVE_CONFIG_UPDATED, // config atualizada pelo master
|
|
LINK_EVENT_REMOTE_AUTH_GRANTED // autorização remota (master -> slave)
|
|
} evse_link_event_t;
|
|
|
|
// Payload para LINK_EVENT_REMOTE_AUTH_GRANTED
|
|
typedef struct {
|
|
char tag[EVSE_LINK_TAG_MAX_LEN]; // idTag enviada pelo master
|
|
} evse_link_auth_grant_event_t;
|
|
|
|
#endif // EVSE_LINK_EVENTS_H_
|
|
|
|
// === Fim de: components/evse_link/include/evse_link_events.h ===
|