refactor for streamlining
This commit is contained in:
96
README.md
96
README.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user