YOSHIMITSU · API 参考
作为库的赫尔墨斯忍者:一个轻松的草图、两个目标、六种姿态,以及守护王座的極光门控控制台。
架构
YOSHIMITSU 是一个上面顶着一层薄草图的库。整个核心位于 src/Yoshimitsu.h;每个默认值都以 _DEFAULT 值(引脚、时序、门控级别)的形式位于 src/Yoshimitsu_Loadout.h。草图(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
|
悬浮——转换器加上嵴冠上的本地 Zephyrus 陀螺仪 PID。 |
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)与你的接线一致。