Arduino Core 3 (#407)

* Add and remove libs and components for Arduino Core 3

* Arduino Core 3

* Add back Solo1

* Change ESP32-S3 to 4MB build

* Update README.md

* Fix retain and number of retries

* Fix rolling log

* Fix defaults

* Fix BleScanner on Solo1

* Export settings

* Import settings

* Fix HA Battery voltage

* Change submodule

* Update espMqttClient and AsyncTCP

* Webserial and MQTT/Network reconnecting

* Update nuki_ble

---------

Co-authored-by: iranl <iranl@github.com>
This commit is contained in:
iranl
2024-07-05 18:45:39 +02:00
committed by GitHub
parent 193ebb5f91
commit 6b0100fd61
236 changed files with 16390 additions and 9740 deletions

View File

@@ -21,12 +21,15 @@ def create_target_dir(env):
def copy_files(source, target, env):
file = Path(target[0].get_abspath())
target_dir = create_target_dir(env)
project_dir = env.get('PROJECT_DIR')
board = get_board_name(env)
if "partitions.bin" in file.name:
shutil.copy(file, f"{target_dir}/nuki_hub.{file.name}")
elif "firmware" in file.stem:
shutil.copy(file, f"{target_dir}/nuki_hub_{board}{file.suffix}")
if env.GetProjectOption("custom_build") == 'release':
shutil.copy(f"{project_dir}/updater/release/{board}/updater.bin", f"{target_dir}/nuki_hub_updater_{board}{file.suffix}")
else:
shutil.copy(file, f"{target_dir}/{file.name}")
@@ -51,28 +54,33 @@ def merge_bin(source, target, env):
for position, bin_file in env.get('FLASH_EXTRA_IMAGES'):
if "boot_app0.bin" in bin_file:
bin_file = "bin/boot_app0.bin"
bin_file = "resources/boot_app0.bin"
flash_args.append(position)
flash_args.append(bin_file)
flash_args.append("0x2B0000")
flash_args.append(f"{target_dir}/nuki_hub_updater_{board}.bin")
cmd = f"esptool.py --chip {chip} merge_bin -o {target_file} --flash_mode dio --flash_freq keep --flash_size keep " + " ".join(flash_args)
env.Execute(cmd)
def package_last_files(source, target, env):
files = ["bin/boot_app0.bin", "how-to-flash.txt"]
files = ["resources/boot_app0.bin", "resources/how-to-flash.txt"]
target_dir = create_target_dir(env)
for file in files:
file = Path(file)
shutil.copy(file, f"{target_dir}/{file.name}")
if env.GetProjectOption("custom_build") == 'release':
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", merge_bin)
env.AddPostAction("$BUILD_DIR/firmware.bin", copy_files)
if env.GetProjectOption("custom_build") == 'release':
env.AddPostAction("$PROJECT_DIR/updater/release/" + get_board_name(env) + "/updater.bin", copy_files)
env.AddPostAction("$BUILD_DIR/firmware.bin", package_last_files)
env.AddPostAction("$BUILD_DIR/partitions.bin", copy_files)
env.AddPostAction("$BUILD_DIR/bootloader.bin", copy_files)
if env.GetProjectOption("custom_build") == 'debug':
env.AddPostAction("$BUILD_DIR/firmware.elf", copy_files)
if env.GetProjectOption("custom_build") == 'release':
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", merge_bin)