diff --git a/builder/main.py b/builder/main.py index d2f8c69..66c44b1 100644 --- a/builder/main.py +++ b/builder/main.py @@ -16,7 +16,7 @@ env.SConscript("utils/config.py", exports="env") env.SConscript("utils/env.py", exports="env") env.SConscript("utils/flash.py", exports="env") env.SConscript("utils/libs.py", exports="env") -env.SConscript("utils/uf2.py", exports="env") +env.SConscript("utils/ltchiptool.py", exports="env") # Vendor-specific library ports env.SConscript("libs/flashdb.py", exports="env") env.SConscript("libs/lwip.py", exports="env") @@ -69,7 +69,7 @@ targets = [target_elf] if "UF2OTA" in env: target_uf2 = env.BuildUF2OTA(target_elf) targets.append(target_uf2) - env.AddUF2Uploader(target_uf2) + env.AddFlashWriter(target_uf2) elif "IMG_FW" in env: target_fw = env.subst("$IMG_FW") env.AddPlatformTarget("upload", target_fw, env["UPLOAD_ACTIONS"], "Upload") diff --git a/builder/utils/env.py b/builder/utils/env.py index 80fa673..91a7ff7 100644 --- a/builder/utils/env.py +++ b/builder/utils/env.py @@ -74,8 +74,10 @@ def env_add_defaults(env, platform, board): VARIANT=board.get("build.variant"), LDSCRIPT_SDK=board.get("build.ldscript_sdk"), LDSCRIPT_ARDUINO=board.get("build.ldscript_arduino"), - # ltchiptool variables - LTCHIPTOOL='"${PYTHONEXE}" -m ltchiptool', + # ltchiptool config: + # -r output raw log messages + # -i 1 indent log messages + LTCHIPTOOL='"${PYTHONEXE}" -m ltchiptool -r -i 1', # Fix for link2bin to get tmpfile name in argv LINKCOM="${LINK} ${LINKARGS}", LINKARGS="${TEMPFILE('-o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS', '$LINKCOMSTR')}", diff --git a/builder/utils/uf2.py b/builder/utils/ltchiptool.py similarity index 94% rename from builder/utils/uf2.py rename to builder/utils/ltchiptool.py index 5155145..59a6c3c 100644 --- a/builder/utils/uf2.py +++ b/builder/utils/ltchiptool.py @@ -53,7 +53,7 @@ def env_uf2ota(env, *args, **kwargs): env.Execute(" ".join(cmd)) -def env_uf2upload(env, target): +def env_flash_write(env, target): protocol = env.subst("${UPLOAD_PROTOCOL}") actions = [] # from platform-espressif32/builder/main.py @@ -61,7 +61,7 @@ def env_uf2upload(env, target): # upload via UART env["UPLOADERFLAGS_UF2"] = [ "${UF2OUT}", - "uart", + "-d", "${UPLOAD_PORT}", "-b", "${UPLOAD_SPEED}", @@ -79,7 +79,7 @@ def env_uf2upload(env, target): # add main upload target env.Replace( - UPLOADER="${LTCHIPTOOL} uf2 upload", + UPLOADER="${LTCHIPTOOL} flash write", UPLOADCMD="${UPLOADER} ${UPLOADERFLAGS_UF2} ${UPLOADERFLAGS}", ) actions.append(env.VerboseAction("${UPLOADCMD}", "Uploading ${UF2OUT_BASE}")) @@ -93,4 +93,4 @@ env.Append( ) ) ) -env.AddMethod(env_uf2upload, "AddUF2Uploader") +env.AddMethod(env_flash_write, "AddFlashWriter") diff --git a/platform.json b/platform.json index 13a361e..e6391f0 100644 --- a/platform.json +++ b/platform.json @@ -127,7 +127,7 @@ }, "tool-ltchiptool": { "type": "uploader", - "version": "https://github.com/libretuya/ltchiptool#v1.6.1", + "version": "https://github.com/libretuya/ltchiptool#v2.0.2", "note": "This is used only for C/C++ code from ltchiptool." }, "tool-openocd": { diff --git a/platform.py b/platform.py index 46a97ce..70efed6 100644 --- a/platform.py +++ b/platform.py @@ -23,7 +23,7 @@ def check_ltchiptool(): import ltchiptool importlib.reload(ltchiptool) - if Version(ltchiptool.get_version()) < Version("1.6.0"): + if Version(ltchiptool.get_version()) < Version("2.0.2"): raise ImportError("Version too old") @@ -44,6 +44,9 @@ except (ImportError, AttributeError): if dirname(__file__) in sys.path: sys.path.remove(dirname(__file__)) +# Let ltchiptool know about LT's location +ltchiptool.util.lt_set_path(dirname(__file__)) + libretuya_packages = None manifest_default = {"version": "0.0.0", "description": "", "keywords": []}