FPort — это новый протокол последовательной передачи данных, который имеет несколько улучшений относительно существующих протоколов управления и телеметрии (SBUS / SmartPort). В этой статье мы рассмотрим преимущества FPort, и то, как его настроить в Betaflight.
Оригинал: How to Setup Frsky FPort
FPort — это протокол, используемый в приемниках для связи с полетным контроллером. FPort (возможно расшифровывается как «FrSky Port»?) разработан командами Betaflight и FrSky.
Почему FPort лучше?
Причины, по которым я предпочитаю использовать FPort, а не SBUS и SmartPort:
- FPort передает управляющий сигнал, телеметрию и RSSI по одному проводу.
- упрощается прокладка проводов и пайка
- экономится последовательный порт
- FPort — имеет неинвертированный сигнал, в общем, надеюсь, больше не понадобятся всякие трюки и хаки с инверсией сигнала на ПК с F4.
- FPort немного быстрее, чем SBUS (англ.)
- RSSI работает, не занимая отдельный канал управления
Требования для использования FPort
Приёмники
Чтобы включить FPort, нужно обновить прошивку в приёмнике («FPort firmware»). Скачать её можно тут: https://www.frsky-rc.com/product-category/receivers/
Большинство приемников FrSky могут использовать этот протокол, просто пройдите по ссылке выше и найдите подходящую прошивку.
Вот мое руководство по обновлению прошивки в приемниках (англ).
Учтите, что после перепрошивки вы не сможете использовать SBUS. Чтобы опять включить SBUS нужно будет вернуть обычную прошивку (без FPort).
Полетные контроллеры
ПК на F3, F4 или F7 со свободным последовательным портом. Убедитесь, что у вас свежая версия Betaflight.
Betaflight Configurator
Скачайте и установите Betaflight Configurator.
Как настроить FPort?
Контакт «SmartPort» приемника после перепрошивки начинает работать как «FPort».
Подключение
Просто подключите контакт SmartPort к контакту TX свободного последовательного порта на полётнике.
Нельзя использовать программную эмуляцию (soft-serial) для работы FPort! Для SmartPort телеметрии такого порта хватает, но для FPort скорости маловато. Если нет другого выбора, тогда используйте SBUS и SmartPort, а не FPort.
Оригинальный, «Инвертированный» SmartPort на F3 и F7
У приемников FrSky сигнал SmartPort является инвертированным относительно обычного последовательного порта, и полетники на F4 не могут его распознать. Однако для F3 и F7 — это не проблема, поэтому соединяем приемник и ПК напрямую.
Пишем в консоли Betaflight
set serialrx_halfduplex = ON set serialrx_inverted = ON save
Хакнутый, «неинвертированный» сигнал SmartPort (F4)
Если у вас полетный контроллер на F4 и нет выделенного пина для SmartPort (со встроенным инвертором), тогда читаем вот это руководство и находим «неинвертированный» сигнал в приемнике.
Приемник R9MM — первый приемник с неинвертированным SmartPort сигналом. Надеюсь, они и дальше будут выпускать новые приемники без инверсии.
Пишем в консоли
set serialrx_halfduplex = ON set serialrx_inverted = OFF save
Если у вас ПК F4 имеет встроенный инвертор, и вы используете оригинальный, инвертированный сигнал с приемника, тогда вводим вот это:
set serialrx_halfduplex = OFF set serialrx_inverted = ON save
Настройка
Открываем Betaflight Configurator
На вкладке Ports находим последовательный порт (UART), к которому подключен приемник и включаем Serial RX. В моем примере это UART4.
Переходим на вкладку Configuration и выбираем FPort в разделе Receiver
Включаем телеметрию. После этого нажимаем «Save and Reboot».
Проверяем управление на вкладке Receiver.
Чтобы на Таранисе заработала телеметрия, переходим на её страницу и выбираем «Delete all sensors» («удалить все датчики»), а затем «Discover new Sensors» («Найти новые датчики»).
Как я уже говорил RSSI заработает автоматически, однако нужно будет поменять масштаб на 200%.
set rssi_scale = 200 save
На этом все настройки закончены! 🙂
Решение проблем с FPort
Если у вас приемник привязан к передатчику, а Betaflight не реагирует на стики, тогда попробуйте поменять инвертирование сигнала в настройках (on или off):
set serialrx_inverted = ON save
Если не работает телеметрия, тогда попробуйте разные значения (on и off):
set serialrx_halfduplex = ON save
Ещё можно попробовать сделать новый поиск сенсоров в Таранисе (Rediscover Sensor).
Всё ещё не работает? Пишите комментарии или на форум (англ).
История изменений
- Декабрь 2017 — первая версия статьи
- Февраль 2019 — обновление статьи, т.к. теперь большинство приемников FrSky поддерживают FPort