From c08a762c0008a1479abf1b7c8f6b515ed90c7506 Mon Sep 17 00:00:00 2001 From: reaw Date: Tue, 13 Feb 2024 07:36:31 +0700 Subject: [PATCH 1/3] only fan speed not working --- ise-display/ise-display-prod.HMI | Bin 37446253 -> 37446253 bytes platformio.ini | 2 +- src/ise_display.cpp | 56 ++++++++++-------- src/ise_display.hpp | 4 +- src/main.cpp | 94 +++++++++++++++++++++++-------- src/main.hpp | 2 + 6 files changed, 106 insertions(+), 52 deletions(-) diff --git a/ise-display/ise-display-prod.HMI b/ise-display/ise-display-prod.HMI index c7b0d8c691b9188fce140c1de61a1087d7918c7c..786086ce406c394e4460d4daebfc746f5bb953ae 100644 GIT binary patch delta 2865 zcmdVa_jgZs9LMqR_nT!T_Wn}TuDyw>Srt3AtN7Ygn^+|wyou2o{gSVkL0h9mG&Gbp zR6MrYh&N_09?|zqI6l#44_G zE@yIL5C4F`ypD2%yE*=G9K90hSWv{_aC)ONw69+2U%Lr8qa1PCb?lCHI8tIAyLG!9 zzGp7Zh1HC51ZvCaa3ns+kk{#~=nV|6RUUdnbmw zW5V4|~yCXe^J$@@OoN#`0(^k2@&-@_*ri zM2|aliq){17HYNZU8`;HSsklu^{l=%u!i=&HL?$^v4vR^YiiA`xwWvC*2==|Lu+kq ztgW@P_SV5V+DF#OKDN%*#k!iux>%Q`6Pw>I*eP%~Z40Z1tt`syS+|id8-}PsOSE zYJpm)7OBN*iHcWC)iSkQeWkuu->4O8rCOy{t8dkJYK>Z})~N)wUVX0;)dsau{h*T6 zCbe1psJ5uB>L>NHN>VP_^4yixXVRc0P zsg9~+>bN?gPO4Mtv^t~Cs&neRx}YwqOX{+^qOPiI>bkn2ZmL`Awn|lZ)LoUP?y39g zfqJMOsmJPxda9nO=jw%ess2*0)a&VCHJvjRxWEtmApim)2+~1%$N(837(yTuWQHt| z6|zBg$N@Pa7vzRKkQefS8}dT|cnbM4;`Q*d<31~W9STBpeuNw8+3;r&=Yz=Z|DP`KwtP2`aypf00UtV z42B^v6ox?r42Kag5=Oyj_zcFtScrru7zg7a8YaL*Fqj0BAqJ+vRG0?S;dA%`X249C z1+(Ex@WLFJ3$fsXc@PKlVF4_JMX(r_Ks+pkWw0E+g0JBlSOF_x6|9DD;X7CZYhfKE zzugdZRYHo<225w^fq_z8Z7WY`AVVF&DlU62C1;TQN7_P}2F4fer)_#F5^NAMV)z*Bez&*25UgumbwymspM=hDInF7N|?2!KEcf^?7`GC)QMh7iaE znIQ{gg=~-=azIYV1-T&)4n?n}URn28c@uO+jKH0U`T2m7nrg0V*&v##3ZNUaHqq;{SQFB(EpgtD}2$bgz!?)zQ5= zx>rZ{dWxjy{TDW5cs&Iv7G;gCi8Zxm*4!Sp7WRm>v{u&I+E`m_XYH+nb+k_QsCBk3 z*43h|o5fgn>tT=C8*O9kMH_1gHqKtM@it*|;>O^B78lkmUy*hse?oM>e80aQuh<~R zIZ`-Bm2{lLg>&h$cjlA9j+0P$Jubv?5)0>J74OWkp^kI8@QLkS)p3H|X)9xVO)}HV zB~C6{v6xmy42w$$jR=bjtJkzBU*iT33~e47*)%O;o3Byk*6ZuW`(>W1p6Dr+*4IBJ zJ#)|8Sqt51XLk7_GZzOY9(E^3H%?R&)yvAKCaEN4YO+pnp&h5t5?(#wNx!r%hd{%u2!m5>Q(icdR?tnZ>TkDty-tvRBx%b z)q1r-ZB(1oJ1RqMR`04UDpS3u-d7)}57k!nk@{F=scq^L^{LvfvQ>`Sp*~Zet1r}- zYNz^2?NVQ>-D;28tM;k=>VV2s2h|~USbd|uRY%l!>Ztl&9aBH3AJtFlXO*Y&)p2z~ zom8jPX>~^Zq6*Ym^{YCk&Z`URqPnCmt1IfNx~8tH-_-Bw4|PM`RJW!_H+Icd;08bN zhX4qKB5)TJg&-&f#i0b0gi=r%%0OAT8}5N%CP!vjzU!r(y&hq_P?A|Mj#Lj!mS8bTw8g4;Kz2~$&O2F>ANXaSEvOK1hH zp$)W!cF-O=Ku72Vk3whY0$m{*xAH1yI~LPg?+Fe4nQs(ghOx`zJYJy2z&=e;d?j+KfsUh z6Z{N$kPpY<1e}CZa2n3QFHity;a4~Z=ivfegiCN4uE15e2G`*?_#OU$8*meDx%B#T zYjA-Z{JOIKL1`!hW#MkP2ZEs-l!pos0{4OkDnccw3{@Z$ zszNoW4mF@A+z0nVEvO9-KphB!2O%8lLOqCpNT?4D;2~%TjUWnc-<&4yEWQ5Rm23YA D2QJFo diff --git a/platformio.ini b/platformio.ini index c0e538c..6740886 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,7 +12,7 @@ platform = espressif32 board = wt32-eth01 framework = arduino -lib_deps = siwats/ESPMegaPROR3@^2.2.5 +lib_deps = siwats/ESPMegaPROR3@2.2.5 monitor_speed = 115200 build_flags = -DCORE_DEBUG_LEVEL=5 upload_port = COM28 diff --git a/src/ise_display.cpp b/src/ise_display.cpp index 70aad6e..6b77596 100644 --- a/src/ise_display.cpp +++ b/src/ise_display.cpp @@ -6,11 +6,13 @@ ISEDisplay::ISEDisplay(HardwareSerial *adapter) : ESPMegaDisplay(adapter, 115200 // TODO : Implement // debug to work -void ISEDisplay::begin(DigitalInputCard *inputCard, DigitalOutputCard *outputCard, ClimateCard *climateCard) +void ISEDisplay::begin(DigitalInputCard *inputCard, DigitalOutputCard *outputCard, ClimateCard *climateCard, RemoteVariable* pm_switch, RemoteVariable* pm_fan_speed) { this->inputCard = inputCard; this->outputCard = outputCard; this->climateCard = climateCard; + this->pm_switch = pm_switch; + this->remote_pm_fan_speed = pm_fan_speed; auto bindedHandlePWMChange = std::bind(&ISEDisplay::handlePWMChange, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3); auto bindedHandleACChange = std::bind(&ISEDisplay::handleACChange, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3); auto bindedHandleTouch = std::bind(&ISEDisplay::handleTouch, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3); @@ -18,6 +20,7 @@ void ISEDisplay::begin(DigitalInputCard *inputCard, DigitalOutputCard *outputCar this->climateCallbackHandle = this->climateCard->registerChangeCallback(bindedHandleACChange); this->user_mode = 1; // initialized to cool by default this->pm_fan_speed = 10; + //remote_pm_fan_speed->setValue(pm_fan_speed); this->ac_fan_speed = 0; this->ac_mode = 0; this->ac_temperature = 25; @@ -36,8 +39,7 @@ void ISEDisplay::begin(DigitalInputCard *inputCard, DigitalOutputCard *outputCar this->updateAirPurifierState(); this->updateACState(); this->updateLightGroupStatePageDashboard(); - this->outputCard->setValue(6, pm_fan_speed); - this->outputCard->setValue(5, 0); + this->outputCard->setValue(1, 0); this->outputCard->setValue(2, 0); this->outputCard->setValue(3, 0); @@ -70,6 +72,7 @@ void ISEDisplay::handleTouch(uint8_t page, uint8_t component, uint8_t touch_type { ESP_LOGD("ISEDisplay", "Touch detected on page %d, component %d, touch type %d", page, component, touch_type); // time_since_last_screen_update = millis(); // update time since last activity + char buffer[4]; if (page == PAGE_STANDBY) { switch (component) @@ -232,22 +235,24 @@ void ISEDisplay::handleTouch(uint8_t page, uint8_t component, uint8_t touch_type case COMPONENT_PM_FAN_SPEED_DECREASE: if (touch_type != TOUCH_TYPE_RELEASE) break; - pm_fan_speed = this->outputCard->getValue(6); + pm_fan_speed = (int) atof(remote_pm_fan_speed->getValue()); ESP_LOGI("ISEDisplay", "Current PM fan speed: %d", pm_fan_speed); if (pm_fan_speed >= 1 && pm_fan_speed <= 20) - this->outputCard->setValue(6, (pm_fan_speed - 1)); + itoa(pm_fan_speed - 1, buffer, DEC); + remote_pm_fan_speed->setValue(buffer); ESP_LOGI("ISEDisplay", "New PM fan speed: %d", pm_fan_speed); - updateAirPurifierState(); + //updateAirPurifierState(); break; case COMPONENT_PM_FAN_SPEED_INCREASE: if (touch_type != TOUCH_TYPE_RELEASE) break; - pm_fan_speed = this->outputCard->getValue(6); + pm_fan_speed = (int) atof(remote_pm_fan_speed->getValue()); ESP_LOGI("ISEDisplay", "Current PM fan speed: %d", pm_fan_speed); if (pm_fan_speed >= 0 && pm_fan_speed <= 19) - this->outputCard->setValue(6, (pm_fan_speed + 1)); + itoa(pm_fan_speed + 1, buffer, DEC); + remote_pm_fan_speed->setValue(buffer); ESP_LOGI("ISEDisplay", "New PM fan speed: %d", pm_fan_speed); - updateAirPurifierState(); + //updateAirPurifierState(); break; default: break; @@ -273,7 +278,7 @@ void ISEDisplay::handlePWMChange(uint8_t pin, bool state, uint16_t value) updateLightGroupStatePageStandby(); // time_since_last_screen_update = millis(); // update time since last activity } - else if (pin == 4 || pin == 5) + else if (pin == 5 || pin == 6) { // Air Purifier updateAirPurifierStateStandby(); @@ -288,7 +293,7 @@ void ISEDisplay::handlePWMChange(uint8_t pin, bool state, uint16_t value) updateLightGroupStatePageDashboard(); // time_since_last_screen_update = millis(); // update time since last activity } - else if (pin == 4 || pin == 5) + else if (pin == 5 || pin == 6) { // Air Purifier updateAirPurifierState(); @@ -438,7 +443,11 @@ void ISEDisplay::updatePMinside(u_int16_t pm25_inside) void ISEDisplay::setPMstate(bool is_pm_on, uint8_t pm_fan_speed) { - // TODO : set data to HA's Xiaomi air purifier sensor + ESP_LOGI("ISEDisplay", "Setting PM state: %d, fan speed: %d", is_pm_on, pm_fan_speed); + char buffer[4]; + itoa(pm_fan_speed, buffer, DEC); + remote_pm_fan_speed->setValue(buffer); + pm_switch->setValue(is_pm_on ? "1" : "0"); } void ISEDisplay::setACstate(uint8_t ac_fan_speed, uint8_t ac_mode, uint8_t ac_temperature) @@ -479,26 +488,22 @@ void ISEDisplay::toggleLightGroupStateStandby() void ISEDisplay::togglePM() { // Get the current group state - bool state = this->outputCard->getState(5); + bool state = strcmp(pm_switch->getValue(), "on") == 0; ESP_LOGI("ISEDisplay", "Current PM state: %d", state); // Toggle the state - state = !state; - // Set the state - this->outputCard->setState(5, state); + pm_switch->setValue(state ? "off" : "on"); ESP_LOGI("ISEDisplay", "New PM state: %d", state); - updateAirPurifierState(); + //updateAirPurifierState(); } void ISEDisplay::togglePMStandby() { // Get the current group state - bool state = this->outputCard->getState(5); + bool state = strcmp(pm_switch->getValue(), "on") == 0; ESP_LOGI("ISEDisplay", "Current PM state: %d", state); // Toggle the state - state = !state; - // Set the state - this->outputCard->setState(5, state); + pm_switch->setValue(state ? "off" : "on"); ESP_LOGI("ISEDisplay", "New PM state: %d", state); - updateAirPurifierStateStandby(); + //updateAirPurifierStateStandby(); } void ISEDisplay::toggleAC() { @@ -690,7 +695,7 @@ void ISEDisplay::toggleSliderLight(uint8_t row, uint8_t lightLevel) void ISEDisplay::updateAirPurifierStateStandby() { // Get the state - bool state = this->outputCard->getState(5); + bool state = strcmp(pm_switch->getValue(), "on") == 0; // Send the state to the display this->takeSerialMutex(); @@ -708,8 +713,9 @@ void ISEDisplay::updateAirPurifierStateStandby() void ISEDisplay::updateAirPurifierState() { // Get the state - bool state = this->outputCard->getState(5); - pm_fan_speed = this->outputCard->getValue(6); + bool state = strcmp(pm_switch->getValue(), "on") == 0; + ESP_LOGI("ISEDisplay", "Updating air purifier state to: %d", state); + pm_fan_speed = (int) atof(remote_pm_fan_speed->getValue()); // Send the state to the display this->takeSerialMutex(); diff --git a/src/ise_display.hpp b/src/ise_display.hpp index c830090..1dc9bfd 100644 --- a/src/ise_display.hpp +++ b/src/ise_display.hpp @@ -20,7 +20,7 @@ class ISEDisplay : public ESPMegaDisplay { public: ISEDisplay(HardwareSerial* adapter); - void begin(DigitalInputCard* inputCard, DigitalOutputCard* outputCard, ClimateCard* climateCard); + void begin(DigitalInputCard* inputCard, DigitalOutputCard* outputCard, ClimateCard* climateCard, RemoteVariable* pm_switch, RemoteVariable* pm_fan_speed); void updateLightGroupStatePageDashboard(); void updateLightGroupStatePageStandby(); void updateAirPurifierState(); @@ -46,6 +46,8 @@ class ISEDisplay : public ESPMegaDisplay { DigitalInputCard* inputCard; DigitalOutputCard *outputCard; ClimateCard *climateCard; + RemoteVariable *pm_switch; + RemoteVariable *remote_pm_fan_speed; uint8_t outputCallbackHandle; uint8_t climateCallbackHandle; uint8_t user_mode; diff --git a/src/main.cpp b/src/main.cpp index 545bfe1..6370dac 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,9 +1,11 @@ #include +RemoteVariable pm25_in = RemoteVariable(); RemoteVariable pm25_out = RemoteVariable(); RemoteVariable temp_out = RemoteVariable(); RemoteVariable weather = RemoteVariable(); -RemoteVariable pm25_in = RemoteVariable(); +RemoteVariable pm_switch = RemoteVariable(); +RemoteVariable pm_fan_speed = RemoteVariable(); const char *mode_names[] = {"off", "fan_only", "cool"}; const char *fan_speed_names[] = {"auto", "high", "medium", "low"}; @@ -98,13 +100,6 @@ void setup() climateCard.loadStateFromFRAM(); climateCard.setFRAMAutoSave(true); espmega.display->bindClimateCard(&climateCard); - espmega.iot->registerCard(0); // Register the Input Card - espmega.iot->registerCard(1); // Register the Output Card - espmega.iot->registerCard(2); // Register the Climate Card - auto bindedGetTime = std::bind(&ESPMegaPRO::getTime, &espmega); - iseDisplay.begin(&espmega.inputs, &espmega.outputs, &climateCard); - espmega.iot->registerRelativeMqttCallback(&handleMqttMessage); - iseDisplay.registerPageChangeCallback(&handlePageChange); // placeholder // PM2.5 PPM Remote Variable // 12 bytes remote variable, 11 characters + null terminator @@ -116,6 +111,21 @@ void setup() weather.begin(45, "/weather/value", espmega.iot, true, "/weather/request_value"); // PM2.5 PPM Remote Variable pm25_in.begin(6, "/pm/value", espmega.iot, true, "/pm/request_value"); + // Air Purifier Switch Remote Variable + pm_switch.begin(6, "/pm/switch_state", espmega.iot, true, "/pm/request_switch_state"); + pm_switch.enableSetValue("/pm/set_switch_state"); + // Air Purifier Fan Speed Remote Variable + pm_fan_speed.begin(6, "/pm/fan_speed", espmega.iot, true, "/pm/request_fan_speed"); + pm_fan_speed.enableSetValue("/pm/set_fan_speed"); + espmega.iot->registerCard(0); // Register the Input Card + espmega.iot->registerCard(1); // Register the Output Card + espmega.iot->registerCard(2); // Register the Climate Card + auto bindedGetTime = std::bind(&ESPMegaPRO::getTime, &espmega); + iseDisplay.begin(&espmega.inputs, &espmega.outputs, &climateCard, &pm_switch, &pm_fan_speed); + espmega.iot->registerRelativeMqttCallback(&handleMqttMessage); + iseDisplay.registerPageChangeCallback(&handlePageChange); + + } void loop() @@ -145,12 +155,12 @@ void loop() iseDisplay.updateDateTimeText(time); last_time_updated = millis(); } - //Update the PM2.5 PPM value every 15 seconds + // Update the PM2.5 PPM value every 15 seconds static uint32_t last_pm25_out_update = 0; if (millis() - last_pm25_out_update > 15000) { uint16_t pm25_out_value = get_pm25_out(); - //ESP_LOGI("loopPM2.5","updating PM2.5 from MQTT inside loop: %d", pm25_out_value); + // ESP_LOGI("loopPM2.5","updating PM2.5 from MQTT inside loop: %d", pm25_out_value); iseDisplay.updatePMoutside(pm25_out_value); last_pm25_out_update = millis(); } @@ -178,11 +188,16 @@ void loop() iseDisplay.updateWeather(weather_value); last_weather_update = millis(); } + // Update the PM state every 1 seconds + static uint32_t last_pm_switch_update = 0; + if (millis() - last_pm_switch_update > 5000) + { + iseDisplay.updateAirPurifierState(); + } } void on_pin_change(uint8_t pin, uint8_t value) -{ -} +{} uint16_t get_pm25_out() { @@ -211,6 +226,35 @@ float get_temp_out() return temp_out_value; } +uint8_t get_pm_fanspeed() +{ + uint8_t pm_fan_speed_value = 0; + // Read PM2.5 fan speed from sensor + pm_fan_speed_value = (int) atof(pm_fan_speed.getValue()); + ESP_LOGI("PM fan speed", "getting PM2.5 PPM from MQTT: %d", pm_fan_speed_value); + return pm_fan_speed_value; +} + +bool get_pm_switch() +{ + ESP_LOGI("PM switch", "getting PM switch state from MQTT: %d", pm_switch.getValue()); + bool is_pm_switch_on = strcmp(pm_switch.getValue(),"on")== 0; + return is_pm_switch_on; +} +void toggle_pm_switch() +{ + bool is_pm_switch_on = get_pm_switch(); + ESP_LOGI("PM switch", "toggling PM switch state from: %d to %d", is_pm_switch_on, !is_pm_switch_on); + pm_switch.setValue(is_pm_switch_on ? "0" : "1"); +} +void set_pm_fanspeed(uint8_t speed) +{ + ESP_LOGI("PM fan speed", "setting PM fan speed to: %d", speed); + char buffer[4]; + itoa(speed, buffer, DEC); + pm_fan_speed.setValue(buffer); +} + void handlePageChange(uint8_t page) { @@ -233,16 +277,16 @@ void handlePageChange(uint8_t page) break; } - // iseDisplay.updatePMinside(); - iseDisplay.updatePMoutside(get_pm25_out()); - iseDisplay.updatePMinside(get_pm25_in()); - iseDisplay.updateWeather(weather.getValue()); - iseDisplay.updateTempOutside(get_temp_out()); - - /* iseDisplay.updateACState(); - iseDisplay.updateAirPurifierState(); - iseDisplay.updateLightGroupStatePageStandby(); - iseDisplay.updateLightGroupStatePageDashboard(); - iseDisplay.updateuserACmode(); - iseDisplay.updateAirPurifierStateStandby(); */ - } \ No newline at end of file + // iseDisplay.updatePMinside(); + iseDisplay.updatePMoutside(get_pm25_out()); + iseDisplay.updatePMinside(get_pm25_in()); + iseDisplay.updateWeather(weather.getValue()); + iseDisplay.updateTempOutside(get_temp_out()); + + /* iseDisplay.updateACState(); + iseDisplay.updateAirPurifierState(); + iseDisplay.updateLightGroupStatePageStandby(); + iseDisplay.updateLightGroupStatePageDashboard(); + iseDisplay.updateuserACmode(); + iseDisplay.updateAirPurifierStateStandby(); */ +} \ No newline at end of file diff --git a/src/main.hpp b/src/main.hpp index 73b888c..e98301f 100644 --- a/src/main.hpp +++ b/src/main.hpp @@ -37,3 +37,5 @@ void on_pin_change(uint8_t pin, uint8_t value); uint16_t get_pm25_out(); uint16_t get_pm25_in(); float get_temp_out(); +void toggle_pm_switch(); +void set_pm_fanspeed(uint8_t speed); \ No newline at end of file From 786bc9a8dedb03d4efc05243f31d29f36efcd3cb Mon Sep 17 00:00:00 2001 From: Siwat Sirichai Date: Wed, 14 Feb 2024 02:17:07 +0700 Subject: [PATCH 2/3] fix variable loop bug --- .vscode/settings.json | 295 +----------------------------------------- platformio.ini | 2 +- src/main.cpp | 1 + 3 files changed, 9 insertions(+), 289 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index cb0dece..d2e3661 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,10 +1,10 @@ { - "C_Cpp_Runner.cCompilerPath": "C:/Users/siwat/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-gcc.exe", - "C_Cpp_Runner.cppCompilerPath": "C:/Users/siwat/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-g++.exe", - "C_Cpp_Runner.debuggerPath": "C:/Users/siwat/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-gdb.exe", - "C_Cpp_Runner.cStandard": "gnu99", - "C_Cpp_Runner.cppStandard": "gnu++11", "C_Cpp_Runner.msvcBatchPath": "", + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", "C_Cpp_Runner.useMsvc": false, "C_Cpp_Runner.warnings": [ "-Wall", @@ -37,236 +37,7 @@ "C_Cpp_Runner.warningsAsError": false, "C_Cpp_Runner.compilerArgs": [], "C_Cpp_Runner.linkerArgs": [], - "C_Cpp_Runner.includePaths": [ - "D:/Git/cud-iot-v2/include", - "D:/Git/cud-iot-v2/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-sr/src/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-sr/esp-tts/esp_tts_chinese/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-sr/include/esp32", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/qio_qspi/include", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/cores/esp32", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/variants/wt32-eth01", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src", - "C:/Users/siwat/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", - "" - ], + "C_Cpp_Runner.includePaths": [], "C_Cpp_Runner.includeSearch": [ "*", "**/*" @@ -284,57 +55,5 @@ "C_Cpp_Runner.useLeakSanitizer": false, "C_Cpp_Runner.showCompilationTime": false, "C_Cpp_Runner.useLinkTimeOptimization": false, - "C_Cpp_Runner.msvcSecureNoWarnings": false, - "files.associations": { - "random": "cpp", - "*.tcc": "cpp", - "array": "cpp", - "atomic": "cpp", - "bitset": "cpp", - "cctype": "cpp", - "clocale": "cpp", - "cmath": "cpp", - "cstdarg": "cpp", - "cstddef": "cpp", - "cstdint": "cpp", - "cstdio": "cpp", - "cstdlib": "cpp", - "cstring": "cpp", - "ctime": "cpp", - "cwchar": "cpp", - "cwctype": "cpp", - "deque": "cpp", - "unordered_map": "cpp", - "unordered_set": "cpp", - "vector": "cpp", - "exception": "cpp", - "algorithm": "cpp", - "functional": "cpp", - "iterator": "cpp", - "map": "cpp", - "memory": "cpp", - "memory_resource": "cpp", - "numeric": "cpp", - "optional": "cpp", - "regex": "cpp", - "string": "cpp", - "string_view": "cpp", - "system_error": "cpp", - "tuple": "cpp", - "type_traits": "cpp", - "utility": "cpp", - "fstream": "cpp", - "initializer_list": "cpp", - "iomanip": "cpp", - "iosfwd": "cpp", - "istream": "cpp", - "limits": "cpp", - "new": "cpp", - "ostream": "cpp", - "sstream": "cpp", - "stdexcept": "cpp", - "streambuf": "cpp", - "cinttypes": "cpp", - "typeinfo": "cpp" - } + "C_Cpp_Runner.msvcSecureNoWarnings": false } \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index 6740886..166c6be 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,7 +12,7 @@ platform = espressif32 board = wt32-eth01 framework = arduino -lib_deps = siwats/ESPMegaPROR3@2.2.5 +lib_deps = siwats/ESPMegaPROR3@2.3.4 monitor_speed = 115200 build_flags = -DCORE_DEBUG_LEVEL=5 upload_port = COM28 diff --git a/src/main.cpp b/src/main.cpp index 6370dac..3b9b207 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -193,6 +193,7 @@ void loop() if (millis() - last_pm_switch_update > 5000) { iseDisplay.updateAirPurifierState(); + last_pm_switch_update = millis(); } } From ee4126f0a0c62c0fa59b28a0c89daed365f60d91 Mon Sep 17 00:00:00 2001 From: reaw Date: Wed, 14 Feb 2024 05:46:34 +0700 Subject: [PATCH 3/3] update library; adjusted update behavior --- platformio.ini | 2 +- src/ise_display.cpp | 8 ++++++++ src/main.cpp | 3 ++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index 6740886..48333bf 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,7 +12,7 @@ platform = espressif32 board = wt32-eth01 framework = arduino -lib_deps = siwats/ESPMegaPROR3@2.2.5 +lib_deps = siwats/ESPMegaPROR3@^2.3.3 monitor_speed = 115200 build_flags = -DCORE_DEBUG_LEVEL=5 upload_port = COM28 diff --git a/src/ise_display.cpp b/src/ise_display.cpp index 6b77596..2756d41 100644 --- a/src/ise_display.cpp +++ b/src/ise_display.cpp @@ -712,6 +712,14 @@ void ISEDisplay::updateAirPurifierStateStandby() void ISEDisplay::updateAirPurifierState() { + //check for page + if(currentPage != 2){ + return; + } + else if(currentPage ==1){ + updateAirPurifierStateStandby(); + return; + } // Get the state bool state = strcmp(pm_switch->getValue(), "on") == 0; ESP_LOGI("ISEDisplay", "Updating air purifier state to: %d", state); diff --git a/src/main.cpp b/src/main.cpp index 6370dac..22e0d94 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -190,9 +190,10 @@ void loop() } // Update the PM state every 1 seconds static uint32_t last_pm_switch_update = 0; - if (millis() - last_pm_switch_update > 5000) + if (millis() - last_pm_switch_update > 500) { iseDisplay.updateAirPurifierState(); + last_pm_switch_update = millis(); } }