コンパニオン・コンピュート・モード

共生: 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+ コアはきれいに分かれる:

MUSHIN 無心 — 筋肉記憶のチートコード

MUSHIN(無心、からの心)が、YOSHIMITSU を沈黙のコンバーターに留めるか、従者の筋肉として目覚めさせるかを決める。武装したまま起動する——これがチートコード。JIGUANG の管理コンソールが USB シリアルから命じる: MUSHIN は報告し、MUSHIN ON/OFF は武装・解除する。選択はフラッシュに残る(RP2040 の EEPROM バイト6)——再コンパイルではなく命令による設定。

なぜチートコードか

他のどの ELRS-PWM ボードも、ハードウェア PIO を備えたデュアルコアを載せていない。小さなボードの値段で二つのコア — 一つは純粋な筋肉、一つはコンパニオン・コンピューター — が手に入る。他ではより多く払い、常により弱い。

より安く、常により強い: これが市場への隠者シノビの答えである。

ヘリコプターでも羽ばたきでも — 同じ一撃

剣の視点からは、ヘリコプターでも羽ばたきでも同じである: ミキサーは正準軌道 — チャンネルからサーボへの道 — を放ち、剣はどの乗り物を担ぐか問わない。背を向けて — 型は飛び続け、変わるのは視線だけ。