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. А на сегодня все, удачных тренировок!