Autor Wątek: Mój własny kokpit do DCS: Blackshark  (Przeczytany 6621 razy)

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

Offline Marcin_B

  • *
  • MABO
Odp: Mój własny kokpit do DCS: Blackshark
« Odpowiedź #15 dnia: Stycznia 24, 2013, 22:33:49 »
Dzięki Koledzy za wskazówki.
« Ostatnia zmiana: Stycznia 25, 2013, 07:29:58 wysłana przez KosiMazaki »

Odp: Mój własny kokpit do DCS: Blackshark
« Odpowiedź #16 dnia: Lutego 01, 2013, 23:40:38 »
Czy ktoś wie jak napisać skrypt do synchronizacji przycisków w grze z fizycznymi przyciskami?

Odp: Mój własny kokpit do DCS: Blackshark
« Odpowiedź #17 dnia: Lutego 02, 2013, 09:13:40 »
Cytuj
Czy ktoś wie jak napisać skrypt do synchronizacji przycisków w grze z fizycznymi przyciskami?
Bardzo ciekawe pytanie. Zastanawiałem się także nad tym problemem. Dotyczyło to kontroli przełączników w ramp start lub zwykłego taxi. W fizycznym kokpicie położenie przełączników może się różnić od tych w kokpicie 3D na ekranie. W moim przypadku stosuję procedurę polegającą na wzrokowej kontroli położenia przełączników w momencie ramp start.
Można sprawdzić położenie przełączników przed ramp start programem "contralador?" dla paneli OpenCockpits, jest taka możliwość.
Tobie prawdopodobnie chodzi o przyciski a nie przełączniki. Czy możesz wyjaśnić na czym ma polegać synch. przycisków.? Przycisk działa chwilowo, czy chodzi o to aby oszukać symulator symulując "wirtualne" naciśnięcie przycisków?

Odp: Mój własny kokpit do DCS: Blackshark
« Odpowiedź #18 dnia: Lutego 02, 2013, 19:40:44 »
Chodzi właśnie o przełączniki dźwigniowe, rotary switch. Przykładowo mam włączony w fizycznym kokpicie laser, po uruchomieniu gry laser w wirtualnym kokpicie jest jednak wyłączony. Zauważyłem pewną rzecz, podczas pierwszego uruchomienia misji synchronizacja czasami działa i przełączniki się zgadzają, ale po crashu daje ponownie FLY przełączniki się nie już synchronizują.
Na innej stronie ktoś napisać taki skrypt do synchronizacji, tylko że zbytnio nie działa. Pewnie dlatego że polega na offsetach.
Var 1 Link IOCARD_SW Input 23 Type I
{
  CALL &SyncSwitches
}
Var 2 Link IOCARD_SW Input 25 Type P
{
  CALL &SyncSwitches
}
Var 5 name SyncSwitches Link SUBRUTINE
{
  v10 = v1
  v11 = v2
  // ...
}
var 10 Link FSUIPC_OUT Offset $wxyz Length mn    // PM offset for a switch
var 11 Link FSUIPC_OUT Offset $wxyz Length mn    // PM offset for a switch

// Call SyncSwitches also at start-up,
// either by detecting that your aircraft is loaded (FSUIPC offset):
var 20 Link FSUIPC_IN Offset $wxyz Length mn    // Offset about aircaaft type loaded
{
  // some comparion code here, and if it is your aircraft:
  CALL &SyncSwitches
}
// or via a push button specific for this goal:
Var 1 Link IOCARD_SW Input 23 Type P  // "hidden" buton to sync all switches
{
  CALL &SyncSwitches
}

Odp: Mój własny kokpit do DCS: Blackshark
« Odpowiedź #19 dnia: Lutego 02, 2013, 22:16:02 »
Cytuj
Przykładowo mam włączony w fizycznym kokpicie laser, po uruchomieniu gry laser w wirtualnym kokpicie jest jednak wyłączony.
To jest prawidłowa reakcja, szansa jest 50%. SIOS jest tak zrobiony, że reaguje na zmiany stanów na wejściach. Stan początkowy przełączników w fizycznym kokpicie nie jest analizowany, dlatego wspomiałem, że stosuję metodę sprawdzenia położenia przełączników na początku misji.
Wspomniałem także, że jest program do testowania stanu przełączników, 7segLED, LED..pod nazwą o ile się nie mylę "contralador?" . Z tego wynika, że jeżeli jest możliwość sprawdzenia stanu przełączników to można wymusić w kokpicie symulatora ich położenie. Jestem pewny, że dla programisty napisanie takiego programiku (skryptu) byłoby bardzo proste. Jak będę miał trochę czasu to przyjrzę się temu. Można zrobić przycisk, który zainicjuje ten program. Jest pewne niebezpieczeństwo, jeśli ustawimy przełączniki przypadkowo to efekt może być także nieprzewidywalny.
Nie pamiętam już jak się robiło skrypty dla SIOC, ale widzę na przykładzie, że jest także opcja wywoływania funkcji call przyciskiem. Nie ma opisu funkcji CALL &SyncSwitches.
Jeśli masz przykład to można zapytać na forum OC, jak to zrobić. Widzę FSUIPC czyli FSX, ale można zrobić także dla BMS4.

Odp: Mój własny kokpit do DCS: Blackshark
« Odpowiedź #20 dnia: Lutego 03, 2013, 10:27:47 »
Już kiedyś na tym forum był poruszany problem synchronizacji przełączników kokpitu fizycznego i tego w symulatorze. Jeszcze raz zrobiłem analizę tego problemu i doszedłem do kilku wniosków. Synchronizacja dotyczy tych, którzy mają fizyczne kokpity i głównie w fazie początkowej w opcji taxi. Dlaczego tak myślę, ponieważ w ramp start wykonujemy pewne procedury i z definicji widać tego efekt np. uruchamianie silnika, załączanie zasilań w avionics power itp. Jeśli wykonamy wszystkie przewidziane procedury to testujemy je przy pomocy panelu test i tutaj można sprawdzić wskaźniki i niektóre przyciski. Jeszcze jedna uwaga dotycząca niektórych ważnych przełączników np. start 2. Mają one mechanizm powrotny czyli wracają po określonym czasie do stanu początkowego.
Jeśli chodzi o sytuację związaną z taxi to tutaj możemy mieć bałagan, ponieważ nie ma mechanizmu synchronizacji pomiędzy kokpitem fizycznym oraz w symulatorze.
Jak ja sobie z tym radzę. Po pierwsze mam urządzenia OC czyli zawsze przed uruchomieniem symulatora włączam program Controlador gdzie jest opcja "all on" zapalająca wszystkie LED oraz 7seg-LED oraz gasząca reset. Dodatkowo w okienku "Inputs" można podglądnąć w jakiej pozycji są przełączniki np. 001-002-008.....Ja z tego nie korzystam, ponieważ stosuję metodę sprawdzenia wizualnego stanu przełączników w fizycznym kokpicie.
Inne przełączniki np. laser on, master arm czy radar itp. widzę na MFD tym fizycznym już w czasie lotu. Nie korzystam z kokpitu symulatora tylko z fizycznego.
Wracając do idei synchronizacji przełączników w kokpicie fizycznym oraz tym w symulatorze są możliwe dwie sytuacje. W pierwszej zmieniamy położenie przełączników w kokpicie symulatora tak aby odpowiadały tym z fizycznego. W sytuacji drugiej sygnalizujemy tylko, że jest niezgodność ale nic z tym nie robimy mam na myśli program. To tyle moich przemyśleń, może inni  także się wypowiedzą na ten temat.

Odp: Mój własny kokpit do DCS: Blackshark
« Odpowiedź #21 dnia: Lutego 03, 2013, 12:03:12 »
Chyba znalazłem rozwiązanie z sychnronizacją przełączników kokpitu fizycznego i w grze. Cały czas próbowałem to rozwiązać tylko za pomocą scryptu w SIOC, dodatkowo jednak trzeba zmodyfikować pliki lua w grze.

Zastosowałem pewną sztuczkę: do zsychnronizowania przełączników używam dodatkowego przycisku monostabilnego do którego przypisałem funkcję resetowania połączenia DCS-a z SIOC.
Włączam grę, pojawia się kokpit, klikam przycisk do synchronizacji i przełączniki w grze przestawiają się zgodnie z moim fizycznym kokpitem.

Nie wiem tylko czy przez takie odłączanie i podłączanie do SIOC-a nie pojawią się jakieś błędy, narazie jest wszystko OK, ale wymaga to jeszcze dłuższego przetestowania

Odp: Mój własny kokpit do DCS: Blackshark
« Odpowiedź #22 dnia: Lutego 03, 2013, 15:54:34 »
Cytuj
przypisałem funkcję resetowania połączenia DCS-a z SIOC.
Jest to interesujące, ale niestety nie znam tych funkcji. U mnie komunikacja pomiędzy BMS4 i SIOC jest za pomocą programu FAST, który jest tylko programowym interfejsem.

Odp: Mój własny kokpit do DCS: Blackshark
« Odpowiedź #23 dnia: Lutego 03, 2013, 17:10:02 »
Cytuj
U mnie komunikacja pomiędzy BMS4 i SIOC jest za pomocą programu FAST

Zgadza się, w DCS komunikacja odbywa się za pomocą wbudowanych w grze skryptów LUA, w BMS4 trzeba użyć właśnie osobnego programu FAST.
Niestety nie znam działania BMS4 i FAST i tutaj w sprawie synchronizacji przełączników nie jestem w stanie pomóc