OSD i Gps na jednym porcie uart

FC oparte na Arduino

Moderatorzy: moderatorzy2014, moderatorzy

Awatar użytkownika
volender
Posty: 896
Rejestracja: sobota 27 kwie 2013, 16:56
Lokalizacja: Kraków

OSD i Gps na jednym porcie uart

Post autor: volender »

Zimową porą składam powoli pierwsze skrzydełko.

Mam u siebie nanoWii, które chciałbym wykorzystać jako FC ( http://www.hobbyking.com/hobbyking/stor ... O_ACC.html ).

Sprawdziłem, że MWI (by MIŚ), z ustawionym GPS'em i failsafe (czyli chyba wszystko co potrzebne do RTH dla samolotu) mieści się w atmedze32U4 z nanoWii.

Natomiast w nanoWii dostępny jest tylko jeden UART, czy wybierając protokół gps NMEA w którym wykorzystywany jest tylko RX, na TX można otrzymać dane dla OSD?
Awatar użytkownika
Rurek
Posty: 16419
Rejestracja: środa 10 mar 2010, 15:21
Lokalizacja: AIP ENR 5.5 - AAA 153 :-)

Post autor: Rurek »

Jednym UARTem nie obdzielisz OSD i GPSa. Musisz dać płytkę interfejsu I2C-UART która będzie tłumaczyć współpracę z GPSem poprzez magistralę I2C. We wsadzie MultiWii masz taką opcję - GPS poprzez I2C i tego fragmentu kodu musisz użyć.
Edicao: no chyba że namówisz Misia aby zrobił podobny numer jak dla eLeReS'a i zrobił ten sprytny myk. Ale warunkiem jest to że OSD będzie potrafiło czytać odpowiednio spreparowany potok danych...
infekcja FPV postępuje w zastraszającym tempie...
Awatar użytkownika
volender
Posty: 896
Rejestracja: sobota 27 kwie 2013, 16:56
Lokalizacja: Kraków

Post autor: volender »

Hmm... dobrych kilka lat temu programowałem atmegi w AVR Studio, gdy arduino jeszcze nie było popularne.
Nie znam jeszcze kodu multiWii od środka, ale wydaje mi się, że wystarczy, żeby odczyt GPSu nie blokował portu do nadawania transmisji, + od-ifowanie wyłączenia transmisji ramki telemetrii do OSD na porcie użytym w GPS.
Zmanę ramki (a raczej po prostu użycie swojej - gotowej) z tego co czytałem w wątku o eleresie, misio zrobił z racji braku miejsca w procku - w tym przypadku imo nie trzeba nic z tym zmieniać ;-).

Mogę się mylić, ale gdy jest włączona obsługa Spektrum Satelite, to właśnie tak się dzieje, że jedynie RX jest konsumowany przez odczyt danych ze spektrum, natomiast TX pozostaje wolny.

Ech, gdybym bardziej znał arduino i kod MultiWii, albo ktoś pomógł mi namierzyć w kodzie fragmenty odpowiedzialne za wyłączenie transmisji do OSD na porcie zajętym przez gps'a...
Awatar użytkownika
Rurek
Posty: 16419
Rejestracja: środa 10 mar 2010, 15:21
Lokalizacja: AIP ENR 5.5 - AAA 153 :-)

Post autor: Rurek »

volender pisze:albo ktoś pomógł mi namierzyć w kodzie fragmenty
Gadaj z Miśiem.
infekcja FPV postępuje w zastraszającym tempie...
ODPOWIEDZ