Skocz do zawartości

Turnigy 9X - nowy firmware: RadioClone


rafit

Rekomendowane odpowiedzi

No fakt, jeśli rzeczywiście już na tym etapie zużywasz 3K, to z pamięcią u Ciebie krucho. Niemniej jednak przemyśl to jeszcze raz. Zrobienie karty SD bez systemu plików będzie oznaczało, że nie będzie ona widoczna w PC. A przecież czuję, jak bardzo rozpala to wyobraźnię przyszłych użytkowników. Będzie potrzebna jakaś specjalna aplikacja czytająca po sektorach, ech.. Może dałoby się jednak tak zorganizować pamięć, by w chwili wybrania operacji z kartą wszystkie nie-niezbędne zasoby robocze były zwalniane (nawet kosztem funkcjonalności samego nadajnika - czyli stop obsługi wejść, przeliczania "ścieżki danych" i generacji PPM) a w to miejsce zakładane bufory karty ? Gdyby coś takiego miało być w przyszłości zrobione, to lepiej taką decyzję podjąć jak najwcześniej. Druga możliwość to jednak EEPROM I2C na dwóch pinach i link do PC na dwóch kolejnych.

 

Jeżeli w skład konfiguracji toru radiowego wchodzi np. kolejność przyporządkowania kanałów to może jednak powinno się to znaleść w setupie każdego modelu a nie globalnie dla całości? Przecież możemy podpiąć zupełnie różne serwa do różnych kanałów różnych odbiorników w różnych modelach.

 

Do sortowania takiego jak w tej aplikacji nie potrzebujesz wiele mocy obliczeniowej. Nikt się nie pogniewa, jeśli lista pokaże się za sekundę lub dwie. Rozumiem, że wszystkie krytyczne procesy (PPM choćby) i tak pracują na przerwaniach. Tu nie ma się gdzie śpieszyć.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 660
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

Opublikowane grafiki

na tym etapie zużywasz 3K, to z pamięcią u Ciebie krucho.

Nie jest, aż tak tragicznie. Zostało już tylko menu i karta SD. To pierwsze nie weźmie więcej niż kilkadziesiąt bajtów. Z drugiej strony cała pamięć do obsługi modelu jest już zarezerwowana... Używam też >500 bajtów na generator znaków do LCD - właściwie można by to wypchnąć poza RAM (nie wiem tylko jak z wydajnością, musiałbym sprawdzić)

Zrobienie karty SD bez systemu plików będzie oznaczało, że nie będzie ona widoczna w PC.

Myślałem bardziej nad rozwiązaniem pośrednim. Karta byłaby "preparowana". Czyli posiada stały system plików, lecz stworzony przez jej odpowiednie "formatowanie". W ramach tego przygotowania zapełniasz ją kompletnie. Teraz znając stałe pozycje zawartości plików na karcie, możesz używać ich "bez systemu plików". Pliki możesz nawet podglądać i edytować na PC, lecz nie wolno ich kasować.

Może dałoby się jednak tak zorganizować pamięć, by w chwili wybrania operacji z kartą wszystkie nie-niezbędne zasoby robocze były zwalniane

GENIALNE ROZWIĄZANIE :) Fakt, mógłbym alokować część dodatkowych buforów dynamicznie. Tylko biada jak ktoś wejdzie w opcję związaną z kartą SD podczas lotu. Nie wiem czy to nie jest zbyt niebezpieczne.

Jeżeli w skład konfiguracji toru radiowego wchodzi np. kolejność przyporządkowania kanałów to może jednak powinno się to znaleść w setupie każdego modelu a nie globalnie dla całości?

W ustawieniach globalnych jest tylko kalibracja potencjometrów. Czyli aby sygnał wejściowy mógł mieć poziomy <-100,0,100>. To ustawienie i tak dla każdego modelu byłoby identyczne. Kalibracja serw (wyjść) jest w ustawieniach modelu.

Rozumiem, że wszystkie krytyczne procesy (PPM choćby) i tak pracują na przerwaniach.

Generacja PPM oczywiście jest w przerwaniu. Lecz odczyt danych i aktualizacja (przeliczanie mikserów/stanów) jest w pętli głównej. Czyli "zawis" pętli głównej spowodowałby brak zmian w generowanym PPM. Cały kod jest jednak pisany w ten sposób, aby nigdy nie zawłaszczyć procesora. (Bardziej czasochłonne operacje wykonywane są "po kawałku", dla przykładu odświeżanie LCD, obsługa menu). Procedury uruchamiane z pętli głównej działają trochę jak "wątki" w systemach operacyjnych.
Odnośnik do komentarza
Udostępnij na innych stronach

Może dałoby się jednak tak zorganizować pamięć, by w chwili wybrania operacji z kartą wszystkie nie-niezbędne zasoby robocze były zwalniane

 

GENIALNE ROZWIĄZANIE :) Fakt, mógłbym alokować część dodatkowych buforów dynamicznie. Tylko biada jak ktoś wejdzie w opcję związaną z kartą SD podczas lotu. Nie wiem czy to nie jest zbyt niebezpieczne.

W JR'ach - do takich operacji wchodzisz tylko podczas włączania nadajnika - potem - nie ma takiej opcji ...

Odnośnik do komentarza
Udostępnij na innych stronach

W kanał 8 odbiornika wpinamy dekoder - on dostaje już tylko impulsy kanału 8 i trzeba go jakoś poinformować, że zaczyna sie kolejna transmisja. Przypuszczam, że załatwiane to jest impulsem kanału 8 trwającym np. 2.5-3ms. Więcej, niż normalnie ma kanał proporcjonalny (std 1.5+/-0.5ms, czyli maks. 2ms) ale mniej niż synchronizacja całej ramki.

Po dodaniu menu do konfiguracji kanałów wyjściowych zrobiłem kilka testów. Okazuje się, że tor radiowy 2.4 GHz Corony, przesyła tylko impulsy określonej długości. Zresztą można było się tego spodziewać ponieważ sygnał i tak jest najprawdopodobniej samplowany i przesyłany cyfrowo. Zakres tolerowanych długości impulsów to od 900 - 3850 tików (gdzie tik o około 0,5 us). Nie da się więc wysłać impulsu synchronizacyjnego...

 

 

W JR'ach - do takich operacji wchodzisz tylko podczas włączania nadajnika - potem - nie ma takiej opcji ...

Znaczy, że po włączeniu nadajnika możesz wybrać model i koniec? Jak wybierzesz model to aby wybrać inny trzeba wyłączyć nadajnik?

Dobre to rozumiem?

Odnośnik do komentarza
Udostępnij na innych stronach

Gość Anonymous

Znaczy, że po włączeniu nadajnika możesz wybrać model i koniec? Jak wybierzesz model to aby wybrać inny trzeba wyłączyć nadajnik?

Dobre to rozumiem?

Dokładnie tak jest to rozwiązane w MX-12, co uważam za słuszne :)

Odnośnik do komentarza
Udostępnij na innych stronach

Zakres tolerowanych długości impulsów to od 900 - 3850 tików (gdzie tik o około 0,5 us). Nie da się więc wysłać impulsu synchronizacyjnego...

Co się nie da, jak się da :)

Jeżeli przyjąć Twoje obliczenia, to mamy zakres transmitowanych długości impulsów 450 - 1925 us, czyli 0.45 - 1.95 ms. Standard dla RC to jest 1.5+/-0.5 ms, czyli 1-2ms.

Można ze sporym zapasem wykorzystać impuls 0.6ms (a nawet trochę więcej) do synchronizacji, a kolejne 8 (w kolejnych ramkach) posłać na serwa. Dla pewności można nawet posłać 2 razy takie synchro. Dekoder na mikroprocesorze chyba da radę bez większych problemów? Przy okazji będzie pamiętał przez kolejne ramki wartość poszczególnych kanałów i je odświeżał z odpowiednią częstotliwością, póki nie przyjdzie nowa wartość.

Tylko musisz zapewnić w aparaturze, że żaden kanał z tych multipleksowanych nie zejdzie poniżej 1ms.

 

Nawet przy przesyłaniu tylko zakresu 1-2ms można zrobić taki system, zawężając nieco zakres ruchu multipleksowanych serw. Np. poświęcić 20% zakresu, przesunąć go na 1.4+/-0.4ms i użyć 2ms jako synchro. A w dekoderze dodać 0.1ms do każdego impulsu kanałowego co da nam 1.5+/-0.4ms. Możliwości jest sporo.

 

Co do zmiany modelu - potwierdzam. W x-347 przy włączaniu, i to z przytrzymanymi 2 klawiszami, można wejść do wyboru modelu (acro/glider/heli, typ skrzydła, kopiowanie modelu na drugi itp.), a po wyjściu już tylko są dostępne miksery i ustawienia do tego konkretnego.

Odnośnik do komentarza
Udostępnij na innych stronach

To może ja wtrącę swoje 3 grosze.

Mam ta apkę pod nazwą Eurgle z modułem Eurgle i szczena mi opadła gdy czytałem ten wątek.

 

Pierwszy grosz - wydaje mi się, że aparatura powinna mieć jakieś predefiniowane ustawienia. Podstawowe. Drągi do wyjść, itp. Oczywiście możliwość swobodnego definiowania zostaje. Wydaje mi się, że nie każdy chciałby się bawić w ustawianie apki od zera.

 

Drugi grosz - karta SD daje niesamowite możliwości, powinna być obowiązkowo do tego może z możliwością edycji ustawień modelu na karcie z PC'ta. Oczywiście z poziomu apki też.

 

Trzeci grosz - może ktoś inny zaoferowałby pomoc w napisaniu programu pod Windę z edytorem nastaw na karcie SD?

 

Czekam z niecierpliwością na efekt końcowy i pewnie byłbym chętny na modding mojej apki.

Odnośnik do komentarza
Udostępnij na innych stronach

Pierwszy grosz - wydaje mi się, że aparatura powinna mieć jakieś predefiniowane ustawienia. Podstawowe. Drągi do wyjść, itp. Oczywiście możliwość swobodnego definiowania zostaje. Wydaje mi się, że nie każdy chciałby się bawić w ustawianie apki od zera.

 

Dlatego jak byś zobaczył obecne menu, to znalazłbyś tam pomysł na "kreatory" czyli właśnie pre definiowane ustawienia dla różnych grup modeli. Planuje to dopiero w dalszych fazach projektu, ale jednak. Może po wypuszczeniu pierwszych "produkcyjnych" wersji oprogramowania, ktoś z was udostępni swoje przykładowe konfiguracje. Można będzie je wtedy wbudować w system jako kreatory.

 

Drugi grosz - karta SD daje niesamowite możliwości, powinna być obowiązkowo do tego może z możliwością edycji ustawień modelu na karcie z PC'ta. Oczywiście z poziomu apki też.

Karta SD ma już priorytet, zaraz po zakończeniu podstawowej funkcjonalności. Otrzymałem tu kilka bardzo trafnych podpowiedzi od marek1707, MiQ27 oraz wielu innych, które powinny bardzo ułatwić implementację.

Trzeci grosz - może ktoś inny zaoferowałby pomoc w napisaniu programu pod Windę z edytorem nastaw na karcie SD?

Można by już spróbować. Lecz nie mogę wykluczyć, że obecny standard zapisu będzie jeszcze ulegał pewnym modyfikacją. Trzeba też pamiętać, że nie ma przyjętego jeszcze żadnego standardu zapisu na kartę SD. W tej chwili mogę powiedzieć, że plik z modelem nie będzie zawierał więcej niż 2000 bajtów (tyle wynosi pamięć EEPROM atmega64 ;) )

 

Tak na serio, to obecna konfiguracja zajmuje 1659 bajtów. Zasadę działania mikserów, maszyny stanowej i struktury danych można praktycznie przekopiować do symulatora (kod w C). Trzeba tylko wziąć poprawkę na możliwości rozbudowy (kolejne miksery i funkcje przejścia). Jeżeli ktoś byłby jednak chętny - to zapraszam :).

 

Z praktycznego punktu widzenia, to nie podejrzewam powstania programu do edycji ustawień na PC przed wypuszczeniem wersji oprogramowania obsługującego kartę SD.

 

EDIT:

Zastanawiałem się trochę jak najprościej podłączyć kartę SD i wydaje się, że znalazłem bardzo proste rozwiązanie, które omija wszystkie moje problemy. Czytnik kart można podłączyć, używając jako "przejściówki" ATMega8L pracującej z napięciem 3.3V :)

Rozwiązana takie są już prawie gotowe do użycia (software). Cena będzie minimalna, wystarczy mały kawałek płytki uniwersalnej, slot na kartę, stabilizator 3.3V, 2 kondensatory i kilka rezystorów.

Podłączenie do aparatury - po 2 liniach RS232 na 5V. Trzeba tylko zmodyfikować podłączenie 2 klawiszy trymerów, ale to nie powinno stanowić dużego problemu. Niestety aparatura po modyfikacjach nie będzie już w pełni działała z oryginalnym software.

 

EDIT2

Dzisiaj znalazłem jeszcze jeden projekt:

 

http://rclineforum.de/forum/thread.php?threadid=239048&sid=&threadview=0&hilight=&hilightuser=&page=21

 

Widać nie tylko ja miałem pomysł z nowym software :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Wynik pracy Thus'a i Josefa.

 

Alternatywny software do Turnigy 9X - skończony na tyle że można zacząć testować.

 

http://code.google.com/p/th9x/

 

Prace jeszcze trwają... więc trochę się może jeszcze pozmieniać.

 

EDIT:

Jeszcze jeden projekt. Tym razem braci zza wschodniej granicy.

 

http://forum.rcdesign.ru/f8/thread182549.html#post1840751

 

Niestety autor zarzeka się że nie będzie rozwijany (lecz dostępne są kody źródłowe). W tym projekcie mam jednak pewne problemy z kalibracją (mój lewy drążek jest do naprawy, więc to pewnie powód).

Odnośnik do komentarza
Udostępnij na innych stronach

rafit mam nadzieję, że te dwa projekty to dla Ciebie pomoc i motywacja do dokończenia twojego projektu, a nie zniechęcenie wywołane faktem, że ktoś to już zrobił.

Obawiam się, że trafiłeś w sedno. Projekty do których linki podałem, oparte są na innej koncepcji, i innych wersjach kompilatorów. To co mógłbym z nich "użyć", jak dla przykładu obsługa wyświetlacza, czy generacja PPM, dawno już rozwiązałem samodzielnie.

 

Faktem jest, że zaczynam się zastanawiać, po co kolejny system.

 

Wystawiłem dzisiaj (zresztą trochę wcześniej niż zamierzałem) pierwszą przedwstępną wersję systemu. Nie posiada jeszcze wszystkich możliwości (brakuje możliwości wielu ustawień z poziomu menu), lecz sporo już działa.

 

Może się nadać do testów i wyrobienia sobie opinii o systemie. Link: https://sourceforge.net/projects/radioclone/files/ (jest też oczywiście na pierwszej stronie tego wątku). Aby uruchomić program wystarczy wgrać plik hex do procesora (zawartość pamięci eeprom zostanie wygenerowana automatycznie podczas pierwszego uruchomienia)

 

Może ktoś chciałby się podjąć roli testera? Na prawdę bardzo trudno testuje się własny kod.

Odnośnik do komentarza
Udostępnij na innych stronach

rafit szkoda. Włożyłeś swoją pracę, miałeś zapał. Obawiałem się takiego scenariusza od początku. Przyznam, że rozumiem Twoją decyzję. Każdy czeka na gotowe, nawet teraz jakoś nie widzę słów podtrzymania na duchu i mobilizowania do dalszej pracy. Gdybyś jednak postanowił działać dalej ja z zainteresowaniem będę dalej śledził Twoje prace. To jednak wymaga odpowiedniej wiedzy i poświęcenia swojego czasu. Szkoda.

Odnośnik do komentarza
Udostępnij na innych stronach

klajmen nie powiedziałem jeszcze, że zarzucam pracę nad projektem ;) Na razie szukam testera, do sprawdzenia tego co jest. Przy okazji widzę, że na zachodnich stronach zainteresowanie jest dużo większe (dlatego powstała angielska wersja).

 

Jeśli chcesz, możesz sprawdzić polskie tłumaczenie menu - może coś jest do poprawki lub zmiany. Można to zrobić nawet bez instalacji czegokolwiek. Plik jest tutaj: http://radioclone.svn.sourceforge.net/viewvc/radioclone/Tx_v2/language_pl.h?revision=42&view=markup

 

Łatwiej można by ocenić który napis jest gdzie używany oglądając działający program, lecz na podstawie filmów i pliku można się wiele domyślić.

Odnośnik do komentarza
Udostępnij na innych stronach

rafit to bardzo się cieszę, ważne jak piszesz, że jednak jest zainteresowanie. Oczywiście wszystko obejrzę i jak będę miał jakieś sugestię napiszę. Czekam też na testy cobry.

 

dopisek: rafit możesz podać dokładnie gdzie na forch ludzie dyskutują o Twoim sofcie?

Odnośnik do komentarza
Udostępnij na innych stronach

dopisek: rafit możesz podać dokładnie gdzie na forach ludzie dyskutują o Twoim sofcie?

Zacznij tutaj: http://www.rcgroups.com/forums/showthread.php?t=1035575&page=105

i do końca ;)

 

Jest też tam kilka pomysłów na instalację złącza programującego. Dodałem je także na http://radioclone.sourceforge.net

 

Z ciekawostek, edycja mixerów:

Odnośnik do komentarza
Udostępnij na innych stronach

hej,

Przy okazji montowania podswietlenia dolutowalem tez zlacze do programowania aparatury.

Czekam teraz na programator i bede tez testowal nowy software (gratuluje pomyslu i wykonania!)

Jesli chodzi o zlacze to wykorzystalem druga opcje czyli mini DIN-6 - wyglada to tak:

- od środka:

Dołączona grafika

- na zewnatrz:

Dołączona grafika

 

Gniazdo jest demontowalne, czyli nie ma problemu z dostepem do wyswietlacza w razie czego.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.