Полный baseline — РД-7.02.5¶
Миграция production-конфига РД-7.02.5 с ArduPlane 4.5 на Valkyrie 4.6.3 V1.2.0.
Готовый файл¶
RD-7.02.5_4_6_3_extnav.param — 1110 параметров, готов к загрузке через Mission Planner → Full Parameter List → Load from file → Write Params → Reboot.
Перед заливкой
- Это полный baseline, не дельта. Перезапишет всё что сейчас на борту.
- Скрытые параметры (
BATT_AMP_PERVLT,BATT_VOLT_PIN,ARSPD2_*,RPM1_*,EFI_*,INS_HNTCH_*и т.д.) появятся автоматически после reboot, как только триггерные параметры (BATT_MONITOR=4,ARSPD2_TYPE=1,RPM1_TYPE=2,EFI_TYPE=3,INS_HNTCH_ENABLE=1) встанут на свои значения. - Lua-параметры (
ANDR_*,BOOST_*,S_DETACH,S_MASK) не залить пока на SD карте нет соответствующих скриптов иSCR_ENABLE=1. Эти параметры регистрируются скриптами черезparam:add_table()API.
Статистика миграции¶
Источник: параметры РД-7.02.5.param, 1116 строк.
| Категория | Параметров |
|---|---|
| Без изменений | 1082 |
| Переименованы (GPS_ → GPS1_/GPS2_*) | 20 |
| Значение изменено | 8 |
| Удалены | 6 |
| Добавлены (новые в 4.6.3) | 2 |
| Итого в выходном файле | 1110 |
Реально архитектурно меняется только 16 параметров (8 value deltas + 2 новых + 6 удалений). Остальные 20 — чистый рефакторинг имён, значения идентичны.
1. Переименования GPS_ → GPS1_/GPS2_* (20 шт)¶
В 4.6 ArduPilot перешёл на унифицированную схему параметров по экземплярам GPS. Источник: AP_GPS.cpp:362-395, таблица conversion_info[].
В прошивке есть автоматический конвертер старых имён, но он срабатывает только при апгрейде прошивки на том же борту со старым EEPROM. При заливке .param файла на чистый борт переименование делается вручную — что и сделано в готовом файле.
| Старое имя (4.5) | Новое имя (4.6.3) | Значение |
|---|---|---|
GPS_TYPE |
GPS1_TYPE |
1 (uBlox) |
GPS_TYPE2 |
GPS2_TYPE |
14 (UAVCAN) |
GPS_GNSS_MODE |
GPS1_GNSS_MODE |
77 |
GPS_GNSS_MODE2 |
GPS2_GNSS_MODE |
0 |
GPS_RATE_MS |
GPS1_RATE_MS |
200 |
GPS_RATE_MS2 |
GPS2_RATE_MS |
200 |
GPS_DELAY_MS |
GPS1_DELAY_MS |
0 |
GPS_DELAY_MS2 |
GPS2_DELAY_MS |
0 |
GPS_POS1_X/Y/Z |
GPS1_POS_X/Y/Z |
0/0/0 |
GPS_POS2_X/Y/Z |
GPS2_POS_X/Y/Z |
0/0/0 |
GPS_COM_PORT |
GPS1_COM_PORT |
1 |
GPS_COM_PORT2 |
GPS2_COM_PORT |
1 |
GPS_CAN_NODEID1 |
GPS1_CAN_NODEID |
0 |
GPS_CAN_NODEID2 |
GPS2_CAN_NODEID |
0 |
GPS_MB1_TYPE |
GPS1_MB_TYPE |
0 |
GPS_MB2_TYPE |
GPS2_MB_TYPE |
0 |
GPS-параметры которые НЕ переименованы (остались на subsystem-уровне в 4.6.3):
GPS_AUTO_CONFIG, GPS_AUTO_SWITCH, GPS_BLEND_MASK, GPS_DRV_OPTIONS, GPS_INJECT_TO, GPS_MIN_ELEV, GPS_NAVFILTER, GPS_PRIMARY, GPS_RAW_DATA, GPS_SAVE_CFG, GPS_SBAS_MODE, GPS_SBP_LOGMASK, GPS1_CAN_OVRIDE, GPS2_CAN_OVRIDE — это глобальные настройки подсистемы GPS, они никуда не уходили.
2. Удалены (6 шт)¶
Удалены из прошивки¶
| Параметр | Старое значение | Замена |
|---|---|---|
GPS_MIN_DGPS |
100 | удалён в 4.6, прямой замены нет |
Если этот параметр был критичен в твоём сценарии (контроль качества DGPS), это открытый вопрос. На сегодня в коде Plane 4.6.3 нет аналога.
Firmware-internal (выпиливаются на миграции)¶
| Параметр | Старое значение | Почему |
|---|---|---|
FORMAT_VERSION |
13 | пишется самим firmware при boot |
STAT_BOOTCNT |
136 | счётчик загрузок, сбросится на новой прошивке |
STAT_FLTTIME |
17542 | налёт в секундах, не имеет смысла переносить |
STAT_RESET |
1 | timestamp сброса статистики |
STAT_RUNTIME |
349600 | время работы платы, не переносится |
STAT_* записывает сама прошивка; заливать старые значения смысла нет — они затрут реальную статистику новой прошивки.
3. Значение изменено (8 шт)¶
Эти изменения переводят EKF3 на GPS-denied / ExternalNav-через-CMD-43003 архитектуру.
Источники EKF3¶
| Параметр | Было | Стало | Зачем |
|---|---|---|---|
EK3_SRC1_POSXY |
3 (GPS) | 6 (ExtNav) | активирует init-bypass (23351a4), Zholobov latch (d04f9d1), soft-correction (5913765) |
EK3_SRC1_VELXY |
3 (GPS) | 0 (None) | CMD 43003 несёт только позицию, не velocity |
EK3_SRC1_VELZ |
3 (GPS) | 0 (None) | то же |
Подробнее в Дельта от 4.5.
AHRS¶
| Параметр | Было | Стало | Зачем |
|---|---|---|---|
AHRS_OPTIONS |
0 | 32 | бит 0 = DisableDCMFallbackFW. Без него при «нездоровом» EKF AHRS молча переключается на DCM, который не знает про ExtNav |
Ветровая модель¶
| Параметр | Было | Стало | Зачем |
|---|---|---|---|
EK3_WIND_P_NSE |
0.1 | 0.05 | замедлить уход ветра до того как treatWindStatesAsTruth защёлкнется |
AHRS_WND_ENBL |
1 | 0 | dead code с AHRS_OPTIONS=32 — DCM-путь запрещён, EKF3 эти параметры не читает |
AHRS_WND_SPD |
5 | 0 | то же |
AHRS_WND_DIR |
180 | 0 | то же |
Подробнее про ветровой режим: common/wind.
4. Добавлены (2 шт)¶
Новые параметры в 4.6.3, которых не было в 4.5.
| Параметр | Default | Описание |
|---|---|---|
EK3_EXTNAV_DRIFT |
1.0 | кастомный, из коммита d04f9d1. Drift floor (m/s) для R_OBS на повторных CMD 43003. Понижать до 0.5 если ARSPD хорошо калиброван. См. Zholobov latch |
EK3_OPTIONS |
0 | новый стандартный битмаск опций EKF3. Default OK |
Все остальные «новые в 4.6.3» параметры (AIRSPEED_STALL, CAN_P1_OPTIONS, QWIK_ENABLE, RNGFND_LND_ORNT, SERVO_VOLZ_RANGE, SR5_*, SR6_*, TERRAIN_* расширения, TKOFF_OPTIONS, TKOFF_THR_MIN, BATT_CURR_MULT) сами появятся на борту после reboot со своими дефолтами — их не нужно явно указывать в .param.
5. Скрытые параметры (появятся автоматически после reboot)¶
ArduPilot не выгружает подпараметры feature'а пока сам feature выключен (видимость управляется атрибутом AP_PARAM_FLAG_ENABLE в AP_GROUPINFO_FLAGS). При заливке этого baseline'а на борт включатся следующие триггеры, и подпараметры станут видимы:
| Триггер | Что включается | Сколько подпараметров появится |
|---|---|---|
BATT_MONITOR=4 (Analog Voltage&Current) |
BATT_AMP_OFFSET/PERVLT/CURR_PIN/VLT_OFFSET/VOLT_MULT/VOLT_PIN |
6 |
BATT2_MONITOR=8 |
15 параметров BATT2_* |
15 |
ARSPD2_TYPE=1 |
10 параметров ARSPD2_* (BUS, DEVID, OFFSET, PIN, PSI_RANGE, RATIO, и т.д.) |
10 |
RPM1_TYPE=2 |
7 параметров RPM1_* (ESC_INDEX/MASK, MAX/MIN, MIN_QUAL, PIN, SCALING) |
7 |
EFI_TYPE=3 |
4 параметра EFI_* (COEF1/2, FUEL_DENS, THRLIN_EN) |
4 |
CAN_P2_DRIVER=1 |
CAN_P2_BITRATE, CAN_P2_FDBITRATE |
2 |
INS_HNTCH_ENABLE=1 |
8 параметров INS_HNTCH_* (ATT, BW, FM_RAT, FREQ, HMNCS, MODE, OPTS, REF) |
8 |
SCR_ENABLE=1 |
13 параметров SCR_* (USER1..6, HEAP_SIZE, и т.д.) |
13 |
Значения этих 65 параметров уже включены в .param файл — они будут заявлены при заливке и применятся как только триггер сделает их видимыми. Никаких дополнительных действий не требуется, кроме как ребут после Write Params.
6. Lua-параметры (требуют скриптов на SD)¶
В исходнике 4.5 присутствуют параметры, регистрируемые Lua-скриптами через param:add_table() API. Прошивка сама их не создаёт — они появляются только когда соответствующий .lua файл лежит на SD-карте и SCR_ENABLE=1.
| Префикс | Параметров | Скрипт | Где взять |
|---|---|---|---|
ANDR_* |
21 | antidron.lua |
/home/neo/Nextcloud/КБ Валькирия/SOFT/!!Для пусконаладки/Скрипты/!Последние версии скриптов/ |
BOOST_* |
4 | (старый скрипт, не найден в текущем каталоге) | требует разбора |
S_DETACH, S_MASK |
2 | (кастомный, не найден) | требует разбора |
SCR_USER1..6 |
6 | стандартные слоты | появляются при SCR_ENABLE=1 |
Значения для всех 33 Lua-параметров включены в .param файл; они применятся после того как:
- Соответствующие
.luaфайлы будут залиты на SD-карту в/APM/scripts/. SCR_ENABLE=1(уже в baseline).- Reboot — скрипт зарегистрирует свои параметры через
add_table(), после чего значения из EEPROM встанут в свои места.
BOOST_* и S_DETACH/MASK — открытый вопрос, нужно определить, какой скрипт их регистрировал в 4.5, и есть ли его актуальная версия. До прояснения эти 6 значений в файле не активируются.
7. Последовательность загрузки¶
- Прошивка: убедиться что Plane 4.6.3 Valkyrie V1.2.0 (custom version
59137650) уже залита. - SD карта: положить
.luaскрипты в/APM/scripts/(как минимумantidron.luaесли используется ANDR-режим). - Mission Planner → Config → Full Parameter List → Load from file → выбрать
RD-7.02.5_4_6_3_extnav.param→ Write Params. - Reboot борта.
- Проверить через MAVProxy/Mission Planner:
EK3_SRC1_POSXY = 6,EK3_EXTNAV_DRIFT = 1.0— наши кастомные дельты применены.BATT_VOLT_PIN = 16,INS_HNTCH_FREQ = 70и т.п. — скрытые параметры стали видимыми.ANDR_AS_CRUISE = 30и т.п. — Lua скрипт зарегистрировал параметры (если скрипт залит).- Read-only диагностика через tech/bench/diag.
- Калибровки — компас и акселерометр в новой прошивке могут потребовать повторной калибровки если COMPASS_DEV_ID или INS_ACC*_ID не совпали (значения из 4.5 в файле уже есть, но dev_id привязаны к физическому железу).
История версий¶
| Версия | Дата | Источник | Кто принял |
|---|---|---|---|
| 1 | 2026-05-26 | параметры РД-7.02.5.param (от Telegram, 4.5) |
автоматическая миграция через /tmp/migrate_4_5_to_4_6.py |