Jerrymc3
04-30-2011, 10:04 PM
David
I apoligize again for taking so long. I used the article you suggested for testing with controlador, very helpful. I have found numerous bad connections, solder joints, damaged traces etc. I'm still working my way thru all that, its taking a while since I have 5 display cards and several displays. My first Master card has 1 display card for the MCP, the 2nd Master card has 4 display cards for Com1 Acrive/Standby, Com2, Nav1, Nav2, and TCAS. Here is my script.
// *****************************************************************************
// * Config_SIOC ver 3.7B1 - By Manolo Vélez - www.opencockpits.com
// *****************************************************************************
// * FileName : PM_B747-400.txt
// * Date : 4/30/2011
Var 0000, Value 0 // Initialization
{
V0001 = 360 // COURSE 1
V0002 = 360 // COURSE 2
V0008 = 180 // HDG
V0012 = 10 // ALT
V0065 = 0 // ALT 00 of the 00 is fixed
V0006 = SETBIT 23 // Sets IAS MODE
V0005 = V0003 // Read temporary in IAS
V0006 = V0004 // Read temporary in MATH
V0060 = V0003 // Put IAS in Display
&SUB_DH = 3000
&SUB_BAR = 1023
}
Var 1001, Link FSUIPC_IN, Offset $051C, Length 2 // MCP Indications (Read Only)
{
C0 = TESTBIT V0063 ,0 // Checks if V/S display Is off?
IF C0 // IF Yes then
{
V0065 = -999999 // Removes the 00 on right side of V/S disp
V0050 = -999999 // Turns off remaining Digits
V0064 = -999999 // Turns off minus sign -
}
ELSE // IF NO then
{
V0065 = 0 // Turns on the 00 display
CALL V0063 // Sets the V / S in the display
}
}
Var 0001, Link FSUIPC_OUT, Offset $0C4E, Length 2 // COURSE 1
Var 0002, Link FSUIPC_OUT, Offset $0C5E, Length 2 // COURSE 2
Var 0003, Link FSUIPC_IN, Offset $04E0, Length 2 // IAS [MCP/FCU IAS (Read Only) 250 = 250 K
{
CALL V0064 // value of Displayr
}
Var 0004, Link FSUIPC_IN, Offset $04E8, Length 2 // MACH [MCP/FCU Mach (Read Only) (70 = 0.7
{
CALL V0064 // Display del valor
}
Var 0005, Link FSUIPC_OUT, Offset $5406, Length 2 // IAS [MCP/FCU IAS Set (Write)]
{
V0052 = V0013
}
Var 0006, Link FSUIPC_OUT, Offset $540E, Length 2 // MACH [MCP/FCU Mach Set (Write) (72 = 0.7
Var 0007, Link FSUIPC_IN, Offset $04E2, Length 2 // HDG [MCP/FCU Heading (Read Only)]
Var 0008, Link FSUIPC_OUT, Offset $5408, Length 2 // HDG [MCP/FCU Heading Set (Write)]
{
V0053 = V0011
}
Var 0009, Link FSUIPC_IN, Offset $04E6, Length 2, Type 1 // v/s [MCP/FCU Selected Vertical Speed (Re
{
V0062 = V0001
CALL V0063 // Put value in the display
}
Var 0010, Link FSUIPC_OUT, Offset $540C, Length 2, Type 1 // V/S [MCP/FCU V/S Set (Write) FCU - FPA i
{
V0050 = V0008
}
Var 0011, Link FSUIPC_IN, Offset $04E4, Length 2 // ALT [MCP/FCU Altitude (Read Only) (100 o
Var 0012, Link FSUIPC_OUT, Offset $540A, Length 2 // ALT [MCP/FCU Altitude Set (Write)]
{
V0075 = V0012
}
Var 0013, Link FSUIPC_OUT, Offset $5410, Length 4 // PM Push-buttons-I
Var 0014, Link FSUIPC_OUT, Offset $5414, Length 4 // PM Push-buttons-II
Var 0015, Link FSUIPC_OUT, Offset $5414, Length 4 // MCP Buttons
Var 0016, Link FSUIPC_IN, Offset $04F0, Length 2 // MCP LIGHTS [MCP/FCU Lights (Read Only)]
{
V0040 = TESTBIT V0016 ,11 // A/T
V0041 = TESTBIT V0016 ,12 // F/D
V0042 = TESTBIT V0016 ,10 // THR
V0043 = TESTBIT V0016 ,9 // SPD
V0044 = TESTBIT V0016 ,6 // LNAV
V0045 = TESTBIT V0016 ,14 // VNAV
V0046 = TESTBIT V0016 ,8 // FL CH
V0047 = TESTBIT V0016 ,7 // HDG HOLD
V0048 = TESTBIT V0016 ,2 // V/S
V0049 = TESTBIT V0016 ,3 // ALT HOLD
V0050 = TESTBIT V0016 ,5 // LOC
V0051 = TESTBIT V0016 ,4 // APP
V0052 = TESTBIT V0016 ,0 // AP L
V0053 = TESTBIT V0016 ,1 // AP C
V0054 = TESTBIT V0016 ,13 // AP R
C0 = TESTBIT V0016 ,15 // Modo MATH o IAS ?
IF C0 // MACH MODE
{
V0006 = V0004 // Upload temporary value
V0061 = 1 // Turn on decimal point
CALL V0064 // Display value
}
ELSE // IAS MODE
{
V0013 = V0004 // Upload temporary value
V0061 = 0 // turn off the decimal point
CALL V0064 // Display value
}
}
Var 0017, Value 10000 // ALTITUDE
Var 0020, Link IOCARD_SW, Input 11 // A/T Switch
{
IF V0020 = 1 // If on
{
V0013 = TOGGLE 19 // Toggle bit 19
}
ELSE
{
V0013 = TOGGLE 20 // Toggle bit 20
}
}
Var 0021, Link IOCARD_SW, Input 10 // F/D Switch
{
IF V0021 = 1
{
V0013 = TOGGLE 5
}
ELSE
{
V0013 = TOGGLE 6
}
}
Var 0022, Link IOCARD_SW, Input 14, Type P // THR Button
{
V0013 = CHANGEBIT 21 ,V0022
}
Var 0024, Link IOCARD_SW, Input 13, Type P // MAC/SPD Sel
{
V0013 = CHANGEBIT 23 ,V0024
}
Var 0025, Link IOCARD_SW, Input 12, Type P // LNAV Button
{
V0013 = CHANGEBIT 10 ,V0025
}
Var 0027, Link IOCARD_SW, Input 17, Type P // VNAV Button
{
V0013 = CHANGEBIT 26 ,V0027
}
Var 0028, Link IOCARD_SW, Input 16, Type P // FL CH Button
{
V0013 = CHANGEBIT 24 ,V0028
}
Var 0029, Link IOCARD_SW, Input 58, Type P // HDG SELECT PB [(heading SEL pushbutton 7
{
V0013 = CHANGEBIT 11 ,V0029
}
Var 0030, Link IOCARD_SW, Input 26, Type P // HDG HOLD Button
{
V0013 = CHANGEBIT 25 ,V0030
}
Var 0031, Link IOCARD_SW, Input 9, Type P // V/S Button
{
V0013 = CHANGEBIT 31 ,V0031 // If ignition switch bit 11 to 1 if OFF
}
Var 0032, Link IOCARD_SW, Input 59, Type P // ALT PB Button
{
V0013 = CHANGEBIT 12 ,V0032
}
Var 0033, Link IOCARD_SW, Input 15, Type P // ALT HOLD Button
{
V0013 = CHANGEBIT 30 ,V0033
}
Var 0034, Link IOCARD_SW, Input 22, Type P // LOC Button
{
V0013 = CHANGEBIT 28 ,V0034
}
Var 0036, Link IOCARD_SW, Input 21, Type P // APP Button
{
V0013 = CHANGEBIT 29 ,V0036
}
Var 0037, Link IOCARD_SW, Input 20, Type P // AP L Button
{
V0014 = CHANGEBIT 0 ,V0037
}
Var 0038, Link IOCARD_SW, Input 19, Type P // AP C Button
{
V0014 = CHANGEBIT 1 ,V0038
}
Var 0039, Link IOCARD_SW, Input 25, Type P // DISENGAGE
{
V0014 = CHANGEBIT 10 ,V0039
}
Var 0040, Link IOCARD_OUT, Output 10 // Led A/T
Var 0041, Link IOCARD_OUT, Output 12 // Led F/D
Var 0042, Link IOCARD_OUT, Output 22 // Led THR
Var 0043, Link IOCARD_OUT, Output 18 // Led SPD
Var 0044, Link IOCARD_OUT, Output 14 // Led LNAV
Var 0045, Link IOCARD_OUT, Output 26 // Led VNAV
Var 0046, Link IOCARD_OUT, Output 24 // Led FL CH
Var 0047, Link IOCARD_OUT, Output 20 // Led HDG HOLD
Var 0048, Link IOCARD_OUT, Output 23 // Led V/S
Var 0049, Link IOCARD_OUT, Output 28 // Led ALT HOLD
Var 0050, Link IOCARD_OUT, Output 12 // Led APP
Var 0051, Link IOCARD_OUT, Output 16 // Led LOC
Var 0052, Link IOCARD_OUT, Output 25 // Led AP L
Var 0053, Link IOCARD_OUT, Output 21 // Led AP C
Var 0054, Link IOCARD_OUT, Output 22 // Led AP C
Var 0060, Link IOCARD_DISPLAY, Digit 2, Numbers 3 // IAS/MAC
{
V0003 = V0060 // Send value to PM
}
Var 0061, Link IOCARD_OUT, Output 20 // Led . DECIMAL
Var 0062, Link IOCARD_DISPLAY, Digit 5, Numbers 3 // HDG
{
V0007 = V0062 // Send value to PM
}
Var 0063, Link IOCARD_DISPLAY, Digit 6, Numbers 1 // V/S Minus Sign
{
V0009 = V0063 // Send value to PM
}
Var 0064, Link IOCARD_DISPLAY, Digit 10, Numbers 4 // V/S
Var 0065, Link IOCARD_DISPLAY, Digit 6, Numbers 1 // V/S MINUS SIGN
Var 0066, Link IOCARD_DISPLAY, Digit 15, Numbers 5 // ALT
{
V0011 = V0066 // Send value to PM
V0066 = V0012
}
Var 0070, Link IOCARD_ENCODER, Input 45, Aceleration 4, Type 2 // IAS/MACH Encoder
{
L0 = V0070 * 1
C0 = TESTBIT V0003 ,15 // Indicates MACH or IAS ?
IF C0 // MACH MODE
{
V0006 = LIMIT 25 ,95 ,L0 // Increase or decrease the value of MACH
}
ELSE
{
V0005 = LIMIT 0 ,340 ,L0 // Increase or decrease the value of IAS
}
}
Var 0071, Link IOCARD_ENCODER, Input 55, Aceleration 4, Type 2 // HDG Encoder
{
L0 = V0071 * 1
V0062 = ROTATE 0 ,359 ,L0
}
Var 0072, Link IOCARD_ENCODER, Input 57, Aceleration 4, Type 2 // VS Encoder
{
L0 = V0072 * -100 // Increases from 100 to 100
V0073 = ROTATE -9000 ,9000 ,L0 // Add or subtract the time value of V / S
V0010 = V0073
}
Var 0073 // Temporary value of V/S
Var 0074, Link IOCARD_ENCODER, Input 54, Aceleration 4, Type 2 // ALT Encoder
{
L0 = V0074 * 1
V0066 = LIMIT 0 ,500 ,L0
}
Var 0075, Link IOCARD_DISPLAY, Digit 11, Numbers 3 // COURSE 1
{
V0010 = V0075 // Send value to PM
}
Var 0076, Link IOCARD_DISPLAY, Digit 103, Numbers 3 // COURSE 2
{
V0015 = V0076 // Send value to PM
}
Var 0077, Link IOCARD_ENCODER, Input 192, Aceleration 4, Type 2 // COURSE Encoder
{
L0 = V0034 * 1
V0051 = ROTATE 0 ,359 ,L0 // Roto el valor del COURSE
}
Var 0078, Link IOCARD_ENCODER, Input 190, Aceleration 4, Type 2 // Encoder COURSE 2
{
L0 = V0039 * -1
V0076 = ROTATE 0 ,359 ,L0 // Rotate Course Value
}
Var 0080, Link SUBRUTINE // Pinta V/S
{
C0 = TESTBIT V0002 ,0 // Checks must be turned off if
C0 = NOT C0
IF C0 // Only if lit
{
IF V0080 < 0 // If V/S is negative becomes positive
{
L0 = ABS V0080
V0064 = -999998 // Turn on the minus sign
}
ELSE
{
V0064 = -999999 // Turn off the minus sign
L0 = V0080
}
V0063 = L0 / 100 // Send the adjusted value of V/S to disp
}
}
Var 0081, Link SUBRUTINE // Show IAS / MACH
{
C0 = TESTBIT V0016 ,15 // Mode MACH or IAS ?
IF C0 // MACH MODE
{
V0061 = 1 // Turn on decimal point
V0060 = V0004 // Put MACH value in display
}
ELSE
{
V0061 = 0 // Turn off decimal point
V0060 = V0003 // Put IAS value in display
}
}
Var 0100, name SUB_DH, Link SUBRUTINE // PM_EFIS_DH
{
IF &SUB_DH > 20000
{
&SUB_DH = 20000
}
IF &SUB_DH < 0
{
&SUB_DH = 0
}
L0 = DIV &SUB_DH ,100
&PM_EFIS_DH = L0
}
Var 0101, name SUB_BAR, Link SUBRUTINE // FS_QNH_MB
{
L0 = &SUB_BAR * 16
&FS_QNH_MB = L0
}
Var 0200, name PM_EFIS_DH, Link FSUIPC_OUT, Offset $04FA, Length 2 // PM_EFIS_DH
Var 0201, name FS_QNH_MB, Link FSUIPC_OUT, Offset $0330, Length 2 // FS_QNH_MB
Var 0202, name PM2_RANG, Link FSUIPC_OUT, Offset $5524, Length 2 // PM_EFIS_RANG FO
Var 0203, name PM2_DH, Link FSUIPC_OUT, Offset $5532, Length 2 // PM_EFIS_DH FO
Var 0204, name FS2_QNH, Link FSUIPC_OUT, Offset $552E, Length 2 // FS_QNH_MB FO
Var 0205, name PM_GC_COMMANDS, Link FSUIPC_OUT, Offset $04F4, Length 2 // PM DO EVERYTHING
Var 0206, name PM_EFIS_RANG, Link FSUIPC_OUT, Offset $04F8, Length 2
Var 0209, Link FSUIPC_OUT, Offset $5414, Length 4 // MCP/FCU BUTTONS
Var 0301, Link IOCARD_SW, Input 64 // ROT1_APP
{
IF V0301 = 1
{
&PM_GC_COMMANDS = 5
}
}
Var 0302, Link IOCARD_SW, Input 65 // ROT1_VOR
{
IF V0302 = 1
{
&PM_GC_COMMANDS = 3
}
}
Var 0304, Link IOCARD_SW, Input 67 // ROT1_MAP
{
IF V0304 = 1
{
&PM_GC_COMMANDS = 1
}
}
Var 0305, Link IOCARD_SW, Input 68 // ROT1_PLN
{
IF V0305 = 1
{
&PM_GC_COMMANDS = 4
}
}
Var 0306, Link IOCARD_SW, Input 71, Type I // EFIS MAP CTR
{
IF V0306 = 1
{
&PM_GC_COMMANDS = 6
}
}
Var 0311, Link IOCARD_SW, Input 44 // ROT2_5
{
IF V0311 = 1
{
&PM_GC_COMMANDS = 0
}
}
Var 0312, Link IOCARD_SW, Input 38 // ROT2_10
{
IF V0312 = 1
{
&PM_EFIS_RANG = 1
}
}
Var 0313, Link IOCARD_SW, Input 37 // ROT2_20
{
IF V0313 = 1
{
&PM_EFIS_RANG = 2
}
}
Var 0314, Link IOCARD_SW, Input 38 // ROT2_40
{
IF V0314 = 1
{
&PM_EFIS_RANG = 3
}
}
Var 0315, Link IOCARD_SW, Input 40 // ROT2_80
{
IF V0315 = 1
{
&PM_EFIS_RANG = 4
}
}
Var 0316, Link IOCARD_SW, Input 39 // ROT2_160
{
IF V0316 = 1
{
&PM_EFIS_RANG = 5
}
}
Var 0317, Link IOCARD_SW, Input 44 // ROT2_320
{
IF V0317 = 1
{
&PM_EFIS_RANG = 6
}
}
Var 0318, Link IOCARD_SW, Input 42 // ROT2_640
{
IF V0318 = 1
{
&PM_EFIS_RANG = 7
}
}
Var 0319, Link IOCARD_SW, Input 41, Type P // STD
{
IF V0319 = 1
{
V0320 = 1013
L0 = 1013 * 16
L0 = L0 + 1
&FS_QNH_MB = L0
}
}
Var 0320, Link SUBRUTINE // FS_QNH_MB
{
L0 = 320 * 16
&FS_QNH_MB = L0
}
Var 0321, Link IOCARD_SW, Input 70, Type P // TOGGLE QNH/MILIBARS
Var 0322, Link FSUIPC_OUT, Offset $3110, Length 4 // FS_QNH
Var 0323, Link IOCARD_ENCODER, Input 48, Aceleration 1, Type 2 // BARO_QNH_ENCODER
{
L0 = V0323 // * -1 turning clockwise should be plus
IF L0 > 0
{
V0322 = 65883 // FS Control Kohlsman increment
V0322 = DELAY 0 ,10
}
ELSE
{
IF L0 < 0
{
V0322 = 65884 // FS Control Kohlsman decremen
V0322 = DELAY 0 ,10
}
}
}
Var 0324, Link IOCARD_SW, Input 5 // PB_POS
{
IF V0324 = 1
{
&PM_GC_COMMANDS = 96
}
}
Var 0325, Link IOCARD_SW, Input 6 // PB_DATA
{
IF V0325 = 1
{
&PM_GC_COMMANDS = 95
}
}
Var 0326, Link IOCARD_SW, Input 3 // PB_WXR
{
IF V0326 = 1
{
&PM_GC_COMMANDS = 72
}
}
Var 0327, Link IOCARD_SW, Input 8 // PB_STA
{
IF V0327 = 1
{
&PM_GC_COMMANDS = 90
}
}
Var 0328, Link IOCARD_SW, Input 7 // PB_WPT
{
IF V0328 = 1
{
&PM_GC_COMMANDS = 93
}
}
Var 0329, Link IOCARD_SW, Input 0 // PB_ARPT
{
IF V0329 = 1
{
&PM_GC_COMMANDS = 94
}
}
Var 0330, Link IOCARD_SW, Input 4 // INT_VOR1
{
IF V0330 = 1
{
&PM_GC_COMMANDS = 75
}
ELSE
{
IF V0330 = 0
{
&PM_GC_COMMANDS = 73
}
}
}
Var 0331, Link IOCARD_SW, Input 2 // INT_ADF1
{
IF V0331 = 1
{
&PM_GC_COMMANDS = 74
}
ELSE
{
IF V0331 = 0
{
&PM_GC_COMMANDS = 73
}
}
}
Var 0332, Link IOCARD_SW, Input 63 // INT_VOR2
{
IF V0332 = 1
{
&PM_GC_COMMANDS = 78
}
ELSE
{
IF V0332 = 0
{
&PM_GC_COMMANDS = 76
}
}
}
Var 0333, Link IOCARD_SW, Input 69 // INT_ADF2
{
IF V0333 = 1
{
&PM_GC_COMMANDS = 77
}
ELSE
{
IF V0333 = 0
{
&PM_GC_COMMANDS = 76
}
}
}
Var 0334, Link IOCARD_SW, Input 2 // PUL_FPV
{
IF V0334 = 1
{
&PM_GC_COMMANDS = 14
}
}
Var 0335, Link IOCARD_SW, Input 66 // PUL_STD
{
IF V0335 = 1
{
&SUB_BAR = 1013
L0 = 1013 * 16
L0 = L0 + 1
&FS_QNH_MB = L0
}
}
Var 0336, Link IOCARD_ENCODER, Input 46, Aceleration 6 // MINS - DH -
{
L0 = V0336 * -100
V0337 = V0337 + L0
}
Var 0337, Link SUBRUTINE // PM_EFIS_DH
{
IF V0337 > 20000
{
V0337 = 20000
}
IF V0337 < 0
{
V0337 = 0
}
L0 = DIV V0337 ,100
&PM_EFIS_DH = L0
}
Var 0338, Link IOCARD_ENCODER, Input 48, Aceleration 6 // BARO
{
L0 = V0338 * 1
&SUB_BAR = &SUB_BAR + L0
}
Var 0339, Link SUBRUTINE // FS_QNH_MB
{
L0 = V0339 * 16
&FS_QNH_MB = L0
}
Var 0340, Link IOCARD_SW, Input 28, Type P // EICAS ENG
{
IF V0340 = 1
{
&PM_GC_COMMANDS = 301
}
}
Var 0341, Link IOCARD_SW, Input 29, Type P // EICAS STAT
{
IF V0341 = 1
{
&PM_GC_COMMANDS = 302
}
}
Var 0342, Link IOCARD_SW, Input 30, Type P // EICAS ELEC
{
IF V0342 = 1
{
&PM_GC_COMMANDS = 303
}
}
Var 0343, Link IOCARD_SW, Input 32, Type P // EICAS FUEL
{
IF V0343 = 1
{
&PM_GC_COMMANDS = 303
}
}
Var 0344, Link IOCARD_SW, Input 35, Type P // EICAS ECS
{
IF V0344 = 1
{
&PM_GC_COMMANDS = 306
}
}
Var 0345, Link IOCARD_SW, Input 34, Type P // EICAS HYD
{
IF V0345 = 1
{
&PM_GC_COMMANDS = 304
}
}
Var 0346, Link IOCARD_SW, Input 27, Type P // EICAS DRS
{
IF V0346 = 1
{
&PM_GC_COMMANDS = 307
}
}
Var 0347, Link IOCARD_SW, Input 33, Type P // EICAS GEAR
{
IF V0347 = 1
{
&PM_GC_COMMANDS = 308
}
}
Var 0348, Link IOCARD_SW, Input 23, Type P // EICAS CANC
{
IF V0348 = 1
{
&PM_GC_COMMANDS = 318
}
}
Var 0349, Link IOCARD_SW, Input 27, Type P // EICAS RCL
{
IF V0349 = 1
{
&PM_GC_COMMANDS = 319
}
}
Var 0350, name Landing_Gear, Link FSUIPC_OUT, Offset $0BE8, Length 4
Var 0351, Link IOCARD_SW, Input 96 // Landing Gear Lever
{
IF V0351 = 1
{
&Landing_Gear = 1
}
ELSE
{
&Landing_Gear = 0
}
}
Var 0360, name PM_LND_LTS, Link FSUIPC_OUT, Offset $5642, Length 2
Var 0361, Link IOCARD_SW, Device 1, Input 145 // Outboard Landing Lts L
{
IF V0361 = 1
{
&PM_LND_LTS = SETBIT 4
}
ELSE
{
&PM_LND_LTS = CLEARBIT 4
}
}
Var 0362, Link IOCARD_SW, Device 1, Input 152 // Outboard Landing Lts R
{
IF V0362 = 1
{
&PM_LND_LTS = SETBIT 5
}
ELSE
{
&PM_LND_LTS = CLEARBIT 5
}
}
Var 0363, Link IOCARD_SW, Device 1, Input 148 // Inboard Landing Lts R
{
IF V0363 = 1
{
&PM_LND_LTS = SETBIT 3
}
ELSE
{
&PM_LND_LTS = CLEARBIT 3
}
}
Var 0364, Link IOCARD_SW, Device 1, Input 149 // Inboard Landing Lts L
{
IF V0364 = 1
{
&PM_LND_LTS = SETBIT 2
}
ELSE
{
&PM_LND_LTS = CLEARBIT 2
}
}
Var 0365, Link IOCARD_SW, Device 1, Input 144 // RWY Turnoff Lts L
{
IF V0365 = 1
{
&PM_LND_LTS = SETBIT 0
}
ELSE
{
&PM_LND_LTS = CLEARBIT 0
}
}
Var 0366, Link IOCARD_SW, Device 1, Input 146 // RWY Turnoff Lts R
{
IF V0366 = 1
{
&PM_LND_LTS = SETBIT 1
}
ELSE
{
&PM_LND_LTS = CLEARBIT 1
}
}
Var 0367, name PM_EXT_LIGHTS, Link FSUIPC_OUT, Offset $5643, Length 2
Var 0368, Link IOCARD_SW, Device 1, Input 151 // Taxi Lts
{
IF V0368 = 1
{
&PM_EXT_LIGHTS = SETBIT 3
}
ELSE
{
&PM_EXT_LIGHTS = CLEARBIT 3
}
}
Var 0369, name FS_EXT_LIGHTS, Link FSUIPC_OUT, Offset $0D0C, Length 2
Var 0370, Link IOCARD_SW, Device 1, Input 154, Type T // STROBE SWITCH
{
IF V0370 = 1
{
&FS_EXT_LIGHTS = SETBIT 4
}
ELSE
{
&FS_EXT_LIGHTS = CLEARBIT 4
}
}
Var 0371, Link IOCARD_SW, Device 1, Input 150, Type T // NAV LIGHTS
{
IF V0371 = 1
{
&FS_EXT_LIGHTS = SETBIT 0
}
ELSE
{
&FS_EXT_LIGHTS = CLEARBIT 0
}
}
Var 0372, Link IOCARD_SW, Device 1, Input 161, Type T // WING LIGHTS
{
IF V0372 = 1
{
&FS_EXT_LIGHTS = SETBIT 7
}
ELSE
{
&FS_EXT_LIGHTS = CLEARBIT 7
}
}
Var 0373, name FS_LOGO_LTS, Link FSUIPC_OUT, Offset $0D0D, Length 2
Var 0374, Link IOCARD_SW, Device 1, Input 157, Type T // LOGO LIGHTS
{
IF V0374 = 1
{
&FS_LOGO_LTS = SETBIT 0
}
ELSE
{
&FS_LOGO_LTS = CLEARBIT 0
}
}
Var 0375, name Beacon747, Link FSUIPC_OUT, Offset $5647, Length 2
Var 0376, Link IOCARD_SW, Device 1, Input 147 // B747 BEACON
{
IF V0376 = 1
{
&Beacon747 = 2
}
ELSE
{
&Beacon747 = 1
}
}
Var 0400, name SeatBelts, Link FSUIPC_OUT, Offset $5640, Length 2
Var 0401, Link IOCARD_SW, Input 139, Type I // SEAT BELTS ON
{
IF V0401 = 1
{
&PM_GC_COMMANDS = 425
}
}
Var 0402, Link IOCARD_SW, Input 137, Type I // SEAT BELTS OFF
{
IF V0402 = 1
{
&PM_GC_COMMANDS = 426
}
}
Var 0403, name NoSmoking, Link FSUIPC_OUT, Offset $5641, Length 2
Var 0404, Link IOCARD_SW, Input 132, Type I // NO SMOKING ON
{
IF V0404 = 1
{
&PM_GC_COMMANDS = 422
}
}
Var 0405, Link IOCARD_SW, Input 131, Type I // NO SMOKING OFF
{
IF V0405 = 1
{
&PM_GC_COMMANDS = 423
}
}
Var 0406, Link IOCARD_OUT, Output 203 // FLT DK DOOR LED
Var 0407, Link IOCARD_SW, Input 203, Type I // FLT DK DOOR
Var 0408, name AUTOBRAKE, Link FSUIPC_OUT, Offset $2F80, Length 1
Var 0409, Link IOCARD_SW, Input 126, Type I // AUTOBRAKE_RTO
{
IF V0409 = 1
{
&AUTOBRAKE = 0
}
}
Var 0410, Link IOCARD_SW, Input 133, Type I // AUTOBRAKE_OFF/DISARM
{
IF V0410 = 1
{
&AUTOBRAKE = 1
}
}
Var 0411, Link IOCARD_SW, Input 134, Type I // AUTOBRAKE_1
{
IF V0411 = 1
{
&AUTOBRAKE = 2
}
}
Var 0412, name AUTOBRAKE_2, Link IOCARD_SW, Input 129, Type I
{
IF &AUTOBRAKE_2 = 1
{
&AUTOBRAKE = 3
}
}
Var 0413, Link IOCARD_SW, Input 130, Type I // AUTOBRAKE_3
{
IF V0413 = 1
{
&AUTOBRAKE = 4
}
}
Var 0414, Link IOCARD_SW, Input 128, Type I // AUTOBRAKE_4
{
IF V0414 = 1
{
&AUTOBRAKE = 5
}
}
Var 0415, Link IOCARD_SW, Input 128, Type I // AUTOBRAKE_MAX
{
IF V0415 = 1
{
&AUTOBRAKE = 5
}
}
Var 0416, name PARKING_BRAKE, Link FSUIPC_OUT, Offset $0BC8, Length 2
Var 0417, name PARKING_BKSW, Link IOCARD_SW, Input 95, Type I // PARKING BRAKE SWITCH
{
IF &PARKING_BKSW = 1
{
&PARKING_BRAKE = 32767
}
ELSE
{
&PARKING_BRAKE = 0
}
}
Var 0420, name FUEL_CUTOFF, Link FSUIPC_INOUT, Offset $561A, Length 2
Var 0421, name Cutoff_1_SW, Link IOCARD_SW, Input 73, Type I
{
IF &Cutoff_1_SW = 0
{
&FUEL_CUTOFF = SETBIT 0
}
ELSE
{
&FUEL_CUTOFF = CLEARBIT 0
}
}
Var 0422, name Cutoff_2_SW, Link IOCARD_SW, Input 74, Type I
{
IF &Cutoff_2_SW = 0
{
&FUEL_CUTOFF = SETBIT 1
}
ELSE
{
&FUEL_CUTOFF = CLEARBIT 1
}
}
Var 0423, name Cutoff_3_SW, Link IOCARD_SW, Input 76, Type I
{
IF &Cutoff_3_SW = 0
{
&FUEL_CUTOFF = SETBIT 4
}
ELSE
{
&FUEL_CUTOFF = CLEARBIT 4
}
}
Var 0424, name Cutoff_4_SW, Link IOCARD_SW, Input 75, Type I
{
IF &Cutoff_4_SW = 0
{
&FUEL_CUTOFF = SETBIT 5
}
ELSE
{
&FUEL_CUTOFF = CLEARBIT 5
}
}
Var 0430, name FLAPS, Link FSUIPC_INOUT, Offset $0BDC, Length 4
Var 0431, Link IOCARD_SW, Input 82, Type P // FLAPS UP
{
IF V0431 = 1
{
&FLAPS = 0 // FLAPS UP
}
}
Var 0432, Link IOCARD_SW, Input 83, Type P // FLAPS 1
{
IF V0432 = 1
{
&FLAPS = 2730 // FLAPS 1
}
}
Var 0433, Link IOCARD_SW, Input 85, Type P // FLAPS 5
{
IF V0433 = 1
{
&FLAPS = 5461 // FLAPS 5
}
}
Var 0434, Link IOCARD_SW, Input 84, Type P // FLAPS 10
{
IF V0434 = 1
{
&FLAPS = 8191 // FLAPS 10
}
}
Var 0435, Link IOCARD_SW, Input 89, Type P // FLAPS 15
{
IF V0435 = 1
{
&FLAPS = 8191 // FLAPS 15
}
}
Var 0436, Link IOCARD_SW, Input 88, Type P // FLAPS 20
{
IF V0436 = 1
{
&FLAPS = 10922 // FLAPS 20
}
}
Var 0437, Link IOCARD_SW, Input 81, Type P // FLAPS 25
{
IF V0437 = 1
{
&FLAPS = 13652 // FLAPS 25
}
}
Var 0438, Link IOCARD_SW, Input 87, Type P // FLAPS 30
{
IF V0438 = 1
{
&FLAPS = 16383 // FLAPS 30
}
}
Var 0450, name XPDR_MODE, Link FSUIPC_OUT, Offset $04F4, Length 2
Var 0454, Link IOCARD_SW, Input 120, Type I // TCAS TEST
Var 0455, Link IOCARD_SW, Input 121, Type I // TCAS STBY
{
IF V0455 = 1
{
V0016 = 51
}
}
Var 0456, Link IOCARD_SW, Input 155, Type I // Callsign
{
IF V0456 = 1
{
V0016 = 52
}
}
Var 0457, Link IOCARD_SW, Input 113, Type I // TCAS Ident
{
IF V0457 = 1
{
V0016 = 53
}
}
Var 0458, Link IOCARD_SW, Input 280, Type I // INs/Outs 162
{
IF V0458 = 1
{
&XPDR_MODE = 1
}
}
Var 0459, Link IOCARD_SW, Input 167, Type I
{
IF V0459 = 1
{
&XPDR_MODE = 2
}
}
Var 0499, Link FSUIPC_OUT, Offset $3123, Length 1 // Registry Swap
Var 0500, Link FSUIPC_OUT, Offset $034E, Length 2 // COM1 ACTIVE
Var 0501, Link FSUIPC_OUT, Offset $311A, Length 2 // COM 1 STANDBY
Var 0502 // Primary Digits COM 1
Var 0503 // Decimal Digits COM 1
Var 0504, Link SUBRUTINE // Value of COM 1
{
L0 = V0502 * 100
L0 = L0 + V0503
V0508 = L0
V0501 = TOBCD L0
}
Var 0505, Link IOCARD_ENCODER, Input 145, Aceleration 1 // COM 1 ENCODER PRIMARY DIGITS
{
V0502 = V0502 + V0505
IF V0502 > 36 // Decimal Digits COM 1
{
}
V0502 = 18
IF V0502 < 18 // Decimal Digits COM 1
{
}
V0502 = 36
CALL V0504 // Value of COM 1
}
Var 0506, Link IOCARD_ENCODER, Input 147, Aceleration 1 // COM 1 ENCODER DECIMAL DIGITS
{
L0 = V0506 * 5
V0503 = V0503 - L0
IF V0503 > 95
{
}
V0503 = 0
IF V0503 < 0
{
}
V0503 = 95
CALL V0504
}
Var 0507, Link IOCARD_DISPLAY, Digit 64, Numbers 5 // COM 1 ACTIVE
Var 0508, Link IOCARD_DISPLAY, Digit 69, Numbers 5 // COM 1 STANDBY
Var 0509, Link IOCARD_SW, Input 135 // Swap COM1
{
IF V0509 = 1
{
V0499 = 8
}
ELSE
{
}
V0499 = 0
}
Var 0517, Link IOCARD_DISPLAY, Digit 80, Numbers 5 // COM 2 ACTIVE
Var 0018, Link IOCARD_DISPLAY, Digit 85, Numbers 5 // COM2 STANDBY
Var 0520, Link FSUIPC_OUT, Offset $0350, Length 2 // NAV 1 ACTIVE
Var 0521, Link FSUIPC_OUT, Offset $311E, Length 2 // NAV1 STANDBY
Var 0522 // PRIMARY DIGITS NAV1
Var 0523 // DECIMAL DIGITS NAV1
Var 0524, Link SUBRUTINE
{
L0 = V0522 * 100
L0 = L0 + V0523
V0528 = L0
V0521 = TOBCD L0
}
Var 0525, Link IOCARD_ENCODER, Input 151, Aceleration 1 // NAV1 ENCODER Primary Digits
{
V0522 = V0522 + V0525
IF V0525 > 17
{
}
V0525 = 8
IF V0525 < 8
{
}
V0525 = 17
CALL V0524
}
Var 0526, Link IOCARD_ENCODER, Input 149, Aceleration 1 // NAV1 ENCODER Decimal Digits
{
L0 = V0526 + 5
V0523 = V0523 - L0
IF V0523 > 95
{
}
V0523 = 0
IF V0523 < 0
{
}
V0523 = 95
CALL V0524
}
Var 0527, Link IOCARD_DISPLAY, Digit 90, Numbers 5 // NAV 1 ACTIVE
Var 0528, Link IOCARD_DISPLAY, Digit 127, Numbers 5 // NAV1 STANDBY
Var 0529, Link IOCARD_SW, Input 144, Type P // Swap NAV1
{
IF V0529 = 1
{
V0499 = 2
}
ELSE
{
V0499 = 0
}
}
Var 0530, Link FSUIPC_OUT, Offset $0352, Length 2 // NAV2 ACTIVE
Var 0531, Link FSUIPC_OUT, Offset $3120, Length 2 // NAV2 STANDBY
Var 0532 // PRIMARY DIGITS NAV2
Var 0533 // DECIMAL DIGITS NAV2
Var 0534, Link SUBRUTINE
{
L0 = V0532 * 100
L0 = L0 + V0533
V0538 = L0
V0531 = TOBCD L0
}
Var 0535, Link IOCARD_ENCODER, Input 109, Aceleration 1 // NAV2 ENCODER Primary Digits
{
V0532 = V0532 + V0535
IF V0525 > 17
{
}
V0535 = 8
IF V0535 < 8
{
}
V0535 = 17
CALL V0534
}
Var 0536, Link IOCARD_ENCODER, Input 112, Aceleration 1 // NAV2 DECIMAL DIGITS
{
L0 = V0536 + 5
V0533 = V0533 - L0
IF V0523 > 95
{
}
V0533 = 0
IF V0533 < 0
{
}
V0533 = 95
CALL V0524
}
Var 0537, Link IOCARD_DISPLAY, Digit 95, Numbers 5 // NAV2 ACTIVE
Var 0538, Link IOCARD_DISPLAY, Digit 101, Numbers 5 // NAV2 STANDBY
Var 0539, Link IOCARD_SW, Input 122, Type P // Swap NAV2
{
IF V0539 = 1
{
V0499 = 1
}
ELSE
{
V0499 = 0
}
}
Var 0540, Link FSUIPC_OUT, Offset $0354, Length 2 // XPNDR
Var 0541 // XPNDR HIGH DIGITS
Var 0542 // XPNDR LOW DIGITS
Var 0543, Link SUBRUTINE // XPNDR TEMP VALUE
{
L0 = V0541 * 100
L0 = L0 + V0542
V0544 = L0
V0540 = TOBCD L0
}
Var 0544, Link IOCARD_DISPLAY, Digit 144, Numbers 4 // XPNDR DISPLAY
Var 0545, Link IOCARD_ENCODER, Input 124, Aceleration 1 // HIGH DIGITS ENCODER
{
V0541 = V0541 + V0545
IF V0541 > 99
{
V0541 = 0
}
IF V0541 < 0
{
V0541 = 99
}
CALL V0543
}
Var 0546, Link IOCARD_ENCODER, Input 117, Aceleration 1 // LOW DIGITS ENCODER
{
V0542 = V0542 + V0546
IF V0542 > 99
{
V0542 = 0
}
IF V0542 < 0
{
V0542 = 99
}
CALL V0543
}