Add grid and EVSE meter components with load balancer

This commit is contained in:
2025-06-08 14:21:10 +01:00
parent e77ea55047
commit 56231fa788
23 changed files with 289 additions and 7 deletions

View File

@@ -0,0 +1,6 @@
set(srcs
"src/orno_modbus.c"
)
idf_component_register(SRCS "${srcs}"
INCLUDE_DIRS "include")

View File

@@ -0,0 +1,22 @@
#ifndef ORNO_MODBUS_H_
#define ORNO_MODBUS_H_
#include "esp_err.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
ORNO_METER_GRID,
ORNO_METER_EVSE
} orno_meter_type_t;
esp_err_t orno_modbus_init(void);
esp_err_t orno_modbus_read_current(orno_meter_type_t type, float *current);
#ifdef __cplusplus
}
#endif
#endif /* ORNO_MODBUS_H_ */

View File

@@ -0,0 +1,21 @@
#include "orno_modbus.h"
#include "esp_log.h"
static const char *TAG = "orno_modbus";
esp_err_t orno_modbus_init(void)
{
ESP_LOGI(TAG, "Initializing ORNO Modbus driver");
return ESP_OK;
}
esp_err_t orno_modbus_read_current(orno_meter_type_t type, float *current)
{
if (!current) {
return ESP_ERR_INVALID_ARG;
}
// Stub implementation - replace with real Modbus queries
*current = 0.0f;
ESP_LOGD(TAG, "Read current type %d -> %f", type, *current);
return ESP_OK;
}