Это заняло много времени, но теперь все здесь и оно содержит так много нового!
Когда мы выпустили версию 3.5 в августе прошлого года, число различных полетных контроллеров, поддерживаемых BetaFlight, достигло 150, и их поддержка становилась серьезной проблемой и отнимала у нас много времени. Стало понятно, что надо что-то делать. Мы работали над изменением архитектуры BetaFlight так, чтобы какое-то время можно было использовать одну и ту же прошивку для разных полетных контроллеров, и поэтому мы решили завершить эти изменения перед выпуском следующей версии и из-за этого фундаментального изменения следующая версия будет 4.0.
Когда мы приблизились к изначально запланированной дате выпуска BetaFlight 4.0, то поняли, что не совсем готовы, и решили взять еще три месяца, чтобы завершить начатую работу.
Итак, теперь функционал 'Unified Targets', так мы назвали новую технологию 'одна прошивка для нескольких полетных контроллеров', стал реальностью в BetaFlight 4.0. Еще предстоит проделать некоторую работу, чтобы добавить возможность прошивки 'Unified Targets' в BetaFlight-конфигуратор, но как только это будет сделано, мы сможем позволить производителям собирать прошивку для любых полетных контроллеров или RTF-продуктов прямо в конфигураторе.
Как и ожидалось от BetaFlight, мы сделали ряд новых и захватывающих улучшений летных характеристик, таких как фильтрация на основе RPM-данных с регуляторов, управление D-term с помощью D_min, и динамическое управление и D-term фильтрация на основе уровня газа.
И снова, как и ожидалось, мы добавили еще несколько новых функций, не связанных с улучшением полета, таких как контроль запуска, OSD-профили и поддержка приемников на SPI-шине, интегрированных на плату полетного контроллера.
Расширенный список новых функций будет ниже.
Чтобы получить максимальную отдачу от улучшения полетных характеристик, ознакомьтесь с этими советами по настройке.
Если вы обновляете более раннюю версию BetaFlight, прочитайте следующий раздел, содержащий список тех вещей, которые вам, возможно, придется изменить в вашей конфигурации.
Мы постарались сделать этот выпуск максимально свободным от ошибок. Если вы все же найдете ошибку, пожалуйста, сообщите нам об этом, создав здесь новый пост с описанием проблемы.
Если вы хотите поговорить о BetaFlight, задать вопросы по конфигурации или просто пообщаться с другими пилотами, вы можете это сделать в нашей Facebook-группе.
BetaFlight так же имеется на платформе Slack. Зарегистрируйтесь здесь, а затем присоединяйтесь к нам в Slack. Большинство разработчиков проводят там свое время, так что это отличное место, чтобы поговорить о том, с чем вы работаете в BetaFlight, или получить помощь по действительно сложным проблемам конфигурации.
- Ряд изменений и улучшений в этой версии прошивки так же требуют изменений в конфигураторе BetaFlight. Эти изменения были добавлены в конфигуратор BetaFlight 10.5.0 (будет выпущен в ближайшие дни, инструкции по установке здесь). Пожалуйста обновите конфигуратор BetaFlight до версии 10.5.0 (или более новой), когда она будет доступна, или используйте командную строку;
- Если вы используете Blackbox Log Viewer, то будет выпущена обновленная версия 3.3.0 для BetaFlight 4.0 (инструкции по установке здесь). Пожалуйста, обновите программу до текущей версии, как только она станет доступна;
- В BetaFlight 4.0 есть ряд улучшений, касающихся летных характеристик. Поэтому использование резервных копий настроек от старых версий BetaFlight, скорее всего, приведет ухудшению летных характеристик! Настройки по умолчанию в BetaFlight 4.0 должны подходить для большинства конфигураций оборудования, но пользователи, желающие улучшить летные характеристики своего квадрика, должны прочитать заметки по настройке для того, чтобы узнать все необходимое о настройке BetaFlight 4.0 (#6432, #6943, #7078, #7264, #7271, #7304, #7373, #7538);
- Было исправлено применение мертвой зоны для параметра min_check. До исправления, мертвая зона по факту удваивалась. Чтобы сохранить тот же диапазон мертвой зоны для нулевого газа, вам необходимо удвоить значение мертвой зоны у параметра min_check (с отступом от 1000). Для тех пользователей, кто установил очень маленький диапазон мертвой зоны, это может привести к тому, что мертвая зона никогда не будет достигнута в исправленной версии прошивки, не позволяя выполнить арминг с сообщением 'THROTTLE', даже если стик газа будет стоять в нижнем положении. Если у вас случилась такая ситуация - увеличьте параметр min_check (#7463);
- Появился новый OSD-элемент 'Stick Overlay', который показывает текущее положение стиков пульта поверх изображения с камеры. Чтобы его использовать, надо обновить шрифт в OSD до текущей версии (доступно в конфигураторе версии 10.5.0 или более новом) (#7476);
- Функциональность OSD-элемента 'crash flip arrow' была расширена и теперь он активируется, когда квадрик не находится в режиме анти-черепахи, но дизармнут и наклонен больше, чем задано параметром small_angle. Это должно показать пилоту, что он не сможет выполнить арминг из текущего положения квадрика и требуется использовать режим анти-черепахи (#7250);
- В рамках введения Unified Targets, существующая команда resource была дополнена двумя новыми командами для управления ресурсами: timer и dma. Так же, как команда resource может использоваться для назначения функций на выводы, команда timer может быть использована для назначения таймеров на выводы, и команда dma может быть использована для назначения DMA-потоков для подсистем и выводов (если им назначен таймер). Важно: поскольку DMA-потоки связаны с выводами, на которых есть таймер, назначение таймеров на выводы должно быть выполнено в первую очередь, до назначения dma для этих выводов (#5824, #6837, #7620);
- Синтаксис команд resource, timer и dma выглядит однотипно и как часть этого команда resource list была переименована в resource show. Это делает команду схожей с новыми командами dma show и timer show (#7712);
- Следующие параметры были переименованы, чтобы соответствовать своим функциям: p_level - angle_level_strength, i_level - horizon_level_strength, d_level - horizon_transition (#6673);
- Конфигурация гироскопа была унифицирована. Разработчики перешли от описания каждой модели гироскопа к описанию общего класса для всех моделей гироскопов.Это означает, что в BetaFlight 4.0 для некоторых целей для сборки, использующихся для нескольких плат с разными моделями гироскопов, установленных с разной ориентацией, придется вручную задавать ориентацию гироскопов командами gyro_1_sensor_align (и/или gyro_2_sensor_align для плат со вторым гироскопом), чтобы ориентация гироскопа соответствовала его положению на плате. Смотрите примечание #6761 с разъяснениями и инструкции для конкретных полетных контроллеров. Это временное решение, конфигурация для каждого полетного контроллера будет исправлена в рамках Unified Targets (#5868);
- К сожалению, исправления в функционале ядра прошивки привели к увеличению ее размера, вследствие чего стало недостаточно доступной памяти у некоторых полетных контроллеров на F3-процессоре. Как результат, некоторые функции пришлось удалить у ряда полетных контроллеров на F3-процессоре. Исправления затронули следующие полетные контроллеры: AIORACERF3, BETAFLIGHTF3, CHEBUZZF3, CRAZYBEEF3FR, FURYF3, FURYF3OSD, IMPULSERCF3, LUX_RACE, LUXV2_RACE, MIDELICF3, OMNIBUS, RACEBASE, RMDO, SIRINFPV, SPRACINGF3, SPRACINGF3MINI, SPRACINGF3NEO, STM32F3DISCOVERY (#6900, #6955, #7037, #7038, #7045, #7306, #7381, #7392, #7402, #7421, #7501, #7508, #7518, #7829, #7842);
- В дополнение к написанному выше, следующие функции были удалены у всех полетных контроллеров на F3-процессоре, чтобы прошивка смогла поместиться в память: Smart FeedForward и поддержка прошивки / настройки регуляторов с SimonK-прошивкой (#7272, #7274, #7391);
- Поддержка отображения статуса через цветные светодиоды была удалена из прошивки для полетных контроллеров на F3-процессоре, чтобы освободить больше места в памяти. Вместо этого, могут быть использованы профили светодиодных лент (за исключением профиля 'Status', который не поддерживается на F3) для установки фиксированного цвета светодиодов. Светодиодные профили так же доступны и для F4/F7, для выбора простой конфигурации светодиодов через OSD (#7485);
- Поскольку вышеуказанных мер оказалось недостаточно для прекращения переполнения памяти на полетных контроллерах с F3-процессором, была введена многоуровневая система классификации этих полетных контроллеров для задания уровня усечения функционала. Это будет использовано для удаления еще большего количества функций для полетных контроллеров на F3-процессоре (#7429).
- Возврат значений RPM с регуляторов в режиме реального времени, и режекторные фильтры на основе полученных данных (#7264, #7271);
- Управление значением D-Term через D_min (#7373, #7538);
- Динамические управление и D-term-фильтрация на основе значения по газу (#6943);
- Контроль запуска (#6992);
- Переключаемые OSD-профили (#6714);
- Поддержка приемников Spektrum, подключенных через SPI-шину (#7210);
- Unified Targets - унификация целей для сборки прошивки (#5824, #6837, #7620).
- Каскадные динамические вырезки (#7078);
- Линеаризация тяги (#7304);
- Интегрированный контроль yaw (#6432);
- Переключаемые LED-профили (#7303);
- Показ работы стиков на OSD (#7167);
- Переключение профиля на основе количества банок аккумулятора (#7516);
- Поддержка протокола Futaba S-FHSS на интегрированных чипах CC2500 (FrSky SPI) (#6865);
- Режим EU LBTдля FrSky-приемников на SPI-шине (#7339);
- Поддержка STM32F765-процессоров (#6669);
- Настройка через HoTT-телеметрию (#6224).
Исправления:
- Исправлена потенциальная проблема, когда в режиме анти-черепахи включен bidirectional DShot (#7929);
- Добавлен отсутствующий текст помощи для команды vtx в консоли (#7934);
- Исправлена проблема с предупреждением о высоте, когда оно должно быть отключено (#7937);
- Исправлена проблема с полетными контроллерами на основе F446-процессора (#7942).
- Добавлена цель для сборки RUSHCORE7 для версии 4.0 (#7930);
- Добавлена цель для сборки FF_RACEPIT для версии 4.0 (#7931);
- Добавлена цель для сборки KAKUTEF7MINI для версии 4.0 (#7932);
- Добавлена цель для сборки FLYWOOF411 для версии 4.0 (#7933);
- Обновлена цель для сборки OMNIBUSF4NANOV7 (#7939).
Исправления:
- Исправлено определение гироскопов для плат с несколькими гироскопами (#7914);
- Исправлены настройки с неработающими lowpass-значениями по умолчанию, если использовался BetaFlight Configurator версии 10.4 (#7918);
- Исправлено CMS-меню через CRSF (#7919).
- Обновлена конфигурация JHEF7DUAL для Betaflight 4.0 (#7906);
- Обновлена конфигурация SYNERGYF4 для Betaflight 4.0 (#7913).
Исправления:
- Исправлены несоответствия в отображении некоторых элементов OSD и послеполетной статистики (#7877);
- Исправлено отображение модели процессора для полетников на STM32F446 (#7882);
- Исправлен обсчет составляющих PID для расчета высоты в режиме GPS Rescue (#7884);
- В консоли исправлен вывод команды 'timer' (#7885);
- Исправлены значения по умолчанию и проверка параметров для lowpass-фильтра (#7888);
- Добавлен debug- режим для функции absolute control (#7889);
- Функция absolute control будет применяться и к оси yaw (#7890);
- Исправлена частота работы пищалки (#7891);
- Исправлена проверка отключения опции 'BOTH' в настройках гироскопов, если RPM-фильтр включен (#7895);
- Исправлено определение ESCSERIAL (#7898);
- По умолчанию отключена функция absolute control (#7901).
- Обновлена конфигурация ELINF405 для Betaflight 4.0 (#7880);
- Обновлена конфигурация ELINF722 для Betaflight 4.0 (#7887).
Исправления:
- Удалены неиспользуемые заголовки в логах блэкбокса (#7851);
- Исправлена компиляция с поддержкой двух гироскопов (#7864);
- Исправлены ошибки функции absolute control (#7866);
- Добавлено предотвращение проблем с таймерами с bidirectional DShot-телеметрией (#7865);
- Исправлена проблема совместимости протокола SmartAudio при удалении поддержки 'SmartAudio Lite' (#7871).
- Добавлен новый полетник OMNIBUSF4NANOV7 (#7872).
Улучшения безопасности:
- Запрет арминга, если DShot-телеметрия включена, но недоступна (#7813).
- Исправлено представление барометра для Unified Targets (#7723);
- Отключение DShot-телеметрии, если протокол не DShot или ProShot (#7795);
- Добавлена потерянная команда 'timer' в консоли (#7804);
- Добавлен периодический опрос DShot-телеметрии, если она включена, но не работает (#7815);
- Исправлена ошибка, приводящая к чрезмерному спуску в режиме GPS Rescue (#7816);
- Добавлен раздел 'blackbox_device' в команды diff hardware/dump hardware (#7821);
- Исправлена ошибка в работе DShot-протокола (#7824);
- Добавлены параметры D_min, динамические фильтры, absolute control, и integrated yaw в заголовки данных блэкбокса (#7826, #7827, #7831);
- Для 'iterm_relax' в debug-режиме изменено 'acError' на 'acCorrection' (#7847);
- Исправлена ошибка обработки количества каналов в SUMD V3 (#7853).
- Добавлена поддержка памяти M25 NOR для CLRACINGF7 (#7779);
- Устранена проблема с UART3 на CLRACINGF7 (#7799);
- Удалена часть функциональности у MIDELICF3, RMDO и SPRACINGF3 для того, чтобы прошивка поместилась в памяти (#7829);
- Удалено еще больше возможностей у RMDO и SPRACINGF3 чтобы прошивка могла поместиться в памяти (#7842).
Исправления:
- Добавлено исправление для пользовательских сборок только с SPI RX в качестве приемника (#6399);
- Исправлены вводящие в заблуждение предупреждения в режиме GPS Rescue (#7730);
- Исправлен вывод по команде dump секции beacon (#7747);
- Добавлен модификатор bare для команд diff и dump (#7751);
- Исправлен список опций таймеров для F7 (#7753);
- Появилась возможность использовать dshot_burst с выводами под моторы без DMA (#7754);
- Исправлен недостаточный нижний предел для датчика оборотов в Spektrum-телеметрии (#7757);
- Исправлено зависание при перезагрузке для некоторых полетников на F7-процессоре (#7760).