WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Simulationen > Home Cockpit - Das Forum für die "Bastler"

Home Cockpit - Das Forum für die "Bastler" Cockpitbauer tauschen Pläne, Erfahrungen, Meinungen über den Bau von Homecockpits aus...

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 22.05.2007, 16:53   #1
Dirkce
Veteran
 
Registriert seit: 06.03.2003
Alter: 57
Beiträge: 278


Standard Opencockpit / SIOC

Hallo,

hat jemand mal ein Beispiel für SIOC oder kann mir sagen, wie ich es schaffe meine Radios erst bei Battery on zum leuchten zu bewegen. Meine Radios funktionieren einwandfrei, mich stört es nur das auch bei Cold and Dark diese in Funktin sind, sprich die 7 Segment Anzeigen leuchten.
Den Offsetwert habe ich so hoffe ich zumindest in der Doku gefunden nur fehlt mir bei den Befehlen nach dem IF ein THEN, oder mache ich einen Gedankenfehler.

Gruss

Dirk
Dirkce ist offline   Mit Zitat antworten
Alt 23.05.2007, 08:38   #2
MiHi4
Senior Member
 
Registriert seit: 10.06.2001
Alter: 51
Beiträge: 141


MiHi4 eine Nachricht über ICQ schicken
Standard

Hi, Dirk!

Ich hab's bei mir so gelöst (sind zwar andere Variablen, aber vielleicht hilft dir das):

Code:
Var 0001, name InternalFlags
{
  &ElecOn = TESTBIT &InternalFlags ,0
  &MaingenOn = TESTBIT &InternalFlags ,6
  
}

Var 0005, name ElecOn     // Boolean to check, when displaying lights
{
  CALL &updateFPanel
}

Var 0006, name MaingenOn
{
  CALL &updateCMDS
}
Var 0007

Var 0010, name CPanelLights

Var 0011, name FPanelLights
{
  CALL &updateFPanel
}

Var 1000, name updateFPanel, Link SUBRUTINE
{
  IF &ElecOn = 1         // check, if electricity in jet
  {
    &masterc = TESTBIT &FPanelLights ,0
    &lebTfFail = TESTBIT &FPanelLights ,1
    &aoa_dn = TESTBIT &FPanelLights ,2
    &aoa_ok = TESTBIT &FPanelLights ,3
    &aoa_up = TESTBIT &FPanelLights ,4
    &rdy = TESTBIT &FPanelLights ,5
    &nws = TESTBIT &FPanelLights ,6
    &disc = TESTBIT &FPanelLights ,7
    &rebEngFire = TESTBIT &FPanelLights ,8
    &rebEngine = TESTBIT &FPanelLights ,9
    &rebHydPres = TESTBIT &FPanelLights ,10
    &rebOilPres = TESTBIT &FPanelLights ,10
    &rebFlcs = TESTBIT &FPanelLights ,11
    &rebDbuOn = TESTBIT &FPanelLights ,12
    &rebToLdg = TESTBIT &FPanelLights ,13
    &rebConfig = TESTBIT &FPanelLights ,13
    &rebCanopy = TESTBIT &FPanelLights ,14
    &rebOxyLow = TESTBIT &FPanelLights ,15
    &twsHandoff = TESTBIT &FPanelLights ,16
    &twsLaunch = TESTBIT &FPanelLights ,17
    &twsPriMode = TESTBIT &FPanelLights ,18
    &twsNaval = TESTBIT &FPanelLights ,19
    &twsUnknown = TESTBIT &FPanelLights ,20
    &twsTgtSep = TESTBIT &FPanelLights ,21
    &ecmOn = TESTBIT &FPanelLights ,22
    &tfrActive = TESTBIT &FPanelLights ,23
    &tfrStby = TESTBIT &FPanelLights ,24
  }
  ELSE
  {
    &masterc = 0
    &lebTfFail = 0
    &aoa_dn = 0
    &aoa_ok = 0
    &aoa_up = 0
    &rdy = 0
    &nws = 0
    &disc = 0
    &rebEngFire = 0
    &rebEngine = 0
    &rebHydPres = 0
    &rebOilPres = 0
    &rebFlcs = 0
    &rebDbuOn = 0
    &rebToLdg = 0
    &rebConfig = 0
    &rebCanopy = 0
    &rebOxyLow = 0
    &twsHandoff = 0
    &twsLaunch = 0
    &twsPriMode = 0
    &twsNaval = 0
    &twsUnknown = 0
    &twsTgtSep = 0
    &ecmOn = 0
    &tfrActive = 0
    &tfrStby = 0
  }
}

Var 1001, name updateCMDS, Link SUBRUTINE
{
  L0 = &MaingenOn + &ElecOn 
  IF L0 = 2        // check, if mainGenerator running and ELEC switch on
  {
    if &ChaffCount < 100
    {
      &disp_Chaff = &ChaffCount
    } 
    ELSE
    {
      &disp_Chaff = 99
    }
    if &FlareCount < 100
    {
      &disp_Flares = &FlareCount
    } 
    ELSE
    {
      &disp_Flares = 99
    }
  }
  else
  {
    &disp_Flares = -999999
    &disp_Chaff = -999999
  }
}

/////////////////////////////////
//   LEDs are from 2000 - 2050 //
/////////////////////////////////



Var 2000, name masterc, Link IOCARD_OUT, Output 11     // Master Caution Light

Var 2001, name aoa_dn, Link IOCARD_OUT, Output 12

Var 2002, name aoa_ok, Link IOCARD_OUT, Output 13

usw...
lg
michi
____________________________________
Michi \"MiHi\" Hirczy
http://www.f16simulator.net
###########################
MiHi4 ist offline   Mit Zitat antworten
Alt 23.05.2007, 19:09   #3
Dirkce
Veteran
 
Registriert seit: 06.03.2003
Alter: 57
Beiträge: 278


Standard

Hallo Michi,

vielen Dank für dein Script. Ich werde es mir am Freitag mal in Ruhe anschauen un versuchen zu verstehen. Mir ist aufgefallen das du nicht wie von mir eigentlich versucht mit IF / THEN Schleifen bzw. mit NOT oder OR Befehlen gearbeitet hast. Hmmm mal sehen.
Ich hoffe ich darf mich noch einmal melden wenn ich Probleme habe????

Schönen Tag rüber

Dirk
Dirkce ist offline   Mit Zitat antworten
Alt 24.05.2007, 08:40   #4
MiHi4
Senior Member
 
Registriert seit: 10.06.2001
Alter: 51
Beiträge: 141


MiHi4 eine Nachricht über ICQ schicken
Standard

Hi, Dirk!
Zitat:
Mir ist aufgefallen das du nicht wie von mir eigentlich versucht mit IF / THEN Schleifen bzw. mit NOT oder OR Befehlen gearbeitet hast.
Doch, doch!

1.) In der Variable 0001 werden bitweise diverse Stati gesetzt - unter anderem auch ElecOn (Elektrizität im Pit) und MainGenOn (Hauptgenerator läuft). Wenn diese Bits gesetzt sind werden die Variablen 5 und 6 auf "1" gesetzt.

2.) In der Variable 0011 werden die Werte für die Lampen des Frontpanels bitweise gesetzt (jede Lampe ein Bit).
Ändert sich nun der Wert dieser Variable (weil z.B. eine Lampe an/aus gegangen ist, wird die Funktion "updateFPanel" (V1000) aufgerufen.

3.) In der Funktion updateFPanel wird gleich zu Beginn gecheckt: Ist &ElecOn auf "1"? (Strom im Pit).
Falls ja -> beschalte die LED Outputs entsprechend der Bitwerte in der Variable 0011.
Fall nein (ELSE-Block) -> schalte alle Outputs auf "0" (aus).

4.) Die oben genannte Funktion wird auch bei Änderung des Wertes von &ElecOn aufgerufen, da ja auch auf die Position des Stromschalters reagiert werden muss.

Zitat:
Ich hoffe ich darf mich noch einmal melden wenn ich Probleme habe????
Sicher, überhaupt kein Problem. Ich bin nur nicht so der Fachmann zu MSFS-Offsets, da ich meine IOCards nur mit Falcon4.0 verwende.

lg
michi
____________________________________
Michi \"MiHi\" Hirczy
http://www.f16simulator.net
###########################
MiHi4 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:05 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag