63 lines
1.3 KiB
C
Executable File
63 lines
1.3 KiB
C
Executable File
#ifndef ORNO_MODBUS_H_
|
|
#define ORNO_MODBUS_H_
|
|
|
|
#include <stdbool.h>
|
|
#include "esp_err.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief Tipo do medidor ORNO usado na aplicação.
|
|
*/
|
|
typedef enum {
|
|
ORNO_METER_GRID, ///< Medidor na entrada da rede elétrica
|
|
ORNO_METER_EVSE ///< Medidor na saída da EVSE
|
|
} orno_meter_type_t;
|
|
|
|
/**
|
|
* @brief Inicializa o driver ORNO Modbus.
|
|
*/
|
|
esp_err_t orno_modbus_init(void);
|
|
|
|
/**
|
|
* @brief Lê a corrente RMS do medidor especificado.
|
|
*
|
|
* @param type Tipo do medidor (GRID ou EVSE)
|
|
* @param current Ponteiro para armazenar o valor da corrente (em amperes)
|
|
* @return esp_err_t ESP_OK em caso de sucesso, erro caso contrário
|
|
*/
|
|
esp_err_t orno_modbus_read_current(orno_meter_type_t type, float *current);
|
|
|
|
/**
|
|
* @brief Ativa ou desativa o modo de teste (simulação).
|
|
*/
|
|
void orno_modbus_set_meter_test(bool state);
|
|
|
|
/**
|
|
* @brief Define o modelo usado do medidor (caso afete registros).
|
|
*/
|
|
void orno_modbus_set_model(bool enabled);
|
|
|
|
/**
|
|
* @brief Retorna o estado atual do medidor (ligado/desligado).
|
|
*/
|
|
bool orno_modbus_get_meter_state(void);
|
|
|
|
/**
|
|
* @brief Inicia a task interna de comunicação (se usada).
|
|
*/
|
|
void orno_modbus_start(void);
|
|
|
|
/**
|
|
* @brief Para a task de comunicação (se usada).
|
|
*/
|
|
void orno_modbus_stop(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* ORNO_MODBUS_H_ */
|