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
*`pyocd` (for `make micropython-deploy`, installed via `pip install -e ".[flash]"`)
124
+
* OpenOCD (optional, for `make micropython-deploy-openocd`)
125
125
*`mpremote` (installed via `pip install -e ".[test]"`)
126
126
* GitHub CLI (`gh`)
127
127
@@ -140,7 +140,7 @@ The container also provides:
140
140
***zsh + oh-my-zsh** as default shell with persistent shell history
141
141
***Pylance** configured with MicroPython STM32 stubs (no false `import machine` errors)
142
142
***Serial Monitor** extension for board communication
143
-
***USB passthrough** for mpremote, pyOCD, OpenOCD, and firmware flashing (the container runs in privileged mode with `/dev/bus/usb` mounted)
143
+
***USB passthrough** for mpremote, pyOCD, OpenOCD, and MicroPython firmware flashing (the container runs in privileged mode with `/dev/bus/usb` mounted)
144
144
***udev rules** for the DAPLink interface (auto-started on container creation)
145
145
146
146
Note: GitHub Codespaces is not supported because the container requires privileged mode and USB device access for board communication.
The drivers are "frozen" into the MicroPython firmware for the STeaMi board. The Makefile automates cloning, building, and flashing:
191
+
The STeaMi board has two distinct firmwares:
192
+
193
+
-**MicroPython firmware** — runs on the STM32WB55 main MCU and exposes the drivers from this repository
194
+
-**DAPLink firmware** — runs on the STM32F103 interface chip and provides the I2C bridge, mass-storage, and CMSIS-DAP debug interface (build targets planned in #377)
195
+
196
+
This section covers the **MicroPython firmware** only. The drivers in this repository are "frozen" into it. The Makefile automates cloning, building, and flashing:
192
197
193
198
```bash
194
-
make firmware # Clone micropython-steami (if needed), link local drivers, build
195
-
make firmware-update # Refresh the MicroPython clone and board-specific submodules
196
-
make deploy # Flash firmware via pyOCD (default)
197
-
make deploy-openocd # Flash firmware via OpenOCD (alternative)
198
-
make deploy-usb # Flash firmware via DAPLink USB mass-storage (alternative)
199
+
make micropython-firmware # Clone micropython-steami (if needed), link local drivers, build
200
+
make micropython-update # Refresh the MicroPython clone and board-specific submodules
201
+
make micropython-deploy # Flash MicroPython firmware via pyOCD (default)
202
+
make micropython-deploy-openocd # Flash MicroPython firmware via OpenOCD (alternative)
203
+
make micropython-deploy-usb # Flash MicroPython firmware via DAPLink USB mass-storage (alternative)
204
+
make micropython-clean # Clean MicroPython firmware build artifacts
199
205
make run SCRIPT=lib/steami_config/examples/show_config.py # Run with live output
200
206
make deploy-script SCRIPT=lib/.../calibrate_magnetometer.py # Deploy as main.py for autonomous use
201
-
make run-main # Re-execute the deployed main.py
202
-
make firmware-clean # Clean firmware build artifacts
207
+
make run-main # Re-execute main.py on the board
203
208
```
204
209
205
-
The firmware source is cloned into `.build/micropython-steami/` (gitignored). A symbolic link replaces the submodule `lib/micropython-steami-lib` with your local working directory, so the firmware always includes your latest changes — even uncommitted ones.
210
+
The legacy short names (`make firmware`, `make deploy`, etc.) are deprecated and now print an error message asking which firmware (MicroPython or DAPLink) you intended to target.
211
+
212
+
The MicroPython firmware source is cloned into `.build/micropython-steami/` (gitignored). A symbolic link replaces the submodule `lib/micropython-steami-lib` with your local working directory, so the firmware always includes your latest changes — even uncommitted ones.
206
213
207
-
Use `make firmware` for normal rebuilds from the existing local clone. Use `make firmware-update` only when you want to refresh the `micropython-steami` checkout itself or resync the board-specific submodules before rebuilding.
214
+
Use `make micropython-firmware` for normal rebuilds from the existing local clone. Use `make micropython-update` only when you want to refresh the `micropython-steami` checkout itself or resync the board-specific submodules before rebuilding.
208
215
209
216
All these tools are included in the dev container. For local development, see the [Prerequisites](#prerequisites) section.
0 commit comments