YOSHIMITSU · Справочник API
Герметичный Синоби как библиотека: один лёгкий скетч, две платформы, шесть стоек и охраняемая 極光 консоль, что правит троном.
Архитектура
YOSHIMITSU — это библиотека с тонким скетчем сверху. Всё ядро живёт в src/Yoshimitsu.h; каждый параметр по умолчанию живёт в src/Yoshimitsu_Loadout.h как значения _DEFAULT (пины, тайминги, уровни ворот). Скетч — yoshimitsu.ino или копия examples/Yoshimitsu_Default/ — хранит только вашу* конфигурацию и переопределения, заданные до include. Обновляйте библиотеку, не трогая свой скетч.
Определение платформы автоматическое: ARDUINO_ARCH_RP2040 выбирает путь RP2040-Tiny (Servo.h, переключение стоек касаниями RESET), ARDUINO_ARCH_ESP32/ARDUINO_ARCH_ESP32S3 выбирает путь ESP32-S3 (ESP32Servo.h, нативный USB). Всё остальное падает на компиляции с ясным #error.
graph TB SKETCH["yoshimitsu.ino
the relaxed sketch — config only"] LOADOUT["Yoshimitsu_Loadout.h
the starting loadout · *_DEFAULT"] CORE["src/Yoshimitsu.h
the whole core"] STANCES["six stances
KINCHO · MANJI · FLEA
MEDITATION · NSS · BACK"] CONSOLE["USB-serial console
極光-gated admin"] CRSF["CRSF RX"] BRIDGE["MUSHIN bridge
無心 no-mind protocol"] PWM["servo PWM
wing L/R · crest"] SKETCH --> CORE LOADOUT --> CORE CRSF --> CORE BRIDGE --> CORE CONSOLE --> CORE CORE --> STANCES STANCES --> PWM
Шесть Стоек
Каждая стойка — это значение перечисления Stance (0–5), выбираемое в рантайме — командой USB, кнопкой GPIO0 (ESP32-S3) или касаниями RESET (RP2040-Tiny).
| Стойка | Назначение |
|---|---|
KINCHO
|
Парирование — конвертер CRSF→PWM; радиоканалы становятся микросекундами серво. |
MANJI_DRAGONFLY
|
Левитация — конвертер плюс локальный гиро-PID Zephyrus на гребне. |
FLEA
|
Подъём — оснастка цикла питания, сбрасывающая приёмник в загрузчик, затем MEDITATION. |
MEDITATION
|
Голова-губка — карманный прошивальщик; USB↔UART — чисто прозрачный мост для esptool. |
NSS
|
Скамья без меча — прямое управление серво ( |
BACK_TURNED
|
Зеркало — обманчивый покой; эхо UART никогда не оглядывается. |
Ворота Компиляции
Всё опциональное чисто вырезается при отключении — ни мёртвых байтов, ни висячих ссылок. Переопределяйте любой из них в скетче до include.
JIGUANG— рассказчик / администратор (1= вездесущ,0= ни одного байта 極光 не скомпилировано).YOSHI_GYRO— путь гироскопа Zephyrus MPU6050.YOSHI_RGB— встроенная аврора WS2812B (постоянно горящий цвет стойки).JIGUANG_PROMPT— строка промпта админ-консоли (по умолчанию"極光"); переименуйте её в скетче.BOARD_CUSTOM— задайте свои пиныCUSTOM_RP2040_*_DEFAULT/CUSTOM_S3_*_DEFAULT.
API Консоли
Команды стоек остаются открытыми: KINCHO, MANJI, FLEA, MEDITATION, NSS, BACK, POSE n, плюс STATUS, SERVO i us и HELP. Команды администратора заперты за промптом: сначала введите 極光, затем DOC, SETUP, JIGUANG, MUTE, CRSF, SCORE, ELRS, LEGEND, BRIDGE, ADMIN или MUSHIN.
極光 DOC печатает каталог чит-кодов; 極光 SETUP печатает мастер медитации (стойка, уровень голоса, состояние MUSHIN, питание приёмника). Строка без промпта, попавшая на защищённую команду, отвечает «трон охраняется» и возвращается.
MUSHIN 無心 — протокол без-ума
Мост мышечной памяти (дух→мышца) говорит кадром из 4 полей по тем же двум проводам, что и прошивальщик. Стартует взведённым, сохраняется во флеш.
[0x9B][len][type][payload][xor]
0x01 INTENT n × uint16 µs per servo
0x02 ANNOUNCE 1 Hz keepalive
0x03 TELEMETRY gyro rate + correction
Развёртывание
Установите папку sketches/yoshimitsu как библиотеку Arduino и откройте Файл → Примеры → Yoshimitsu → Yoshimitsu_Default. Прошейте один раз; далее обновления — это git pull или новый релиз — скетч остаётся нетронутым.
Устранение неполадок
YOSHIMITSU targets ESP32-S3 or RP2040 only— ваша плата не та и не другая; проверьте Инструменты → Плата или задайтеBOARD_CUSTOM.Команда отвечает «трон охраняется» — это команда администратора; сначала введите
極光.esptool истекает по таймауту в MEDITATION — убедитесь, что пины UART моста (
BRIDGE_RX_PIN/BRIDGE_TX_PIN) совпадают с вашей разводкой.