#ifndef METER_MANAGER_H #define METER_MANAGER_H #include "esp_err.h" // Definindo tipos de medidores possíveis para EVSE e Grid typedef enum { METER_TYPE_NONE, // Nenhum medidor METER_TYPE_EVSE_ADE7758, // EVSE com ADE7758 METER_TYPE_GRID_ORNO513, // Grid com ORNO 513 METER_TYPE_GRID_ORNO516, // Grid com ORNO 516 METER_TYPE_GRID_ZIGBEE // Grid com Zigbee } meter_type_t; // Funções para inicializar e gerenciar o medidor EVSE (pode ser ADE7758) esp_err_t meter_manager_init_evse(meter_type_t evse_type); // Inicializa o medidor EVSE (ex: ADE7758) esp_err_t meter_manager_start_evse(meter_type_t evse_type); // Inicia o EVSE com o tipo especificado esp_err_t meter_manager_stop_evse(void); // Para o EVSE // Funções para inicializar e gerenciar o medidor Grid (pode ser ORNO 513, ORNO 516 ou Zigbee) esp_err_t meter_manager_init_grid(meter_type_t grid_type); // Inicializa o medidor Grid (ORNO 513, ORNO 516, Zigbee) esp_err_t meter_manager_start_grid(meter_type_t grid_type); // Inicia o medidor Grid com o tipo especificado esp_err_t meter_manager_stop_grid(void); // Para o medidor Grid // Funções para ler dados dos medidores esp_err_t meter_manager_read_current(meter_type_t meter_type, float *current); // Lê a corrente do medidor esp_err_t meter_manager_read_voltage(meter_type_t meter_type, float *voltage); // Lê a tensão do medidor #endif // METER_MANAGER_H