integrate meter module with evse

This commit is contained in:
2025-06-08 10:57:23 +01:00
parent 2f9e3e354a
commit 2d9c531869
13 changed files with 52 additions and 191 deletions

View File

@@ -7,6 +7,16 @@ extern "C" {
#include <stdint.h>
#include <stdbool.h>
#include "esp_err.h"
/**
* @brief Grid energy meter model
*/
typedef enum {
ENERGY_METER_NONE,
ENERGY_METER_ORNO_515,
ENERGY_METER_ORNO_517,
} meter_model_t;
/**
* @brief Estrutura com os dados de medição trifásica.
@@ -65,6 +75,32 @@ MeterData meter_getData(void);
*/
bool meter_is_running(void);
// High level energy meter API
void energy_meter_init(void);
bool meter_get_state(void);
esp_err_t meter_set_state(bool _state);
meter_model_t meter_get_model(void);
esp_err_t meter_set_model(meter_model_t mode);
void energy_meter_start_session(void);
void energy_meter_stop_session(void);
void energy_meter_process(bool charging, uint16_t charging_current);
uint32_t energy_meter_get_power(void);
uint32_t energy_meter_get_session_time(void);
uint32_t energy_meter_get_charging_time(void);
uint32_t energy_meter_get_consumption(void);
void energy_meter_get_voltage(float *voltage);
float energy_meter_get_l1_voltage(void);
float energy_meter_get_l2_voltage(void);
float energy_meter_get_l3_voltage(void);
void energy_meter_get_current(float *current);
float energy_meter_get_l1_current(void);
float energy_meter_get_l2_current(void);
float energy_meter_get_l3_current(void);
const char *meter_model_to_str(meter_model_t mode);
meter_model_t meter_str_to_model(const char *str);
const char *meter_state_to_str(bool state);
bool meter_str_to_state(const char *str);
#ifdef __cplusplus
}
#endif