From 3a75276d5c1566d4c5e39a07a3776fe200dea9d0 Mon Sep 17 00:00:00 2001 From: Siwat Sirichai Date: Mon, 25 Mar 2024 11:29:26 +0700 Subject: [PATCH 1/4] Update platformio.ini --- platformio.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platformio.ini b/platformio.ini index b8ee1dc..8077b99 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,8 +12,8 @@ platform = espressif32 board = wt32-eth01 framework = arduino -lib_deps = siwats/ESPMegaPROR3@^2.3.6 +lib_deps = siwats/ESPMegaPROR3@^2.5.1 monitor_speed = 115200 build_flags = -DCORE_DEBUG_LEVEL=0 -upload_port = COM32 -monitor_port = COM32 \ No newline at end of file +upload_port = COM7 +monitor_port = COM7 \ No newline at end of file From aee16a31a52d712b7f86009f32c148dc1b1103bc Mon Sep 17 00:00:00 2001 From: Siwat Sirichai Date: Mon, 25 Mar 2024 13:54:49 +0700 Subject: [PATCH 2/4] ct1 working --- src/main.cpp | 39 +++++++++++++++++++++++++++++++++++++++ src/main.hpp | 1 + 2 files changed, 40 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 716a133..a640a5b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,6 +7,23 @@ RemoteVariable weather = RemoteVariable(); RemoteVariable pm_switch = RemoteVariable(); RemoteVariable pm_fan_speed = RemoteVariable(); +AnalogCard analogCard = AnalogCard(); + +float voltage = 220.0; + +float adc2current(uint16_t adc_val) { + return adc_val * 0.707; +} + +#define CT_INTERVAL 5000 + +CurrentTransformerCard ct1 = CurrentTransformerCard(&analogCard, 0, &voltage, &adc2current, CT_INTERVAL); +CurrentTransformerCard ct2 = CurrentTransformerCard(&analogCard, 1, &voltage, &adc2current, CT_INTERVAL); +CurrentTransformerCard ct3 = CurrentTransformerCard(&analogCard, 2, &voltage, &adc2current, CT_INTERVAL); +CurrentTransformerCard ct4 = CurrentTransformerCard(&analogCard, 3, &voltage, &adc2current, CT_INTERVAL); +CurrentTransformerCard ct5 = CurrentTransformerCard(&analogCard, 4, &voltage, &adc2current, CT_INTERVAL); +CurrentTransformerCard ct6 = CurrentTransformerCard(&analogCard, 5, &voltage, &adc2current, CT_INTERVAL); + const char *mode_names[] = {"off", "cool", "fan_only", "dry"}; const char *fan_speed_names[] = {"auto", "high", "medium", "low"}; uint8_t row = 4; @@ -115,6 +132,28 @@ void setup() climateCard.loadStateFromFRAM(); climateCard.setFRAMAutoSave(true); espmega.display->bindClimateCard(&climateCard); + + // Current Transformers + espmega.installCard(4, &analogCard); + espmega.installCard(5, &ct1); + ct1.bindFRAM(&espmega.fram, 6000); + espmega.iot->registerCard(5); + espmega.installCard(6, &ct2); + ct2.bindFRAM(&espmega.fram, 6100); + espmega.iot->registerCard(6); + espmega.installCard(7, &ct3); + ct3.bindFRAM(&espmega.fram, 6200); + espmega.iot->registerCard(7); + espmega.installCard(8, &ct4); + ct4.bindFRAM(&espmega.fram, 6300); + espmega.iot->registerCard(8); + espmega.installCard(9, &ct5); + ct5.bindFRAM(&espmega.fram, 6400); + espmega.iot->registerCard(9); + espmega.installCard(10, &ct6); + ct6.bindFRAM(&espmega.fram, 6500); + espmega.iot->registerCard(10); + // auto binded_display_update_on_pm25_out = std::bind(&display_update,0,std::placeholders::_1); // auto binded_display_update_on_pm25_in = std::bind(&display_update,1,std::placeholders::_1); // auto binded_display_update_on_temp_out = std::bind(&display_update,2,std::placeholders::_1); diff --git a/src/main.hpp b/src/main.hpp index 61aa049..fed4ce2 100644 --- a/src/main.hpp +++ b/src/main.hpp @@ -3,6 +3,7 @@ SET_LOOP_TASK_STACK_SIZE(32*1024); #include #include +#include From 3c04d435f1ddfa21cc43bdb9f370cded29b7c0b1 Mon Sep 17 00:00:00 2001 From: Siwat Sirichai Date: Mon, 25 Mar 2024 14:14:47 +0700 Subject: [PATCH 3/4] ct loop static bug --- platformio.ini | 4 +--- src/main.cpp | 15 +++++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/platformio.ini b/platformio.ini index 8077b99..47341f7 100644 --- a/platformio.ini +++ b/platformio.ini @@ -14,6 +14,4 @@ board = wt32-eth01 framework = arduino lib_deps = siwats/ESPMegaPROR3@^2.5.1 monitor_speed = 115200 -build_flags = -DCORE_DEBUG_LEVEL=0 -upload_port = COM7 -monitor_port = COM7 \ No newline at end of file +build_flags = -DCORE_DEBUG_LEVEL=5 \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index a640a5b..f51fc29 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,12 +17,12 @@ float adc2current(uint16_t adc_val) { #define CT_INTERVAL 5000 -CurrentTransformerCard ct1 = CurrentTransformerCard(&analogCard, 0, &voltage, &adc2current, CT_INTERVAL); -CurrentTransformerCard ct2 = CurrentTransformerCard(&analogCard, 1, &voltage, &adc2current, CT_INTERVAL); -CurrentTransformerCard ct3 = CurrentTransformerCard(&analogCard, 2, &voltage, &adc2current, CT_INTERVAL); -CurrentTransformerCard ct4 = CurrentTransformerCard(&analogCard, 3, &voltage, &adc2current, CT_INTERVAL); -CurrentTransformerCard ct5 = CurrentTransformerCard(&analogCard, 4, &voltage, &adc2current, CT_INTERVAL); -CurrentTransformerCard ct6 = CurrentTransformerCard(&analogCard, 5, &voltage, &adc2current, CT_INTERVAL); +CurrentTransformerCard ct1 = CurrentTransformerCard(&analogCard, 0, &voltage, &adc2current, 5000); +CurrentTransformerCard ct2 = CurrentTransformerCard(&analogCard, 1, &voltage, &adc2current, 5000); +CurrentTransformerCard ct3 = CurrentTransformerCard(&analogCard, 2, &voltage, &adc2current, 5000); +CurrentTransformerCard ct4 = CurrentTransformerCard(&analogCard, 3, &voltage, &adc2current, 5000); +CurrentTransformerCard ct5 = CurrentTransformerCard(&analogCard, 4, &voltage, &adc2current, 5000); +CurrentTransformerCard ct6 = CurrentTransformerCard(&analogCard, 5, &voltage, &adc2current, 5000); const char *mode_names[] = {"off", "cool", "fan_only", "dry"}; const char *fan_speed_names[] = {"auto", "high", "medium", "low"}; @@ -135,12 +135,15 @@ void setup() // Current Transformers espmega.installCard(4, &analogCard); + espmega.installCard(5, &ct1); ct1.bindFRAM(&espmega.fram, 6000); espmega.iot->registerCard(5); + espmega.installCard(6, &ct2); ct2.bindFRAM(&espmega.fram, 6100); espmega.iot->registerCard(6); + espmega.installCard(7, &ct3); ct3.bindFRAM(&espmega.fram, 6200); espmega.iot->registerCard(7); From 63107ce0f2cb4420af7d67bc1edb649f0c39979d Mon Sep 17 00:00:00 2001 From: Siwat Sirichai Date: Mon, 25 Mar 2024 14:29:03 +0700 Subject: [PATCH 4/4] preload inputs --- platformio.ini | 2 +- src/main.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index 47341f7..91531eb 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,6 +12,6 @@ platform = espressif32 board = wt32-eth01 framework = arduino -lib_deps = siwats/ESPMegaPROR3@^2.5.1 +lib_deps = siwats/ESPMegaPROR3@^2.5.3 monitor_speed = 115200 build_flags = -DCORE_DEBUG_LEVEL=5 \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index f51fc29..340f39d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,7 +12,7 @@ AnalogCard analogCard = AnalogCard(); float voltage = 220.0; float adc2current(uint16_t adc_val) { - return adc_val * 0.707; + return adc_val * 1.0; } #define CT_INTERVAL 5000 @@ -92,6 +92,7 @@ void setup() Serial.print("boot_state.txt=\"Core Initializing . . .\""); sendStopBytes(); espmega.begin(); + espmega.inputs.loop(); // if (clear_fram) // { // Serial.print("boot_state.txt=\"Factory Resetting . . .\"");