Zobacz jak zaktualizować odbiornik R-XSR i wgrać firmware z obsługa nowego protokołu F.Port.

Dlaczego używać F.Port?

F.Port to nowy protokół od FrSky, który został stworzony przy współpracy z developerami z Betaflight. Ma on na celu połączenie dwóch funkcjonalności SBUS (Serial Bus)(jednokierunkowa komunikacja do sterowania) i S.Port (dwukierunkowa komunikacja dla telemetrii, (zasięg, stan baterii, gps)). Oba protokoły wykorzystują transmisje szeregową (UART) i oba wykorzystują do tego jeden przewód sygnałowy. Czyli w przypadku chęci korzystania z dwóch protokołów trzeba użyć dwóch przewodów. F.Port łączy oba rozwiązania, wysyła i odbiera dane wykorzystując tylko jeden przewód. Dodatkowo transmisja posiada większą szybkość od S.Port – 115200baud . Plusem jest to, że oszczędzamy w kontrolerze lotu jeden UART . Cała instalacja jest prostsza i czystsza. Zyskujemy większą kompatybilność z procesorami F4, które posiadają UART noninverted.

Aktualizacja odbiornika

Na początek trzeba pobrać z oficjalnej strony FrSky specjalny firmware aby obsługiwać protokół F.Port. Należy go rozpakować i wgrać na kartę SD do katalogu FIRMWARES. W zależności od wersji jaka się posiada, FCC lub LBT. Pisałem o tym pod tym linkiem https://techfreak.pl/taranis-qx7-zmiana-firmware/

W zestawie z odbiornikiem R-XSR zostały dołączone dwa przewody jeden służy do aktualizacji oprogramowania przez aparaturę a drugi już do docelowego podłączenia odbiornika do kontrolera lotu.


Po podłączeniu należy wybrać plik z karty SD i wskazać do jakiego urządzenia na zostać wgrany, menu wyboru nie widać na zdjęciu ale trzeba zaznaczyć plik naciskając enter.

Podłączenie

Testy wykonywałem na kontrolerze lotu HGLRC XJB F413 Omnibus F4.V2, który mam w HGLRC Hornet120. Standardowo Odbiornik RC podłączony jest pod port TX3 oznaczony jako SBUS. Jest to port inverted który nie obsługuje dwukierunkowej komunikacji. F.Port zadziała ale tylko w jedną stronę – mogę sterować quadem. Natomiast nie wyślę on żadnych danych do aparatury. Musiałem skorzystać z pinu TX6, który jest uninverted.

W odbiorniku R-XSR trzeba podłączyć się do pinu P, który jest uninverted. Niestety pin jest całkiem mały i trzeba uważać aby go później nie zerwać.

Betaflight 3.3.0

F.Port jest obsługiwany przez najnowszą wersje betaflight 3.3.0 aby włączyć tą opcje należy wskazać port UART, Recievier mode i Serial Recievier Provider w takiej kolejności poniżej.

Diff z CLI betaflight. Tak aby porównać co się zmieniło.

 

I tu myślałem, że nie trzeba będzie nic więcej robić aby F.Port działał poprawnie. Niestety myliłem się, trzeba dodać wpis set serialrx_halfduplex = ON. Wszystskie wpisy potrzebne do uruchomienia poniżej.

serial 5 64 115200 57600 0 115200
set serialrx_provider = FPORT
set serialrx_halfduplex = ON

Wynik

Na poniższym wideo pokazuje, że działa sterowanie czyli odbieranie wysyłanie danych z aparatury. Jednym słowem działa sterowanie RC i konfiguracja opcjami kontrolera lotu.

<p style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;">
  <a href="https://www.instagram.com/p/BhEyz11AIFA/" style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none;" target="_blank">A post shared by techfreak (@techfreak_fpv)</a> on <time style=" font-family:Arial,sans-serif; font-size:14px; line-height:17px;" datetime="2018-04-02T16:38:25+00:00">Apr 2, 2018 at 9:38am PDT</time>
</p>

Linkownia: