From 12ecfae94dc2ad32454722242339fe07a47a5972 Mon Sep 17 00:00:00 2001 From: Jason2866 Date: Wed, 5 Jan 2022 23:14:49 +0100 Subject: [PATCH] copy factory firmware to `build_output` --- pio-tools/name-firmware.py | 9 ++++++++- pio-tools/post_esp32.py | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pio-tools/name-firmware.py b/pio-tools/name-firmware.py index b49def236..dcb1e9d30 100644 --- a/pio-tools/name-firmware.py +++ b/pio-tools/name-firmware.py @@ -14,6 +14,12 @@ def bin_map_copy(source, target, env): map_file = tasmotapiolib.get_final_map_path(env) bin_file = tasmotapiolib.get_final_bin_path(env) + if env["PIOPLATFORM"] == "espressif32": + factory_tmp = pathlib.Path(firsttarget).with_suffix("") + factory = factory_tmp.with_suffix(factory_tmp.suffix + ".factory.bin") + one_bin_tmp = pathlib.Path(bin_file).with_suffix("") + one_bin_file = one_bin_tmp.with_suffix(one_bin_tmp.suffix + ".factory.bin") + # check if new target files exist and remove if necessary for f in [map_file, bin_file]: if f.is_file(): @@ -22,6 +28,7 @@ def bin_map_copy(source, target, env): # copy firmware.bin and map to final destination shutil.copy(firsttarget, bin_file) shutil.move(tasmotapiolib.get_source_map_path(env), map_file) - + if env["PIOPLATFORM"] == "espressif32": + shutil.copy(factory, one_bin_file) env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", bin_map_copy) diff --git a/pio-tools/post_esp32.py b/pio-tools/post_esp32.py index bef91e345..e254f1024 100644 --- a/pio-tools/post_esp32.py +++ b/pio-tools/post_esp32.py @@ -37,7 +37,7 @@ def esp32_create_factory_bin(source, target, env): # - 0xe000 | ~\.platformio\packages\framework-arduinoespressif32\tools\partitions\boot_app0.bin # - 0x10000 | ~\Tasmota\.pio\build\/firmware.bin - new_file_name = env.subst("$BUILD_DIR/${PROGNAME}-factory.bin") + new_file_name = env.subst("$BUILD_DIR/${PROGNAME}.factory.bin") sections = env.subst(env.get('FLASH_EXTRA_IMAGES')) new_file = open(new_file_name,"wb") new_file.truncate() # Make sure no left over data is present from a previous build