Прошивки CleanFlight/BetaFlight для полетников

cnyx

На форточках лично мне приходится обязательно выдергивать USB. Там фишка такая, что VCP отваливается, но конфигуратор этого не видит и контроллер остается connected. Если нажать disconnect, то в списке не будет нужного COM порта, пока не передернешь кабель. В MacOS такого нет. Ждать нужно скорее всего именно по причине того, что в системе исчезает VCP, а потом появляется + время на загрузку контроллера.

vasiliy_gr:

И вопрос тем, кто в теме про бетафлай… Заметил, что на cc3d нет Gtune. Какая там история и перспективы вопроса? Просто не влезло в прошивку? Автор в будущем обещает, или не судьба?

В курсе, писали. Коротко: не хватает памяти. Если шарим в теме, то читаем это github.com/borisbstyle/…/Building in Windows.md или аналогичное для Linux (с убунту проще всего, там есть тулчейны). Скачиваем исходники, в src/main/target/CC3D/target.h комментируем лишние модули типа GPS, LED, SONAR и добавляем #define GTUNE. Компилим. Изи бризи =)
-------------
CC3D betaflight 2.1.1 c GTUNE, вырезано SONAR, LED, GPS
rghost.ru/7xtwD5HzG

vasiliy_gr
cnyx:

В курсе, писали. Коротко: не хватает памяти. Если шарим в теме, то читаем это github.com/borisbstyle/betaf...n Windows.md или аналогичное для Linux (с убунту проще всего, там есть тулчейны). Скачиваем исходники, в src/main/target/CC3D/target.h комментируем лишние модули типа GPS, LED, SONAR и добавляем #define GTUNE. Компилим. Изи бризи =)

О, спасибо! А я что-то стормозил… У меня не убунта, а суся, однако тулчейны ещё с перекомпиляций devo настроены. Да и вообще под линуксами всех дел - архив с тулчейном скачать, его bin в путь засунуть. Точно - вместо GPS должен влезть…

Пока писал - попробовал. Странно - даже без убирания чего-либо всё влезло. Штатная последняя версия из репы - 118876 байт (цифры из конфигуратора после Load Firmware Local), новая - 119864. Я, конечно, ни в чём не уверен… Но по крайней мере оно скомпилилось, загрузилось и в конфигураторе в Modes появился GTUNE…
------------
Это я имею в виду - репу локально через git pull обновил (до того неделю назад её скачал, чтоб была - привычка против разрабов из собственной конторы), дефайн вставил, make clean, make.

lunohod
vasiliy_gr:

Ещё добавлю что у меня под линуксом при прошитом hex-е с коннектом через usb при включении, а также после любой перезагрузки контроллера, необходимо выждать секунд 5-10, а затем несколько раз нажать на Connect (возможно, просто дольше выждать, но мне никогда терпения не хватало).

Да, такая же фигня.

vasiliy_gr:

Я, конечно, ни в чём не уверен… Но по крайней мере оно скомпилилось, загрузилось и в конфигураторе в Modes появился GTUNE…

Если не влезает, то оно ругнётся ещё в процессе сборки.

cnyx

Значит где-то порезали код. Раньше не влезало =)
А по тулчейнам фик знает. Я в инете пытался читать, как на CentOS поставить, мозги поплыли. Все ужасы рисовали. А потом статью для Ubuntu нашел, там элементарно из репозитория ставится. Хорошо была одна машина как раз на Ubuntu. А потом уже и про то, как на винде компилить прочитал.

vasiliy_gr
cnyx:

Значит где-то порезали код. Раньше не влезало =)
А по тулчейнам фик знает. Я в инете пытался читать, как на CentOS поставить, мозги поплыли. Все ужасы рисовали. А потом статью для Ubuntu нашел, там элементарно из репозитория ставится. Хорошо была одна машина как раз на Ubuntu. А потом уже и про то, как на винде компилить прочитал.

Не, реально ничего никуда ставить не надо вообще. Проще надо быть… 😃 Скачиваем архив с нужным тулчейном из того самого места по ссылке с сайта. Кладём рядом с другими тулчейнами (в смысле - другой версии, версии старые подчас требуются). Осталось только его bin прописать в PATH. Т.е. строчки примерно такого вида:
ARM_TOOLS=/home/vasil/rc/__src__/gcc-arm-none-eabi-4_9-2015q3/bin
PATH=$ARM_TOOLS:$PATH
export PATH

Хитрый вопрос - куда их положить? Самое элементарное решение - сделать командный файл баш с этими строчками и дальнейшими make - его и запускать. Если лениво - то в автозапуск. Некоторые советуют в ~/.bashrc - но это неправильный вариант, они там дуплится начнут (если работать в линуксовом ГУИ), что некрасиво. Правильный вариант - в ~/.bash_profile, но если его изменить, то нужно перелогиниваться, что влом. Наверно, самое правильное - сделать отдельную директорию, прописать её вышеприведённым образом, а на неё ставить софт-линки текущей версии тулчейна. Но я вообще не особо спец по линуксам - задал сейчас этот вопрос парню в отделе, который у нас по линуксовой разработке главный.

Ну а потом просто make запускать с соответствующими параметрами. В принципе этот метод от разновидности линукса не должен зависеть. Равно как и от наличия/отсутствия у него правильного/неправильного тулчейна в репозитариях. По крайней мере проверял на девиэйшен и CF/BetaFlight - вполне этого достаточно.

Сорри за линуксоидный оффтопик… Надеюсь, кому-нибудь из пользователей линукса будет полезно.

TJohn7002
cnyx:

CC3D betaflight 2.1.1 c GTUNE, вырезано SONAR, LED, GPS

пищалка оставлена на 6м канале? активную пищалку обязательно через транзистор надо вешать, а пассивная вообще не катит - всё так?

ещё вопрос:
как правильно делать бекап настроек для CF сейчас? - штатная команда пропускает некоторые настройки\режимы полёта. Если можно - виде ответа для FAQ (в CLI вводим команды 1 2 3 копируем вывод в блокнот - профит).

lunohod
TJohn7002:

в CLI вводим команды 1 2 3 копируем вывод в блокнот - профит

dump в cli. весь выхлоп сохранить в файл. для восстановления достаточно скопировать его обратно в cli и выполнить save.

cnyx
vasiliy_gr:

Не, реально ничего никуда ставить не надо вообще. Проще надо быть… Скачиваем архив с нужным тулчейном

Как бы слова наполовину понятные, но на деле не очень. Я с линуксом тоже не очень знаком, так что для меня это все непросто.

TJohn7002:

пищалка оставлена на 6м канале? активную пищалку обязательно через транзистор надо вешать, а пассивная вообще не катит - всё так?

Без малейшего. Я код не правил, я просто отключал добавление функций (модулей). Но по факту даже отключать ничего не надо, все и так влезает.

lunohod:

dump в cli. весь выхлоп сохранить в файл. для восстановления достаточно скопировать его обратно в cli и выполнить save.

Не совсем. Формально там надо еще делать переключение профилей и сохранение рейтов профилей. Но… Насколько я понимаю, cf/bf не поддерживает переключение профилей с аппаратуры, и это не очень. OP поддерживал. Так что бэкап профилей не очень то и нужная штука.
Команды были типа
set profile 1
dump rates
set progile 2
dump rates
Был пост в теме по 200-300тым квадрикам.

vasiliy_gr
TJohn7002:

ещё вопрос:
как правильно делать бекап настроек для CF сейчас? - штатная команда пропускает некоторые настройки\режимы полёта. Если можно - виде ответа для FAQ (в CLI вводим команды 1 2 3 копируем вывод в блокнот - профит).

А вот на буржуйском форуме буквально намедни наткнулся на упоминание clipytool:
www.etheli.com/CF/clipytool/

По первому впечатлению - весьма полезная утилита. Которая делает ровно то, что от неё ожидаешь и чуть больше. Но головой не поручусь - я её пока всего два раза использовал на двух ненастроенных аппаратах… Ну, а клинфлайт - две недели, бетафлайт - неделю…

Что касается просто dump - этого, насколько я понял, недостаточно, так как есть ещё profile и rateprofile. С первым всё понятно, а вот смысла rateprofile я так до сих пор и не уловил. В частности - как он связан с просто_profile. Возможно, это тоже вопрос, напрашивающийся в FAQ…

cnyx:

Не совсем. Формально там надо еще делать переключение профилей и сохранение рейтов профилей. Но… Насколько я понимаю, cf/bf не поддерживает переключение профилей с аппаратуры, и это не очень. OP поддерживал. Так что бэкап профилей не очень то и нужная штука.

Э-э-э… Левый стик в левый нижний угол. Правый (везде по центру): влево, вверх, вправо. Соответственно, профайлы 1, 2 и 3. При этом мигает лампочкой 1-2-3 раза. Так что профайлы как раз на ходу очень даже нужны. А вот кто бы мне объяснил, зачем отдельные рейт-профайлы…

cnyx

Только вот эти профили не переключаются в воздухе. Вернее можно, но сложно =) В OP по сути было 6 полетных режимов и в каждом полетном режиме можно было выбрать Bank и режим полета.
А по поводу рейтпрофайлов, может в профилях хранятся только ПИД и ПИДконтроллер, а рейты хранятся именно в рейтпрофайлах? Тогда должна быть возможность и рейтпрофайлы переключать.
Там типа так советовали

TJohn7002

ок, всем спасибо)
Ещё вопрос: почему то не получается завести блэкбокс, хотя ранее он норм работал:

поставил галку напротив blackbox во вкладке configuration
сделал так, чтобы bb активировался на верхнем положении 3-х позиционника
поставил галку bb на вкладке Ports - logging напротив USB (пробовал и без галок, и со вторым портом - один фиг нет результата)
забил настройки в cli

set blackbox_device = 1 (писать в память контроллера)
set blackbox_rate_denom = 2 (писать каждый 2й семпл - в 2 раза уменьшаю частоту, увеличивая время записи)

в итоге:
армлю коптер трёхпозоционником
включаю bb вторым трёхпозоционником
вожу стиками, жду секнд 5
дизармлю коптер
отрубаю батарею, подрубаю к компу - во вкладке dataflash пусто (2 MB своюодного места), кнопки Save и Erase серые…

В прошлый раз армил коптер стиками - и всё работало. Сейчас пробовал и стиками армить - тоже не катит… хз что не так((

korvin8
Сергей_Уж:

Все таки GTune красивее настраивается чем автотюнс. Посмотрите видео, нужно просто летать, а показания пидов в результате бомбовые.

я не совсем понял, запускать g-tune нужно после взлета, а выключать и снова включать после посадки? что-то новые ПИДы сохраняются через раз(

в документации написанно

You will see the results in the GUI - the tuning results will only be saved if you enable G-Tune mode while the copter is disarmed and G-Tune was used before when armed.

буду с экспериментировать автонастройкой дальше

ARXITEKTOR

Прошил CC3D mini betaflight_CC3D.bin через OpenPilot GCS.
Cleanflight - Configurator плату видит
т.к. шил bin то только при поданном питании.
Приёмник подключен в main порт
и при включении передатчика происходит отключение от CF Configurator
и до тех пор пока включен передатчик плата не определяется.
стоит отключить и всё нормалько как что надо настроить ?

Сергей_Уж
korvin8:

я не совсем понял, запускать g-tune нужно после взлета, а выключать и снова включать после посадки? что-то новые ПИДы сохраняются через раз(

Включать после взлета, выполнить маневры как на видео ( точнее просто летать выполняя разные маневры и чем больше “видов систем и калибров” тем лучше, повороты по Yow ), при резкой даче газа и подъеме меняется P итд Главное чтобы в мозг поступило как можно больше данных. После посадки

  1. выполнить Дизарм
  2. выключить GTune
  3. Снова включить GTune в этот момент происходит запись новых настроек
    4 выключить GTune Готово !
    Смотрим в CF новые значения PID

Hydra “тащится” от количества Fork, народ активно участвует в шлифовке
<Hydra_> i can’t belive that there are SIX HUNDRED AND THIRTY FOUR forks of the cleanflight codebase
<Hydra_> that is such an awesome statistic.
<Hydra_> let me say it again
<Hydra_> SIX HUNDRED AND THIRTY FOUR forks (!!!)

korvin8

единственное не понятно что будет если после этого снова включить/выключить g-tune?
нужно полагать что если включить во время следующего полета - настройка продолжится, новые ПИДы выступят в качестве базовых
а что будет если случайно снова включить/выключить в дизармленном состоянии?

нужно ли обнулять И и Д перед настройкой?

п.с. тестировал сегодня g-tune, активно отлетал одну батарею, получил странные результаты: по одной оси П 1, при моей настройке 1.2, ао второй 3, при моей настройке 1.6, при этом естественно есть осциляции и летает не так приятно, как при моих настройках
буду пробовать автотюн дальше

Сергей_Уж
korvin8:

единственное не понятно что будет если после этого снова включить/выключить g-tune? нужно полагать что если включить во время следующего полета - настройка продолжится, новые ПИДы выступят в качестве базовых а что будет если случайно снова включить/выключить в дизармленном состоянии?

Делайте все как показано, самодеятельности и щелкание тумблерами не допускается. Если снова включите настройку, все нужно начинать заново. Нужно просто один раз чисто , без химии выполнить все как на видео. Не нужно отлетывать целую батарею, просто погоняйте квадрик на разных режимах, запишите настройки и посмотрите что получится и если можно скриншот до и после. До нуля ничего обнулять перед полетом тоже не нужно, автонастройка сама подберет параметры, что то уменьшит, что то увеличит.

korvin8
Сергей_Уж:

Делайте все как показано, самодеятельности и щелкание тумблерами не допускается.

допускается все 😃 нужно просто четко понимать к какому результату приведет каждое действие, что я и спросил

Сергей_Уж:

Если снова включите настройку, все нужно начинать заново.

что все? при автонастройке все время корректируется П, теоретически чем дольше настраивать - тем точнее настройка
не понятно как ее заново можно начать, если ее можно начинать при любых ПИДах, и они постепенно будут изменяться

Сергей_Уж:

просто погоняйте квадрик на разных режимах

правильно ли я понимаю что под эти понимается насыщенный полет: ускорения, вращения и повороты по всем осям?

Сергей_Уж:

автонастройка сама подберет параметры, что то уменьшит, что то увеличит

тут я с вами не соглашусь, автонастройка настраивает только П, вот и интересно влияют ли как то преднастроенные И и Д на нее

The implementation you have here is quiet different and just for adjusting the P values of ROLL/PITCH/YAW in Acro mode.

github.com/borisbstyle/betaflight/…/Gtune.md

cnyx
ARXITEKTOR:

стоит отключить и всё нормалько как что надо настроить ?

Ну вообще все должно работать и при подключенном приемнике. USB (VCP) и MAIN порт висят на разных UART.

korvin8:

правильно ли я понимаю что под эти понимается насыщенный полет: ускорения, вращения и повороты по всем осям?

GTUNE работает только когда стик в центре и после задержки (дефолт 450мс) после того, как стик пришел в центр. Так что пока вы крутите ролл, P на оси roll не настраивается. Там и в мануале написано, что лучший способ настройки всех осей сразу, это стики в центр и газ на набор высоты.

korvin8:

тут я с вами не соглашусь, автонастройка настраивает только П, вот и интересно влияют ли как то преднастроенные И и Д на нее

Попробуйте =) Я пробовал. Влияют сильно. Если раньше я вылетывал акк (висел в комнате) и P поднимался с 4.0 до 4.4-4.8, то при обнуленных I и D P моментально поднималось до 10. А вообще в оригинальном алгоритме настраиваются все составляющие PID.

Сергей_Уж:

Нужно просто один раз чисто , без химии выполнить все как на видео.

Про какое видео вы говорите?

ARXITEKTOR

Выложите пожалуйста скрины настроек для cc3d чтобы s.bus работал.