8 Commits

Author SHA1 Message Date
Yurii
d694ae18c0 chore: bump version to 1.5.6 2025-08-21 19:34:07 +03:00
dependabot[bot]
0f4fa2e406 chore(deps): bump actions/checkout from 4 to 5 (#169)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 13:24:55 +03:00
Yurii
df2af928a5 chore: bump pioarduino/platform-espressif32 from 3.2.1 to 3.3.0 2025-08-04 07:08:37 +03:00
Yurii
3e6a2d93d4 chore: updated esp32.py
Source: https://raw.githubusercontent.com/letscontrolit/ESPEasy/mega/tools/pio/post_esp32.py
2025-08-04 07:07:31 +03:00
Yurii
062468c6b1 chore: updated esp32.py to be compatible with new versions of esptool
Source: https://raw.githubusercontent.com/letscontrolit/ESPEasy/mega/tools/pio/post_esp32.py
2025-07-04 04:12:06 +03:00
Yurii
530892dc09 chore: bump pioarduino/platform-espressif32 from 3.2.0 to 3.2.1 2025-07-04 04:10:06 +03:00
Yurii
c73f74ad45 chore: upd platformio.ini 2025-07-04 03:08:51 +03:00
Yurii
a67ff046b0 refactor: refactoring after #163 2025-07-04 03:00:41 +03:00
9 changed files with 67 additions and 22 deletions

View File

@@ -15,7 +15,7 @@ jobs:
name: run PlatformIO Dependabot name: run PlatformIO Dependabot
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: run PlatformIO Dependabot - name: run PlatformIO Dependabot
uses: peterus/platformio_dependabot@v1.2.0 uses: peterus/platformio_dependabot@v1.2.0
with: with:

View File

@@ -14,7 +14,7 @@ extra_configs = secrets.default.ini
core_dir = .pio core_dir = .pio
[env] [env]
version = 1.5.5 version = 1.5.6
framework = arduino framework = arduino
lib_deps = lib_deps =
bblanchon/ArduinoJson@^7.3.0 bblanchon/ArduinoJson@^7.3.0
@@ -60,10 +60,16 @@ monitor_filters =
esp8266_exception_decoder esp8266_exception_decoder
board_build.flash_mode = dio board_build.flash_mode = dio
board_build.filesystem = littlefs board_build.filesystem = littlefs
check_tool = ; pvs-studio
check_flags =
; pvs-studio:
; --analysis-mode=4
; --exclude-path=./.pio/libdeps
; Defaults ; Defaults
[esp8266_defaults] [esp8266_defaults]
platform = espressif8266@^4.2.1 platform = espressif8266@^4.2.1
platform_packages = ${env.platform_packages}
lib_deps = lib_deps =
${env.lib_deps} ${env.lib_deps}
nrwiersma/ESP8266Scheduler@^1.2 nrwiersma/ESP8266Scheduler@^1.2
@@ -77,6 +83,8 @@ build_flags =
;-D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH ;-D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
-D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK305 -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK305
board_build.ldscript = eagle.flash.4m1m.ld board_build.ldscript = eagle.flash.4m1m.ld
check_tool = ${env.check_tool}
check_flags = ${env.check_flags}
[esp32_defaults] [esp32_defaults]
;platform = espressif32@^6.7 ;platform = espressif32@^6.7
@@ -84,8 +92,8 @@ board_build.ldscript = eagle.flash.4m1m.ld
;platform_packages = ;platform_packages =
; framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.5 ; framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.5
; framework-arduinoespressif32-libs @ https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip ; framework-arduinoespressif32-libs @ https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip
platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.20/platform-espressif32.zip platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.30-2/platform-espressif32.zip
platform_packages = platform_packages = ${env.platform_packages}
board_build.partitions = esp32_partitions.csv board_build.partitions = esp32_partitions.csv
lib_deps = lib_deps =
${env.lib_deps} ${env.lib_deps}
@@ -100,11 +108,14 @@ build_flags =
${env.build_flags} ${env.build_flags}
-D CORE_DEBUG_LEVEL=0 -D CORE_DEBUG_LEVEL=0
-Wl,--wrap=esp_panic_handler -Wl,--wrap=esp_panic_handler
check_tool = ${env.check_tool}
check_flags = ${env.check_flags}
; Boards ; Boards
[env:d1_mini] [env:d1_mini]
platform = ${esp8266_defaults.platform} platform = ${esp8266_defaults.platform}
platform_packages = ${esp8266_defaults.platform_packages}
board = d1_mini board = d1_mini
lib_deps = ${esp8266_defaults.lib_deps} lib_deps = ${esp8266_defaults.lib_deps}
lib_ignore = ${esp8266_defaults.lib_ignore} lib_ignore = ${esp8266_defaults.lib_ignore}
@@ -119,9 +130,12 @@ build_flags =
-D DEFAULT_SENSOR_INDOOR_GPIO=14 -D DEFAULT_SENSOR_INDOOR_GPIO=14
-D DEFAULT_STATUS_LED_GPIO=13 -D DEFAULT_STATUS_LED_GPIO=13
-D DEFAULT_OT_RX_LED_GPIO=15 -D DEFAULT_OT_RX_LED_GPIO=15
check_tool = ${esp8266_defaults.check_tool}
check_flags = ${esp8266_defaults.check_flags}
[env:d1_mini_lite] [env:d1_mini_lite]
platform = ${esp8266_defaults.platform} platform = ${esp8266_defaults.platform}
platform_packages = ${esp8266_defaults.platform_packages}
board = d1_mini_lite board = d1_mini_lite
lib_deps = ${esp8266_defaults.lib_deps} lib_deps = ${esp8266_defaults.lib_deps}
lib_ignore = ${esp8266_defaults.lib_ignore} lib_ignore = ${esp8266_defaults.lib_ignore}
@@ -136,9 +150,12 @@ build_flags =
-D DEFAULT_SENSOR_INDOOR_GPIO=14 -D DEFAULT_SENSOR_INDOOR_GPIO=14
-D DEFAULT_STATUS_LED_GPIO=13 -D DEFAULT_STATUS_LED_GPIO=13
-D DEFAULT_OT_RX_LED_GPIO=15 -D DEFAULT_OT_RX_LED_GPIO=15
check_tool = ${esp8266_defaults.check_tool}
check_flags = ${esp8266_defaults.check_flags}
[env:d1_mini_pro] [env:d1_mini_pro]
platform = ${esp8266_defaults.platform} platform = ${esp8266_defaults.platform}
platform_packages = ${esp8266_defaults.platform_packages}
board = d1_mini_pro board = d1_mini_pro
lib_deps = ${esp8266_defaults.lib_deps} lib_deps = ${esp8266_defaults.lib_deps}
lib_ignore = ${esp8266_defaults.lib_ignore} lib_ignore = ${esp8266_defaults.lib_ignore}
@@ -153,9 +170,12 @@ build_flags =
-D DEFAULT_SENSOR_INDOOR_GPIO=14 -D DEFAULT_SENSOR_INDOOR_GPIO=14
-D DEFAULT_STATUS_LED_GPIO=13 -D DEFAULT_STATUS_LED_GPIO=13
-D DEFAULT_OT_RX_LED_GPIO=15 -D DEFAULT_OT_RX_LED_GPIO=15
check_tool = ${esp8266_defaults.check_tool}
check_flags = ${esp8266_defaults.check_flags}
[env:nodemcu_8266] [env:nodemcu_8266]
platform = ${esp8266_defaults.platform} platform = ${esp8266_defaults.platform}
platform_packages = ${esp8266_defaults.platform_packages}
board = nodemcuv2 board = nodemcuv2
lib_deps = ${esp8266_defaults.lib_deps} lib_deps = ${esp8266_defaults.lib_deps}
lib_ignore = ${esp8266_defaults.lib_ignore} lib_ignore = ${esp8266_defaults.lib_ignore}
@@ -170,6 +190,8 @@ build_flags =
-D DEFAULT_SENSOR_INDOOR_GPIO=4 -D DEFAULT_SENSOR_INDOOR_GPIO=4
-D DEFAULT_STATUS_LED_GPIO=2 -D DEFAULT_STATUS_LED_GPIO=2
-D DEFAULT_OT_RX_LED_GPIO=16 -D DEFAULT_OT_RX_LED_GPIO=16
check_tool = ${esp8266_defaults.check_tool}
check_flags = ${esp8266_defaults.check_flags}
[env:s2_mini] [env:s2_mini]
platform = ${esp32_defaults.platform} platform = ${esp32_defaults.platform}
@@ -192,6 +214,8 @@ build_flags =
-D DEFAULT_SENSOR_INDOOR_GPIO=7 -D DEFAULT_SENSOR_INDOOR_GPIO=7
-D DEFAULT_STATUS_LED_GPIO=11 -D DEFAULT_STATUS_LED_GPIO=11
-D DEFAULT_OT_RX_LED_GPIO=12 -D DEFAULT_OT_RX_LED_GPIO=12
check_tool = ${esp32_defaults.check_tool}
check_flags = ${esp32_defaults.check_flags}
[env:s3_mini] [env:s3_mini]
platform = ${esp32_defaults.platform} platform = ${esp32_defaults.platform}
@@ -218,6 +242,8 @@ build_flags =
-D DEFAULT_SENSOR_INDOOR_GPIO=12 -D DEFAULT_SENSOR_INDOOR_GPIO=12
-D DEFAULT_STATUS_LED_GPIO=11 -D DEFAULT_STATUS_LED_GPIO=11
-D DEFAULT_OT_RX_LED_GPIO=10 -D DEFAULT_OT_RX_LED_GPIO=10
check_tool = ${esp32_defaults.check_tool}
check_flags = ${esp32_defaults.check_flags}
[env:c3_mini] [env:c3_mini]
platform = ${esp32_defaults.platform} platform = ${esp32_defaults.platform}
@@ -242,6 +268,8 @@ build_flags =
-D DEFAULT_SENSOR_INDOOR_GPIO=1 -D DEFAULT_SENSOR_INDOOR_GPIO=1
-D DEFAULT_STATUS_LED_GPIO=4 -D DEFAULT_STATUS_LED_GPIO=4
-D DEFAULT_OT_RX_LED_GPIO=5 -D DEFAULT_OT_RX_LED_GPIO=5
check_tool = ${esp32_defaults.check_tool}
check_flags = ${esp32_defaults.check_flags}
[env:nodemcu_32] [env:nodemcu_32]
platform = ${esp32_defaults.platform} platform = ${esp32_defaults.platform}
@@ -263,6 +291,8 @@ build_flags =
-D DEFAULT_SENSOR_INDOOR_GPIO=26 -D DEFAULT_SENSOR_INDOOR_GPIO=26
-D DEFAULT_STATUS_LED_GPIO=2 -D DEFAULT_STATUS_LED_GPIO=2
-D DEFAULT_OT_RX_LED_GPIO=19 -D DEFAULT_OT_RX_LED_GPIO=19
check_tool = ${esp32_defaults.check_tool}
check_flags = ${esp32_defaults.check_flags}
[env:d1_mini32] [env:d1_mini32]
platform = ${esp32_defaults.platform} platform = ${esp32_defaults.platform}
@@ -284,6 +314,8 @@ build_flags =
-D DEFAULT_SENSOR_INDOOR_GPIO=18 -D DEFAULT_SENSOR_INDOOR_GPIO=18
-D DEFAULT_STATUS_LED_GPIO=2 -D DEFAULT_STATUS_LED_GPIO=2
-D DEFAULT_OT_RX_LED_GPIO=19 -D DEFAULT_OT_RX_LED_GPIO=19
check_tool = ${esp32_defaults.check_tool}
check_flags = ${esp32_defaults.check_flags}
[env:esp32_c6] [env:esp32_c6]
platform = ${esp32_defaults.platform} platform = ${esp32_defaults.platform}
@@ -312,6 +344,8 @@ build_flags =
-D DEFAULT_SENSOR_INDOOR_GPIO=0 -D DEFAULT_SENSOR_INDOOR_GPIO=0
-D DEFAULT_STATUS_LED_GPIO=11 -D DEFAULT_STATUS_LED_GPIO=11
-D DEFAULT_OT_RX_LED_GPIO=10 -D DEFAULT_OT_RX_LED_GPIO=10
check_tool = ${esp32_defaults.check_tool}
check_flags = ${esp32_defaults.check_flags}
[env:otthing] [env:otthing]
platform = ${esp32_defaults.platform} platform = ${esp32_defaults.platform}
@@ -337,3 +371,5 @@ build_flags =
-D DEFAULT_STATUS_LED_GPIO=8 -D DEFAULT_STATUS_LED_GPIO=8
-D DEFAULT_OT_RX_LED_GPIO=2 -D DEFAULT_OT_RX_LED_GPIO=2
-D OT_BYPASS_RELAY_GPIO=20 -D OT_BYPASS_RELAY_GPIO=20
check_tool = ${esp32_defaults.check_tool}
check_flags = ${esp32_defaults.check_flags}

View File

@@ -21,6 +21,7 @@
<li> <li>
<select id="lang" aria-label="Lang"> <select id="lang" aria-label="Lang">
<option value="en" selected>EN</option> <option value="en" selected>EN</option>
<option value="cn">CN</option>
<option value="it">IT</option> <option value="it">IT</option>
<option value="ru">RU</option> <option value="ru">RU</option>
</select> </select>

View File

@@ -21,6 +21,7 @@
<li> <li>
<select id="lang" aria-label="Lang"> <select id="lang" aria-label="Lang">
<option value="en" selected>EN</option> <option value="en" selected>EN</option>
<option value="cn">CN</option>
<option value="it">IT</option> <option value="it">IT</option>
<option value="ru">RU</option> <option value="ru">RU</option>
</select> </select>

View File

@@ -21,6 +21,7 @@
<li> <li>
<select id="lang" aria-label="Lang"> <select id="lang" aria-label="Lang">
<option value="en" selected>EN</option> <option value="en" selected>EN</option>
<option value="cn">CN</option>
<option value="it">IT</option> <option value="it">IT</option>
<option value="ru">RU</option> <option value="ru">RU</option>
</select> </select>

View File

@@ -21,6 +21,7 @@
<li> <li>
<select id="lang" aria-label="Lang"> <select id="lang" aria-label="Lang">
<option value="en" selected>EN</option> <option value="en" selected>EN</option>
<option value="cn">CN</option>
<option value="it">IT</option> <option value="it">IT</option>
<option value="ru">RU</option> <option value="ru">RU</option>
</select> </select>

View File

@@ -21,6 +21,7 @@
<li> <li>
<select id="lang" aria-label="Lang"> <select id="lang" aria-label="Lang">
<option value="en" selected>EN</option> <option value="en" selected>EN</option>
<option value="cn">CN</option>
<option value="it">IT</option> <option value="it">IT</option>
<option value="ru">RU</option> <option value="ru">RU</option>
</select> </select>

View File

@@ -21,6 +21,7 @@
<li> <li>
<select id="lang" aria-label="Lang"> <select id="lang" aria-label="Lang">
<option value="en" selected>EN</option> <option value="en" selected>EN</option>
<option value="cn">CN</option>
<option value="it">IT</option> <option value="it">IT</option>
<option value="ru">RU</option> <option value="ru">RU</option>
</select> </select>

View File

@@ -23,10 +23,15 @@ Import("env")
platform = env.PioPlatform() platform = env.PioPlatform()
import sys import sys
import os
import subprocess
from os.path import join from os.path import join
sys.path.append(join(platform.get_package_dir("tool-esptoolpy"))) def normalize_paths(cmd):
import esptool for i, arg in enumerate(cmd):
if isinstance(arg, str) and '/' in arg:
cmd[i] = os.path.normpath(arg)
return cmd
def esp32_create_combined_bin(source, target, env): def esp32_create_combined_bin(source, target, env):
print("Generating combined binary for serial flashing") print("Generating combined binary for serial flashing")
@@ -39,26 +44,21 @@ def esp32_create_combined_bin(source, target, env):
sections = env.subst(env.get("FLASH_EXTRA_IMAGES")) sections = env.subst(env.get("FLASH_EXTRA_IMAGES"))
firmware_name = env.subst("$BUILD_DIR/${PROGNAME}.bin") firmware_name = env.subst("$BUILD_DIR/${PROGNAME}.bin")
chip = env.get("BOARD_MCU") chip = env.get("BOARD_MCU")
flash_size = env.BoardConfig().get("upload.flash_size") flash_size = env.BoardConfig().get("upload.flash_size", "4MB")
flash_freq = env.BoardConfig().get("build.f_flash", '40m') flash_mode = env["__get_board_flash_mode"](env)
flash_freq = flash_freq.replace('000000L', 'm') flash_freq = env["__get_board_f_flash"](env)
flash_mode = env.BoardConfig().get("build.flash_mode", "dio")
memory_type = env.BoardConfig().get("build.arduino.memory_type", "qio_qspi")
if flash_mode == "qio" or flash_mode == "qout":
flash_mode = "dio"
if memory_type == "opi_opi" or memory_type == "opi_qspi":
flash_mode = "dout"
cmd = [ cmd = [
"--chip", "--chip",
chip, chip,
"merge_bin", "merge-bin",
"-o", "-o",
new_file_name, new_file_name,
"--flash_mode", "--flash-mode",
flash_mode, flash_mode,
"--flash_freq", "--flash-freq",
flash_freq, flash_freq,
"--flash_size", "--flash-size",
flash_size, flash_size,
] ]
@@ -71,9 +71,12 @@ def esp32_create_combined_bin(source, target, env):
print(f" - {hex(app_offset)} | {firmware_name}") print(f" - {hex(app_offset)} | {firmware_name}")
cmd += [hex(app_offset), firmware_name] cmd += [hex(app_offset), firmware_name]
print('Using esptool.py arguments: %s' % ' '.join(cmd)) # print('Using esptool.py arguments: %s' % ' '.join(cmd))
cmdline = [env.subst("$OBJCOPY")] + normalize_paths(cmd)
esptool.main(cmd) print('Command Line: %s' % cmdline)
result = subprocess.run(cmdline, text=True, check=False, stdout=subprocess.DEVNULL)
if result.returncode != 0:
print(f"esptool create firmware failed with exit code: {result.returncode}")
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", esp32_create_combined_bin) env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", esp32_create_combined_bin)