diff --git a/.github/workflows/compile_development.yml b/.github/workflows/compile_development.yml index aa5789c6..7c3e9d76 100644 --- a/.github/workflows/compile_development.yml +++ b/.github/workflows/compile_development.yml @@ -47,10 +47,10 @@ jobs: run: python convert.py - name: Run PlatformIO - run: pio run -d src --environment esp8266 --environment esp8266-prometheus --environment esp8285 --environment esp32-wroom32 --environment esp32-wroom32-prometheus --environment esp32-wroom32-ethernet --environment esp32-s2-mini --environment opendtufusionv1 + run: pio run -d src --environment esp8266 --environment esp8266-prometheus --environment esp8285 --environment esp32-wroom32 --environment esp32-wroom32-prometheus --environment esp32-wroom32-ethernet --environment esp32-s2-mini --environment opendtufusion - name: Copy boot_app0.bin - run: cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin src/.pio/build/opendtufusionv1/ota.bin + run: cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin src/.pio/build/opendtufusion/ota.bin - name: Rename Binary files id: rename-binary-files diff --git a/.github/workflows/compile_release.yml b/.github/workflows/compile_release.yml index ce75358e..87cabd22 100644 --- a/.github/workflows/compile_release.yml +++ b/.github/workflows/compile_release.yml @@ -51,10 +51,10 @@ jobs: run: python convert.py - name: Run PlatformIO - run: pio run -d src --environment esp8266 --environment esp8266-prometheus --environment esp8285 --environment esp32-wroom32 --environment esp32-wroom32-prometheus --environment esp32-wroom32-ethernet --environment esp32-s2-mini --environment opendtufusionv1 + run: pio run -d src --environment esp8266 --environment esp8266-prometheus --environment esp8285 --environment esp32-wroom32 --environment esp32-wroom32-prometheus --environment esp32-wroom32-ethernet --environment esp32-s2-mini --environment opendtufusion - name: Copy boot_app0.bin - run: cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin src/.pio/build/opendtufusionv1/ota.bin + run: cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin src/.pio/build/opendtufusion/ota.bin - name: Rename Binary files id: rename-binary-files diff --git a/scripts/applyPatches.py b/scripts/applyPatches.py index 51fbaa40..9537e0bd 100644 --- a/scripts/applyPatches.py +++ b/scripts/applyPatches.py @@ -28,5 +28,5 @@ def applyPatch(libName, patchFile): # list of patches to apply (relative to /src) applyPatch("ESP Async WebServer", "../patches/AsyncWeb_Prometheus.patch") -if env['PIOENV'] == "opendtufusionv1": +if env['PIOENV'] == "opendtufusion": applyPatch("GxEPD2", "../patches/GxEPD2_SW_SPI.patch") diff --git a/scripts/getVersion.py b/scripts/getVersion.py index b6bef458..be36895e 100644 --- a/scripts/getVersion.py +++ b/scripts/getVersion.py @@ -94,7 +94,7 @@ def readVersion(path, infile): os.rename(src, dst) versionout = version[:-1] + "_" + sha + "_esp32s3.bin" - src = path + ".pio/build/opendtufusionv1/firmware.bin" + src = path + ".pio/build/opendtufusion/firmware.bin" dst = path + "firmware/ESP32-S3/" + versionout os.rename(src, dst) @@ -113,7 +113,7 @@ def readVersion(path, infile): genOtaBin(dst) # other ESP32-S3 bin files - src = path + ".pio/build/opendtufusionv1/" + src = path + ".pio/build/opendtufusion/" dst = path + "firmware/ESP32-S3/" os.rename(src + "bootloader.bin", dst + "bootloader.bin") os.rename(src + "partitions.bin", dst + "partitions.bin") diff --git a/src/CHANGES.md b/src/CHANGES.md index 6c59822e..d4898317 100644 --- a/src/CHANGES.md +++ b/src/CHANGES.md @@ -1,5 +1,15 @@ # Development Changes +## 0.7.48 - 2023-09-10 +* fix SSD1309 2.42" display pinout +* improved setup page: save and delete of inverters + +## 0.7.47 - 2023-09-07 +* fix boot loop #1140 +* fix regex in `setup` page +* fix MI serial number display `max-module-power` in `setup` #1142 +* renamed `opendtufusionv1` to `opendtufusion` + ## 0.7.46 - 2023-09-04 * removed `delay` from ePaper * started improvements of `/system` diff --git a/src/app.cpp b/src/app.cpp index e2311e1c..29972bab 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -462,12 +462,15 @@ void app::tickSend(void) { int8_t maxLoop = MAX_NUM_INVERTERS; Inverter<> *iv = mSys.getInverterByPos(mSendLastIvId); - do { + while(maxLoop > 0) { do { mSendLastIvId = ((MAX_NUM_INVERTERS - 1) == mSendLastIvId) ? 0 : mSendLastIvId + 1; iv = mSys.getInverterByPos(mSendLastIvId); } while ((NULL == iv) && ((maxLoop--) > 0)); - } while((!iv->config->enabled) && (maxLoop > 0)); + if(NULL != iv) + if(iv->config->enabled) + break; + } if (NULL != iv) { if (iv->config->enabled) { diff --git a/src/defines.h b/src/defines.h index b7da7f8d..3436c6f7 100644 --- a/src/defines.h +++ b/src/defines.h @@ -13,7 +13,7 @@ //------------------------------------- #define VERSION_MAJOR 0 #define VERSION_MINOR 7 -#define VERSION_PATCH 46 +#define VERSION_PATCH 48 //------------------------------------- typedef struct { diff --git a/src/platformio.ini b/src/platformio.ini index 42c1557a..85c4cf67 100644 --- a/src/platformio.ini +++ b/src/platformio.ini @@ -123,7 +123,7 @@ build_flags = ${env.build_flags} monitor_filters = esp32_exception_decoder -[env:opendtufusionv1] +[env:opendtufusion] platform = espressif32@6.3.2 board = esp32-s3-devkitc-1 upload_protocol = esp-builtin @@ -141,6 +141,6 @@ build_flags = ${env.build_flags} -DDEF_LED1=17 -DLED_ACTIVE_HIGH -DARDUINO_USB_MODE=1 - -DARDUINO_USB_CDC_ON_BOOT=1 + ;-DARDUINO_USB_CDC_ON_BOOT=1 monitor_filters = esp32_exception_decoder, colorize diff --git a/src/web/RestApi.h b/src/web/RestApi.h index 7c3debe9..d7c1692e 100644 --- a/src/web/RestApi.h +++ b/src/web/RestApi.h @@ -512,7 +512,7 @@ class RestApi { void getRadioCmt(JsonObject obj) { obj[F("csb")] = mConfig->cmt.pinCsb; obj[F("fcsb")] = mConfig->cmt.pinFcsb; - obj[F("irq")] = mConfig->cmt.pinIrq; + obj[F("gpio3")] = mConfig->cmt.pinIrq; obj[F("en")] = (bool) mConfig->cmt.enabled; } diff --git a/src/web/html/api.js b/src/web/html/api.js index 93429afc..82405a71 100644 --- a/src/web/html/api.js +++ b/src/web/html/api.js @@ -132,11 +132,12 @@ function toIsoTimeStr(d) { // UTC! function setHide(id, hide) { var elm = document.getElementById(id); + if(null == elm) + return; if(hide) { if(!elm.classList.contains("hide")) elm.classList.add("hide"); - } - else + } else elm.classList.remove('hide'); } diff --git a/src/web/html/index.html b/src/web/html/index.html index 4f723fed..a7c79c25 100644 --- a/src/web/html/index.html +++ b/src/web/html/index.html @@ -126,16 +126,13 @@ icon = iconWarn; cl = "icon-warn"; avail = "disabled"; - } - else if(false == i["is_avail"]) { + } else if(false == i["is_avail"]) { icon = iconInfo; cl = "icon-info"; avail = "not yet available"; - } - else if(0 == i["ts_last_success"]) { + } else if(0 == i["ts_last_success"]) { avail = "available but no data was received until now"; - } - else { + } else { avail = "available and is "; if(false == i["is_producing"]) avail += "not "; diff --git a/src/web/html/setup.html b/src/web/html/setup.html index 995dd37d..975fd544 100644 --- a/src/web/html/setup.html +++ b/src/web/html/setup.html @@ -51,7 +51,7 @@
Send Inverter data in a fixed interval, even if there is no change. A value of '0' disables the fixed interval. The data is published once it was successfully received from inverter. (default: 0)