Autor Wątek: Aplikacja DomowyKokpit  (Przeczytany 62059 razy)

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

Odp: Aplikacja DomowyKokpit
« Odpowiedź #195 dnia: Października 09, 2010, 15:12:40 »
Ciekawe, że twój skrypt działa bez problemu.
Ale ten mój skrypt działa u Ciebie ?

Cytat: shopiK
I tak szukam, czemu ta funkcja setwithsignal u ciebie działa, a u mnie   pisało w logu" błąd (10), nie można wysłać wartości do symulatora" czy   jakoś tak.
OK, znalazłem kolejny błąd (właściwie moje przeoczenie pewnej sytuacji). Ten błąd również poprawię w kolejnej wersji.

Cytat: shopiK
Różnią się u nas tylko przecinkiem! Tzn. U mnie bo zmiennej jest od razu przecinek, a u ciebie jest po spacji. Parser jest na to czuły?
Parser nie jest czuły na spacje przed i po przecinku. Wstawiam je żeby łatwiej było analizować kod. Normalnie przed przecinkiem nie daje spacji ale jak ktoś pierwszy raz styka się z programowaniem to od razu będzie widział przecinek :)

Odp: Aplikacja DomowyKokpit
« Odpowiedź #196 dnia: Października 09, 2010, 16:31:49 »
Cytuj
Witam. Jestem na forum nowy. Od kilku miesięcy przymierzam się do budowy własnego kokpitu. Trochę czytałem i zastanawiałem się nad wyborem softu. Wybór padł oczywiście na HSC, ze względu na to, że "Dobre bo Polskie", po naszemu udokumentowane i po naszemu wspierane
Witaj na naszym forum.Zrobiłeś dobry wybór,mam na myśli HSC.Moim zdaniem jest to bardzo dobry soft.Ponieważ jest cały czas rozwijany oraz udoskonalany to mogą wystąpić błędy,dlatego każdy nowy użytkownik HSC jest miłe widziany,ponieważ jest szansa,że coś zauważy.Gwarantuję,że codeking zrobi poprawkę i będzie o.k.

Odp: Aplikacja DomowyKokpit
« Odpowiedź #197 dnia: Października 09, 2010, 18:43:41 »
Ale ten mój skrypt działa u Ciebie ?

Tak tak. Twój skrypt działa bez problemu. Być może problem tkwił w dublowaniu funkcji. Może jutro się jeszcze przyjrzę temu.

Ponieważ jest cały czas rozwijany oraz udoskonalany to mogą wystąpić błędy,dlatego każdy nowy użytkownik HSC jest miłe widziany,ponieważ jest szansa,że coś zauważy.Gwarantuję,że codeking zrobi poprawkę i będzie o.k.

Dlatego, jak zaznaczyłem na wstępie wybrałem HSC. Jestem świadomy, że mogą występować błędy. Kilka lat temu zajmowałem się trochę programowaniem, więc wiem ile znaczą uwagi testerów :-) - Stąd moje posty :-) Pozdrawiam.
btw. Jeszcze nie zmontowałem swojej płytki mjoy... Z tym dopiero będą jazdy (coś czuję ;-)). Ale to OT.

btw2. Aha. Jeszcze zanzaczam, że korzystam z niezarejestrowanej wersji fsuipc - ale skrypty działają (nie wiem jakie to ma znaczenie / jakie ograniczenia ma darmowy fsuipc - piszę na wszelki wypadek).


Odp: Aplikacja DomowyKokpit
« Odpowiedź #198 dnia: Października 16, 2010, 08:57:51 »
Jestem w trakcie testów moich kontrolerów.Ponieważ problem dotyczy HSC oraz MJoya wybrałem ten wątek.Można napisać skrypt w HSC do MJoya,ale trzeba go sprawdzić.Sprawdzenie można zrobić bezpośrednio w symulatorze lub w SVMapper.
Programując MJoy w HSC musimy przypisać odpowiednie kombinacje przycisków,przełączników enkoderów do funkcji realizowanych w symulatorze.Są one związane z mapowaniem czyli z określonymi pinami uP,krótko mówiąc odpowiada to numeracji 1-112.Znając numerację oraz funkcję która jej odpowiada mogę sprawdzić czy ta relacja jest właściwa korzystając z SVMappera.
Testowanie jest bardzo proste.Nie muszę w SVMapper przypisywać kombinacji przycisków do pozycji 1-112 wystarczy go włączyć.Jeśli w naszym pc będą tylko 4 kontrolery gier to nasz MJoy zostanie wykryty.Teraz wystarczy przyciskać, przełączać lub obracać elementy wykonawcze w panelach i obserwować zapalanie się wskaźników w SVMapper.Numeracja w HSC jest mniejsza o 1.
Mam nadzieję,że nie pomieszałem,ale HSC nie ma mechanizmu sprawdzania wejść,dlatego trzeba to zrobić w innym programie.Można sprawdzać bezpośrednio w symulatorze.

Odp: Aplikacja DomowyKokpit
« Odpowiedź #199 dnia: Października 16, 2010, 22:35:23 »
Przychodzę na ten wątek ( tuż za vito :-) ) już z własnym mjoyem. tutaj czuję się pewniej bo łatwiej mi czytać skrypt i pisać, niż czytać schemat mjoya i zastanawiać się, czy dobry element lutuję na płytce mjoya. Ale do rzeczy.

Zauważyłem, że jeśli przypiszę do przycisku mjoya zmienną - i będę wywoływał skrypt poprzez variable changed - to przy pushbuttonie mam drobny problem. Wartoć zmiennej zmienia się chyba nie tylko przy wciśnięciu, ale i przy puszczeniu przycisku(1) - czyli on key press oraz on release (tak to w innych językach progamowania bywa). Czy rzeczywiście tak jest w HSC?  Pytam ponieważ ustawiłem sobie wyłącznik autopilota pod pushbuttona. Postawiłem przy tym warunek - jeśli autopilot włączony, to wyłącz, jeśli wyłączony to włącz... efekt - autopilot włącza się kiedy wcisnę przycisk. Ele kiedy go zwolnię - wyłącza się autopilot... No przyznacie, że mało to wygodne :-)
Oczywiście można to rozwiązać poprzez liczenie ile razy zmienia się zmienna, czy jakoś... Ale może jest jakieś proste zabezpieczenie. Chcę mieć tylko key press.

I druga rzecz. Codeking - czy myślałeś już nad naprawieniem problemu z fsdata - bardzo to uciążliwe dla mnie.

Odp: Aplikacja DomowyKokpit
« Odpowiedź #200 dnia: Października 17, 2010, 04:40:12 »
Witam,shopiK zobacz na 3 stronie odpowiedź 33 w tym wątku.Są tam przykłady.Kilka uwag ogólnych.Chcąc pisać skrypt w HSC trzeba niestety znać zasady mapowania MJoya czyli strona 28 Manual.Dobrym narzędziem pomocniczym jest SVMapper.Z controls mapping wynika,że mamy ścisły podział mapy na pushbuttons 1 do 64 oraz toggle sw.65 do 96.
Testując zachowanie przycisków w SVMapper zauważymy,że "lampka" zapala się w momencie naciśnięcia przycisku.
Przy testowaniu przełącznika zapala się dla obu pozycji On oraz Off.Można oczywiście zrobić autopilota na przycisku jeśli w symulatorze jest dla tej funkcji tylko toggle,ale jest to "amatorskie rozwiązanie".Najlepiej to zrobić na wyłączniku gdzie są określone 2 pozycje ON oraz Off.
Reasumując w symulatorach może być dostępne dla tej samej funkcji np.włącz autopilota jedno przypisanie klawiatury.W tym przypadku stosujemy przycisk.Mogą być dostępne dwa przypisania dla On oraz Off.W tym drugim przypadku stosujemy przełącznik.Takie przypadki występują w Falconie.
Jeszcze jedna uwaga dotycząca "programowania" MJoya.Moim zdaniem jest łatwiej to zrobić w SVMapper niż pisać skrypt w HSC.Zauważyłem także,że niektórzy koledzy maja problemy jak zrobić przypisania klawiatury dla takich elementów jak przełączniki dwupozycyjne z pozycją neutralną lub przełączniki obrotowe.

Odp: Aplikacja DomowyKokpit
« Odpowiedź #201 dnia: Października 17, 2010, 10:15:05 »
Problem modułu FSData poprawiłem ale muszę jeszcze posprawdzać inne rzeczy.

Problem z włączaniem autopilota jest banalny do rozwiązania. Tak, przycisk generuje dwa zdarzenia, gdy naciśniesz (zmienna ma wartość true) i gdy zwalniasz (wartość false). Rozwiązaniem jest reakcja tylko na wartość true, czyli np.

if ( $zmienna == true )
{
   // włączenie lub wyłączenie autopilota
}

Dodatkowo można jeszcze skrócić kod:

if ( $zmienna )
{
   // kod do wykonania
}

Domyślnie warunek if sprawdza czy wyrażenie w nawiasach ma wartość true, więc powyższy zapis jest równoznaczny z pierwszym kodem.

Zmienne reprezentujące przyciski w kontrolerach gier (np. MJoy) są typu bool, osie są typu int

Odp: Aplikacja DomowyKokpit
« Odpowiedź #202 dnia: Października 17, 2010, 10:58:35 »
Cytuj
Reasumując w symulatorach może być dostępne dla tej samej funkcji np.włącz autopilota jedno przypisanie klawiatury.W tym przypadku stosujemy przycisk.Mogą być dostępne dwa przypisania dla On oraz Off.W tym drugim przypadku stosujemy przełącznik.Takie przypadki występują w Falconie.
Chciałbym to wyjaśnić na przykładzie,aby nie było nieporozumień.
W Falconie mamy wajchę do wypuszczania oraz chowania podwozia.Ponieważ mamy dostępne w symulatorze trzy przypisania realizujące tę czynność to możemy to zrealizować hardwarowo oraz programowo (HSC )na dwa sposoby.
Jeśli zastosujemy przycisk to stosujemy zmienną Landing Gear,której odpowiada klawisz "g"
Jeśli zastosujemy przełącznik 2 pozycyjny to stosujemy 2 zmienne:
Landing Gear Up,której odpowiada Shift+g oraz Landing Gear Dn,której odpowiada Alt+g.
Realizacja w HSC jest bardzo prosta:
if ( $zmienna )
{
  // kod do wykonania
}

Odp: Aplikacja DomowyKokpit
« Odpowiedź #203 dnia: Października 17, 2010, 22:35:25 »


Problem z włączaniem autopilota jest banalny do rozwiązania. Tak, przycisk generuje dwa zdarzenia, gdy naciśniesz (zmienna ma wartość true) i gdy zwalniasz (wartość false). Rozwiązaniem jest reakcja tylko na wartość true, czyli np.

if ( $zmienna == true )
{
   // włączenie lub wyłączenie autopilota
}


No faktycznie. tylko, że trzeba to jeszcze uzupełnić o warunek, przełączający autopilota, bo w FS jest jedna komenda (jeden klawisz) do tego czyli:

// jeśli zmienna przycisku mjoy zmieni się na true to wykonaj:
if ( $zmiennaPrzycisk == true )
{
   // włączenie lub wyłączenie autopilota <- ale tu jeszcze warunek
        if ($zmiennaStatusAutopilota ==0)
        {
        włącz autopilota     // <- jeśli wyłączony to włącz
        }
        else                     // <- w przeciwnym wypadku wyłącz
        {
        wyłącz autopilota
        }
}

Widocznie zaćmienie jakieś miałem :-)

Odp: Aplikacja DomowyKokpit
« Odpowiedź #204 dnia: Października 20, 2010, 20:16:26 »
Udostępniłem aktualizację, proszę uruchomić aktualizację na zakładce Ustawienia. Program zaktualizuje się do wersji 1.1.1.1 a moduł FSData (Input i Output) do wersji 1.0.0.2. W przypadku błędu podczas startu programu i niezaładowania się modułów FSData należy skopiować plik FSData.xml z poprzedniej (działającej) wersji (jest w katalogu /modules) do katalogu /modules nowej wersji.

Odp: Aplikacja DomowyKokpit
« Odpowiedź #205 dnia: Października 23, 2010, 14:10:39 »
Udostępniłem aktualizację, proszę uruchomić aktualizację na zakładce Ustawienia. Program zaktualizuje się do wersji 1.1.1.1 a moduł FSData (Input i Output) do wersji 1.0.0.2. W przypadku błędu podczas startu programu i niezaładowania się modułów FSData należy skopiować plik FSData.xml z poprzedniej (działającej) wersji (jest w katalogu /modules) do katalogu /modules nowej wersji.

Aktualizacja odbyła się automatycznie i bez problemów. Problem z modułem FSData wydaje się być rozwiązany. U mnie ładuje się już normalnie.

BTW... Żeby komercyjne aplikacje miały taaaaki support :-)

Odp: Aplikacja DomowyKokpit
« Odpowiedź #206 dnia: Października 23, 2010, 14:22:59 »
Cytuj
Aktualizacja odbyła się automatycznie i bez problemów.
U mnie także.Ponieważ pc sterujący kokpit nie ma połączenia z internetem to muszę przekopiować aktualizowane pliki z pc połączonego z internetem do tego drugiego.
W związku z czym pytanie,które pliki mam kopiować?Plików z rozszerzeniem dll jest kilka.

Odp: Aplikacja DomowyKokpit
« Odpowiedź #207 dnia: Października 23, 2010, 18:34:05 »
Aktualizacja objęła plik HomeSimCockpit.exe (główny plik aplikacji) i plik FSData.dll z katalogu /modules.

Odp: Aplikacja DomowyKokpit
« Odpowiedź #208 dnia: Października 23, 2010, 20:09:50 »
Cytuj
Aktualizacja objęła plik HomeSimCockpit.exe (główny plik aplikacji) i plik FSData.dll z katalogu /modules
Z tego wynika,że w moim przypadku muszę mieć informację nie tylko,że jest aktualizacja do pobrania,ale także które pliki mam kopiować.Dzięki za wyjaśnienia.
Jeszcze jedna sprawa.Załóżmy,że nie aktualizuję przez dłuższy czas i w między czasie były np.3 aktualizacje dotyczące różnych modułów.Czy aktualizując HSC automatycznie program wie,które moduły ma aktualizować?
Prawdopodobnie porównując wersje modułów można to zrobić prawidłowo.Przepraszam,że pytam ale takie sytuacje mogą mieć miejsce.
« Ostatnia zmiana: Października 23, 2010, 20:16:45 wysłana przez vito_zm »

Odp: Aplikacja DomowyKokpit
« Odpowiedź #209 dnia: Października 23, 2010, 22:03:28 »
Panowie vito i codeking prośba do was.
Kombinuje do mojego kokpitu panel CMDS, trzeba tam wyświetlić kilka rzeczy. Jedną z możliwości jest zastosowanie wyświetlaczy 7-seg.
  Mam inny pomysł, chciał bym zastosować wyświetlacz HD44780 40x2. Czyli 40 znaków w dwóch liniach, dlaczego taki? Odpowiedz jest prosta, na nim można wyświetlać nie tylko cyfry i prawie idealnie mieści się za panelem. Zakładam, że skoro w MFD Excractor ten wyświetlacz działa, to równie dobrze można to wyciągnąć z SharedMemHeaders do wyświetlania na Lcd.
Vito jak dobrze pamiętam masz taki wyświetlacz. Pytanie brzmi- czy jesteście w stanie napisać skrypt do tego wyświetlacza?
Dodam, że  jak się uda można  będzie wyświetlić tekst na panelu w linii STATUS, czyli NO GO, GO.......itd.
Mam nadzieję,  że zrozumieliście mój pomysł? :)
Pozdrawiam.