diff --git a/components/meter/CMakeLists.txt b/components/ade7758/CMakeLists.txt old mode 100755 new mode 100644 similarity index 100% rename from components/meter/CMakeLists.txt rename to components/ade7758/CMakeLists.txt diff --git a/components/meter/include/ade7758.h b/components/ade7758/include/ade7758.h old mode 100755 new mode 100644 similarity index 100% rename from components/meter/include/ade7758.h rename to components/ade7758/include/ade7758.h diff --git a/components/meter/include/meter.h b/components/ade7758/include/meter.h old mode 100755 new mode 100644 similarity index 100% rename from components/meter/include/meter.h rename to components/ade7758/include/meter.h diff --git a/components/meter/src/ade7758.c b/components/ade7758/src/ade7758.c old mode 100755 new mode 100644 similarity index 100% rename from components/meter/src/ade7758.c rename to components/ade7758/src/ade7758.c diff --git a/components/meter/src/energy_meter.c b/components/ade7758/src/energy_meter.c old mode 100755 new mode 100644 similarity index 100% rename from components/meter/src/energy_meter.c rename to components/ade7758/src/energy_meter.c diff --git a/components/meter/src/meter.c b/components/ade7758/src/meter.c old mode 100755 new mode 100644 similarity index 100% rename from components/meter/src/meter.c rename to components/ade7758/src/meter.c diff --git a/components/evsemeter/CMakeLists.txt b/components/evsemeter/CMakeLists.txt index 310ee77..7cfb277 100755 --- a/components/evsemeter/CMakeLists.txt +++ b/components/evsemeter/CMakeLists.txt @@ -6,4 +6,4 @@ set(srcs idf_component_register(SRCS "${srcs}" INCLUDE_DIRS "include" - REQUIRES meter_orno_modbus) + REQUIRES meter_orno_modbus ade7758) diff --git a/components/evsemeter/src/evsemeter_ade7758.c b/components/evsemeter/src/evsemeter_ade7758.c index 7b8a248..76b1e4f 100755 --- a/components/evsemeter/src/evsemeter_ade7758.c +++ b/components/evsemeter/src/evsemeter_ade7758.c @@ -1,12 +1,30 @@ #include "evsemeter.h" #include "esp_event.h" #include "esp_log.h" +#include "ade7758.h" + +#define PIN_NUM_CLK 15 +#define PIN_NUM_MOSI 2 +#define PIN_NUM_MISO 4 +#define PIN_NUM_CS 23 +#define EEPROM_HOST HSPI_HOST + +#define IRMS_CAL 53416.0f static const char *TAG = "evsemeter_ade7758"; esp_err_t evsemeter_init(void) { ESP_LOGI(TAG, "Initializing EVSE meter (ADE7758)"); + + ESP_ERROR_CHECK(Init(EEPROM_HOST, PIN_NUM_MISO, PIN_NUM_MOSI, PIN_NUM_CLK)); + ESP_ERROR_CHECK(InitSpi(PIN_NUM_CS)); + + gainSetup(INTEGRATOR_OFF, FULLSCALESELECT_0_5V, GAIN_1, GAIN_1); + setupDivs(1, 1, 1); + setLcycMode(0x00); + resetStatus(); + return ESP_OK; } @@ -15,7 +33,8 @@ esp_err_t evsemeter_read_current(float *current) if (!current) { return ESP_ERR_INVALID_ARG; } - *current = 0.0f; + + *current = airms() / IRMS_CAL; esp_event_post(EVSEMETER_EVENT, EVSEMETER_EVENT_UPDATE, current, sizeof(float), portMAX_DELAY); return ESP_OK; } diff --git a/components/ocpp/CMakeLists.txt b/components/ocpp/CMakeLists.txt index 3c08ac9..261f343 100755 --- a/components/ocpp/CMakeLists.txt +++ b/components/ocpp/CMakeLists.txt @@ -5,4 +5,4 @@ set(srcs idf_component_register(SRCS "${srcs}" INCLUDE_DIRS "include" PRIV_REQUIRES nvs_flash - REQUIRES config esp_wifi evse meter mongoose MicroOcpp MicroOcppMongoose) + REQUIRES config esp_wifi evse ade7758 mongoose MicroOcpp MicroOcppMongoose) diff --git a/components/peripherals/CMakeLists.txt b/components/peripherals/CMakeLists.txt index 5d3b18f..803e19b 100755 --- a/components/peripherals/CMakeLists.txt +++ b/components/peripherals/CMakeLists.txt @@ -19,4 +19,4 @@ set(srcs idf_component_register(SRCS "${srcs}" INCLUDE_DIRS "include" PRIV_REQUIRES nvs_flash driver esp_adc esp_timer - REQUIRES config evse api meter ntc_driver) \ No newline at end of file + REQUIRES config evse api ade7758 ntc_driver)