mirror of
https://github.com/esphome/esphome.git
synced 2024-12-22 21:44:55 +01:00
Rename legacy/modern to ota/factory (#6922)
* Rename legacy/modern to ota/factory * Add modern/legacy in brackets
This commit is contained in:
parent
d27e7b3b70
commit
43b5c2deb7
5 changed files with 67 additions and 11 deletions
|
@ -96,16 +96,16 @@ def get_board(core_obj=None):
|
||||||
def get_download_types(storage_json):
|
def get_download_types(storage_json):
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
"title": "Modern format",
|
"title": "Factory format (Previously Modern)",
|
||||||
"description": "For use with ESPHome Web and other tools.",
|
"description": "For use with ESPHome Web and other tools.",
|
||||||
"file": "firmware-factory.bin",
|
"file": "firmware.factory.bin",
|
||||||
"download": f"{storage_json.name}-factory.bin",
|
"download": f"{storage_json.name}.factory.bin",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Legacy format",
|
"title": "OTA format (Previously Legacy)",
|
||||||
"description": "For use with ESPHome Flasher.",
|
"description": "For OTA updating a device.",
|
||||||
"file": "firmware.bin",
|
"file": "firmware.ota.bin",
|
||||||
"download": f"{storage_json.name}.bin",
|
"download": f"{storage_json.name}.ota.bin",
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -17,17 +17,19 @@ from SCons.Script import ARGUMENTS
|
||||||
|
|
||||||
# Copy over the default sdkconfig.
|
# Copy over the default sdkconfig.
|
||||||
from os import path
|
from os import path
|
||||||
|
|
||||||
if path.exists("./sdkconfig.defaults"):
|
if path.exists("./sdkconfig.defaults"):
|
||||||
os.makedirs(".temp", exist_ok=True)
|
os.makedirs(".temp", exist_ok=True)
|
||||||
shutil.copy("./sdkconfig.defaults", "./.temp/sdkconfig-esp32-idf")
|
shutil.copy("./sdkconfig.defaults", "./.temp/sdkconfig-esp32-idf")
|
||||||
|
|
||||||
|
|
||||||
def esp32_create_combined_bin(source, target, env):
|
def esp32_create_combined_bin(source, target, env):
|
||||||
verbose = bool(int(ARGUMENTS.get("PIOVERBOSE", "0")))
|
verbose = bool(int(ARGUMENTS.get("PIOVERBOSE", "0")))
|
||||||
if verbose:
|
if verbose:
|
||||||
print("Generating combined binary for serial flashing")
|
print("Generating combined binary for serial flashing")
|
||||||
app_offset = 0x10000
|
app_offset = 0x10000
|
||||||
|
|
||||||
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"))
|
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")
|
||||||
|
@ -62,5 +64,14 @@ def esp32_create_combined_bin(source, target, env):
|
||||||
else:
|
else:
|
||||||
subprocess.run(["esptool.py", *cmd])
|
subprocess.run(["esptool.py", *cmd])
|
||||||
|
|
||||||
|
|
||||||
|
def esp32_copy_ota_bin(source, target, env):
|
||||||
|
firmware_name = env.subst("$BUILD_DIR/${PROGNAME}.bin")
|
||||||
|
new_file_name = env.subst("$BUILD_DIR/${PROGNAME}.ota.bin")
|
||||||
|
|
||||||
|
shutil.copyfile(firmware_name, new_file_name)
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=E0602
|
# pylint: disable=E0602
|
||||||
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", esp32_create_combined_bin) # noqa
|
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", esp32_create_combined_bin) # noqa
|
||||||
|
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", esp32_copy_ota_bin) # noqa
|
||||||
|
|
|
@ -6,10 +6,18 @@ Import("env") # noqa
|
||||||
|
|
||||||
def esp8266_copy_factory_bin(source, target, env):
|
def esp8266_copy_factory_bin(source, target, env):
|
||||||
firmware_name = env.subst("$BUILD_DIR/${PROGNAME}.bin")
|
firmware_name = env.subst("$BUILD_DIR/${PROGNAME}.bin")
|
||||||
new_file_name = env.subst("$BUILD_DIR/${PROGNAME}-factory.bin")
|
new_file_name = env.subst("$BUILD_DIR/${PROGNAME}.factory.bin")
|
||||||
|
|
||||||
|
shutil.copyfile(firmware_name, new_file_name)
|
||||||
|
|
||||||
|
|
||||||
|
def esp8266_copy_ota_bin(source, target, env):
|
||||||
|
firmware_name = env.subst("$BUILD_DIR/${PROGNAME}.bin")
|
||||||
|
new_file_name = env.subst("$BUILD_DIR/${PROGNAME}.ota.bin")
|
||||||
|
|
||||||
shutil.copyfile(firmware_name, new_file_name)
|
shutil.copyfile(firmware_name, new_file_name)
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=E0602
|
# pylint: disable=E0602
|
||||||
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", esp8266_copy_factory_bin) # noqa
|
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", esp8266_copy_factory_bin) # noqa
|
||||||
|
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", esp8266_copy_ota_bin) # noqa
|
||||||
|
|
|
@ -47,10 +47,16 @@ def set_core_data(config):
|
||||||
def get_download_types(storage_json):
|
def get_download_types(storage_json):
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
"title": "UF2 format",
|
"title": "UF2 factory format",
|
||||||
"description": "For copying to RP2040 over USB.",
|
"description": "For copying to RP2040 over USB.",
|
||||||
"file": "firmware.uf2",
|
"file": "firmware.uf2",
|
||||||
"download": f"{storage_json.name}.uf2",
|
"download": f"{storage_json.name}.factory.uf2",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "OTA format",
|
||||||
|
"description": "For OTA updating a device.",
|
||||||
|
"file": "firmware.ota.bin",
|
||||||
|
"download": f"{storage_json.name}.ota.bin",
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -160,6 +166,8 @@ async def to_code(config):
|
||||||
cg.add_define("ESPHOME_BOARD", config[CONF_BOARD])
|
cg.add_define("ESPHOME_BOARD", config[CONF_BOARD])
|
||||||
cg.add_define("ESPHOME_VARIANT", "RP2040")
|
cg.add_define("ESPHOME_VARIANT", "RP2040")
|
||||||
|
|
||||||
|
cg.add_platformio_option("extra_scripts", ["post:post_build.py"])
|
||||||
|
|
||||||
conf = config[CONF_FRAMEWORK]
|
conf = config[CONF_FRAMEWORK]
|
||||||
cg.add_platformio_option("framework", "arduino")
|
cg.add_platformio_option("framework", "arduino")
|
||||||
cg.add_build_flag("-DUSE_ARDUINO")
|
cg.add_build_flag("-DUSE_ARDUINO")
|
||||||
|
@ -225,4 +233,10 @@ def generate_pio_files() -> bool:
|
||||||
|
|
||||||
# Called by writer.py
|
# Called by writer.py
|
||||||
def copy_files() -> bool:
|
def copy_files() -> bool:
|
||||||
|
dir = os.path.dirname(__file__)
|
||||||
|
post_build_file = os.path.join(dir, "post_build.py.script")
|
||||||
|
copy_file_if_changed(
|
||||||
|
post_build_file,
|
||||||
|
CORE.relative_build_path("post_build.py"),
|
||||||
|
)
|
||||||
return generate_pio_files()
|
return generate_pio_files()
|
||||||
|
|
23
esphome/components/rp2040/post_build.py.script
Normal file
23
esphome/components/rp2040/post_build.py.script
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
# pylint: disable=E0602
|
||||||
|
Import("env") # noqa
|
||||||
|
|
||||||
|
|
||||||
|
def rp2040_copy_factory_uf2(source, target, env):
|
||||||
|
firmware_name = env.subst("$BUILD_DIR/${PROGNAME}.uf2")
|
||||||
|
new_file_name = env.subst("$BUILD_DIR/${PROGNAME}.factory.uf2")
|
||||||
|
|
||||||
|
shutil.copyfile(firmware_name, new_file_name)
|
||||||
|
|
||||||
|
|
||||||
|
def rp2040_copy_ota_bin(source, target, env):
|
||||||
|
firmware_name = env.subst("$BUILD_DIR/${PROGNAME}.bin")
|
||||||
|
new_file_name = env.subst("$BUILD_DIR/${PROGNAME}.ota.bin")
|
||||||
|
|
||||||
|
shutil.copyfile(firmware_name, new_file_name)
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=E0602
|
||||||
|
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", rp2040_copy_factory_uf2) # noqa
|
||||||
|
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", rp2040_copy_ota_bin) # noqa
|
Loading…
Reference in a new issue