#pragma once

#ifdef __cplusplus
extern "C" {
#endif

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

/**
 * @brief Inicializa o driver do medidor Zigbee (UART, mutex, etc.).
 * 
 * @return ESP_OK se a inicialização for bem-sucedida, erro caso contrário.
 */
esp_err_t meter_zigbee_init(void);

/**
 * @brief Inicia a tarefa de leitura dos dados do medidor Zigbee.
 * 
 * @return ESP_OK se a tarefa for iniciada com sucesso, erro caso contrário.
 */
esp_err_t meter_zigbee_start(void);

/**
 * @brief Interrompe a tarefa e limpa recursos (UART, mutex, etc.).
 */
void meter_zigbee_stop(void);


#ifdef __cplusplus
}
#endif
