68 lines
2.0 KiB
C
Executable File
68 lines
2.0 KiB
C
Executable File
#ifndef METER_MANAGER_H
|
|
#define METER_MANAGER_H
|
|
|
|
#include "esp_err.h"
|
|
#include <stdbool.h> // Para garantir que 'bool' seja reconhecido
|
|
|
|
// Definindo tipos de medidores possíveis para EVSE e Grid
|
|
typedef enum {
|
|
METER_TYPE_NONE, // Nenhum Medidor
|
|
METER_TYPE_ADE7758, // ADE7758
|
|
METER_TYPE_ORNO513, // ORNO 513
|
|
METER_TYPE_ORNO516, // ORNO 516
|
|
METER_TYPE_MONO_ZIGBEE, // Medidor Zigbee (Mono)
|
|
METER_TYPE_TRIF_ZIGBEE // Medidor Zigbee (Trifásico)
|
|
} meter_type_t;
|
|
|
|
/**
|
|
* @brief Funções para gerenciar o medidor EVSE (ex: ADE7758).
|
|
*/
|
|
|
|
// Inicializa o medidor EVSE com o tipo especificado (ex: ADE7758)
|
|
esp_err_t meter_manager_evse_init(void);
|
|
|
|
// Inicia o medidor EVSE com o tipo especificado
|
|
esp_err_t meter_manager_evse_start(void);
|
|
|
|
// Para o medidor EVSE
|
|
esp_err_t meter_manager_evse_stop(void);
|
|
|
|
// Verifica se o medidor EVSE está habilitado
|
|
bool meter_manager_evse_is_enabled(void);
|
|
|
|
// Define o modelo do medidor EVSE (ADE7758, etc)
|
|
esp_err_t meter_manager_evse_set_model(meter_type_t meter_type);
|
|
|
|
// Retorna o modelo do medidor EVSE (ADE7758, etc)
|
|
meter_type_t meter_manager_evse_get_model(void);
|
|
|
|
|
|
/**
|
|
* @brief Funções para gerenciar o medidor Grid (ORNO 513, ORNO 516, Zigbee).
|
|
*/
|
|
|
|
// Inicializa o medidor Grid com o tipo especificado (ORNO 513, ORNO 516, Zigbee)
|
|
esp_err_t meter_manager_grid_init(void);
|
|
|
|
// Inicia o medidor Grid com o tipo especificado
|
|
esp_err_t meter_manager_grid_start(void);
|
|
|
|
// Para o medidor Grid
|
|
esp_err_t meter_manager_grid_stop(void);
|
|
|
|
// Habilita ou desabilita o medidor Grid
|
|
void meter_manager_grid_set_enabled(bool value);
|
|
|
|
// Define o modelo do medidor Grid (ORNO 513, ORNO 516, Zigbee)
|
|
esp_err_t meter_manager_grid_set_model(meter_type_t meter_type);
|
|
|
|
// Retorna o modelo do medidor Grid (ORNO 513, ORNO 516, Zigbee)
|
|
meter_type_t meter_manager_grid_get_model(void);
|
|
|
|
// Função auxiliar para converter o tipo de medidor em uma string
|
|
const char* meter_type_to_str(meter_type_t type);
|
|
|
|
meter_type_t string_to_meter_type(const char *str);
|
|
|
|
#endif // METER_MANAGER_H
|