diff --git a/.github/workflows/build_all_the_things.yml b/.github/workflows/build_all_the_things.yml index 365b1ca81..aa80aa913 100644 --- a/.github/workflows/build_all_the_things.yml +++ b/.github/workflows/build_all_the_things.yml @@ -25,7 +25,7 @@ jobs: fail-fast: true matrix: variant: - - tasmota32solo1-safeboot + - tasmota32-webcam steps: - uses: actions/checkout@v4 - name: Set up Python @@ -53,7 +53,7 @@ jobs: fail-fast: true matrix: variant: - - tasmota32-webcam + - tasmota32solo1-safeboot steps: - uses: actions/checkout@v4 - name: Set up Python diff --git a/boards/esp32_solo1.json b/boards/esp32-solo1.json similarity index 100% rename from boards/esp32_solo1.json rename to boards/esp32-solo1.json diff --git a/pio-tools/post_esp32.py b/pio-tools/post_esp32.py index e296be29e..f0af4322a 100644 --- a/pio-tools/post_esp32.py +++ b/pio-tools/post_esp32.py @@ -43,30 +43,14 @@ variant = env.BoardConfig().get("build.variant", "") sections = env.subst(env.get("FLASH_EXTRA_IMAGES")) chip = env.get("BOARD_MCU") mcu_build_variant = env.BoardConfig().get("build.variant", "").lower() +FRAMEWORK_DIR = platform.get_package_dir("framework-arduinoespressif32") # Copy safeboots firmwares in place when running in Github github_actions = os.getenv('GITHUB_ACTIONS') -extra_flags = ''.join([element.replace("-D", " ") for element in env.BoardConfig().get("build.extra_flags", "")]) -build_flags = ''.join([element.replace("-D", " ") for element in env.GetProjectOption("build_flags")]) - -if "CORE32SOLO1" in extra_flags or "FRAMEWORK_ARDUINO_SOLO1" in build_flags: - FRAMEWORK_DIR = platform.get_package_dir("framework-arduino-solo1") - if github_actions and os.path.exists("./firmware/firmware"): - shutil.copytree("./firmware/firmware", "/home/runner/.platformio/packages/framework-arduino-solo1/variants/tasmota") - if variants_dir: - shutil.copytree("./firmware/firmware", variants_dir, dirs_exist_ok=True) -elif "CORE32ITEAD" in extra_flags or "FRAMEWORK_ARDUINO_ITEAD" in build_flags: - FRAMEWORK_DIR = platform.get_package_dir("framework-arduino-ITEAD") - if github_actions and os.path.exists("./firmware/firmware"): - shutil.copytree("./firmware/firmware", "/home/runner/.platformio/packages/framework-arduino-ITEAD/variants/tasmota") - if variants_dir: - shutil.copytree("./firmware/firmware", variants_dir, dirs_exist_ok=True) -else: - FRAMEWORK_DIR = platform.get_package_dir("framework-arduinoespressif32") - if github_actions and os.path.exists("./firmware/firmware"): - shutil.copytree("./firmware/firmware", "/home/runner/.platformio/packages/framework-arduinoespressif32/variants/tasmota") - if variants_dir: - shutil.copytree("./firmware/firmware", variants_dir, dirs_exist_ok=True) +if github_actions and os.path.exists("./firmware/firmware"): + shutil.copytree("./firmware/firmware", "/home/runner/.platformio/packages/framework-arduinoespressif32/variants/tasmota", dirs_exist_ok=True) + if variants_dir: + shutil.copytree("./firmware/firmware", variants_dir, dirs_exist_ok=True) # Copy pins_arduino.h to variants folder if variants_dir: @@ -129,12 +113,6 @@ def patch_partitions_bin(size_string): def esp32_create_chip_string(chip): tasmota_platform_org = env.subst("$BUILD_DIR").split(os.path.sep)[-1] tasmota_platform = tasmota_platform_org.split('-')[0] - if ("CORE32SOLO1" in extra_flags or "FRAMEWORK_ARDUINO_SOLO1" in build_flags) and "tasmota32-safeboot" not in tasmota_platform_org and "tasmota32solo1" not in tasmota_platform_org: - print(Fore.YELLOW + "Unexpected naming convention in this build environment:" + Fore.RED, tasmota_platform_org) - print(Fore.YELLOW + "Expected build environment name like " + Fore.GREEN + "'tasmota32solo1-whatever-you-want'") - print(Fore.YELLOW + "Please correct your actual build environment, to avoid undefined behavior in build process!!") - tasmota_platform = "tasmota32solo1" - return tasmota_platform if "tasmota" + chip[3:] not in tasmota_platform: # check + fix for a valid name like 'tasmota' + '32c3' tasmota_platform = "tasmota" + chip[3:] if "-DUSE_USB_CDC_CONSOLE" not in env.BoardConfig().get("build.extra_flags"): diff --git a/pio-tools/strip-flags.py b/pio-tools/strip-flags.py index 981918273..60cabbde3 100644 --- a/pio-tools/strip-flags.py +++ b/pio-tools/strip-flags.py @@ -8,8 +8,8 @@ if "FIRMWARE_SAFEBOOT" in build_flags: try: link_flags.pop(link_flags.index("-Wl,--wrap=panicHandler")) except: - do_nothing="" + pass try: link_flags.pop(link_flags.index("-Wl,--wrap=xt_unhandled_exception")) except: - do_nothing="" \ No newline at end of file + pass diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index 7604a1144..22ea0d674 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -80,8 +80,6 @@ lib_extra_dirs = ${library.lib_extra_dirs} ;platform = https://github.com/Jason2866/platform-espressif32/releases/download/2024.07.22/platform-espressif32.zip ;platform_packages = framework-arduinoespressif32 @ -; framework-arduino-solo1 @ -; framework-arduino-ITEAD @ ;build_unflags = ${esp32_defaults.build_unflags} ;build_flags = ${esp32_defaults.build_flags} ;board = esp32 diff --git a/platformio_tasmota_cenv_sample.ini b/platformio_tasmota_cenv_sample.ini index 8ba11666b..9c0576147 100644 --- a/platformio_tasmota_cenv_sample.ini +++ b/platformio_tasmota_cenv_sample.ini @@ -177,13 +177,14 @@ build_flags = ${env:tasmota32_base.build_flags} [env:tasmota32solo1-ocd] build_type = debug extends = env:tasmota32solo1 -board = esp32_solo1 +board = esp32-solo1 debug_tool = esp-prog upload_protocol = esp-prog debug_init_break = tbreak setup build_unflags = ${env:tasmota32_base.build_unflags} build_flags = ${env:tasmota32_base.build_flags} -DOTA_URL='""' +custom_sdkconfig = CONFIG_FREERTOS_UNICORE=y [env:tasmota32s2-ocd] build_type = debug diff --git a/platformio_tasmota_env32.ini b/platformio_tasmota_env32.ini index ef8d46a58..16f51e842 100644 --- a/platformio_tasmota_env32.ini +++ b/platformio_tasmota_env32.ini @@ -28,24 +28,25 @@ custom_files_upload = no_files [env:tasmota32-safeboot] extends = env:tasmota32_base -board = esp32_solo1 +board = esp32-solo1 board_build.app_partition_name = safeboot build_flags = ${env:tasmota32_base.build_flags} - -DFRAMEWORK_ARDUINO_SOLO1 -DFIRMWARE_SAFEBOOT -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32-safeboot.bin"' lib_extra_dirs = lib/lib_ssl, lib/libesp32 lib_ignore = ${safeboot_flags.lib_ignore} +custom_sdkconfig = CONFIG_FREERTOS_UNICORE=y [env:tasmota32solo1-safeboot] extends = env:tasmota32_base -board = esp32_solo1 +board = esp32-solo1 board_build.app_partition_name = safeboot build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_SAFEBOOT -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32solo1-safeboot.bin"' lib_extra_dirs = lib/lib_ssl, lib/libesp32 lib_ignore = ${safeboot_flags.lib_ignore} +custom_sdkconfig = CONFIG_FREERTOS_UNICORE=y [env:tasmota32s2-safeboot] extends = env:tasmota32_base @@ -145,7 +146,7 @@ build_flags = ${env:tasmota32_base.build_flags} [env:tasmota32solo1] extends = env:tasmota32_base -board = esp32_solo1 +board = esp32-solo1 build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_TASMOTA32 -DCODE_IMAGE_STR='"solo1"' @@ -153,6 +154,7 @@ build_flags = ${env:tasmota32_base.build_flags} lib_ignore = ${env:tasmota32_base.lib_ignore} Micro-RTSP epdiy +custom_sdkconfig = CONFIG_FREERTOS_UNICORE=y [env:tasmota32s2] extends = env:tasmota32_base @@ -262,7 +264,6 @@ board_build.partitions = partitions/esp32_partition_app1856k_fs1344k.csv build_flags = ${env:tasmota32_base.build_flags} -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32-zbbrdgpro.bin"' -DFIRMWARE_ZBBRDGPRO - -DFRAMEWORK_ARDUINO_ITEAD custom_files_upload = ${env:tasmota32_base.custom_files_upload} tools/fw_SonoffZigbeeBridgePro_cc2652/Sonoff_ZBPro.autoconf tasmota/berry/zigbee/cc2652_flasher.be @@ -270,13 +271,16 @@ custom_files_upload = ${env:tasmota32_base.custom_files_upload} tasmota/berry/zigbee/sonoff_zb_pro_flasher.be tools/fw_SonoffZigbeeBridgePro_cc2652/SonoffZBPro_coord_20220219.hex lib_extra_dirs = lib/lib_basic, lib/lib_ssl, lib/libesp32 +custom_sdkconfig = CONFIG_D0WD_PSRAM_CLK_IO=5 + CONFIG_D0WD_PSRAM_CS_IO=18 [env:tasmota32-nspanel] extends = env:tasmota32_base build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_NSPANEL - -DFRAMEWORK_ARDUINO_ITEAD -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32-nspanel.bin"' +custom_sdkconfig = CONFIG_D0WD_PSRAM_CLK_IO=5 + CONFIG_D0WD_PSRAM_CS_IO=18 [env:tasmota32-AD] extends = env:tasmota32_base