refactor for streamlining

This commit is contained in:
2026-03-11 13:59:56 +01:00
parent a48ba2963d
commit 3112d15eec
91 changed files with 207 additions and 845 deletions

View File

@@ -6,28 +6,84 @@ Ideal für RoboCup-Interessierte aus der außerschulischen bzw. beruflichen Bild
## Workshop Layout
Dieses Repository ist als "Rust by Example"-ähnlicher Lernpfad aufgebaut:
Jede Übung hat ihren eigenen Ordner. Der Lernpfad ist nummeriert.
Jede Übung hat Aufgabe mit TODOs zum Lösen.
- `tutorial/00-setup-live` bis `tutorial/08-final-combined`
- Jeder Schritt hat:
- `task/` (Aufgabe mit TODOs)
- `solution/` (Referenzlösung)
- Teilnehmer arbeiten nur in `task/`.
## Ablauf
## Quick Start
0. Install Rust
1. Rust Basics - Hello World
2. Rust Basics - Typen
3. Rust Basics - Ownership/Borrow
4. kleines Desktop Programm
5. Embedded - no std
6. Embedded - LED Blinky
7. Embedded - Button Input
8. Embedded - Analog Readout
9. Embedded - EmbassyRS
1. Host vorbereiten:
- `bash scripts/setup-live.sh`
2. Host prüfen:
- `bash scripts/verify-host.sh`
3. Probe prüfen:
- `bash scripts/verify-probe.sh`
4. Schritt ausführen:
- `bash scripts/run-step.sh 01 task`
# Hardware
## Core Files
- MCU board: STM32F103C8T6 Bluepill
- Debug probe: ST-Link (SWD)
- [WORKSHOP.md](/home/wieerwill/Dokumente/GitHub/didkata-rust-on-robots/WORKSHOP.md)
- [HARDWARE.md](/home/wieerwill/Dokumente/GitHub/didkata-rust-on-robots/HARDWARE.md)
- [TROUBLESHOOTING.md](/home/wieerwill/Dokumente/GitHub/didkata-rust-on-robots/TROUBLESHOOTING.md)
- [references/source-map.md](/home/wieerwill/Dokumente/GitHub/didkata-rust-on-robots/references/source-map.md)
## SWD Wiring
1. ST-Link `SWDIO` -> Bluepill `PA13`
2. ST-Link `SWCLK` -> Bluepill `PA14`
3. ST-Link `GND` -> Bluepill `GND`
4. ST-Link `3V3` -> Bluepill `3V3`
5. Optional: ST-Link `NRST` -> Bluepill `NRST`
## Workshop I/O Wiring
1. LED:
- Onboard LED an `PC13` (active-low)
2. Button:
- Externer Taster von `PA0` nach `GND`
- Interner Pull-up wird im Code aktiviert
3. Analog (optional):
- Poti/Sensor-Ausgang an `PA1`
- Sensorversorgung über `3V3` + `GND`
# Troubleshooting
## Host Setup
1. `rustup: command not found`
- Rust via rustup installieren.
2. `probe-rs: command not found`
- `cargo install probe-rs-tools`
3. Target fehlt
- `rustup target add thumbv7m-none-eabi`
## Probe / Flashing
1. `No probe found`
- USB-Kabel/Port prüfen
- ST-Link Treiber/udev prüfen
- `probe-rs list` erneut ausführen
2. `chip not found`
- Runner-String prüfen: `STM32F103C8`
3. `Permission denied` (Linux)
- udev-Regeln für ST-Link setzen und neu laden
## Runtime Behavior
1. LED blinkt nicht
- PC13 active-low beachten
- Versorgung prüfen
2. Button reagiert nicht
- Taster nach GND verdrahten
- `PA0` korrekt belegt?
3. Analogwerte ändern sich nicht
- Sensor/Poti wirklich an `PA1`
- Gemeinsame Masse sicherstellen
## Fallback in Session
Wenn eine Station nicht stabil läuft:
1. Mit funktionierender Nachbarn pairen.
2. `solution/` ausführen.
3. Später wieder auf `task/` zurückwechseln.