From bf62c9670d7f103b94f7aaad79ee87221b482395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20H=C3=B6glinger?= Date: Sat, 27 Sep 2025 21:16:08 +0200 Subject: [PATCH] RadioSet: Update to new SDK Snapshot --- ExternalApps/RadioSet/manifest.properties | 9 ++--- ExternalApps/RadioSet/tactility.py | 44 ++++++++++++++--------- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/ExternalApps/RadioSet/manifest.properties b/ExternalApps/RadioSet/manifest.properties index 19acc9b3..3c32e299 100644 --- a/ExternalApps/RadioSet/manifest.properties +++ b/ExternalApps/RadioSet/manifest.properties @@ -1,13 +1,10 @@ [manifest] version=0.1 [target] -sdk=0.6.0-SNAPSHOT1 +sdk=0.6.0-SNAPSHOT3 platforms=esp32,esp32s3 [app] id=com.d49406.RadioSet -version=0.0.1 +versionName=0.0.2 +versionCode=0 name=Radio Terminal -description=Receive and transmit radio packages -[author] -name=Dominic Hoeglinger -website=https://github.com/ByteWelder/Tactility diff --git a/ExternalApps/RadioSet/tactility.py b/ExternalApps/RadioSet/tactility.py index 292e61e9..75cbd972 100644 --- a/ExternalApps/RadioSet/tactility.py +++ b/ExternalApps/RadioSet/tactility.py @@ -14,13 +14,14 @@ import shutil import configparser ttbuild_path = ".tactility" -ttbuild_version = "2.1.1" +ttbuild_version = "2.3.1" ttbuild_cdn = "https://cdn.tactility.one" ttbuild_sdk_json_validity = 3600 # seconds ttport = 6666 verbose = False use_local_sdk = False valid_platforms = ["esp32", "esp32s3"] +no_animations = False spinner_pattern = [ "⠋", @@ -71,6 +72,7 @@ def print_help(): print(" --local-sdk Use SDK specified by environment variable TACTILITY_SDK_PATH") print(" --skip-build Run everything except the idf.py/CMake commands") print(" --verbose Show extra console output") + print(" --no-animations Disable animations during building (e.g. for CI jobs)") # region Core @@ -242,19 +244,12 @@ def validate_manifest(manifest): exit_with_error("Invalid manifest format: [app] not found") if not "id" in manifest["app"]: exit_with_error("Invalid manifest format: [app] id not found") - if not "version" in manifest["app"]: - exit_with_error("Invalid manifest format: [app] version not found") + if not "versionName" in manifest["app"]: + exit_with_error("Invalid manifest format: [app] versionName not found") + if not "versionCode" in manifest["app"]: + exit_with_error("Invalid manifest format: [app] versionCode not found") if not "name" in manifest["app"]: exit_with_error("Invalid manifest format: [app] name not found") - if not "description" in manifest["app"]: - exit_with_error("Invalid manifest format: [app] description not found") - # [author] - if not "author" in manifest: - exit_with_error("Invalid manifest format: [author] not found") - if not "name" in manifest["author"]: - exit_with_error("Invalid manifest format: [author] name not found") - if not "website" in manifest["author"]: - exit_with_error("Invalid manifest format: [author] website not found") def is_valid_manifest_platform(manifest, platform): manifest_platforms = manifest["target"]["platforms"].split(",") @@ -326,13 +321,17 @@ def build_all(version, platforms, skip_build): break def wait_for_build(process, platform): + global no_animations buffer = [] os.set_blocking(process.stdout.fileno(), False) + if no_animations: + print(f"Building for {platform}") while process.poll() is None: for i in spinner_pattern: time.sleep(0.1) - progress_text = f"Building for {platform} {shell_color_cyan}" + str(i) + shell_color_reset - sys.stdout.write(progress_text + "\r") + if not no_animations: + progress_text = f"Building for {platform} {shell_color_cyan}" + str(i) + shell_color_reset + sys.stdout.write(progress_text + "\r") while True: line = process.stdout.readline() decoded_line = line.decode("UTF-8") @@ -569,10 +568,21 @@ if __name__ == "__main__": if len(sys.argv) == 1: print_help() sys.exit() + if "--verbose" in sys.argv: + verbose = True + sys.argv.remove("--verbose") + skip_build = False + if "--skip-build" in sys.argv: + skip_build = True + sys.argv.remove("--skip-build") + if "--local-sdk" in sys.argv: + use_local_sdk = True + sys.argv.remove("--local-sdk") + if "--no-animations" in sys.argv: + no_animations = True + sys.argv.remove("--no-animations") action_arg = sys.argv[1] - verbose = "--verbose" in sys.argv - skip_build = "--skip-build" in sys.argv - use_local_sdk = "--local-sdk" in sys.argv + # Environment setup setup_environment() if not os.path.isfile("manifest.properties"):