You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: Force frozen rebuild and switch deploy to pyOCD. (#379)
* fix: Force frozen module regeneration on every firmware build.
* tooling: Add pyOCD deploy target and install via pip.
* docs: Update CONTRIBUTING for pyOCD as default deploy tool.
* docs: Mention pyOCD in devcontainer description.
*`pyocd` (for `make deploy`, installed via `pip install -e ".[flash]"`)
124
+
* OpenOCD (optional, for `make deploy-openocd`)
124
125
*`mpremote` (installed via `pip install -e ".[test]"`)
125
126
* GitHub CLI (`gh`)
126
127
127
128
Then run `make setup` to install all dependencies and git hooks. This creates a `.venv` with ruff, pytest, mpremote, and MicroPython type stubs for Pylance.
128
129
129
130
## Dev Container
130
131
131
-
A dev container is available for VS Code (local Docker only, not GitHub Codespaces). It includes all prerequisites out of the box: Python 3.10, Node.js 22, ruff, pytest, mpremote, arm-none-eabi-gcc, OpenOCD, and the GitHub CLI.
132
+
A dev container is available for VS Code (local Docker only, not GitHub Codespaces). It includes all prerequisites out of the box: Python 3.10, Node.js 22, ruff, pytest, mpremote, pyOCD, arm-none-eabi-gcc, OpenOCD, and the GitHub CLI.
132
133
133
134
1. Open the repository in VS Code
134
135
2. When prompted, click **Reopen in Container** (or use the command palette: *Dev Containers: Reopen in Container*)
@@ -139,7 +140,7 @@ The container also provides:
139
140
***zsh + oh-my-zsh** as default shell with persistent shell history
140
141
***Pylance** configured with MicroPython STM32 stubs (no false `import machine` errors)
141
142
***Serial Monitor** extension for board communication
142
-
***USB passthrough** for mpremote, OpenOCD, and firmware flashing (the container runs in privileged mode with `/dev/bus/usb` mounted)
143
+
***USB passthrough** for mpremote, pyOCD, OpenOCD, and firmware flashing (the container runs in privileged mode with `/dev/bus/usb` mounted)
143
144
***udev rules** for the DAPLink interface (auto-started on container creation)
144
145
145
146
Note: GitHub Codespaces is not supported because the container requires privileged mode and USB device access for board communication.
@@ -192,7 +193,8 @@ The drivers are "frozen" into the MicroPython firmware for the STeaMi board. The
192
193
```bash
193
194
make firmware # Clone micropython-steami (if needed), link local drivers, build
194
195
make firmware-update # Refresh the MicroPython clone and board-specific submodules
195
-
make deploy # Flash firmware via OpenOCD
196
+
make deploy # Flash firmware via pyOCD (default)
197
+
make deploy-openocd # Flash firmware via OpenOCD (alternative)
196
198
make run SCRIPT=lib/steami_config/examples/show_config.py # Run with live output
197
199
make deploy-script SCRIPT=lib/.../calibrate_magnetometer.py # Deploy as main.py for autonomous use
0 commit comments