Autor Wątek: Następca Mjoy (Założenia konstrukcyjne)  (Przeczytany 68340 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #225 dnia: Maja 23, 2012, 09:04:42 »
Tak jak wspomniał Damos przeprowadziłem dodatkowe testy DMKeys8. Testy wypadły pozytywnie i można już ten sterownik stosować. Testy przeprowadziłem z panelem Avionics Power zarówno na biurku (zdjęcie) jak i w kokpicie.


Uploaded with ImageShack.us
Pisałem w tym wątku dosyć dużo na temat moich poprzednich testów, dlatego dodam tylko parę uwag. W czasie testów wystąpiły pewne problemy związane z słabą jakością niektórych elementów np. enkodery czy z długimi przewodami. Te problemy spowodowały rozwój programu, który obecnie ma możliwość korekcji wspomnianych wad. Dodatkowo w czasie testów powstawały pomysły aby zrobić program konfiguracyjny prosty w obsłudze oraz intuicyjny i to się udało.
Wspomnę tylko o dwóch zaletach tego programu. Można programować z USB, co jest dużą zaletą, żadnych programatorów lub LPT. Druga zaleta to "podłącz do USB i zapomnij o DMKeys8", tak jak z niektórymi rakietami. Nie potrzeba dodatkowego programu tak jak w przypadku MJoy lub SimOut. Tak jak wspomniałem wcześniej program konfigurujący jest intuicyjny i prosty w obsłudze, nie potrzeba pisać skryptów i wchodzić w teorię jak je tworzyć.
Na stronie Damosa jest szczegółowy opis jak programować oraz tworzyć konfigurację. Mogą dla niektórych użytkowników wystąpić problemy z lutowaniem uP, ale są na to sposoby. Tyle moich uwag na gorąco.

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #226 dnia: Maja 23, 2012, 11:00:57 »
Krótkie podsumowanie
Płytka:
- bazowa płytka DMKeys8 jest wielkości pudełka zapałek
- podłączana jest do gniazda USB i zasilana z gniazda USB
- DMKeys8 pracuje jako klawiatura USB.
- Nie potrzebuje dodatkowych sterowników, jest widziany jak zwykła klawiatura pod każdym systemem operacyjnym dla PC (Windows 98 - Win7, Linux, MAC OS)
- nie potrzebuje do działania żadnego programu typu SVmapper (nie zużywa CPU)
- jako urządzenia wejściowe mogą pracować: zwykłe przyciski, przełączniki dwustanowe, przełączniki obrotowe, najprostsze enkodery typu 1:1, typu 1:2, typu 1:4
- układ obsługuje maksymalnie do 160 przycisków lub do 80 enkoderów (oczywiście można mieszać np - 20 enkoderów i 128 przycisków; ze względu na odczyt matrycowy wymagane zastosowanie diod: po jednej na przycisk po dwie na enkoder)
- układ potrafi emulować przełącznik bistabilny za pomocą zwykłego przycisku (każde wciśnięcie przycisku to przełączenie wirtualnego przełącznika na przeciwną pozycję - emitowana jest inna sekwencja klawiszy)
- każde z urządzeń wejściowych może emitować serię klawiszy jako reakcję na: wciśnięcie przycisku, zwolnienie przycisku, przełączenie w inny stan przełącznika, obrót w lewo lub w prawo enkodera
- dodatkowo enkodery mogą być skonfigurowane jako enkodery pracujące z 2 prędkościami, prędkości te przełącza się zdefiniowanym uprzednio przyciskiem (np w osi enkodera)
- układ posiada filtry cyfrowe redukujące zakłócenia w długich przewodach i drgania styków. Pozwala na indywidualne dobranie parametrów filtrów w zależności od środowiska i posiadanego sprzętu.


Konfiguracja:
- płytkę konfiguruje się za pomocą osobnego programu na PC
- program nie jest potrzebny do działania płytki a jedynie do jej skonfigurowania, konfiguracja jest zapisywana na płytce
- w programie definiuje się, które piny kontrolek podłączane są do których pinów płytki
- program pokazuje graficznie widok płytki oraz klawiatury oznaczając na nich użyte piny i klawisze.
- program pilnuje poprawnego zaplanowania połączeń i uniemożliwia popełnienie błędu
- program umożliwia stworzenie i zachowanie notatek dotyczących każdej kontrolki i każdego pinu
- w programie definiuje się sekwencje klawiszy emitowane w wyniku użycia kontrolki (wciśnięcia lub zwolnienia przycisku, zmiany stanu przełącznika, obrotu enkodera)
- definiowana sekwencja klawiszy może zawierać maksymalnie do 90 klawiszy (jednak tak długie sekwencje są niezalecane - zmniejszają maksymalną ilość obsługiwanych kontrolek: mikroprocesor ma ograniczoną pamięć)
- konfigurację płytki robi się zdalnie - poprzez kabel USB, do którego jest podłączona, może być schowana głęboko wewnątrz kokpitu
- wgranie nowego firmware również nie wymaga wyjmowania ani dotykania płytki - robi się to za pomocą tego samego kabla USB









Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #227 dnia: Maja 27, 2012, 22:38:43 »

Mały update:

zrobiłem dziś wstępną wersję DMJoy8 i wysłałem na testy osi analogowych do Sundownera i vito_zm. Ciekaw jestem oceny stabilności osi analogowych.
jeśli nie zadziała na płytkach, które mają - będę musiał wysłać im również nowy hardware :)
Testowałem również emulację osi analogowej za pomocą enkodera.


Układ okazał się znacznie prostszy od DMKeys. Jeśli testy wypadną pomyślnie - przystąpię do dalszej pracy.
Najwięcej czasu pochłonie program konfiguracyjny na PC - będzie zbliżony do tego z DMKeys8.
Za pomocą programu będzie można zdefiniować, jakie kontrolery są podłączone do jakich pinów i jak mają działać.
Planuję następujące kontrolery i ich możliwości konfiguracyjne:


- potencjometr
   - działa jak potencjometr: zmienia się wartość przypisanej do niego osi analogowej
   - działa jak trymer - modyfikuje wartość innej (skonfigurowanej) osi analogowej


- przycisk
  może:
  - działać jak zwykły przycisk joysticka
  - przy wciśnięciu wysyłać kliknięcie przycisku A a przy zwolnieniu kliknięcie przycisku B
  - przy wciśnięciu zwiększać lub zmniejszać wskazanie skonfigurowanej osi analogowej o skonfigurowana wartość[size=78%] [/size]

- przełącznik
 - przy przełączeniu na jedna z pozycji symulować wciśnięcie innego przycisku joysticka


- enkoder
 - przy pokręceniu w lewo wciskać jeden przycisk joysticka a przy pokręceniu w prawo inny (przy alternatywnej prędkości inne przyciski joy'a)
 - przy kręceniu w lewo lub w prawo może trymować skonfigurowaną oś analogową o skonfigurowaną wartość
 - może zupełnie emulować oś analogową - zamiast potencjometru
 
Jakieś sugestie?
Przycisk Pinky?
Przełącznik Pinky?
Pinky tylko dla przycisków, czy dla osi analogowych również?

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #228 dnia: Maja 28, 2012, 08:14:50 »
Nie wiem od czego zacząć. Na początek chciałbym zaznaczyć, że jestem "zielony" jesli chodzi o joystiki te stosowane w symulatorach. Posiadam dwa typy, prosty Extreme 3D PRO oraz Cougara. Korzystałem z gotowych profili dla Cougara, które modyfikowałem pod swoje potrzeby. Modyfikacje robiłem w Foxy. Próbowałem zagłębić się w temat tworzenia profili i nawet napisałem na ten temat w tym wątku http://www.il2forum.xt.pl/index.php/topic,14437.msg261898.html#msg261898. Sterownik Cougara można programować za pomocą Foxy lub w symulatorze np. BMS4.
W starym MJoy są oprócz przycisków, przełączników, enkoderów wejścia analogowe oraz jeden HAT. Analogi były widziane w Windows i można je było programować w setup symulatora.
Nowy DMJoy ma mieć większe możliwości od starego.
1. Zadam teraz może naiwne pytanie. Czy DMJoy ma być sterownikiem do budowy własnych joystików czy
ma wspomagać sterowanie symulatorów. Z tym pytaniem jest związany stopień jego komplikacji.
2.Drugie pytanie  dotyczy programowania DMJoy. DMKeys był widziany jako wyspecjalizowana klawiatura. DMJoy będzie widziany w Winodows jako kontroler.
Jak będzie można programować DMJoya? Rozumiem, że w konfiguracji np. BMS4 będą widziane osie analogowe, które można odpowiednio przypisać do jego funkcji. Czy przyciski, przełączniki i enkodery będą programowane podobnie jak w DMKeys?
3.Przycisk Pinky w Cougarze daje możliwość zdefiniowania nowych funkcji np. w HAT. Jeśli będzie wciśnięty to mamy nowe funkcje np. widoki jeśli nie to trymowanie itp. Jest to definiowane w profilu. Jak to by mialo działać w DMJoy.
To są moje pytania związane z DMJoyem.
Jeśli chodzi o propozycje zawarte w ostatnim post Damosa to będę musiał to przemyśleć, ponieważ nie wszystko zrozumialem. Może Sun wypowie się na ten temat, ma większe doświadczenie.

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #229 dnia: Maja 28, 2012, 10:02:49 »
1. Zadam teraz może naiwne pytanie. Czy DMJoy ma być sterownikiem do budowy własnych joystików czy
ma wspomagać sterowanie symulatorów. Z tym pytaniem jest związany stopień jego komplikacji.
Obie rzeczy. Będzie widziany jako zwykły kontroler, ale może być konfigurowany. Zrobię do niego kilka przykładowych plików konfiguracji - jako zwykły Joy, Joy z enkoderami, Joy z trymerami itd.

2.Drugie pytanie  dotyczy programowania DMJoy. DMKeys był widziany jako wyspecjalizowana klawiatura. DMJoy będzie widziany w Winodows jako kontroler.
Jak będzie można programować DMJoya? Rozumiem, że w konfiguracji np. BMS4 będą widziane osie analogowe, które można odpowiednio przypisać do jego funkcji. Czy przyciski, przełączniki i enkodery będą programowane podobnie jak w DMKeys?
DMJoy8 będzie się konfigurować w bardzo podobny sposób, jak DMKeys8. Osobny program na PC i wgrywanie go do uC. W programie konfigurujesz - do jakich pinów podłączasz przyciski, osie i enkodery i ile ich podłączasz. Do każdego przycisku/enkodera przypisujesz również tryb działania - czy ma działać jako zwykły przycisk czy jako trymer, czy ma emulować oś analogową, czy generować wciśnięcia przycisków przy kręceniu w lewo/prawo.

3.Przycisk Pinky w Cougarze daje możliwość zdefiniowania nowych funkcji np. w HAT. Jeśli będzie wciśnięty to mamy nowe funkcje np. widoki jeśli nie to trymowanie itp. Jest to definiowane w profilu. Jak to by mialo działać w DMJoy.
W DMJoy8 komunikacja z otoczeniem (komputerem) odbywa się  przez raportowanie stanu osi analogowych i przycisków Joysticka. Więc w różnych trybach wciśnięcie tego samego przycisku fizycznego powodowało by wysłanie do PC informacji o wciśnięciu innego przycisku Joysticka. Ten inny przycisk można zmapować w symulatorze do innej funkcji.


Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #230 dnia: Maja 28, 2012, 13:46:55 »
Cytuj
Ten inny przycisk można zmapować w symulatorze do innej funkcji.
To przypomina tzw. modyfikatory w Foxy. Pinky też jest modyfikatorem.
Jeszcze jedno pytanie. W MJoy jest wyróżniony przełącznik 4 kierunkowy HAT z czego to wynika? Właściwie są to 4 przyciski. Może chodzi o jakieś szczególne zabezpieczenie tych 4 przycisków np. drgania stykow czy coś podobnego. Pytam dlatego, że u Ciebie wszystkie styki są tak samo traktowane. Oczywiście możemy budować HAT w DMJoy podobnie jak w DMKeys.

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #231 dnia: Maja 28, 2012, 14:49:40 »
To przypomina tzw. modyfikatory w Foxy. Pinky też jest modyfikatorem.
Zgadza się. Pytanie - czy taki feature jest potrzebny?

W MJoy jest wyróżniony przełącznik 4 kierunkowy HAT z czego to wynika?
Wynika to ze sztywnego przypisania HAT do pinów. HAT może być 4-ro lub 8-mio kierunkowy. Kierunek jest opisywany za pomocą wartości, która bezpośrednio nie wynika z ze stanu klawiszy więc przy braku złożonej logiki - MJoy musiał mieć zahardcode'owaną logikę do HAT'a.


 Właściwie są to 4 przyciski. Może chodzi o jakieś szczególne zabezpieczenie tych 4 przycisków np. drgania stykow czy coś podobnego. Pytam dlatego, że u Ciebie wszystkie styki są tak samo traktowane.
Przyciski HAT'a są najmniej wymagającymi. Nie trzeba ich zabezpieczać w jakiś szczególny sposób.



Oczywiście możemy budować HAT w DMJoy podobnie jak w DMKeys.
W DMKeys nie ma HATa :) Chyba, że chodzi ci o dodanie w programie konfiguracyjnym kontrolki typu HAT i wskazaniu, gdzie będzie podłączona. Tak to ma wyglądać.

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #232 dnia: Maja 28, 2012, 16:20:23 »
Wracam do pojęcia HAT w DMJoy8, ponieważ jest to istotny element. Jeśli dobrze zrozumiałem to jest lub będzie możliwość definiowania HAT-ów w DMJoy8.
Cytuj
Wynika to ze sztywnego przypisania HAT do pinów.
Czy w DMJoy nie będzie tego ograniczenia?
Jeden modyfikator wystarczy np. Pinky, dla tych którzy mają stare nawyki z Cougara, chociaż nie wszyscy z tego korzystają.

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #233 dnia: Maja 28, 2012, 16:53:50 »
Wracam do pojęcia HAT w DMJoy8, ponieważ jest to istotny element. Jeśli dobrze zrozumiałem to jest lub będzie możliwość definiowania HAT-ów w DMJoy8.Czy w DMJoy nie będzie tego ograniczenia?
Tak - będzie można podłączyć pewną, z góry ograniczoną ilość HAT-ów. Jeśli nie skonfiguruje się HAT-a w programie, on nadal będzie raportowany przez Joystick, ale nie będzie działać. To samo dotyczy osi analogowych i przycisków. Osie analogowe (6 lub 8 ) będą zgłaszane, ale jeśli w programie nie skonfigurujesz, że do osi jest podłączony potencjometr - ta oś nigdy się nie poruszy. Joystick będzie zgłaszać 32(?) przyciski, ale jeśli w programie nie zdefiniujesz, że np. enkoder przy obracaniu w prawo generuje kliknięcie przycisku nr 12 a przy obracaniu w lewo kliknięcie przycisku nr 13 to te przyciski pozostaną widoczne dla gry, lecz gra nigdy nie otrzyma informacji o ich wciśnięciu.
Prawdopodobnie znamionowa konfiguracja Joysticka (wbudowana w program na początku) będzie mieć osie analogowe 2 HAT'y, z 20 przycisków i 6 enkoderów. To powinno wystarczyć początkującym aviatorom.

Jeden modyfikator wystarczy np. Pinky, dla tych którzy mają stare nawyki z Cougara, chociaż nie wszyscy z tego korzystają.
Własnie - chciałbym poznać oczekiwania ew. użytkowników :)

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #234 dnia: Maja 28, 2012, 17:59:33 »
Nie wiem czy to odpowiedni moment na zgłaszanie takich uwag, ale czy nie lepiej byłoby aby DMJoy8 obsługiwał same osie analogowe - około 8?
Przy budowie kokpitów wykorzystywałoby się kombinacje płytek (DMJoy8 i DMKeys8) które mogłyby jakoś współdziałać (np. wspólne podłączenie USB, itp). Jednocześnie bardziej zaawansowani budowniczowie pitów mogliby dobierać ilość podzespołów w zależności od potrzeb. Potrzeba więcej osi na trymy, obsługę 4 silników itp to dodajemy sobie kolejne DMJoy8. Zabrakło enkoderów, "psztyczków" itp, dodajemy DMKeys8. Całość konfigurowana z jednego programu, w którym po dodaniu nowych płytek widać dodatkowe osie lub przełączniki.
Zrobienie JoySticka poprzez zmontowanie 2 płytek też nie jest jakimś dużym utrudnieniem. Chociaż finalnie, połączenie DMKeys8 i DMJoy8 może być zintegrowane w "JoyStick kit" na jednej płytce.
I'm a colt in your stable     I'm what Cain was to Abel     mister catch me if you can

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #235 dnia: Maja 28, 2012, 18:32:56 »
Nie wiem czy to odpowiedni moment na zgłaszanie takich uwag, ale czy nie lepiej byłoby aby DMJoy8 obsługiwał same osie analogowe - około 8?
Czyli już wszystko zrobione? :) Chciałbym, żeby jedna płytka mogła załatwić więcej spraw niż jedynie osie analogowe. Ma być zastępstwem dla MJoy'a więc musi mieć możliwość pracy jako normalny Joy.
Osie analogowe już mam zrobione  :118:

Przy budowie kokpitów wykorzystywałoby się kombinacje płytek (DMJoy8 i DMKeys8) które mogłyby jakoś współdziałać (np. wspólne podłączenie USB, itp). Jednocześnie bardziej zaawansowani budowniczowie pitów mogliby dobierać ilość podzespołów w zależności od potrzeb. Potrzeba więcej osi na trymy, obsługę 4 silników itp to dodajemy sobie kolejne DMJoy8. Zabrakło enkoderów, "psztyczków" itp, dodajemy DMKeys8.
Można tak dodawać - bez problemu.
  Całość konfigurowana z jednego programu, w którym po dodaniu nowych płytek widać dodatkowe osie lub przełączniki.
Ciekawy pomysł, jednak obecnie program skupia się na skonfigurowaniu jednej, konkretnej płytki. To musiał by być system "nadrzędny" :) Nie myślałem o czymś takim - nie wiem, czy jest potrzebny?
Zrobienie JoySticka poprzez zmontowanie 2 płytek też nie jest jakimś dużym utrudnieniem. Chociaż finalnie, połączenie DMKeys8 i DMJoy8 może być zintegrowane w "JoyStick kit" na jednej płytce.
Łączenie wszystkiego na jednej płytce? Dwie są bardziej uniwersalne i łatwiej zmieścić je we wnętrzu zabudowy.

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #236 dnia: Maja 28, 2012, 19:08:12 »
Łączenie wszystkiego na jednej płytce? Dwie są bardziej uniwersalne i łatwiej zmieścić je we wnętrzu zabudowy.
Właśnie o tym piszę, jedna z osiami DMJoy8, druga z resztą DMKeys8. Z dwóch płytek lub ich krotności składamy wszystko. Opcję DMJoy8 obsługujący jednocześnie jakieś przełączniki i przyciski (ograniczoną ilość) dodałbym dla chcących tylko joy.

Nie myślałem o czymś takim - nie wiem, czy jest potrzebny?
W wypadku budowy kokpitu z kilku elementów, przykładowo 2 x DMKeys8 i 3 x DMJoy8 (bo potrzebujemy np 20 osi) możemy całość widzieć jako "jedno urządzenie" i bawić się nim dowolnie w jednym programie. Myślę że posiadacze kokpitów doceniliby takie ułatwienie.

Osie analogowe już mam zrobione  :118:  Można tak dodawać - bez problemu.
Czyli wszystko gotowe. Teraz jakbym chciał obsłużyć 20 osi, to muszę użyć 3 DMJoy8. Jednocześnie z każdym z nich dochodzi mi kilkanaście przełączników i innych takich. Samo w sobie na pewno nie jest to wadą, ale przy założeniu budowy kokpitu, korzystniej może być osobna obsługa osi i osobna przełączników. Jeżeli osie mam zgrupowane z jednej strony a przełączniki z innej to albo i tak użyję dodatkowej  DMKeys8, albo poprowadzę kilometr kabli aby nie tracić przycisków z DMJoy8.

Chciałbym, żeby jedna płytka mogła załatwić więcej spraw niż jedynie osie analogowe. Ma być zastępstwem dla MJoy'a więc musi mieć możliwość pracy jako normalny Joy.
Dlatego wcale nie proponuję wyrzucać projektu do kosza. Zwracam tylko uwagę że w obecnej postaci DMJoy realizuje również, w ograniczonym zakresie, funkcje z DMKey. Znakomity pomysł jeżeli chodzi o JoyStick, jednak w innych wypadkach nie musi być optymalne rozwiązanie.
I'm a colt in your stable     I'm what Cain was to Abel     mister catch me if you can

Offline Sundowner

  • *
  • Chasing the sunset
Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #237 dnia: Maja 28, 2012, 19:39:02 »
Yano, kombinujesz pod górę ;)

Im więcej możliwości DMkey będzie w DMjoy tym lepiej - to właśnie będziesz miał oszczędności w drugą stronę, zamiast pakować się w dwie płytki przy czymś prostym, wykorzystasz tylko DMjoy - jeżeli są tam potrzebne osie analogowe. DMjoy i DMkey to ta sama płytka i ten sam (relatywnie kosztowny!) mikrokontroler. Im więcej da się wycisnąć z każdej płytki, tym lepiej!

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #238 dnia: Maja 28, 2012, 21:44:22 »
Sun ma rację. Budowaliśmy kokpity mając skromne możliwości w postaci starego MJoya. Teraz mamy platformę HSC Codeking, którą można sterować simOUT, simIN  oraz MJoye. Pojawił się DMKeys, który nie potrzebuje platformy ponieważ jest widziany jako wyspecjalizowana klawiatura. Tworzy się DMJoy, który ma jeszcze inne możliwości.
Można wykorzystać projekt Skalarki oraz HSC i mieć coś podobnego do idei yano, tak ma EGHI. Możliwości jest dużo. Jeśli chcemy analogowe gaugesy to musimy jeszcze kupić kartę od OC i programować to w SIOC.
OC ma bardzo dobrą platformę programową, ale ma dużą liczbę wyspecjalizowanych sterowników. Zawsze musi być jakiś kompromis.
W związku z osiami analogowymi mam do yano pytanie. Czy masz rozeznanie ile osi jest potrzebnych w BMS4 zakładając, że mamy Cougara. Ja w moim kokpicie mam tylko jedną oś dla orczyka, pozostałe funkcje realizuje Cougar lub enkodery.

Odp: Następca Mjoy (Założenia konstrukcyjne)
« Odpowiedź #239 dnia: Maja 28, 2012, 22:14:51 »
Cytuj
Czy masz rozeznanie ile osi jest potrzebnych w BMS4 zakładając, że mamy Cougara. Ja w moim kokpicie mam tylko jedną oś dla orczyka, pozostałe funkcje realizuje Cougar lub enkodery.
I to w zasadzie koniec.  Jeszcze hamulce - ponoć z klawiatury łapią na ustalonym prawie na max poziomie ale gdzieś czytałem że można to przenieść na potencjometr (zabij, nie pamiętam gdzie o tym było). Na upartego można by myśleć o trymach , ale to chyba nie najlepszy pomysł. W samej zabawie przydaje się jeszcze podpiąć przybliżanie TP pod jakąś oś. oraz zbliżenie widoku. W wypadku BMS to już chyba wszystko co można zdziałać.
BMS4 wygląda na przyjazny pod względem ilości osi. Gorzej z wszystkim innym.
I'm a colt in your stable     I'm what Cain was to Abel     mister catch me if you can