SIOC-ohjelmointia (IOCards)

<< < (3/7) > >>

tigert:
Ja valot.. Tässä on yksi offsetti kaikissa, koostuu biteistä jotka päälle ja pois kytkemällä saadaan tietyt valot päälle ja pois.

Quote


// *** LIGHTS ***

Var 0020, Link FSUIPC_OUT, Offset $0D0C, Length 1 // Valot bitteinä
Var 0120, Link IOCARD_SW, Input 67 // LIGHT Beacon
{
  IF V0120 = 1
  {
    V0020 = SETBIT 1
  }
  ELSE
  {
    V0020 = CLEARBIT 1
  }
}

Var 0121, Link IOCARD_SW, Input 66 // LIGHT Landing
{
  IF V0121 = 1
  {
    V0020 = SETBIT 2
  }
  ELSE
  {
    V0020 = CLEARBIT 2
  }
}

Var 0122, Link IOCARD_SW, Input 65 // LIGHT Taxi
{
  IF V0122 = 1
  {
    V0020 = SETBIT 3
  }
  ELSE
  {
    V0020 = CLEARBIT 3
  }
}

Var 0123, Link IOCARD_SW, Input 64 // LIGHT Navi
{
  IF V0123 = 1
  {
    V0020 = SETBIT 0
    V0020 = SETBIT 5
    // Navivalot ja paneelivalot samassa kytkimessä, eli mittarivalot kytkee  myös navivalot.
    // Esim. PA-28:ssa on kytketty näin, ja mulla ei ole erillistä kytkintä paneelivaloille.
  }
  ELSE
  {
    V0020 = CLEARBIT 0
    V0020 = CLEARBIT 5 // sama...
 }
}

Var 0124, Link IOCARD_SW, Input 63 // LIGHT Strobes
{
 IF V0124 = 1
  {
    V0020 = SETBIT 4
  }
  ELSE
  {
    V0020 = CLEARBIT 4
  }
}


tigert:
Quote

Var 0202, Link IOCARD_DISPLAY, Digit 4, Numbers 3 // altitude display
Var 0054, Link FSUIPC_IN, Offset $0ec6, Length 2 // current QNH * 16
Var 0055, Link FSUIPC_IN, Offset $6020, Length 8 // GPS altitude in metres
{
L0 = V0054 / 16 // Get current QNH setting
L0 = L0 - 1013 // difference to standard pressure
L0 = L0 * 27 // 1 millibar = 27 feet
L1 = V0055 * 3.2808399 // meters to feet
L1 = L1 - L0 // correct altitude for QNH1013
L1 = L1 / 100 (display in flight levels. 2500FT = FL025)
V0202 = TRUNC L1
}


Tämä tekee transponderiin korkeuskoodaimen näytön, eli näyttää lentopintoina (siis standardipaineella) mitä transponderi periaatteessa lähettäisi lennonjohtajan tutkanäytölle.



En tosin ole testannut paljon, on jo myöhä jne. Mutta ainakin tuossa on vähän aivojumppaa. Kiva härveli tuo SIOC tolta kannalta kyllä.

//Tuomas

Jaketus:
Sinä sitten jaksat näpertää! ... taidan tästä itsekkin ruveta taas säätää...

*Kolvia ottamassa esille*

Jaketus:
Minulla on tämmönen pyöritettävä mittari.. siis semmonen mitä käytetään autopiloteissa sun muissa..(otettu vanhasta joikkarista) Niin onko toi keltanen+ musta- punainen+?

[ attachment removed ]

tigert:
Jaakko: tuo voi olla mikä hyvänsä, riippuu ihan komponentista.

Tässä taas vähän koodia, audiopaneeli toimii nyt..



Code:

// **** AUDIO PANEL ****

// ** LEDS **
Var 0301, Link IOCARD_OUT, Output 25 // COM1 Audio
Var 0302, Link IOCARD_OUT, Output 24 // COM2 Audio
Var 0303, Link IOCARD_OUT, Output 23 // BOTH Audio
Var 0304, Link IOCARD_OUT, Output 22 // AUX Audio
Var 0305, Link IOCARD_OUT, Output 21 // NAV1 Audio
Var 0306, Link IOCARD_OUT, Output 20 // NAV2 Audio
Var 0307, Link IOCARD_OUT, Output 19 // MKR Audio
Var 0308, Link IOCARD_OUT, Output 18 // ADF Audio

Var 0709, Link FSUIPC_IN, Offset $3122, Length 1 // Radio Audio Bytes
{
  V0301 = TESTBIT V0709, 7 // COM1
  V0302 = TESTBIT V0709, 6 // COM2
  V0303 = TESTBIT V0709, 5 // BOTH
  V0305 = TESTBIT V0709, 4 // NAV1
  V0306 = TESTBIT V0709, 3 // NAV2
  V0307 = TESTBIT V0709, 2 // MRKR
  V0308 = TESTBIT V0709, 0 // ADF
}

// FSUIPC radio audio variable bits
// 2^7 COM1 transmit
// 2^6 COM2 transmit
// 2^5 COM receive both
// 2^4 NAV1 sound
// 2^3 NAV2 sound
// 2^2 Marker sound
// 2^1 DME sound
// 2^0 ADF1 sound

Var 0602, Link FSUIPC_OUT, Offset $3122, Length 1 // Radio Audio Bytes

// ** BUTTONS **
Var 0058, Link IOCARD_SW, Input 2, Type P // COM1 Audio
{
  V0602 = SETBIT 7 // COM1 vs COM2 - either is on. It's a toggle between these two in FS.
  V0602 = CLEARBIT 6
}
Var 0059, Link IOCARD_SW, Input 4, Type P // COM2 Audio
{
  V0602 = SETBIT 6
  V0602 = CLEARBIT 7
}
Var 0060, Link IOCARD_SW, Input 3, Type P // BOTH Audio
{
  V0602 = CHANGEBIT 5 V0060
}

//Var 0061, Link IOCARD_SW, Input 8, Type P // AUX Audio

Var 0062, Link IOCARD_SW, Input 7, Type P // NAV1 Audio
{
  V0602 = CHANGEBIT 4 V0062
}
Var 0063, Link IOCARD_SW, Input 0, Type P // NAV2 Audio
{
  V0602 = CHANGEBIT 3 V0063
}

Var 0064, Link IOCARD_SW, Input 6, Type P // MKR Audio
{
  V0602 = CHANGEBIT 2 V0064
}
Var 0065, Link IOCARD_SW, Input 5, Type P // ADF Audio
{
  V0602 = CHANGEBIT 0 V0065
}


Edit: lisäsinpä kuvan tännekin..

Navigation

Up one level

Next page

Previous page