|
2 | 2 | # trunk-ignore-all(ruff/F821) |
3 | 3 | # trunk-ignore-all(flake8/F821): For SConstruct imports |
4 | 4 | import sys |
5 | | -from os.path import join |
| 5 | +from os.path import join, basename |
6 | 6 | import subprocess |
7 | 7 | import json |
8 | 8 | import re |
@@ -181,3 +181,26 @@ def load_boot_logo(source, target, env): |
181 | 181 | # Load the boot logo on TFT builds |
182 | 182 | if ("HAS_TFT", 1) in env.get("CPPDEFINES", []): |
183 | 183 | env.AddPreAction('$BUILD_DIR/littlefs.bin', load_boot_logo) |
| 184 | + |
| 185 | +def write_manifest(source, target, env): |
| 186 | + manifest = { |
| 187 | + "version": verObj["long"], |
| 188 | + "build_epoch": build_epoch, |
| 189 | + "board": env.get("PIOENV"), |
| 190 | + "mcu": env.get("BOARD_MCU"), |
| 191 | + "repo": repo_owner, |
| 192 | + "part_csv": None, |
| 193 | + "has_mui": False |
| 194 | + } |
| 195 | + # Include the partitions CSV filename if it is set |
| 196 | + if env.get("PARTITIONS_TABLE_CSV"): |
| 197 | + manifest["part_csv"] = basename(env.get("PARTITIONS_TABLE_CSV")) |
| 198 | + # Enable MUI flag for TFT builds |
| 199 | + if ("HAS_TFT", 1) in env.get("CPPDEFINES", []): |
| 200 | + manifest["has_mui"] = True |
| 201 | + |
| 202 | + # Write the manifest to the build directory |
| 203 | + with open(f"{env['PROJECT_BUILD_DIR']}/{env.get('PIOENV')}/meshtastic.json", "w") as f: |
| 204 | + json.dump(manifest, f, indent=4) |
| 205 | + |
| 206 | +env.AddPostAction("$PROGPATH", write_manifest) |
0 commit comments