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 enum मान (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 लाइब्रेरी के रूप में इंस्टॉल करें, फिर File → Examples → Yoshimitsu → Yoshimitsu_Default खोलें। एक बार फ्लैश करें; उसके बाद अपडेट git pull या नया रिलीज़ है — स्केच अछूता रहता है।
समस्या निवारण
YOSHIMITSU targets ESP32-S3 or RP2040 only— आपका बोर्ड दोनों में से कोई नहीं है; Tools → Board जाँचें याBOARD_CUSTOMपरिभाषित करें।कोई कमांड "सिंहासन सुरक्षित है" कहता है — वह व्यवस्थापक कमांड है; पहले
極光टाइप करें।MEDITATION में esptool टाइमआउट हो जाता है — पुष्टि करें कि ब्रिज UART पिन (
BRIDGE_RX_PIN/BRIDGE_TX_PIN) आपकी वायरिंग से मेल खाते हैं।