Files
chargeflow/components/meter_manager/driver/meter_modbus/meter_ea777.h

62 lines
1.2 KiB
C
Executable File

#ifndef METER_EA777_H_
#define METER_EA777_H_
#include <stdint.h>
#include <stdbool.h>
#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_ */