#!/usr/bin/python3 import os Import("env") firmware_hex = "${BUILD_DIR}/${PROGNAME}.hex" uf2_file = os.environ.get("UF2_FILE_PATH", "${BUILD_DIR}/${PROGNAME}.uf2") meshcore_dir = os.path.normpath(os.path.join(env.subst("$PROJECT_DIR"), "..", "MeshCore")) uf2conv = os.path.join(meshcore_dir, "bin", "uf2conv", "uf2conv.py") def create_uf2_action(source, target, env): uf2_cmd = " ".join( [ '"$PYTHONEXE"', '"' + uf2conv + '"', '-f', '0xADA52840', '-c', firmware_hex, '-o', uf2_file, ] ) env.Execute(uf2_cmd) env.AddCustomTarget( name="create_uf2", dependencies=firmware_hex, actions=create_uf2_action, title="Create UF2 file", description="Use uf2conv to convert hex binary into uf2", always_build=True, )