#ifndef METER_EA777_H_ #define METER_EA777_H_ #include #include #include "esp_err.h" #ifdef __cplusplus extern "C" { #endif /** * @brief Inicializa o driver EA777 em modo compatível antigo: GRID / slave ID 1. */ esp_err_t meter_ea777_init(void); /** * @brief Regista EA777 como meter GRID no slave ID 1. */ esp_err_t meter_ea777_grid_init(void); /** * @brief Regista EA777 como meter EVSE no slave ID 2. */ esp_err_t meter_ea777_evse_init(void); /** * @brief Inicia a task partilhada de leitura EA777. */ esp_err_t meter_ea777_start(void); /** * @brief Inicia a task partilhada de leitura EA777 para GRID. */ esp_err_t meter_ea777_grid_start(void); /** * @brief Inicia a task partilhada de leitura EA777 para EVSE. */ esp_err_t meter_ea777_evse_start(void); /** * @brief Para/remover EA777 GRID em modo compatível antigo. */ void meter_ea777_stop(void); /** * @brief Remove EA777 GRID; só destrói o Modbus master se não houver EVSE registado. */ void meter_ea777_grid_stop(void); /** * @brief Remove EA777 EVSE; só destrói o Modbus master se não houver GRID registado. */ void meter_ea777_evse_stop(void); #ifdef __cplusplus } #endif #endif /* METER_EA777_H_ */