#ifndef EVSE_EVENTS_H #define EVSE_EVENTS_H #pragma once #include "esp_event.h" ESP_EVENT_DECLARE_BASE(EVSE_EVENTS); typedef enum { EVSE_EVENT_INIT, EVSE_EVENT_STATE_CHANGED, EVSE_EVENT_CONFIG_UPDATED, } evse_event_id_t; typedef enum { EVSE_STATE_EVENT_IDLE, EVSE_STATE_EVENT_WAITING, EVSE_STATE_EVENT_CHARGING, EVSE_STATE_EVENT_FAULT } evse_state_event_t; typedef struct { evse_state_event_t state; } evse_state_event_data_t; typedef struct { bool charging; // Estado de carregamento float hw_max_current; // Corrente máxima suportada pelo hardware float runtime_current; // Corrente de carregamento em uso int64_t timestamp_us; // Momento da atualização } evse_config_event_data_t; #endif // EVSE_EVENTS_H