axiometa-cli 1.0.2__tar.gz → 1.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/PKG-INFO +1 -1
  2. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/__init__.py +9 -1
  3. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/flash.py +11 -5
  4. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli.egg-info/PKG-INFO +1 -1
  5. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/pyproject.toml +1 -1
  6. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/README.md +0 -0
  7. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/__main__.py +0 -0
  8. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/auth.py +0 -0
  9. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/chat.py +0 -0
  10. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/cli.py +0 -0
  11. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/core.py +0 -0
  12. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/detect.py +0 -0
  13. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/interactive.py +0 -0
  14. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/knowledge_client.py +0 -0
  15. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/provision.py +0 -0
  16. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/serve.py +0 -0
  17. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/setup.py +0 -0
  18. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli/ui.py +0 -0
  19. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli.egg-info/SOURCES.txt +0 -0
  20. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli.egg-info/dependency_links.txt +0 -0
  21. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli.egg-info/entry_points.txt +0 -0
  22. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli.egg-info/requires.txt +0 -0
  23. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/axiometa_cli.egg-info/top_level.txt +0 -0
  24. {axiometa_cli-1.0.2 → axiometa_cli-1.0.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: axiometa-cli
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Summary: Prompt to hardware, in your terminal: detect a board, chat to build, deploy, watch serial.
5
5
  Author-email: Axiometa <dr.dumcius@gmail.com>
6
6
  Project-URL: Homepage, https://axiometa.io
@@ -16,4 +16,12 @@ Three ideas the CLI implements, all grounded in the backend registries:
16
16
  - The serial CHANNEL is one contract; only its TRANSPORT changes: raw stdout in a terminal, or a
17
17
  127.0.0.1 + token-gated localhost page (opened locally, or reached over `ssh -L`) for a surface.
18
18
  """
19
- __version__ = "1.0.0"
19
+ # Read the real installed version from package metadata so `--version` never goes stale again.
20
+ try:
21
+ from importlib.metadata import version as _pkg_version, PackageNotFoundError
22
+ try:
23
+ __version__ = _pkg_version("axiometa-cli")
24
+ except PackageNotFoundError:
25
+ __version__ = "0.0.0+dev"
26
+ except Exception:
27
+ __version__ = "0.0.0+dev"
@@ -57,20 +57,26 @@ def uf2_to_bin(uf2_path: Path) -> tuple[Path, int]:
57
57
 
58
58
 
59
59
  def _interface_cfg(swd: dict) -> str:
60
- """An OpenOCD interface config snippet for the SWD wiring (env-overridable)."""
60
+ """An OpenOCD interface config snippet for the SWD wiring (env-overridable).
61
+
62
+ RUN (GPIO23) is deliberately NOT given to OpenOCD as `srst`. The RP2040's SW-DP is a multidrop
63
+ port and RUN resets the debug port itself: asserting srst during `program ... reset` drops the DAP
64
+ mid-flash and floods "Too long SWD WAIT" until OpenOCD aborts (cores examine fine, then the reset
65
+ step fails). The program flow uses the Cortex-M software reset (SYSRESETREQ) instead, which leaves
66
+ the DAP alive. RUN stays wired for the runtime mpremote reset (see module docstring) — it is just
67
+ wrong to drive it as srst while flashing this chip.
68
+ """
61
69
  driver = os.environ.get("AXIOMETA_OPENOCD_DRIVER", "bcm2835gpio")
62
70
  swclk = swd.get("swclk_gpio", 25)
63
71
  swdio = swd.get("swdio_gpio", 24)
64
- srst = swd.get("run_gpio", 23)
65
72
  speed = os.environ.get("AXIOMETA_OPENOCD_SPEED", "1000")
66
73
  lines = [
67
74
  f"adapter driver {driver}",
68
75
  f"adapter gpio swclk {swclk}",
69
76
  f"adapter gpio swdio {swdio}",
77
+ "transport select swd",
78
+ f"adapter speed {speed}",
70
79
  ]
71
- if srst:
72
- lines += [f"adapter gpio srst {srst}", "reset_config srst_only srst_nogate"]
73
- lines += ["transport select swd", f"adapter speed {speed}"]
74
80
  return "\n".join(lines) + "\n"
75
81
 
76
82
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: axiometa-cli
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Summary: Prompt to hardware, in your terminal: detect a board, chat to build, deploy, watch serial.
5
5
  Author-email: Axiometa <dr.dumcius@gmail.com>
6
6
  Project-URL: Homepage, https://axiometa.io
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "axiometa-cli"
3
- version = "1.0.2"
3
+ version = "1.0.3"
4
4
  description = "Prompt to hardware, in your terminal: detect a board, chat to build, deploy, watch serial."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
File without changes
File without changes