15 апреля 2018

Беспроводной симулятор из квадрика с прошивкой BetaFlight!

Недавно обратил внимание, что в исходные тексты прошивки BetaFlight добавили возможность использовать USB-порт в качестве HID-устройства. Стало понятно, что дело идет к тому, чтобы использовать квадрик в качестве беспроводного джойстика в симуляторах. То есть, можно просто взять и подключить свой любимый квадрик к компьютеру и летать через него в любом симуляторе! И без разницы какой пульт и приемник - оно будет работать! Сегодня попробовал завести это дело.


Беспроводной джойстик пока что работает только на полетных контроллерах с F4 или F7-процессором. Потребуется обновить прошивку в полетном контроллере на самую свежую из ночных сборок. Если еще не настроена связка 'пульт-приемник-полетник', то самое время это сделать. Лучше всего подогнать диапазон до 1000-2000 по каждому каналу на вкладке приемника в конфигураторе BetaFlight. В общем-то и все. Очень желательно, чтобы приемник так же включался при подключении полетного контроллера через USB-порт, иначе потребуется еще и аккумулятор к квадрику подключать, что не очень безопасно.

В консоли конфигуратора BetaFlight надо ввести следующую команду и сделать сохранение настроек:

set usb_hid_cdc = on
save

После этого в свойствах компьютера появится джойстик на восемь осей. У меня даже два появилось, так как одновременно завел квадрик на F7-процессоре и маленький полетник на F4-процессоре:)


На квадрике с F7-процессором приемник подключен через FPort, а к полетнику на F4-процессоре - через SBUS. В обоих случаях все отлично работает. Если хочется просто сделать стационарный беспроводной джойстик, можно использовать маленький полетник на F4-процессоре и любой миниатюрный приемник, например такой для FrSky-протокола.


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

Попробовал завести беспроводной джойстик в различных симуляторах. В FPVFreeRider не завелось. Джойстик подхватился только в Heli-X и VelociDrone. Возможно, на windows-системах оно и везде заработает, просто у меня другая система.

В симуляторе VelociDrone беспроводной джойстик на F7-процессоре выглядит так:


А на F4-процессоре определяется с именем прошивки полетника:


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

Для отключения функции джойстика надо ввести в консоли конфигуратора BetaFlight следующие команды:

set usb_hid_cdc = off
save

Осталось дождаться появления этой функции в очередном релизе BetaFlight. А на сегодня все, удачных тренировок!

3 комментария :

  1. Приветствую! А как обратно переключить контроллер? Он после всех этих действий не подключается к Betaflight 🙁 Определяется как другое устройство и всё(

    ОтветитьУдалить
    Ответы
    1. Какая-то проблема с драйверами. Включение USB-HID никак не влияет на работу полетника.

      Удалить
    2. Была такая же проблема: бета флайт не видет полетник, он определялся как геймпад
      Решение: Зайти в диспетчер устройств, найти betaflight stm32f405(не помню в каком разделе он был, но где-то внизу, и удалить его вместе с драйверами(удалить устройство->галочка удалить драйвера к этому устройству ))

      Удалить