컴패니언 컴퓨트 모드

공생: 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를 갖춘 듀얼코어를 지니지 않습니다. 작은 보드 가격으로 코어 둘 — 하나는 순수한 근육, 하나는 컴패니언 컴퓨터 — 을 얻습니다. 다른 곳이라면 더 내고도 언제나 더 약할 것입니다.

더 싸고 언제나 더 강함: 이것이 시장에 대한 은둔 시노비의 답입니다.

헬리콥터든 날갯짓이든 — 같은 칼질

칼의 시선에서 헬리콥터든 날갯짓이든 같습니다: 믹서는 정규 궤적 — 채널에서 서보로 가는 길 — 을 내보내고 검은 어떤 탈것을 지니는지 묻지 않습니다. 등을 돌림 — 자세는 날아가고 시선만 바뀝니다.