Companion-Compute-Modus
Die Symbiose: PteronautOS ist der Geist, YOSHIMITSU ist der Muskel. Zwei Boards, ein Flug — über die Brücke geteilt durch einen einzigen Admin-Befehl: MUSHIN (無心).
Architektur
Im Companion-Modus hören die beiden MCUs auf, Empfänger und Konverter zu sein, und werden ein Gehirn mit zwei Hälften. Dieses Diagramm ist die ewige Karte:
graph LR
subgraph P["PTERONAUTOS · ESP8285 · 80 MHz — the spirit"]
CRSF["CRSF RX · SX1280"]
INTENT["mixer intent · waveform soul"]
end
subgraph Y["YOSHIMITSU · RP2040-Tiny · 133 MHz dual-core — the muscle"]
GYRO["MPU6050 gyro · local I2C"]
PID["Zephyrus PID · runs here"]
C1["Core1 · companion compute
mixer + flapping offload"]
C0["Core0 · muscle memory 無心
PIO servo-PWM"]
end
CRSF --> INTENT
INTENT -- "intent · shortly before" --> C1
GYRO --> PID
PID -- "correction" --> C1
C1 -- "samples" --> C0
C0 --> SRV["servos · wing L/R · crest rudder"]
Warum das Gyro am RP2040 bleibt
Das MPU6050 ist physisch am RP2040 verdrahtet — also wird auch der PID dort berechnet. Rohe Gyro-Samples über die Brücke zu PteronautOS zu schicken, nur um sie dort zu regeln und Korrekturen zurückzusenden, wäre reine Latenz-Andacht. Der Muskel, der das Gyro hält, korrigiert den Schlag: Zephyrus lebt auf dem Companion, nicht auf dem Empfänger.
Die Aufteilung
Jede Hälfte rechnet, was ihr am nächsten ist.
| Rolle | Board | Aufgabe |
|---|---|---|
| PTERONAUTOS |
ESP8285
|
CRSF-RX-Dekodierung + Mixer-Intent (Wellenform-Seele) — was kurz vorher ist |
| YOSHIMITSU |
RP2040-Tiny
|
Gyro + PID (Zephyrus, lokal) + Companion-Compute + PIO-Servo-PWM — was näher am Muskelgedächtnis ist |
Zwei Kerne, ein Schlag
Der RP2040-Tiny ist die einzige ELRS-PWM-Plattform mit Hardware-PIO-State-Machines — acht Stück — für glitch-freie Servo-PWM. Seine zwei Cortex-M0+-Kerne teilen sich sauber:
- Core1 · Companion-Compute — Mixer- + Flapping-Auslagerung: die Bahn, die der Muskel ziehen wird.
- Core0 · Muskelgedächtnis — PIO-Servo-PWM: die Samples, die Flügel und Krista-Ruder tatsächlich bewegen.
MUSHIN — der Muscle-Memory-Cheatcode
MUSHIN (無心, das Nicht-Denken) entscheidet, ob YOSHIMITSU ein stiller Konverter bleibt oder als Companion-Muskel erwacht. Es bootet bewaffnet — der Cheatcode; die JIGUANG-Admin-Konsole kommandiert ihn über USB-Serial: MUSHIN meldet, MUSHIN ON/OFF rüstet auf oder ab. Die Wahl überdauert im Flash (EEPROM-Byte 6 auf dem RP2040) — Konfiguration per Befehl, nicht per Recompile.
Warum es ein Cheatcode ist
Kein anderes ELRS-PWM-Board trägt einen Dual-Core mit Hardware-PIO. Für den Preis des kleinen Boards bekommst du zwei Kerne — ein reiner Muskel, ein Companion-Computer. Anderswo zahlst du mehr und bist immer schwächer.
Billiger und immer stärker: das ist die Antwort des hermetischen Shinobi an den Markt.
Helikopter oder Flattern — derselbe Schlag
Aus Schwert-Sicht ist Helikopter oder Flattern dasselbe: Der Mixer sendet eine kanonische Trajektorie — Kanal-zu-Servo-Pfad — und das Schwert fragt nie, welches Gefährt sie trägt. Back-turned — die Pose fliegt weiter, nur der Blick wechselt.