Bac 1-11 APU problem

Classic British Flight Sim forum.
Support for Maltby/Piper FS models & other Classic British freeware.

Moderators: Guru's, The Ministry

Vc Ten
Concorde
Concorde
Posts: 1347
Joined: 18 Apr 2010, 17:02

Re: Bac 1-11 APU problem

Post by Vc Ten »

Just completed a short flight for the va to check out the systems with the updated panel cab file usings david's revised xml gauges. Everything is working as it should (no apu as above post ) with the exeption that the autopilot dosent flick to lock once selected height is obtained, although reduced rate of climb on approaching set height and holds height ok throughout the flight. I only fly the 500 series 1-11 so not sure if the other version of the autopilot is ok or not Swapped the old cab file back just to see and the aircraft behaves as it was, ie engines wont start correctly but now autopilot is ok
Dale
Image Image Image

User avatar
TSR2
The Ministry
Posts: 15648
Joined: 17 Jun 2004, 14:32
Location: North Tyneside, UK
Contact:

Re: Bac 1-11 APU problem

Post by TSR2 »

Hi Dale,

Tried the code in SYD and it looks fine, modifield it slightly for the 510 and took Mike Mike for a spin and seems to be OK too. I've attached the two modified CAB's below (one for the 510 and one for the others.) Let me know if they seem to work for you guys :cpu:
DM_1-11_CABS.zip
(2 MiB) Downloaded 124 times
Ben.:tunes:

ImageImageImage

Vc Ten
Concorde
Concorde
Posts: 1347
Joined: 18 Apr 2010, 17:02

Re: Bac 1-11 APU problem

Post by Vc Ten »

Cheers for that Ben
Will intall cab files and report back. Half way to Rimini in Mike Xray at the moment :lol:
Dale
Image Image Image

Vc Ten
Concorde
Concorde
Posts: 1347
Joined: 18 Apr 2010, 17:02

Re: Bac 1-11 APU problem

Post by Vc Ten »

Update on Ben's cab files
Installed 1-11 510ED panel cab and tried a quick flight
APU Start button now functions ( no mouse over on the cab I made yesterday) but unable to start the thing Tried various combinations of startup procedue air valve open/ closed etc etc
Engines start fine as per the cab from yesterday
510 autopilot reaches dialed in alitiude but fails to flick from aquire to lock ( although actually is locked. Alter up/down trim and nothing happens) Orignial Cab makes autopilot to flick to lock once set height is achieved.
There may be problems with my FSX setup requiring a reinstall. I read an interesting article in PC pilot saying that its imperitive to "run" the simulator in between service pack installations or else suffer CTD's and other texture problems This ive never done, always installing the disks followed by sp1 and sp2 before starting the sim up
I recently bought fsx gold from Amazon, for £14 (my old disks are a bit scratched now)
So may have to try that
Ho Hum
Dale
Image Image Image

User avatar
TSR2
The Ministry
Posts: 15648
Joined: 17 Jun 2004, 14:32
Location: North Tyneside, UK
Contact:

Re: Bac 1-11 APU problem

Post by TSR2 »

Hi Dale,

I did get the 510 to start, but didn't get a chance to look into the AP's. I'll check the 510 again and see what I did (or didn't do :lol: )
Ben.:tunes:

ImageImageImage

User avatar
MALTBY D
The Gurus
Posts: 1491
Joined: 18 Jun 2004, 19:40
Contact:

Re: Bac 1-11 APU problem

Post by MALTBY D »

I've found two likely looking gauges that may work for the 510 in FSX. They had _FSX_MODS stuck on the end of the names. I've not tested either though.

So here is the code, with the file names you should use...

510_APU_STARTER.xml

Code: Select all

<Gauge Name="Starter APU" Version="1.0">
   <Element>
      <Select>
         <Value>(L:DM STARTER 3,number) 0 != (A:General eng3 starter, bool) ||</Value>
         <Case Value="1">
            <Image Name="510_APU_STARTER_ON.bmp" ImageSizes="36,35"/>
         </Case>
         <Case Value="0">
            <Image Name="510_APU_STARTER_OFF.bmp" ImageSizes="36,35"/>
         </Case>
      </Select>
   </Element>
   <Mouse>
         <Cursor Type="Hand"/>
         <Tooltip>Push to Start</Tooltip>
         <Click>(A:GENERAL ENG3 FUEL VALVE,bool) 1 == if{ 5 (>L:DM STARTER 3,number) 0 (>K:MIXTURE3_LEAN) (A:GENERAL ENG3 FUEL VALVE, bool) 0 == if{ 0 (>K:TOGGLE_FUEL_VALVE_ENG3) } }</Click>
   </Mouse>
</Gauge>
510_PROCESSING.xml

Code: Select all

<Gauge Name="Processing" Version="1.0">

//------------------- A/P INITIALIZE ----------------------
   <Element>
      <Select>
         <Value>(L:AP Var1,number) 1 < if{ 2 (>L:AP Var1,number) 0 (>L:AP SPEED HOLD,number) 0 (>K:AP_APR_HOLD_OFF) 0 (>K:AP_LOC_HOLD_OFF) 0 (>K:AP_HDG_HOLD_OFF) 0 (>K:AP_NAV1_HOLD_OFF) 0 (>K:AP_BC_HOLD_OFF) 0 (>L:AP IAS HOLD,number) 0 (>L:AP MACH HOLD,number) 0 (>L:AP ALT HOLD,number) 0 (>K:AP_ATT_HOLD_ON) (A:AUTOPILOT AIRSPEED HOLD,bool) 1 == if{ 1 (>L:AP SPEED ENABLE,number) 0 (>L:AP SPEED HOLD,number) } }</Value>
      </Select>
   </Element>
//------------------- TURN OFF NAV VARIABLES, IAS, MACH WHEN AUTOPILOT OFF ----------------------
   <Element>
      <Select>
         <Value>(A:AUTOPILOT MASTER,bool) ! if{ (L:AP Var1,number) 10 < if{ (L:AP Var1,number) 10 + (>L:AP Var1,number) } (A:AUTOPILOT FLIGHT DIRECTOR ACTIVE,bool) 0 == if{ 0 (>K:AP_APR_HOLD_OFF) 0 (>K:AP_LOC_HOLD_OFF) 0 (>K:AP_HDG_HOLD_OFF) 0 (>K:AP_NAV1_HOLD_OFF) 0 (>K:AP_BC_HOLD_OFF) 0 (>L:AP IAS HOLD,number) 0 (>L:AP MACH HOLD,number) 0 (>L:AP ALT HOLD,number) 0 (>L:AP DESCENT,number) (A:AUTOPILOT AIRSPEED HOLD,bool) 0 == if{ 0 (>L:AP SPEED ENABLE,number) 0 (>L:AP SPEED HOLD,number) } } }</Value>
      </Select>
   </Element>
//------------------- TURN ON NAV VARIABLES WHEN AUTOPILOT ON ----------------------
   <Element>
      <Select>
         <Value>(L:AP Var1,number) 10 / flr 1 == (A:AUTOPILOT MASTER,bool) && if{ (L:AP Var1,number) 10 - (>L:AP Var1,number) 0 (>L:PVD OFF,number) }</Value>
      </Select>
   </Element>
//------------------- TURN OFF ALT HOLD BUTTON WHEN GS ENGAGED ----------------------
   <Element>
      <Select>
         <Value>(A:AUTOPILOT MASTER,bool) d (A:AUTOPILOT GLIDESLOPE HOLD,bool) 1 == r && d (A:AUTOPILOT ALTITUDE LOCK,bool) 0 == r && if{ 0 (>L:AP ALT HOLD,number) 0 (>L:AP DESCENT,number) }</Value>
      </Select>
   </Element>
//---------SET SPEED NUMBERS IF SPEED HOLD NOT ENGAGED-------------------
   <Element>
      <Select>
         <Value>0 if{ (L:AP SPEED ENABLE,number) 0 == if{ (A:AIRSPEED INDICATED,knots) near (A:AUTOPILOT AIRSPEED HOLD VAR,knots) != if{ (A:AIRSPEED INDICATED,knots) (>K:AP_SPD_VAR_SET) } } }</Value>
      </Select>
   </Element>
//---------AND TURN OFF AQUIRE MODE/DESCENT MODE IF REACHED AQUIRED HEIGHT-------------------
   <Element>
      <Select>
         <Value>
(L:AP ALT HOLD,number) 1 == if{
(L:AP HEIGHT MODE,number) 1 == if{ (A:Indicated Altitude,feet) (L:AP HEIGHT SELECTED,number) - abs 40 < d (L:AP AQUIRE OFF,number) 1 < r && if{ 0 (>L:AP DESCENT,number) 0 (>L:AP HEIGHT MODE,number) 1 (>L:AP AQUIRE OFF,number) (L:AP SPEED HOLD,number) 0 > if{ 0 (>L:AP SPEED HOLD,number) (A:Autopilot throttle arm, bool) 0 == if{ 0 (>K:AUTO_THROTTLE_ARM) } 0 (>K:AP_MACH_OFF) 0 (>K:AP_AIRSPEED_ON) 0 (>L:AP IAS HOLD,number) 0 (>L:AP MACH HOLD,number) 1 (>L:AP SPEED ENABLE,number) } }
}
</Value>
      </Select>
   </Element>
//-------------------------------------- AUTO LAND ----------------------
   <Element>
    <Select>
      <Value>
(L:AP Var1,number) 6 == if{

   (A:RADIO HEIGHT,FEET) 65 > d (A:RADIO HEIGHT,FEET) 980 < r && if{
   (A:RADIO HEIGHT,FEET) 300 < if{ 11 s0 30 s1 -11 s2 -30 s3 } els{ 14 s0 30 s1 -14 s2 -30 s3 }
   (A:HSI CDI needle, number) abs l0 > d (L:AP TIMER,number) 3 > r && if{
      0 (>L:AP TIMER,number)
      (A:HSI CDI needle, number) l0 > if{ (A:PLANE HEADING DEGREES GYRO,degrees) 1 + (>K:HEADING_BUG_SET) }
      (A:HSI CDI needle, number) l1 > if{ (A:PLANE HEADING DEGREES GYRO,degrees) 2 + (>K:HEADING_BUG_SET) }
      (A:HSI CDI needle, number) l2 < if{ (A:PLANE HEADING DEGREES GYRO,degrees) 1 - (>K:HEADING_BUG_SET) }
      (A:HSI CDI needle, number) l3 < if{ (A:PLANE HEADING DEGREES GYRO,degrees) 2 - (>K:HEADING_BUG_SET) }
      (L:AP AUTOLAND CORRECTION,number) 0 == if{
         (A:PLANE HEADING DEGREES GYRO,degrees) (>L:AP AUTOLAND HEADING,degrees)
         0 (>K:AP_LOC_HOLD_OFF) 0 (>K:AP_HDG_HOLD_ON)
         }
      1 (>L:AP AUTOLAND CORRECTION,number)
      }
   (L:AP AUTOLAND CORRECTION,number) 1 == if{
      (A:HSI CDI needle, number) abs l0 < if{ (L:AP AUTOLAND HEADING,degrees) (>K:HEADING_BUG_SET) }
      (A:HSI CDI needle, number) abs 40 > if{ 0 (>L:AP AUTOLAND CORRECTION,number) 0 (>K:AP_HDG_HOLD_OFF) 0 (>K:AP_APR_HOLD_ON) }
      }
   }

   (* -- LEAVE AUTOLAND UNTIL 90 kts FOR AUTO RUDDER -- *)
   (A:AIRSPEED INDICATED,knots) 110 < if{ 0 (>L:AP Var1,number) (A:AUTOPILOT MASTER, bool) 1 == if{ 0 (>L:AP ON,number) 0 (>K:AP_MASTER) 1 (>L:PVD OFF,number) } }

   (* -- Overshoot -- *)
   (A:GENERAL ENG1 THROTTLE LEVER POSITION, percent) 90 > if{ 2 (>L:AP Var1,number) 0 (>K:AP_AIRSPEED_OFF) 0 (>K:AP_MACH_OFF) 0 (>K:AP_HDG_HOLD_OFF) 0 (>K:AP_LOC_HOLD_OFF) 0 (>K:AP_APR_HOLD_OFF) 0 (>K:AP_NAV1_HOLD_OFF) 0 (>K:AP_WING_LEVELER_ON) 0 (>K:SPOILERS_ARM_OFF) 0 (>K:SPOILERS_SET) 0 (>K:AXIS_RUDDER_SET) 16300 (>K:THROTTLE1_SET) 16300 (>K:THROTTLE2_SET) 1 (>L:AP SPEED HOLD,number) 1 (L:AP SPEED ENABLE,number) (A:AIRSPEED INDICATED,knots) (>L:AP IAS HOLD,number) (A:AIRSPEED INDICATED,knots) (>K:AP_SPD_VAR_SET) 0 (>L:AP MACH HOLD,number) 0 (>L:AP ALT HOLD,number) 0 (>K:AP_ALT_HOLD_ON) 0 (>L:AP DESCENT,number) 99999 (>K:AP_ALT_VAR_SET_ENGLISH) 2000 (>K:AP_VS_VAR_SET_ENGLISH) (A:AUTOPILOT FLIGHT DIRECTOR ACTIVE,bool) if{ 0 (>K:TOGGLE_FLIGHT_DIRECTOR) } }

   (A:RADIO HEIGHT,FEET) 65 < if{ (A:RADIO HEIGHT,FEET) 45 > if{ 0 (>K:AP_APR_HOLD_OFF) 0 (>K:SPOILERS_ARM_ON) (L:AP AUTOLAND CORRECTION,number) 0 == if{ 0 (>K:AP_LOC_HOLD_ON) } 99999 (>K:AP_ALT_VAR_SET_ENGLISH) 0 (>K:AP_ALT_HOLD_ON) -400 (>K:AP_VS_VAR_SET_ENGLISH) } }

   (A:RADIO HEIGHT,FEET) 45 < if{ (A:RADIO HEIGHT,FEET) 25 > if{ -300 (>K:AP_VS_VAR_SET_ENGLISH) } }

   (A:RADIO HEIGHT,FEET) 25 < if{ (A:RADIO HEIGHT,FEET) 16 > if{ -200 (>K:AP_VS_VAR_SET_ENGLISH) (A:AUTOPILOT AIRSPEED HOLD,bool) 1 == if{ 0 (>K:AUTO_THROTTLE_ARM) 0 (>L:AP SPEED ENABLE,number) 0 (>K:AP_AIRSPEED_OFF) 0 (>K:THROTTLE_CUT) } 0 (>K:YAW_DAMPER_OFF) } } }

   (A:RADIO HEIGHT,FEET) 16 < if{ (A:RADIO HEIGHT,FEET) 8 > if{ -100 (>K:AP_VS_VAR_SET_ENGLISH) (L:AP AUTO RUDDER OFF,number) 1 != if{ (L:AP KICK OFF SET,number) 0 == if{ 1 (>L:AP KICK OFF SET,number) (A:VELOCITY BODY X,knot) (A:VELOCITY BODY Z,knot) / atg 57.296 * (>L:AP KICK OFF DEG,number) } (L:AP KICK OFF DEG,number) -900 * (>K:AXIS_RUDDER_SET) } } }

   (A:RADIO HEIGHT,FEET) 9 < if{ 0 (>L:AP Var9,number) 0 (>K:AP_LOC_HOLD_OFF) 0 (>K:AP_ALT_HOLD_OFF) 0 (>K:AP_ALT_VAR_SET_ENGLISH) 0 (>K:AP_HDG_HOLD_OFF) 0 (>L:AP SPEED ENABLE,number) (L:AP AUTO RUDDER OFF,number) 1 != if{ (L:AP KICK OFF DEG,number) -450 * (>K:AXIS_RUDDER_SET) 1 (>L:AP AUTO RUDDER OFF,number) } }

   (L:AP AUTO RUDDER OFF,number) 1 != if{ (A:RADIO HEIGHT,FEET) 9 < if{ (L:AP KICK OFF DEG,number) 2.4 * s0 (A:HSI CDI needle, number) l0 + -900 * (>K:AXIS_RUDDER_SET) } }

}
</Value>
    </Select>
   </Element>
//
//------------------ MAN PITCH - Initialize ----------
//-- AP CURRENT SPEED: Current IAS / MACH
//-- AP CURRENT VS:    Current VS
//-- AP PITCH CONTROL: 0=OFF, 1=Thumb wheel control, 2=IAS pitch control, 3=MACH pitch control
//-- AP TIMER:       2=Timer Fired
//-- Var5:             Mach hold number
//----------------------------------------------------
   <Element>
    <Select>
      <Value>0 (>L:AP PITCH CONTROL,number)
(L:AP ALT HOLD,number) 1 == if{ 1 (>L:AP PITCH CONTROL,number) }
(L:AP IAS HOLD,number) 0 > if{ 2 (>L:AP PITCH CONTROL,number) (A:AIRSPEED INDICATED,knots) (>L:AP CURRENT SPEED,number) }
(L:AP MACH HOLD,number) 0 > if{ 3 (>L:AP PITCH CONTROL,number) (A:AIRSPEED MACH,mach) 500 * (>L:AP CURRENT SPEED,number) }</Value>
    </Select>
   </Element>
//------------------ IAS HOLD - ADJUST VS HOLD VALUE TO MEET TARGET SPEED ----------
   <Element>
    <Select>
     <Value>
(L:AP PITCH CONTROL,number) 2 == d (L:AP TIMER,number) 0 > r && if{
0 (>L:AP TIMER,number)
(A:AIRSPEED INDICATED,knots) (L:AP IAS HOLD,number) - (>G:Var1)
(L:AP CURRENT IAS,number) (L:AP LAST IAS,number) - (>G:Var2)
(G:Var1) 0.5 > if{ (* -- Speed Too High -- *)
   -0.05 (>G:Var5) -0.15 (>G:Var6) 1 (>G:Var7) 1 (>G:Var8)
   (G:Var1) 3 > if{ -0.1 (>G:Var5) -0.3 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var1) 6 > if{ -0.2 (>G:Var5) -0.6 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var1) 9 > if{ -0.6 (>G:Var5) -1.5 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var2) (G:Var5) > if{ (* -- Not slowing enough -- *)
      (G:Var2) abs 3 * near 1 max 100 * 300 min (>G:Var3)
      (G:Var1) abs 10 > if{ (G:Var3) 3 * (>G:Var3) }
      (A:AUTOPILOT VERTICAL HOLD VAR, feet per minute) (G:Var3) + (>K:AP_VS_VAR_SET_ENGLISH)
      (L:AP TIMER,number) (G:Var7) - (>L:AP TIMER,number)
      }
   (G:Var2) (G:Var6) < if{ (* -- Slowing too fast -- *)
      (G:Var1) abs 20 < if{
         (G:Var2) abs 3 * near 1 max 100 * 300 min (>G:Var3)
         (G:Var1) abs 10 < if{ (G:Var3) 1.3 * (>G:Var3) }
         (A:AUTOPILOT VERTICAL HOLD VAR, feet per minute) (G:Var3) - (>K:AP_VS_VAR_SET_ENGLISH)
         (L:AP TIMER,number) (G:Var8) - (>L:AP TIMER,number)
         }
      }
   }
(G:Var1) -0.5 < if{ (* -- Speed Too Low -- *)
   0.05 (>G:Var5) 0.15 (>G:Var6) 1 (>G:Var7) 1 (>G:Var8)
   (G:Var1) -3 < if{ 0.1 (>G:Var5) 0.3 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var1) -6 < if{ 0.2 (>G:Var5) 0.6 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var1) -9 < if{ 0.6 (>G:Var5) 1.5 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var2) (G:Var5) < if{ (* -- Not speeding up enough -- *)
      (G:Var2) abs 3 * near 1 max 100 * 300 min (>G:Var3)
      (G:Var1) abs 10 > if{ (G:Var3) 3 * (>G:Var3) }
      (A:AUTOPILOT VERTICAL HOLD VAR, feet per minute) (G:Var3) - (>K:AP_VS_VAR_SET_ENGLISH)
      (L:AP TIMER,number) (G:Var7) - (>L:AP TIMER,number)
      }
   (G:Var2) (G:Var6) > if{ (* -- Speeding up too fast -- *)
      (G:Var1) abs 20 < if{
         (G:Var2) abs 3 * near 1 max 100 * 300 min (>G:Var3)
         (G:Var1) abs 10 < if{ (G:Var3) 1.3 * (>G:Var3) }
         (A:AUTOPILOT VERTICAL HOLD VAR, feet per minute) (G:Var3) + (>K:AP_VS_VAR_SET_ENGLISH)
         (L:AP TIMER,number) (G:Var8) - (>L:AP TIMER,number)
         }
      }
}
     </Value>
    </Select>
   </Element>
//------------------ MACH HOLD - ADJUST VS HOLD VALUE TO MEET TARGET SPEED ----------
   <Element>
    <Select>
     <Value>
(L:AP PITCH CONTROL,number) 3 == d (L:AP TIMER,number) 0 > r && if{
0 (>L:AP TIMER,number)
(L:AP MACH HOLD,number) 5 * s0 (A:Airspeed mach, mach) 500 * l0 - (>G:Var1)
(L:AP CURRENT IAS,number) (L:AP LAST IAS,number) - (>G:Var2)
(G:Var1) 0.5 > if{ (* -- Speed Too High -- *)
   -0.05 (>G:Var5) -0.15 (>G:Var6) 1 (>G:Var7) 1 (>G:Var8)
   (G:Var1) 3 > if{ -0.1 (>G:Var5) -0.3 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var1) 6 > if{ -0.2 (>G:Var5) -0.6 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var1) 9 > if{ -0.6 (>G:Var5) -1.5 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var2) (G:Var5) > if{ (* -- Not slowing enough -- *)
      (G:Var2) abs 3 * near 1 max 100 * 300 min (>G:Var3)
      (G:Var1) abs 10 > if{ (G:Var3) 3 * (>G:Var3) }
      (A:AUTOPILOT VERTICAL HOLD VAR, feet per minute) (G:Var3) + (>K:AP_VS_VAR_SET_ENGLISH)
      (L:AP TIMER,number) (G:Var7) - (>L:AP TIMER,number)
      }
   (G:Var2) (G:Var6) < if{ (* -- Slowing too fast -- *)
      (G:Var1) abs 20 < if{
         (G:Var2) abs 3 * near 1 max 100 * 300 min (>G:Var3)
         (G:Var1) abs 10 < if{ (G:Var3) 1.3 * (>G:Var3) }
         (A:AUTOPILOT VERTICAL HOLD VAR, feet per minute) (G:Var3) - (>K:AP_VS_VAR_SET_ENGLISH)
         (L:AP TIMER,number) (G:Var8) - (>L:AP TIMER,number)
         }
      }
   }
(G:Var1) -0.5 < if{ (* -- Speed Too Low -- *)
   0.05 (>G:Var5) 0.15 (>G:Var6) 1 (>G:Var7) 1 (>G:Var8)
   (G:Var1) -3 < if{ 0.1 (>G:Var5) 0.3 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var1) -6 < if{ 0.2 (>G:Var5) 0.6 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var1) -9 < if{ 0.6 (>G:Var5) 1.5 (>G:Var6) 1 (>G:Var7) 0 (>G:Var8) }
   (G:Var2) (G:Var5) < if{ (* -- Not speeding up enough -- *)
      (G:Var2) abs 3 * near 1 max 100 * 300 min (>G:Var3)
      (G:Var1) abs 10 > if{ (G:Var3) 3 * (>G:Var3) }
      (A:AUTOPILOT VERTICAL HOLD VAR, feet per minute) (G:Var3) - (>K:AP_VS_VAR_SET_ENGLISH)
      (L:AP TIMER,number) (G:Var7) - (>L:AP TIMER,number)
      }
   (G:Var2) (G:Var6) > if{ (* -- Speeding up too fast -- *)
      (G:Var1) abs 20 < if{
         (G:Var2) abs 3 * near 1 max 100 * 300 min (>G:Var3)
         (G:Var1) abs 10 < if{ (G:Var3) 1.3 * (>G:Var3) }
         (A:AUTOPILOT VERTICAL HOLD VAR, feet per minute) (G:Var3) + (>K:AP_VS_VAR_SET_ENGLISH)
         (L:AP TIMER,number) (G:Var8) - (>L:AP TIMER,number)
         }
      }
}
     </Value>
    </Select>
   </Element>

//-----------------------------------------------FUEL SYSTEM------------
   <Element>
      <Select>
         <Value>
(L:DM FUEL INIT,number) 1 == if{

(* -- Default to Centre tank -- *)
6 (>G:Var1) 6 (>G:Var2) 0 (>G:Var3)

(* -- Move to Left/Right tanks if centre tank source is empty -- *)
(A:FUEL TANK CENTER LEVEL, percent) 1.01 < if{ 2 (>G:Var1) 3 (>G:Var2) 1 (>G:Var3) }

(* -- Crossfeed Off -- *)
(L:DM FUEL CROSSFEED,number) 0 == if{
 (L:DM FUEL VALVE 1,number) 0 == if{ 2 (>G:Var1) }
 (L:DM FUEL VALVE 2,number) 0 == if{ 3 (>G:Var2) }
 (L:DM FUEL PUMP FWD 1,number) (L:DM FUEL PUMP 1,number) + 0 == if{ 0 (>G:Var1) }
 (L:DM FUEL PUMP FWD 2,number) (L:DM FUEL PUMP 2,number) + 0 == if{ 0 (>G:Var2) }
}

(* -- Crossfeed On -- *)
(L:DM FUEL CROSSFEED,number) 1 == if{
 (* -- Centre empty -- *)
 (G:Var3) 1 == if{ 1 (>G:Var1) 1 (>G:Var2) }
 (* -- Both valves off -- *)
 (L:DM FUEL VALVE 1,number) (L:DM FUEL VALVE 2,number) + 0 == if{ 1 (>G:Var1) 1 (>G:Var2) }
 (* -- Left Pumps off -- *)
 (L:DM FUEL PUMP FWD 1,number) (L:DM FUEL PUMP 1,number) + 0 == if{
  6 (>G:Var1) 6 (>G:Var2)
  (G:Var3) 1 == if{ 3 (>G:Var1) 3 (>G:Var2) }
  (L:DM FUEL VALVE 2,number) 0 == if{ 3 (>G:Var1) 3 (>G:Var2) }
 }
 (* -- Right Pumps off -- *)
 (L:DM FUEL PUMP FWD 2,number) (L:DM FUEL PUMP 2,number) + 0 == if{
  6 (>G:Var1) 6 (>G:Var2)
  (G:Var3) 1 == if{ 2 (>G:Var1) 2 (>G:Var2) }
  (L:DM FUEL VALVE 1,number) 0 == if{ 2 (>G:Var1) 2 (>G:Var2) }
 }
}

(* -- All Fuel pumps Off -- *)
(L:DM FUEL PUMP FWD 1,number) (L:DM FUEL PUMP 1,number) + (L:DM FUEL PUMP FWD 2,number) + (L:DM FUEL PUMP 2,number) + 0 == if{ 0 (>G:Var1) 0 (>G:Var2) }

(G:Var1) 0 == if{ 1 (>K:FUEL_SELECTOR_OFF) }
(G:Var2) 0 == if{ 1 (>K:FUEL_SELECTOR_2_OFF) }
(G:Var1) 1 == if{ 1 (>K:FUEL_SELECTOR_ALL) }
(G:Var2) 1 == if{ 1 (>K:FUEL_SELECTOR_2_ALL) }
(G:Var1) 2 == if{ 1 (>K:FUEL_SELECTOR_LEFT) }
(G:Var2) 2 == if{ 1 (>K:FUEL_SELECTOR_2_LEFT) }
(G:Var1) 3 == if{ 1 (>K:FUEL_SELECTOR_RIGHT) }
(G:Var2) 3 == if{ 1 (>K:FUEL_SELECTOR_2_RIGHT) }
(G:Var1) 6 == if{ 1 (>K:FUEL_SELECTOR_CENTER) 1 (>K:FUEL_SELECTOR_3_CENTER) } els{ 1 (>K:FUEL_SELECTOR_3_LEFT) }
(G:Var2) 6 == if{ 1 (>K:FUEL_SELECTOR_2_CENTER) }

}</Value>
      </Select>
   </Element>

//--------------------------------------HYDRAULICS---------------
   <Element>
      <Select>
         <Value>
0 (>G:Var1) (L:HYD AUX1,number) 1 == if{ 1 (>G:Var1) } els{ (L:HYD ENG1,number) 1 == (A:Turb eng1 N2, percent) 40 > && if{ 1 (>G:Var1) } }
0 (>G:Var2) (L:HYD AUX2,number) 1 == if{ 1 (>G:Var2) } els{ (L:HYD ENG2,number) 1 == (A:Turb eng2 N2, percent) 40 > && if{ 1 (>G:Var2) } }
</Value>
      </Select>
   </Element>
//------------------
   <Element>
      <Select>
         <Value>0 (>G:Var3) (L:HYD DC,number) 1 == if{ 1 (>G:Var3) (G:Var1) (G:Var2) + (L:HYD FAIL FLAP SHAFT,number) + 0 == if{ 1 (>L:HYD FAIL FLAP SHAFT, number) (A:TRAILING EDGE FLAPS0 LEFT ANGLE, degree) (>L:HYD FAIL Flaps Position,number) } }</Value>
      </Select>
   </Element>
//-------------------
   <Element>
      <Select>
         <Value>(G:Var1) (G:Var2) + (G:Var3) + 0 == if{ (L:HYD FAIL,number) 1 != if{ 1 (>L:HYD FAIL,number) (A:Elevator Trim Position,degrees) (>L:HYD FAIL Trim Position,number) } 0 (>L:HYD FAIL FLAP SHAFT, number) }</Value>
      </Select>
   </Element>
//------------------------------
   <Element>
      <Select>
         <Value>(G:Var1) (G:Var2) + (G:Var3) + 0 > if{ (L:HYD FAIL,number) 2 != if{ 2 (>L:HYD FAIL,number) } (G:Var1) (G:Var2) + 0 > if{ 0 (>L:HYD FAIL FLAP SHAFT, number) } }</Value>
      </Select>
   </Element>
//-----------------HYDRAULIC FAILURE-------------
   <Element>
      <Select>
         <Value>(G:Var1) 0 == if{
 (A:Gear left position,percent) 0 > (A:Gear left position,percent) 100 < && if{ 0 (>K:GEAR_DOWN) }
 (G:Var2) 0 == if{
  (L:HYD FAIL Trim Position,number) -2047.88 * (>K:AXIS_ELEV_TRIM_SET)
  (L:HYD DC,number) 0 == if{ (L:HYD FAIL Flaps Position,number) 400 * (>K:FLAPS_SET) }
  0 (>K:SPOILERS_OFF)
  }
 }
(L:HYD FAIL FLAP SHAFT, number) 1 == if{ (A:TRAILING EDGE FLAPS0 LEFT ANGLE, degree) (L:HYD FAIL Flaps Position,number) != if{ 2 (>L:HYD FAIL FLAP SHAFT, number) } }
</Value>
      </Select>
   </Element>
//-------------------
   <Element>
      <Select>
         <Value>(A:TRAILING EDGE FLAPS0 LEFT ANGLE, degree) (>L:HYD FAIL Flaps Position,number)</Value>
      </Select>
   </Element>

//------------------------------------------STICK PUSHER---------------
   <Element>
      <Select>
         <Value>(L:STALL WARNING TIME, number) 3 > (L:STICK PUSHER OFF,number) 1 != && if{ 1 (>L:STICK PUSHER TIME,number) }</Value>
      </Select>
   </Element>
//--------------
   <Element>
      <Select>
         <Value>(L:STICK PUSHER TIME,number) 0 > if{ 10000 (>K:AXIS_ELEVATOR_SET) }</Value>
      </Select>
   </Element>

//------------------------------------------MASTER WARNING-----------
   <Element>
      <Select>
         <Value>
0 (>G:Var1)
(A:HYDRAULIC SYSTEM INTEGRITY, percent) 10 < if{ (G:Var1) 1 + (>G:Var1) }

(A:STALL WARNING, bool) if{ (G:Var1) 2 + (>G:Var1) }

(A:OVERSPEED WARNING, bool) if{ (G:Var1) 4 + (>G:Var1) }

(L:DM TOP TEMP, number) 0 == if{
   (L:DM EGT1,number) 595 > if{ (G:Var1) 8 + (>G:Var1) }
   (L:DM EGT2,number) 595 > if{ (G:Var1) 16 + (>G:Var1) }
   }

(A:Ambient temperature, celsius) -5 < if{ (A:General eng1 anti ice position,bool) (A:General eng2 anti ice position,bool) + (A:STRUCTURAL DEICE SWITCH,bool) + 3 != if{ (G:Var1) 32 + (>G:Var1) } }

(A:ENG ON FIRE:1, bool) (A:ENG ON FIRE:2, bool) + (A:ENG ON FIRE:3, bool) + 0 > if{ (G:Var1) 64 + (>G:Var1) }

(A:GENERAL ENG1 FUEL VALVE,bool) (A:GENERAL ENG2 FUEL VALVE,bool) + 0 == if{ (G:Var1) 128 + (>G:Var1) }

(A:GENERAL ENG GENERATOR ACTIVE:1,bool) (A:GENERAL ENG GENERATOR ACTIVE:1,bool) + 0 == if{ (G:Var1) 256 + (>G:Var1) }

(A:GENERAL ENG OIL PRESSURE:1, psi) (A:GENERAL ENG OIL PRESSURE:2, psi) + 10 < if{ (G:Var1) 512 + (>G:Var1) }

(G:Var1) (>L:MASTER WARN,number)
         </Value>
      </Select>
   </Element>

//-------------------------------------------WATER INJECTION---------
//--------REFILL IF ON GROUND-----
   <Element>
      <Select>
         <Value>
(L:WATER INJECTION LEVEL,number) 110 < d (A:GROUND VELOCITY, knot) 1 < r && if{ 120 (>L:WATER INJECTION LEVEL,number) }
         </Value>
      </Select>
   </Element>
//---------TURN OFF WHEN EMPTY----
   <Element>
      <Select>
         <Value>
(L:WATER INJECTION LEVEL,number) 0 == d (L:WATER INJECTION,number) 10 == r && if{ 9 (>L:WATER INJECTION,number) }
         </Value>
      </Select>
   </Element>
//----------ALTER TEMP WHEN ENGINE HIGH REVS-----
   <Element>
      <Select>
         <Value>
(A:Turb eng1 N2, percent) 92 > if{ (A:GENERAL ENG1 EXHAUST GAS TEMPERATURE,celsius) (L:WATER INJECTION,number) - (>L:DM EGT1,number) } els{ (A:GENERAL ENG1 EXHAUST GAS TEMPERATURE,celsius) (>L:DM EGT1,number) }
(A:Turb eng2 N2, percent) 92 > if{ (A:GENERAL ENG2 EXHAUST GAS TEMPERATURE,celsius) (L:WATER INJECTION,number) - (>L:DM EGT2,number) } els{ (A:GENERAL ENG2 EXHAUST GAS TEMPERATURE,celsius) (>L:DM EGT2,number) }
         </Value>
      </Select>
   </Element>

//------------------------------------------------AIRSPEED-----------------
//------------A component------------
   <Element>
      <Select>
         <Value>(A:AIRSPEED INDICATED,knots) (A:AIRSPEED INDICATED,knots) * 0.00096 * (>L:DM_AIRSPEED_A,number)</Value>
      </Select>
   </Element>
//------------B component------------
   <Element>
      <Select>
         <Value>(A:AIRSPEED INDICATED,knots) -1.3 * (>L:DM_AIRSPEED_B,number)</Value>
      </Select>
   </Element>
//------------A+B+C component------------
   <Element>
      <Select>
         <Value>(L:DM_AIRSPEED_A,number) (L:DM_AIRSPEED_B,number) + 366.4 + (>L:DM_AIRSPEED_ABC,number)</Value>
      </Select>
   </Element>
//------------Mach difference component------------
   <Element>
      <Select>
         <Value>(A:Airspeed mach, mach) 0.6 - 400 * (L:DM_AIRSPEED_ABC,number) + (>L:DM_AIRSPEED_MACH,number)</Value>
      </Select>
   </Element>
//------------Min reset------------
   <Element>
      <Select>
         <Value>(A:AIRSPEED INDICATED,knots) 180 < if{ 0 (>L:DM_AIRSPEED_MACH,number) }</Value>
      </Select>
   </Element>

//----------------------------------------------------THRUST INDEX----------
//------------------- INITIALIZE INDEX ----------------------
   <Element>
      <Select>
<Value>
(L:DM THRUST INDEX,number) 1 < if{
 1010 (A:AMBIENT PRESSURE,millibar) - s0 l0 10 / (>G:Var2)
 153 (G:Var2) + (>G:Var2)
 (A:AMBIENT PRESSURE,millibar) 50.5 / s1
 (A:AMBIENT PRESSURE,millibar) 840 - 86 / 3 + -1 * s2
 l0 l2 / l1 + flr (>G:Var3)
 (A:Ambient temperature, celsius) (G:Var3) - s0 l0 0 > if{ l2 -1.7 / l0 * s3 (G:Var2) l3 - (>G:Var2) }
 (G:Var2) 30 max (>L:DM THRUST INDEX,number)
 }
</Value>
      </Select>
   </Element>

//--------------------------------FUEL FLOW--------------------------
//---------- CURRENT READING OF FUEL LEVEL - USED IN FUEL FLOW AND TOTAL FUEL LEVEL-------
   <Element>
      <Select>
         <Value>(A:FUEL TANK CENTER QUANTITY, meter cubed) (A:FUEL LEFT QUANTITY, meter cubed) + (A:FUEL RIGHT QUANTITY, meter cubed) + (>L:DM FUEL CURRENT,number)</Value>
      </Select>
   </Element>

//------------Nose down Tail Trim stopper (-2.5 * -2048) -----------
   <Element>
      <Select>
         <Value>(A:Elevator Trim Position,degrees) -2.5 < if{ 5120 (>K:AXIS_ELEV_TRIM_SET) }</Value>
      </Select>
   </Element>

//-----------------CSD Generator Control----------------------------
   <Element>
      <Select>
<Value>
(L:DM CSD OFF 1,number) 1 == (L:DM CSD OFF 1,number) 11 == || if{ (A:GENERAL ENG GENERATOR ACTIVE:1,bool) if{ 0 (>K:TOGGLE_ALTERNATOR1) } }
(L:DM CSD OFF 2,number) 1 == (L:DM CSD OFF 2,number) 11 == || if{ (A:GENERAL ENG GENERATOR ACTIVE:2,bool) if{ 0 (>K:TOGGLE_ALTERNATOR2) } }
</Value>
      </Select>
   </Element>
//---------------Eng Starter---------------
   <Element>
      <Select>
<Value>
(L:DM STARTER MASTER,number) 3 == if{
  (L:DM STARTER 1,number) 0 > if{ (A:Circuit general panel on, bool) (A:Eng1 N2 RPM, percent) 21 < && if{ (A:GENERAL ENG1 STARTER,bool) 0 == if{ 0 (>K:TOGGLE_STARTER1) } 0 (>K:THROTTLE1_CUT) 0 (>K:MIXTURE1_LEAN) } els{ 0 (>K:MIXTURE1_INCR) (L:DM STARTER 1,number) -- (>L:DM STARTER 1,number) } }
  (L:DM STARTER 2,number) 0 > if{ (A:Circuit general panel on, bool) (A:Eng2 N2 RPM, percent) 21 < && if{ (A:GENERAL ENG2 STARTER,bool) 0 == if{ 0 (>K:TOGGLE_STARTER2) } 0 (>K:THROTTLE2_CUT) 0 (>K:MIXTURE2_LEAN) } els{ 0 (>K:MIXTURE2_INCR) (L:DM STARTER 2,number) -- (>L:DM STARTER 2,number) } }
}

(L:DM STARTER MASTER,number) 0 == if{
  (L:DM STARTER 1,number) 0 > if{ 0 (>L:DM STARTER 1,number) (A:GENERAL ENG1 STARTER,bool) 1 == if{ 0 (>K:TOGGLE_STARTER1) } }
  (L:DM STARTER 2,number) 0 > if{ 0 (>L:DM STARTER 2,number) (A:GENERAL ENG2 STARTER,bool) 1 == if{ 0 (>K:TOGGLE_STARTER2) } }
}

(L:DM STARTER 3,number) 0 > if{ (A:Circuit general panel on, bool) (A:Eng3 N2 RPM, percent) 21 < && if{ (A:GENERAL ENG3 STARTER,bool) 0 == if{ 0 (>K:TOGGLE_STARTER3) } 0 (>K:THROTTLE3_CUT) 0 (>K:MIXTURE3_LEAN) } els{ 0 (>K:MIXTURE3_INCR) (L:DM STARTER 3,number) -- (>L:DM STARTER 3,number) } }

(A:GENERAL ENG3 FUEL VALVE,bool) 0 == if{ 0 (>L:DM STARTER 3,number) (A:GENERAL ENG3 STARTER,bool) 1 == if{ 0 (>K:TOGGLE_STARTER3) } }

(A:Eng1 N2 RPM, percent) 55 > if{ (A:GENERAL ENG1 STARTER,bool) 1 == if{ 0 (>K:TOGGLE_STARTER1) } (A:GENERAL ENG MIXTURE LEVER POSITION:1,percent) 0 > if{ 0 (>K:MIXTURE1_RICH) } }
(A:Eng2 N2 RPM, percent) 55 > if{ (A:GENERAL ENG2 STARTER,bool) 1 == if{ 0 (>K:TOGGLE_STARTER2) } (A:GENERAL ENG MIXTURE LEVER POSITION:2,percent) 0 > if{ 0 (>K:MIXTURE2_RICH) } }
</Value>
      </Select>
   </Element>
//---------------Eng Motor-----------------
   <Element>
      <Select>
<Value>
(L:DM STARTER MASTER,number) 2 == if{
   (L:DM STARTER 1,number) 0 > if{ (A:Circuit general panel on, bool) (A:Eng1 N2 RPM, percent) 21 < && if{ (A:GENERAL ENG1 STARTER,bool) 0 == if{ 0 (>K:TOGGLE_STARTER1) } 0 (>K:THROTTLE1_CUT) 0 (>K:MIXTURE1_LEAN) } els{ (L:DM STARTER 1,number) -- (>L:DM STARTER 1,number) } }
   (L:DM STARTER 2,number) 0 > if{ (A:Circuit general panel on, bool) (A:Eng2 N2 RPM, percent) 21 < && if{ (A:GENERAL ENG2 STARTER,bool) 0 == if{ 0 (>K:TOGGLE_STARTER2) } 0 (>K:THROTTLE2_CUT) 0 (>K:MIXTURE2_LEAN) } els{ (L:DM STARTER 2,number) -- (>L:DM STARTER 2,number) } }
}
</Value>
      </Select>
   </Element>
//---------------Eng Relight---------------
   <Element>
      <Select>
<Value>
(L:DM STARTER 1,number) -1 == if{ (A:General eng1 starter, bool) ! if{ 0 (>K:TOGGLE_STARTER1) } 0 (>K:MIXTURE1_RICH) }
(L:DM STARTER 2,number) -1 == if{ (A:General eng2 starter, bool) ! if{ 0 (>K:TOGGLE_STARTER2) } 0 (>K:MIXTURE2_RICH) }
</Value>
      </Select>
   </Element>

//--------Eng Top Temp--------------
   <Element>
      <Select>
      <Value>
(L:DM TOP TEMP, number) 1 == if{
   (L:DM EGT1,number) 580 > if{
      1010 (A:AMBIENT PRESSURE,millibar) - s0 l0 10 / (>G:Var2)
      153 (G:Var2) + (>G:Var2)
      (A:AMBIENT PRESSURE,millibar) 50.5 / s1
      (A:AMBIENT PRESSURE,millibar) 840 - 86 / 3 + -1 * s2
      l0 l2 / l1 + flr (>G:Var3)
      (A:Ambient temperature, celsius) (G:Var3) - s0 l0 0 > if{ l2 -1.7 / l0 * s3 (G:Var2) l3 - (>G:Var2) }
      (G:Var2) 30 max (>G:Var2)
      64 s6
      (L:WATER INJECTION,number) 9 > if{ 58 s6 }
      180 (G:Var2) - l6 * s4
      16383 l4 - 11500 max s5
      (L:WATER INJECTION,number) 0 > if{ l5 500 + s5 }
      (A:GENERAL ENG1 THROTTLE LEVER POSITION, part) 16383 * l5 > if{ l5 (>K:THROTTLE1_SET) }
      }
   (L:DM EGT2,number) 580 > if{
      1010 (A:AMBIENT PRESSURE,millibar) - s0 l0 10 / (>G:Var2)
      153 (G:Var2) + (>G:Var2)
      (A:AMBIENT PRESSURE,millibar) 50.5 / s1
      (A:AMBIENT PRESSURE,millibar) 840 - 86 / 3 + -1 * s2
      l0 l2 / l1 + flr (>G:Var3)
      (A:Ambient temperature, celsius) (G:Var3) - s0 l0 0 > if{ l2 -1.7 / l0 * s3 (G:Var2) l3 - (>G:Var2) }
      (G:Var2) 30 max (>G:Var2)
      64 s6
      (L:WATER INJECTION,number) 9 > if{ 58 s6 }
      180 (G:Var2) - l6 * s4
      16383 l4 - 11500 max s5
      (L:WATER INJECTION,number) 0 > if{ l5 500 + s5 }
      (A:GENERAL ENG2 THROTTLE LEVER POSITION, part) 16383 * l5 > if{ l5 (>K:THROTTLE2_SET) }
      }
   }
      </Value>
      </Select>
   </Element>

//--------Cabin Pressure--------------
   <Element>
      <Select>
      <Value>
(L:DM CABIN TIME, number) 0 > if{

(A:Indicated altitude, feet) (L:DM CABIN ALT CURRENT,number) - 3600 / (>L:DM CABIN DIFF,number)

(L:DM CABIN ALT REQD,number) (L:DM CABIN ALT ADJ,number) + (L:DM CABIN ALT CURRENT,number) - s0

0 s1

(L:DM SAFETY VALVE,number) 0 == if{
   l0 50 > if{ (L:DM CABIN ALT RATE,number) s1 }
   l0 -50 < if{ (L:DM CABIN ALT RATE,number) -1 * s1 }
   (L:DM CABIN DIFF,number) -0.48 < if{ 0 s1 }
   (L:DM CABIN DIFF,number) -0.5 < if{ (L:DM CABIN ALT RATE,number) -1 * s1 }
   (L:DM CABIN DIFF,number) -0.6 < if{ (A:Vertical speed,feet per minute) -2000 min s1 }
   (L:DM CABIN DIFF,number) 7.98 > if{ 0 s1 }
   (L:DM CABIN DIFF,number) 8 > if{ (L:DM CABIN ALT RATE,number) s1 }
   (L:DM CABIN DIFF,number) 8.3 > if{ (A:Vertical speed,feet per minute) 2000 max s1 }
   }

(L:DM SAFETY VALVE,number) 1 == if{
   (L:DM CABIN DIFF,number) -0.01 < if{ (L:DM CABIN ALT RATE,number) -1 * s1 }
   (L:DM CABIN DIFF,number) -0.6 < if{ (A:Vertical speed,feet per minute) -2000 min s1 }
   (L:DM CABIN DIFF,number) 0.01 > if{ (L:DM CABIN ALT RATE,number) s1 }
   (L:DM CABIN DIFF,number) 0.5 > if{ (A:Vertical speed,feet per minute) 2000 max s1 }
   }

l1 60 / (L:DM CABIN ALT CURRENT,number) + (>L:DM CABIN ALT CURRENT,number)

l1 (>L:DM CABIN VSI,number)
0 (>L:DM CABIN TIME, number)

}
      </Value>
      </Select>
   </Element>

//--------ADF INC or DEC--------------
   <Element>
      <Select>
      <Value>
(L:DM ADF1 TENTHS DEC,number) 0 > if{
   (L:DM ADF1 TENTHS DEC,number) 1 - (>L:DM ADF1 TENTHS DEC,number)
   (L:DM ADF1 CARRY,number) 1 == if{ (A:ADF1 ACTIVE FREQUENCY,KHz) 10 * 10 % flr 0 == if{ 0 (>K:ADF_1_DEC) } }
   0 (>K:ADF1_RADIO_TENTHS_DEC)
   }
(L:DM ADF1 TENTHS INC,number) 0 > if{
   (L:DM ADF1 TENTHS INC,number) 1 - (>L:DM ADF1 TENTHS INC,number)
   (L:DM ADF1 CARRY,number) 1 == if{ (A:ADF1 ACTIVE FREQUENCY,KHz) 10 * 10 % flr 9 == if{ 0 (>K:ADF_1_INC) } }
   0 (>K:ADF1_RADIO_TENTHS_INC)
   }
(L:DM ADF2 TENTHS DEC,number) 0 > if{
   (L:DM ADF2 TENTHS DEC,number) 1 - (>L:DM ADF2 TENTHS DEC,number)
   (L:DM ADF2 CARRY,number) 1 == if{ (A:Adf active frequency:2,Kilohertz) 10 * 10 % flr 0 == if{ 0 (>K:ADF2_1_DEC) } }
   0 (>K:ADF2_RADIO_TENTHS_DEC)
   }
(L:DM ADF2 TENTHS INC,number) 0 > if{
   (L:DM ADF2 TENTHS INC,number) 1 - (>L:DM ADF2 TENTHS INC,number)
   (L:DM ADF2 CARRY,number) 1 == if{ (A:Adf active frequency:2,Kilohertz) 10 * 10 % flr 9 == if{ 0 (>K:ADF2_1_INC) } }
   0 (>K:ADF2_RADIO_TENTHS_INC)
   }
      </Value>
      </Select>
   </Element>

//------------Engine RPM Calc---------------
   <Element>
    <Select>
      <Value>
(A:Turb eng1 N2, percent) 100 * 2530 + near s0 l0 3000 < if{ l0 2530 - s0 } l0 (>L:DM ENG 1 N2 RPM,number)
(A:Turb eng2 N2, percent) 100 * 2530 + near s0 l0 3000 < if{ l0 2530 - s0 } l0 (>L:DM ENG 2 N2 RPM,number)
</Value>
      </Select>
   </Element>

//-----------------------------------------------START INIT-----------------
   <Element>
      <Select>
         <Value>(L:DM START INIT,number) 8 < if{

0 (>L:DM APU ON SWITCH,number)
0 (>L:DM APU ON,number)
(A:GENERAL ENG3 FUEL VALVE,bool) if{ 0 (>K:TOGGLE_FUEL_VALVE_ENG3) }
(A:GENERAL ENG GENERATOR SWITCH:3,bool) if{ 0 (>K:TOGGLE_ALTERNATOR3) }

(A:GENERAL ENG GENERATOR SWITCH:1,bool) 0 == if{ 0 (>K:TOGGLE_ALTERNATOR1) }
(A:GENERAL ENG GENERATOR SWITCH:2,bool) 0 == if{ 0 (>K:TOGGLE_ALTERNATOR2) }

1 (>L:HYD ENG1, number) 1 (>L:HYD ENG2, number)

1 (>L:DM FUEL VALVE 1,number) 1 (>L:DM FUEL PUMP 1,number) 1 (>L:DM FUEL PUMP FWD 1,number) 1 (>L:DM FUEL VALVE 2,number) 1 (>L:DM FUEL PUMP 2,number) 1 (>L:DM FUEL PUMP FWD 2,number) 0 (>L:DM FUEL CROSSFEED,number)
1 (>L:DM FUEL INIT,number)

0 (>L:DM EMERGENCY LIGHTS,number)
(A:Light LOGO,bool) 0 == if{ 1 (>K:TOGGLE_LOGO_LIGHTS) }
(A:Light panel,bool) 0 == if{ 1 (>K:PANEL_LIGHTS_TOGGLE) }

2 (>L:CYCLES SELECT,number)

0 (>L:DM ICONS OFF,number)

2 (>L:DM AIR CON 1,number) 2 (>L:DM AIR CON 2,number)
0 (>L:DM AIR VALVE 1,number) 0 (>L:DM AIR VALVE 2,number)
0 (>L:DM APU AIR CROSSFEED,number)
0 (>L:DM APU AIR DELIVERY,number)
1 (>L:DM SAFETY VALVE,number)
0 (>L:DM RAM AIR,number)

1 (>L:DM CABIN ALT SET,number) 0 (>L:DM CABIN ALT ADJ,number) 400 (>L:DM CABIN ALT RATE,number)
1 (>L:DM CABIN ALT WARN Var1,number)

(A:Indicated Altitude,feet) 4.6 / (>L:DM CABIN ALT CURRENT,number)
(A:Indicated Altitude,feet) 460 / flr 100 * 8000 min (>L:DM CABIN ALT REQD,number)

(A:AMBIENT TEMPERATURE, farenheit) (>L:DM INIT CABIN TEMP,number)

(* -- INITIALIZE READING OF FUEL LEVEL FOR ENGINE 1 - USED IN FUEL FLOW -- *)
(A:FUEL TANK CENTER MAIN QUANTITY, meter cubed) (A:FUEL LEFT QUANTITY, meter cubed) + (A:FUEL RIGHT QUANTITY, meter cubed) + (>L:DM FUEL 1 INIT,number)

(* -- INITIALIZE READING OF FUEL LEVEL FOR ENGINE 2 - USED IN FUEL FLOW -- *)
(A:FUEL TANK CENTER QUANTITY, meter cubed) (A:FUEL TANK LEFT MAIN QUANTITY, meter cubed) + (A:FUEL TANK RIGHT MAIN QUANTITY, meter cubed) + (>L:DM FUEL 2 INIT,number)

0 (>L:DM THRUST INDEX,number)

120 (>L:WATER INJECTION LEVEL,number)
0 (>L:DM TOP TEMP,number)
0 (>L:DM BACK COURSE,number)
10000 (>L:AP ALT VAR, number)

(A:AUTOPILOT AIRSPEED HOLD VAR,knots) 0 == if{ 130 (>K:AP_SPD_VAR_SET) }

}
els{
(A:Light cabin,bool) 0 == if{ (A:ELECTRICAL MAIN BUS VOLTAGE,volt) 0 > if{ 1 (>K:TOGGLE_CABIN_LIGHTS) } }
(A:Light cabin,bool) 1 == if{ (A:ELECTRICAL MAIN BUS VOLTAGE,volt) 0 == if{ 1 (>K:TOGGLE_CABIN_LIGHTS) } }

</Value>
      </Select>
   </Element>

//---------------------------COLD START-------------------------
   <Element>
      <Select>
         <Value>(L:DM COLD START,number) 1 == if{

0 (>L:DM COLD START,number)

0 (>K:FLAPS_UP)
0 (>K:AXIS_ELEV_TRIM_SET)
0 (>K:SPOILERS_OFF)

0 (>L:WATER INJECTION,number)
120 (>L:WATER INJECTION LEVEL,number)

(A:STRUCTURAL DEICE SWITCH,bool) if{ 0 (>K:TOGGLE_STRUCTURAL_DEICE) }
(A:ENG1 ANTI ICE, BOOL) if{ 0 (>K:ANTI_ICE_TOGGLE_ENG1) }
(A:ENG2 ANTI ICE, BOOL) if{ 0 (>K:ANTI_ICE_TOGGLE_ENG2) }

0 (>K:AUTOPILOT_OFF)

(A:Light landing,bool) if{ 0 (>K:LANDING_LIGHTS_TOGGLE) }
(A:Light taxi,bool) if{ 0 (>K:TOGGLE_TAXI_LIGHTS) }
(A:Light beacon,bool) if{ 0 (>K:TOGGLE_BEACON_LIGHTS) }
(A:Light NAV,bool) if{ 0 (>K:TOGGLE_NAV_LIGHTS) }
(A:Light LOGO,bool) if{ 0 (>K:TOGGLE_LOGO_LIGHTS) }
(A:Light panel,bool) if{ 0 (>K:PANEL_LIGHTS_TOGGLE) }
(A:Light Cabin,bool) if{ 1 (>K:TOGGLE_CABIN_LIGHTS) }
0 (>L:DM EMERGENCY LIGHTS,number)
0 (>L:DM NO SMOKING,number)
0 (>L:DM SEATBELTS,number)

0 (>L:DM APU AIR CROSSFEED,number)
0 (>L:DM APU AIR DELIVERY,number)
0 (>L:DM AIR VALVE 1,number) 0 (>L:DM AIR VALVE 2,number)
0 (>L:DM AIR CON 1,number) 0 (>L:DM AIR CON 2,number)
1 (>L:DM SAFETY VALVE,number)
0 (>L:DM RAM AIR,number)

(A:CANOPY OPEN,bool) if{ 0 (>K:TOGGLE_AIRCRAFT_EXIT) }
(A:TAILHOOK POSITION,percent) 50 > if{ 0 (>K:TOGGLE_TAIL_HOOK_HANDLE) }

(A:PITOT HEAT,bool) if{ 0 (>K:PITOT_HEAT_TOGGLE) }

0 (>L:HYD ENG1, number) 0 (>L:HYD ENG2, number)
0 (>L:HYD AUX1, number) 0 (>L:HYD AUX2, number)
0 (>L:HYD DC,number)

0 (>L:DM FUEL VALVE 1,number) 0 (>L:DM FUEL PUMP 1,number) 0 (>L:DM FUEL PUMP FWD 1,number) 0 (>L:DM FUEL VALVE 2,number) 0 (>L:DM FUEL PUMP 2,number) 0 (>L:DM FUEL PUMP FWD 2,number) 0 (>L:DM FUEL CROSSFEED,number) 1 (>L:DM FUEL INIT,number)

2 (>L:CYCLES SELECT,number)

1 (>L:DM CABIN ALT SET,number) (A:Indicated Altitude,feet) (>L:DM CABIN ALT CURRENT,number) 0 (>L:DM CABIN ALT REQD,number) 0 (>L:DM CABIN ALT ADJ,number) 400 (>L:DM CABIN ALT RATE,number)

(A:AMBIENT TEMPERATURE, farenheit) (>L:DM INIT CABIN TEMP,number)

(* -- INITIALIZE READING OF FUEL LEVEL FOR ENGINE 1 - USED IN FUEL FLOW -- *)
(A:FUEL TANK CENTER MAIN QUANTITY, meter cubed) (A:FUEL LEFT QUANTITY, meter cubed) + (A:FUEL RIGHT QUANTITY, meter cubed) + (>L:DM FUEL 1 INIT,number)

(* -- INITIALIZE READING OF FUEL LEVEL FOR ENGINE 2 - USED IN FUEL FLOW -- *)
(A:FUEL TANK CENTER QUANTITY, meter cubed) (A:FUEL TANK LEFT MAIN QUANTITY, meter cubed) + (A:FUEL TANK RIGHT MAIN QUANTITY, meter cubed) + (>L:DM FUEL 2 INIT,number)

(A:GENERAL ENG1 FUEL VALVE,bool) 1 == if{ 0 (>K:TOGGLE_FUEL_VALVE_ENG1) }
(A:GENERAL ENG2 FUEL VALVE,bool) 1 == if{ 0 (>K:TOGGLE_FUEL_VALVE_ENG2) }
(A:GENERAL ENG3 FUEL VALVE,bool) 1 == if{ 0 (>K:TOGGLE_FUEL_VALVE_ENG3) }
0 (>K:MIXTURE1_LEAN)
0 (>K:MIXTURE2_LEAN)

0 (>L:DM APU ON SWITCH,number)

0 (>L:DM STARTER MASTER,number)
0 (>L:DM STARTER 1,number) 0 (>L:DM STARTER 2,number)
(A:General eng1 starter, bool) if{ 0 (>K:TOGGLE_STARTER1) }
(A:General eng2 starter, bool) if{ 0 (>K:TOGGLE_STARTER2) }

(A:Electrical master battery,bool) if{ 0 (>K:TOGGLE_MASTER_BATTERY) }
0 (>L:DM CSD OFF 1,number)
0 (>L:DM CSD OFF 2,number)
(A:GENERAL ENG GENERATOR SWITCH:1,bool) if{ 0 (>K:TOGGLE_ALTERNATOR1) }
(A:GENERAL ENG GENERATOR SWITCH:2,bool) if{ 0 (>K:TOGGLE_ALTERNATOR2) }
(A:GENERAL ENG GENERATOR SWITCH:3,bool) if{ 0 (>K:TOGGLE_ALTERNATOR3) }

0 (>L:DM TOP TEMP, number)

0 (>L:DM BACK COURSE,number)

0 (>L:MASTER WARN RESET,number)

10000 (>L:AP ALT VAR, number)

}</Value>
      </Select>
   </Element>

//-------------------SOUNDS------------
   <Element>
    <Select>
      <Value>
(L:DM SOUNDS OFF,number) 1 != if{

(* -- Altitude Alert -- *)
(L:AP ALT VAR, number) (A:Indicated altitude, feet) - abs d 200 >= r 1000 <= && if{ (L:DM SOUND ALERT FIRED,number) 0 == if{ 1 (>L:DM SOUND ALERT,number) 1 (>L:DM SOUND ALERT FIRED,number) } } els{ 0 (>L:DM SOUND ALERT,number) 0 (>L:DM SOUND ALERT FIRED,number) }

(* -- Takeoff config Alert -- *)
0 s0
(A:Radio Height, feet) 7 < if{
   (A:GROUND VELOCITY, knot) 50 < if{
      (A:GENERAL ENG1 THROTTLE LEVER POSITION, percent) 50 > (A:GENERAL ENG2 THROTTLE LEVER POSITION, percent) 50 > || if{
         (A:TRAILING EDGE FLAPS0 LEFT ANGLE,degrees) 7.9 < if{ 2 s0 }
         (A:TRAILING EDGE FLAPS0 LEFT ANGLE,degrees) 18.1 > if{ 2 s0 }
         (A:Spoilers handle position, percent) 1 > if{ 2 s0 }
         (A:Elevator Trim Position,degrees) 1 < if{ 2 s0 }
         (A:Elevator Trim Position,degrees) 5 > if{ 2 s0 }
         }
      }
   }
l0 (>L:DM SOUND BEEP,number)

(* -- Cabin Alt Horn -- *)
(L:DM CABIN ALT WARN Var1,number) (L:DM CABIN ALT WARN Var3,number) + 2 == if{ 2 (>L:DM SOUND HORN,number) } els{ 0 (>L:DM SOUND HORN,number) }

(* -- Engine Fire -- *)
(A:ENG ON FIRE:1, bool) (A:ENG ON FIRE:2, bool) + (A:ENG ON FIRE:3, bool) + (L:ENG 1 FIRE TEST, number) + (L:ENG 2 FIRE TEST, number) + (L:ENG 3 FIRE TEST, number) + 0 > if{ 2 (>L:DM SOUND FIRE,number) } els{ 0 (>L:DM SOUND FIRE,number) }

(* -- Stall Test -- *)
(L:DM STALL TEST, number) 1 == if{ 2 (>L:DM SOUND STALL,number) } els{ 0 (>L:DM SOUND STALL,number) }

(* -- Speed Test -- *)
(L:DM SPEED TEST, number) 1 == if{ 2 (>L:DM SOUND SPEED,number) } els{ 0 (>L:DM SOUND SPEED,number) }

(* -- V SPEEDS -- *)
(A:Radio Height, feet) 7 < if{
   (A:Turb eng1 N2, percent) 90 > (A:Turb eng2 N2, percent) 90 > || if{
      (A:AIRSPEED INDICATED,knots) (L:DM REF V1,number) > if{
         (L:DM SOUND V1 PLAY,number) 1 == if{ 1 (>L:DM SOUND V1,number) 0 (>L:DM SOUND V1 PLAY,number) }
         }
      (A:AIRSPEED INDICATED,knots) (L:DM REF VR,number) > if{
         (L:DM SOUND VR PLAY,number) 1 == if{ 1 (>L:DM SOUND VR,number) 0 (>L:DM SOUND VR PLAY,number) }
         }
      }
   }

   }
      </Value>
    </Select>
   </Element>

</Gauge>
Best of luck
ImageImage

User avatar
TSR2
The Ministry
Posts: 15648
Joined: 17 Jun 2004, 14:32
Location: North Tyneside, UK
Contact:

Re: Bac 1-11 APU problem

Post by TSR2 »

Bless you DM, you're a national treasure :lol:
Ben.:tunes:

ImageImageImage

Vc Ten
Concorde
Concorde
Posts: 1347
Joined: 18 Apr 2010, 17:02

Re: Bac 1-11 APU problem

Post by Vc Ten »

Pasted the above code into the 510 gauges and success :excited: :excited: Apu starts, Engines start and Autopilot works correctly. Mucho thanks David :thumbsup:
Just need to find out why im not getting the calls for v1 and vr :wall:
ATB
Dale
Image Image Image

User avatar
TSR2
The Ministry
Posts: 15648
Joined: 17 Jun 2004, 14:32
Location: North Tyneside, UK
Contact:

Re: Bac 1-11 APU problem

Post by TSR2 »

Dale,

Have a look in your panel.cfg file for...

Code: Select all

dsd_xml_sound3,  2,2,5,5,.\Aircraft\DMFS Shared Files\BAC 1-11 Panel VC\DM_1-11_sound.ini
and change it to

Code: Select all

dsd_xml_sound3,  2,2,5,5,.\SimObject\Airplanes\DMFS Shared Files\BAC 1-11 Panel VC\DM_1-11_sound.ini
;)
Ben.:tunes:

ImageImageImage

Vc Ten
Concorde
Concorde
Posts: 1347
Joined: 18 Apr 2010, 17:02

Re: Bac 1-11 APU problem

Post by Vc Ten »

Cheers Ben :cheers:
It was actually the ini file i had forgot to change :doh: All working ok now :)
ATB
Dale
Image Image Image

Post Reply