#ifndef METER_DTS024M_H_
#define METER_DTS024M_H_

#include <stdint.h>
#include <stdbool.h>
#include "esp_err.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @brief Inicializa o driver do medidor DTS024M (UART RS485, Modbus, registradores).
 *
 * @return esp_err_t Retorna ESP_OK se a inicialização for bem-sucedida, caso contrário retorna um erro.
 */
esp_err_t meter_dts024m_init(void);

/**
 * @brief Inicia a tarefa de leitura de dados do medidor DTS024M.
 *
 * @return esp_err_t Retorna ESP_OK se a tarefa for iniciada com sucesso, caso contrário retorna um erro.
 */
esp_err_t meter_dts024m_start(void);

/**
 * @brief Para a tarefa de leitura e limpa os dados internos do medidor DTS024M.
 */
void meter_dts024m_stop(void);

#ifdef __cplusplus
}
#endif

#endif /* METER_DTS024M_H_ */
