add orno driver
This commit is contained in:
@@ -1,26 +1,88 @@
|
||||
#ifndef METER_ZIGBEE_H_
|
||||
#define METER_ZIGBEE_H_
|
||||
#pragma once
|
||||
|
||||
#include "driver/uart.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "esp_err.h"
|
||||
|
||||
/**
|
||||
* @brief Send Data
|
||||
*
|
||||
* @brief Inicializa o driver do medidor Zigbee (UART, mutex, etc.)
|
||||
*/
|
||||
int meter_zigbee_send_data(const char *data);
|
||||
|
||||
esp_err_t meter_init(void);
|
||||
|
||||
/**
|
||||
* @brief Start serial MT
|
||||
*
|
||||
* @brief Inicia a tarefa de leitura dos dados do medidor Zigbee.
|
||||
*/
|
||||
void meter_zigbee_start();
|
||||
|
||||
esp_err_t meter_start(void);
|
||||
|
||||
/**
|
||||
* @brief Stop serial MT
|
||||
*
|
||||
* @brief Interrompe a tarefa e limpa recursos (UART, mutex).
|
||||
*/
|
||||
void meter_zigbee_stop(void);
|
||||
void meter_stop(void);
|
||||
|
||||
#endif /* METER_ZIGBEE_H_ */
|
||||
/**
|
||||
* @brief Verifica se o medidor Zigbee está em execução.
|
||||
*
|
||||
* @return true se a tarefa está ativa, false se não.
|
||||
*/
|
||||
bool meter_is_running(void);
|
||||
|
||||
/**
|
||||
* @brief Limpa todos os dados armazenados em memória.
|
||||
*/
|
||||
void meter_clear_data(void);
|
||||
|
||||
// ----------------------
|
||||
// Leituras por fase (L1, L2, L3)
|
||||
// ----------------------
|
||||
|
||||
// Corrente RMS (em amperes)
|
||||
float meter_get_irms_l1(void);
|
||||
float meter_get_irms_l2(void);
|
||||
float meter_get_irms_l3(void);
|
||||
|
||||
// Tensão RMS (em volts)
|
||||
float meter_get_vrms_l1(void);
|
||||
float meter_get_vrms_l2(void);
|
||||
float meter_get_vrms_l3(void);
|
||||
|
||||
// Potência ativa (W)
|
||||
int meter_get_watt_l1(void);
|
||||
int meter_get_watt_l2(void);
|
||||
int meter_get_watt_l3(void);
|
||||
|
||||
// Potência reativa (VAR)
|
||||
int meter_get_var_l1(void);
|
||||
int meter_get_var_l2(void);
|
||||
int meter_get_var_l3(void);
|
||||
|
||||
// Potência aparente (VA)
|
||||
int meter_get_va_l1(void);
|
||||
int meter_get_va_l2(void);
|
||||
int meter_get_va_l3(void);
|
||||
|
||||
// ----------------------
|
||||
// Dados adicionais
|
||||
// ----------------------
|
||||
|
||||
/**
|
||||
* @brief Retorna a frequência da rede em Hz.
|
||||
*/
|
||||
float meter_get_frequency(void);
|
||||
|
||||
/**
|
||||
* @brief Retorna o fator de potência médio.
|
||||
*/
|
||||
float meter_get_power_factor(void);
|
||||
|
||||
/**
|
||||
* @brief Retorna a energia total acumulada (kWh ou Wh, dependendo do dispositivo).
|
||||
*/
|
||||
float meter_get_total_energy(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user