// === 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 ===