コンパニオン・コンピュート・モード
共生: PteronautOS は精神、YOSHIMITSU は筋肉。二枚のボード、一つの飛行——ひとつの管理コマンド MUSHIN(無心)が橋の向こうで分かつ。
アーキテクチャ
コンパニオン・モードでは、二つの MCU は受信機と変換器であることをやめ、二つの半身を持つ一つの脳になる。この図は永遠の地図である:
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"]
ジャイロが RP2040 に留まる理由
MPU6050 は物理的に RP2040 に配線されている — だから PID もそこで計算される。生のジャイロサンプルをブリッジ越しに PteronautOS へ送り、そこで PID して補正を返すのは、純粋な遅延への献身でしかない。ジャイロを握る筋肉が一撃を正す: Zephyrus は受信機ではなくコンパニオンに宿る。
分割
それぞれの半身は、自分に最も近いものを計算する。
| 役割 | ボード | 任務 |
|---|---|---|
| PTERONAUTOS |
ESP8285
|
CRSF RX デコード + ミキサー意図(波形の魂) — 直前にあるもの |
| YOSHIMITSU |
RP2040-Tiny
|
ジャイロ + PID(Zephyrus、ローカル) + コンパニオン・コンピュート + PIO サーボ-PWM — マッスルメモリーに近いもの |
二つのコア、一つの一撃
RP2040-Tiny は、グリッチのないサーボ-PWM のためのハードウェア PIO ステートマシン — 八つ — を備えた唯一の ELRS-PWM プラットフォームである。二つの Cortex-M0+ コアはきれいに分かれる:
- Core1 · コンパニオン・コンピュート — ミキサー + フラッピングのオフロード: 筋肉が描く軌道。
- Core0 · マッスルメモリー — PIO サーボ-PWM: 翼と冠舵を実際に動かすサンプル。
MUSHIN 無心 — 筋肉記憶のチートコード
MUSHIN(無心、からの心)が、YOSHIMITSU を沈黙のコンバーターに留めるか、従者の筋肉として目覚めさせるかを決める。武装したまま起動する——これがチートコード。JIGUANG の管理コンソールが USB シリアルから命じる: MUSHIN は報告し、MUSHIN ON/OFF は武装・解除する。選択はフラッシュに残る(RP2040 の EEPROM バイト6)——再コンパイルではなく命令による設定。
なぜチートコードか
他のどの ELRS-PWM ボードも、ハードウェア PIO を備えたデュアルコアを載せていない。小さなボードの値段で二つのコア — 一つは純粋な筋肉、一つはコンパニオン・コンピューター — が手に入る。他ではより多く払い、常により弱い。
より安く、常により強い: これが市場への隠者シノビの答えである。
ヘリコプターでも羽ばたきでも — 同じ一撃
剣の視点からは、ヘリコプターでも羽ばたきでも同じである: ミキサーは正準軌道 — チャンネルからサーボへの道 — を放ち、剣はどの乗り物を担ぐか問わない。背を向けて — 型は飛び続け、変わるのは視線だけ。