ESPFlight مستندات v1
فهرست مستندات
مستندات / توسعه‌دهنده / پروتکل پیکربندی

پروتکل پیکربندی

کلیدها و محدوده‌های دقیق PID، اعتبارسنجی، مالکیت، ذخیره و ACK در v1.

مستندات ESPFlight · v1 مسیر رسمی و تست‌شده برای v1

# پیام پیکربندی PID

Firmware v1.0.0 به‌روزرسانی جزئی PID را از طریق WebSocket می‌پذیرد. بسته‌ای که type یا cmd آن pid باشد، یا یکی از کلیدهای PID پشتیبانی‌شده را داشته باشد، به‌عنوان پیکربندی PID پردازش می‌شود.

{"type":"pid","request_id":17,"kp_roll":1.20,"ki_roll":0.03,"kd_roll":8.0,"kp_yaw":2.0}

request_id در پاسخ برگردانده می‌شود. کلاینت‌های جدید بهتر است برای تطبیق قطعی درخواست و پاسخ از شناسه مثبت استفاده کنند.

# کلیدها و محدوده‌های معتبر

گروه کلیدها محدوده
P kp_roll , kp_pitch , kp_yaw , kp_alt 0…50
I ki_roll , ki_pitch , ki_yaw , ki_alt 0…10
D kd_roll , kd_pitch , kd_yaw , kd_alt 0…500

اگر یک کلید Roll تغییر کند و کلید متناظر Pitch وجود نداشته باشد، فریمور v1 همان مقدار جدید Roll را برای Pitch نیز اعمال می‌کند. ارسال صریح کلید Pitch این رفتار را جایگزین می‌کند.

# اعتبارسنجی، مالکیت و ذخیره

تغییر PID فقط در حالت کاملاً DISARM پذیرفته می‌شود.
اگر مالک کنترل فعال وجود داشته باشد، فقط همان کلاینت WebSocket اجازه تغییر PID دارد.
تمام مقادیر ارسال‌شده باید عدد محدود و در محدوده معتبر باشند؛ در غیر این صورت کل درخواست پیش از تغییر gainهای فعال رد می‌شود.
مقادیر پذیرفته‌شده پیش از اعلام موفقیت در EEPROM ذخیره می‌شوند.
در صورت شکست ذخیره EEPROM، gainهای runtime به مجموعه قبلی برگردانده می‌شوند.

# پاسخ PID

{"type":"pid_ack","request_id":17,"ok":true,"message":"pid_saved_and_applied"}

فیلد ok را مرجع موفقیت بدانید. کد کوتاه message علت رد شدن یا شکست ذخیره را مشخص می‌کند و بهتر است برای عیب‌یابی نمایش داده شود.