#ifndef METER_ORNO516_H_
#define METER_ORNO516_H_

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

/**
 * @brief Inicializa o driver do medidor ORNO 516 (SPI, mutex, 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_orno516_init(void);

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

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


#ifdef __cplusplus
}
#endif

#endif /* METER_ORNO516_H_ */
