Mode Companion Compute
La symbiose : PteronautOS est l'esprit, YOSHIMITSU est le muscle. Deux cartes, un vol — divisé par le pont par une seule commande d'administration : MUSHIN (無心).
Architecture
En mode companion, les deux MCU cessent d'être un récepteur et un convertisseur et deviennent un cerveau à deux moitiés. Ce diagramme est la carte éternelle :
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"]
Pourquoi le gyroscope reste sur le RP2040
Le MPU6050 est physiquement câblé au RP2040 — le PID y est donc aussi calculé. Envoyer des échantillons bruts de gyroscope par le pont vers PteronautOS, uniquement pour les réguler là-bas et renvoyer des corrections, serait pure dévotion à la latence. Le muscle qui tient le gyroscope corrige le coup : Zephyrus vit sur le companion, pas sur le récepteur.
La répartition
Chaque moitié calcule ce dont elle est le plus proche.
| Rôle | Carte | Tâche |
|---|---|---|
| PTERONAUTOS |
ESP8285
|
Décodage CRSF RX + intention du mixeur (âme de la forme d'onde) — ce qui est juste avant |
| YOSHIMITSU |
RP2040-Tiny
|
gyroscope + PID (Zephyrus, local) + companion compute + PIO servo-PWM — ce qui est plus proche de la mémoire musculaire |
Deux cœurs, une frappe
Le RP2040-Tiny est la seule plateforme ELRS-PWM dotée de machines à états PIO matérielles — huit — pour un servo-PWM sans glitch. Ses deux cœurs Cortex-M0+ se répartissent proprement :
- Core1 · companion compute — délestage du mixeur + battement : la trajectoire que le muscle tracera.
- Core0 · mémoire musculaire — PIO servo-PWM : les échantillons qui meuvent réellement l'aile et le gouvernail de crête.
MUSHIN — le cheatcode de la mémoire musculaire
MUSHIN (無心, l'esprit vide) décide si YOSHIMITSU reste un convertisseur silencieux ou s'éveille comme le muscle compagnon. Il démarre armé — le cheatcode; la console d'administration JIGUANG le commande par le port USB : MUSHIN rend compte, MUSHIN ON/OFF arme ou désarme. Le choix persiste en flash (octet 6 de l'EEPROM sur le RP2040) — configuration par commande, pas par recompilation.
Pourquoi c'est un cheatcode
Aucune autre carte ELRS-PWM ne porte un dual-core avec PIO matériel. Pour le prix de la petite carte, tu obtiens deux cœurs — un pur muscle, un ordinateur companion. Ailleurs, tu paierais plus et serais toujours plus faible.
Moins cher, et toujours plus fort : voilà la réponse du shinobi hermétique au marché.
Hélicoptère ou battement — le même coup
Du point de vue de l'épée, hélicoptère ou battement est identique : le mixeur émet une trajectoire canonique — chemin de canal à servo — et l'épée ne demande jamais quel véhicule elle porte. Dos tourné — la posture vole, seul le regard change.