eLeReS by Mifau?

Moderatorzy: marbalon, moderatorzy2014, moderatorzy

Awatar użytkownika
miś
Posty: 9242
Rejestracja: niedziela 07 lut 2010, 15:24
Lokalizacja: Bytom

Re: eLeReS by Mifau?

Post autor: miś »

Telemetria nadawana jest zaraz po odebraniu ramki sterującej. A wysyłanie S-BUS to całkiem osobny task, ale jest szybszy niż wysyłanie PPM, więc może coś jest na rzeczy...
Pzdr. -----MIŚ-----
KM
Posty: 81
Rejestracja: czwartek 06 lis 2014, 20:06
Lokalizacja: Katowice

Re: eLeReS by Mifau?

Post autor: KM »

Druga rzecz jaka przychodzi mi na myśl, to może są jakieś szpilki na sygnale których nie widzę na oscyloskopie. Jeśli PPM od razu robi interrupta to FC będzie bardzo wrażliwy. UART zapewne sampluje każdy bit wielokrotnie i może być przez to bardzej odporny. Taka hipoteza.

Co do samego SBUS-a - możesz mi powiedzieć czemu wysyłanie ramki SBUS z eleresa trwa ~6ms, kiedy innym wystarcza 3ms?

Kod: Zaznacz cały

/*
 * Observations
 *
 * FrSky X8R
 * time between frames: 6ms.
 * time to send frame: 3ms.
 *
 * Futaba R6208SB/R6303SB
 * time between frames: 11ms.
 * time to send frame: 3ms.
 */

#define SBUS_TIME_NEEDED_PER_FRAME 3000
Pociągnąłbym temat po stronie iNav-a, tylko potrzebuję argumentów :)
Awatar użytkownika
miś
Posty: 9242
Rejestracja: niedziela 07 lut 2010, 15:24
Lokalizacja: Bytom

Re: eLeReS by Mifau?

Post autor: miś »

Eleres robi uarta S.BUS programowo, i nie może blokować innych tasków w tym czasie na kilka milisekund, dla tego wysyłany jest jeden bajt, robione inne taski, kolejny bajt itd aż do opróżnienia bufora nadawania sbus (22 bajty są do wysłania).
I ten czas wysyłania ramki nie wynosi zawsze 6ms, najczęściej wynosi 3-4ms, ale jak akurat tak trafi że ma do zrobienia więcej, to się wydłuża bo pomiędzy kolejnymi wysyłanymi bajtami jest coś pilnego do obsłużenia. No i wtedy może się wydłużyć do max. 6ms.
Interwał pomiędzy ramkami jest stały i typowy dla futaby, czyli 14ms (11+3 w przykładzie powyżej).
Pzdr. -----MIŚ-----
KM
Posty: 81
Rejestracja: czwartek 06 lis 2014, 20:06
Lokalizacja: Katowice

Re: eLeReS by Mifau?

Post autor: KM »

Dla zainteresowanych - poprawka będzie na inav 1.9.
lgojniczek
Posty: 382
Rejestracja: wtorek 03 sty 2017, 13:48
Lokalizacja: Ustroń

Re: eLeReS by Mifau?

Post autor: lgojniczek »

KM pisze:Dla zainteresowanych - poprawka będzie na inav 1.9.
Poprawka rozumiem będzie dotyczyć zwłoki czasowej na odebranie ramki SBUS? Będzie to konfigurowane z poziomu konfiguratora?
KM
Posty: 81
Rejestracja: czwartek 06 lis 2014, 20:06
Lokalizacja: Katowice

Re: eLeReS by Mifau?

Post autor: KM »

Tak, chodzi o maksymalny czas potrzebny na odebranie ramki.
Nie będzie żadnej konfiguracji. Zmiana na stałe.

Natomiast mam jeszcze jedną obserwację dotycząca SBUS - kontroler pokazuje mi wszystkie kanały zawyżone o 19 (tzn. 1519 w centralnej pozycji zamiast 1500). To nie kwestia radia, bo zanim go włączę to też już pokazuje 1519... Nie bardzo rozumiem o co chodzi...

Edit: mam RX 1.26c.
Ostatnio zmieniony niedziela 04 lut 2018, 13:59 przez KM, łącznie zmieniany 1 raz.
lgojniczek
Posty: 382
Rejestracja: wtorek 03 sty 2017, 13:48
Lokalizacja: Ustroń

Re: eLeReS by Mifau?

Post autor: lgojniczek »

KM pisze:Tak, chodzi o maksymalny czas potrzebny na odebranie ramki.
Nie będzie żadnej konfiguracji. Zmiana na stałe.

Natomiast mam jeszcze jedną obserwację dotycząca SBUS - kontroler pokazuje mi wszystkie kanały zawyżone o 19 (tzn. 1519 w centralnej pozycji zamiast 1500). To nie kwestia radia, bo zanim go włączę to też już pokazuje 1519... Nie bardzo rozumiem o co chodzi...
Mam dokładnie tak samo, ale działa wszystko
Awatar użytkownika
miś
Posty: 9242
Rejestracja: niedziela 07 lut 2010, 15:24
Lokalizacja: Bytom

Re: eLeReS by Mifau?

Post autor: miś »

KM pisze:Natomiast mam jeszcze jedną obserwację dotycząca SBUS - kontroler pokazuje mi wszystkie kanały zawyżone o 19 (tzn. 1519 w centralnej pozycji zamiast 1500). To nie kwestia radia, bo zanim go włączę to też już pokazuje 1519... Nie bardzo rozumiem o co chodzi...
sbus.c, funkcja static uint16_t sbusReadRawRC...
" return (0.625f * sbusChannelData[chan]) + 880;"
Środek dla s.bus to wartość 1023 (niektórzy podają 1024), zakres 0..2047. Według tego 1023*0.625 = 639 + 880 = 1519.
No i już wiadomo skąd te 1519 :-) Żeby było 1500 to zamiast +880 musiało by być +861, lub współczynnik zmieniony z 0.625 na 0.606
Wygląda na to że inav zakłada że MidRC wynosi 1520 a nie 1500. Może tak ma być... A może gdzieś się da to w konfiguracji zmienić.
Pzdr. -----MIŚ-----
Awatar użytkownika
marbalon
Posty: 4080
Rejestracja: piątek 16 wrz 2011, 13:02
Lokalizacja: Nakło nad Notecią

Re: eLeReS by Mifau?

Post autor: marbalon »

Krzysiek dzięki za poprawkę w iNav - widziałem na githubie. A co do 1519 to Misiek wytłumaczył, ale to w sumie taka zaszłość, bo aktualnie wszystkie FrSky nadają 1500, a kiedyś centrum było 1519 dla Furaby tylko że wtedy nikt tego nie oglądał pewnie tak dokładnie ;-)
brodziek
Posty: 430
Rejestracja: wtorek 08 sty 2013, 09:08
Lokalizacja: Śląsk

Re: eLeReS by Mifau?

Post autor: brodziek »

marbalon, w iNav jest opcja wyboru odbiornika SPI/eleres,
czy oznacza to, że można jakoś podłączyć moduł RFM do kontrolera,
czy jest to zarezerwowowane wyłącznie dla KFC?
Awatar użytkownika
marbalon
Posty: 4080
Rejestracja: piątek 16 wrz 2011, 13:02
Lokalizacja: Nakło nad Notecią

Re: eLeReS by Mifau?

Post autor: marbalon »

Można, tylko musiałbyś "dokompilować" obsługę tego i mieć w kontrolerze który używasz mieć wystawiony interfejs SPI...
Awatar użytkownika
volender
Posty: 896
Rejestracja: sobota 27 kwie 2013, 16:56
Lokalizacja: Kraków

Re: eLeReS by Mifau?

Post autor: volender »

KM, a nie wiesz może jak w kwestii BetaFlight? myślisz, że byłaby szansa na zmianę timeoutu dla sbus'a? :)
KM
Posty: 81
Rejestracja: czwartek 06 lis 2014, 20:06
Lokalizacja: Katowice

Re: eLeReS by Mifau?

Post autor: KM »

a nie wiesz może jak w kwestii BetaFlight? myślisz, że byłaby szansa na zmianę timeoutu dla sbus'a? :)
Zróbmy tak - niech ta zmiana zostanie potestowana troche w inav-ie i jak będzie wszystko OK to wrzucę też do BF. Jeszcze tam nic nie zmieniałem ale... kiedyś trzeba zacząć :)
Wygląda na to że inav zakłada że MidRC wynosi 1520 a nie 1500. Może tak ma być... A może gdzieś się da to w konfiguracji zmienić.
W inav centrum to 1500. Da się zmienić, ale...eLeRes jako nowoczesny RX powinien dawać ładne 1500 też :)

Z tego co się dowiedziałem to typowo S.BUS ma mieć: min: 173, mid: 993 and max: 1812
Natomiast CRSF ponoć daje o 1 mniej, tzn: 172, 992,1811
Awatar użytkownika
miś
Posty: 9242
Rejestracja: niedziela 07 lut 2010, 15:24
Lokalizacja: Bytom

Re: eLeReS by Mifau?

Post autor: miś »

KM pisze:Z tego co się dowiedziałem to typowo S.BUS ma mieć: min: 173, mid: 993 and max: 1812
Gdzieś to znalazł ?
No wszędzie gdzie widzę to mid = 1023 albo 1024...
Pzdr. -----MIŚ-----
lgojniczek
Posty: 382
Rejestracja: wtorek 03 sty 2017, 13:48
Lokalizacja: Ustroń

Re: eLeReS by Mifau?

Post autor: lgojniczek »

miś pisze:
KM pisze:Z tego co się dowiedziałem to typowo S.BUS ma mieć: min: 173, mid: 993 and max: 1812
Gdzieś to znalazł ?
No wszędzie gdzie widzę to mid = 1023 albo 1024...
Może nie jest to jakiś dobitny dowód ale wszystkie przykłady jakie Ja znalazłem zakładają mid na ~993.
https://www.google.pl/amp/s/quadmeup.co ... e-way/amp/

Generalnie jest coś na rzeczy z tym co wypluwa eleres rx bo u mnie zarówno na pixhawku z wpiętym eleresem rx jak i na spracing f3 z podpiętym eleres rxem środkowe wartości inav oraz arducopter wskazuje na 1519, do testów do tych samych dwóch kontrolerów podpiąłem odbiorniki frsky (x8r oraz x4rsb) i inav pokazał równo 1500 oraz ardu też 1500.
ODPOWIEDZ