slupek
07-07-2008, 06:36 PM
I use only freeware models, for example IFDG A320, MD11 and so on. Sometimes everything is ok for 20hrs of flight, sometimes it is not possible to fly at all. Here is my script (little moded for my cockpit):
// *****************************************************************************
// * Config_SIOC ver 3.5 - By Manolo Vélez - www.opencockpits.com
// *****************************************************************************
// * FileName : sioc.txt
// * Date : 2008-07-08
Var 0000, Value 0 // Inicializa / Inicialization
{
&CONTADOR = 0
&CHECK = TIMER 999 ,0 ,25
&CMD = 1
&D_COURSE1 = 360
&D_COURSE2 = 360
&D_HDG = 360
&D_ALT = 4000
&D_VS = 0
&T_IAS = 140
&AP_IAS = 1
&AP_IAS = DELAY 0 ,10
&RO_QNH = 50000
}
Var 0001, name AP_MASTER_SW, Link FSUIPC_INOUT, Offset $07BC, Length 4
{
IF &CMD = 1
{
IF &AP_MASTER_SW = 1
{
&O_CMDA = 1
&O_CMDB = 0
}
ELSE
{
&O_CMDA = 0
&O_CMDB = 0
}
}
ELSE
{
IF &AP_MASTER_SW = 1
{
&O_CMDA = 0
&O_CMDB = 1
}
ELSE
{
&O_CMDA = 0
&O_CMDB = 0
}
}
}
Var 0002, Link FSUIPC_INOUT, Offset $07C0, Length 4 // AP_LVL
Var 0003, Link FSUIPC_INOUT, Offset $07C4, Length 4 // AP_NAV1
{
IF V0003 = 1
{
&O_LNAV = 1
}
ELSE
{
&O_LNAV = 0
}
}
Var 0004, Link FSUIPC_INOUT, Offset $07C8, Length 4 // AP_HDG_SEL
{
IF V0004 = 1
{
&O_HDGSEL = 1
}
ELSE
{
&O_HDGSEL = 0
}
}
Var 0005, name APD_HDG, Link FSUIPC_INOUT, Offset $07CC, Length 2 // APD_HDG
Var 0006, name AP_ALT, Link FSUIPC_INOUT, Offset $07D0, Length 4 // AP_ALT
{
IF &AP_ALT = 1
{
&O_VS = 1
}
ELSE
{
&O_VS = 0
}
}
Var 0007, name AP_IAS, Link FSUIPC_INOUT, Offset $07DC, Length 4 // AP_IAS
{
IF &AP_IAS = 1
{
&SPEED = 1
&O_SPEED = 1
&F_IAS = &T_IAS
}
ELSE
{
IF &AP_MACH = 0
{
&O_SPEED = 0
}
}
}
Var 0008, name APD_IAS, Link FSUIPC_INOUT, Offset $07E2, Length 2 // D_IAS
Var 0009, name APD_ALT, Link FSUIPC_INOUT, Offset $07D4, Length 4 // APD_ALT
Var 0011, name AP_MACH, Link FSUIPC_INOUT, Offset $07E4, Length 4 // AP_MACH
{
IF &AP_MACH = 1
{
&SPEED = 2
&O_SPEED = 1
}
ELSE
{
IF &AP_IAS = 0
{
&O_SPEED = 0
}
}
}
Var 0012, name APD_MACH, Link FSUIPC_INOUT, Offset $07E8, Length 4 // APD_MACH
Var 0013, Link FSUIPC_INOUT, Offset $3210, Length 2 // LOCALV_IAS/M
Var 0014, name APD_VS, Link FSUIPC_INOUT, Offset $07F2, Length 2, Type 1 // D_V/S
Var 0015, Link FSUIPC_INOUT, Offset $0810, Length 4 // AP_AT
{
IF V0015 = 1
{
&O_AT = 1
}
ELSE
{
&O_AT = 0
}
}
Var 0016, Link FSUIPC_INOUT, Offset $2EE0, Length 4 // AP_FD
Var 0017, Link FSUIPC_INOUT, Offset $07C4, Length 4 // AP_NAV
Var 0018, Link FSUIPC_INOUT, Offset $0800, Length 4 // AP_APP
{
IF V0018 = 1
{
&O_APP = 1
}
ELSE
{
&O_APP = 0
}
}
Var 0019, Link FSUIPC_INOUT, Offset $0804, Length 4 // AP_BC
Var 0020, Link FSUIPC_INOUT, Offset $0808, Length 4 // AP_YD
Var 0021, name APD_COURSE1, Link FSUIPC_INOUT, Offset $0C4E, Length 2 // APD_COURSE1
Var 0022, name APD_COURSE2, Link FSUIPC_INOUT, Offset $0C5E, Length 2 // APD_COURSE2
Var 0023, name FS_IAS, Link FSUIPC_IN, Offset $02BC, Length 4 // IAS FS
Var 0024, name FS_MACH, Link FSUIPC_IN, Offset $11C6, Length 2 // IAS FS
Var 0025, Link FSUIPC_INOUT, Offset $07FC, Length 4 // AP_APP2
Var 0050, name CMD
{
IF &CMD = 1
{
&O_CMDA = TESTBIT &AP_MASTER_SW ,0 // LED_AP_SW
}
ELSE
{
&O_CMDB = TESTBIT &AP_MASTER_SW ,0 // LED_AP_SW
}
}
Var 0051, name SPEED
{
IF &SPEED <> 2
{
&O_DECIMAL = 0
&F_IAS = &T_IAS
}
ELSE
{
&O_DECIMAL = 1
&F_IAS = &T_MACH
}
}
Var 0052, name T_IAS
Var 0053, name T_MACH
Var 0054, name F_IAS
{
IF &SPEED <> 2
{
&O_DECIMAL = 0
&D_IAS = &F_IAS
&APD_IAS = DELAY &F_IAS ,10
}
ELSE
{
&O_DECIMAL = 1
&D_IAS = &F_IAS
L0 = &F_IAS * 655.36
&APD_MACH = DELAY L0 ,10
}
}
Var 0056, name CHECK, Link SUBRUTINE
{
&CONTADOR = &CONTADOR + 1
IF &CONTADOR > 10000
{
&CONTADOR = 1000
}
ELSE
{
IF &CONTADOR > 4
{
IF &APD_VS <> &D_VS
{
&D_VS = &APD_VS
}
}
}
}
Var 0057, name CONTADOR
Var 0100, name D_COURSE1, Link IOCARD_DISPLAY, Digit 0, Numbers 3
{
&APD_COURSE1 = &D_COURSE1
}
Var 0102, name D_IAS, Link IOCARD_DISPLAY, Digit 3, Numbers 3
Var 0104, name D_HDG, Link IOCARD_DISPLAY, Digit 6, Numbers 3
{
L1 = &D_HDG * 182.04444
L0 = L1 + 1
&APD_HDG = L0
}
Var 0106, name D_ALT, Link IOCARD_DISPLAY, Digit 9, Numbers 5
{
L0 = &D_ALT * 19975.37
&APD_ALT = L0
}
Var 0108, name D_VS, Link IOCARD_DISPLAY, Digit 14, Numbers 5
Var 0110, name D_COURSE2, Link IOCARD_DISPLAY, Digit 19, Numbers 3
{
&APD_COURSE2 = &D_COURSE2
}
Var 0200, name O_DECIMAL, Link IOCARD_OUT, Output 20
Var 0202, name O_N1, Link IOCARD_OUT, Output 21
Var 0204, name O_AT, Link IOCARD_OUT, Output 22
Var 0206, name O_SPEED, Link IOCARD_OUT, Output 23
Var 0208, name O_LVLCHG, Link IOCARD_OUT, Output 24
Var 0210, name O_VNAV, Link IOCARD_OUT, Output 25
Var 0212, name O_HDGSEL, Link IOCARD_OUT, Output 26
Var 0214, name O_APP, Link IOCARD_OUT, Output 27
Var 0216, name O_VORLOC, Link IOCARD_OUT, Output 28
Var 0218, name O_LNAV, Link IOCARD_OUT, Output 29
Var 0220, name O_ALTHLD, Link IOCARD_OUT, Output 30
Var 0222, name O_VS, Link IOCARD_OUT, Output 31
Var 0224, name O_CWSA, Link IOCARD_OUT, Output 32
Var 0226, name O_CMDA, Link IOCARD_OUT, Output 33
Var 0228, name O_CWSB, Link IOCARD_OUT, Output 34
Var 0230, name O_CMDB, Link IOCARD_OUT, Output 35
Var 0300, name E_IAS, Link IOCARD_ENCODER, Input 0, Aceleration 4, Type 2
{
IF &SPEED <> 2
{
L0 = &E_IAS * -1
&T_IAS = LIMIT 0 ,360 ,L0
&F_IAS = &T_IAS
}
ELSE
{
L0 = &E_IAS * -1
&T_MACH = LIMIT 0 ,99 ,L0
&F_IAS = &T_MACH
}
}
Var 0302, name E_ALT, Link IOCARD_ENCODER, Input 2, Aceleration 4, Type 2
{
L0 = &E_ALT * -100
&D_ALT = LIMIT 0 ,50000 ,L0
}
Var 0304, name E_COURSE1, Link IOCARD_ENCODER, Input 4, Aceleration 4, Type 2
{
L0 = &E_COURSE1 * -1
&D_COURSE1 = ROTATE 1 ,360 ,L0
}
Var 0306, name E_HDG, Link IOCARD_ENCODER, Input 6, Aceleration 4, Type 2
{
L0 = &E_HDG * -1
&D_HDG = ROTATE 1 ,360 ,L0
}
Var 0308, name E_COURSE2, Link IOCARD_ENCODER, Input 9, Aceleration 4, Type 2
{
L0 = &E_COURSE2 * -1
&D_COURSE2 = ROTATE 1 ,360 ,L0
}
Var 0310, name E_VS, Link IOCARD_ENCODER, Input 11, Aceleration 4, Type 2
{
L0 = &E_VS * -100
&D_VS = LIMIT -9000 ,9000 ,L0
&CONTADOR = 0
&APD_VS = &D_VS
}
Var 0400, name I_CO, Link IOCARD_SW, Input 13, Type P
{
IF &O_SPEED = 1
{
IF &SPEED <> 0
{
IF &SPEED = 1
{
L0 = &FS_MACH / 204.8
&T_MACH = L0
&AP_MACH = 1
}
ELSE
{
L0 = &FS_IAS / 128
&T_IAS = L0
&AP_IAS = 1
}
}
}
}
Var 0402, name I_FD2, Link IOCARD_SW, Input 14
Var 0404, name I_DISENGAGE, Link IOCARD_SW, Input 15
Var 0406, name I_FD1, Link IOCARD_SW, Input 16
{
IF &I_FD1 = 1
{
V0016 = 1
}
ELSE
{
V0016 = 0
}
}
Var 0408, name I_CWSB, Link IOCARD_SW, Input 18
Var 0410, name I_CMDB, Link IOCARD_SW, Input 19
{
IF &I_CMDB = 1
{
&CMD = 2
IF &AP_MASTER_SW = 1
{
&AP_MASTER_SW = 0
}
ELSE
{
&AP_MASTER_SW = 1
}
}
}
Var 0412, name I_CWSA, Link IOCARD_SW, Input 20
Var 0414, name I_CMDA, Link IOCARD_SW, Input 21
{
IF &I_CMDA = 1
{
&CMD = 1
IF &AP_MASTER_SW = 1
{
&AP_MASTER_SW = 0
}
ELSE
{
&AP_MASTER_SW = 1
}
}
}
Var 0416, name I_VS, Link IOCARD_SW, Input 22
{
IF &I_VS = 1
{
IF &AP_ALT <> 1
{
&AP_ALT = 1
}
ELSE
{
&AP_ALT = 0
}
}
}
Var 0418, name I_ALTHLD, Link IOCARD_SW, Input 23
Var 0420, name I_APP, Link IOCARD_SW, Input 24
{
IF &I_APP = 1
{
IF V0018 <> 1
{
V0018 = 1
V0025 = 1
}
ELSE
{
V0018 = 0
V0025 = 0
}
}
}
Var 0422, name I_VORLOC, Link IOCARD_SW, Input 25
Var 0424, name I_LNAV, Link IOCARD_SW, Input 27
{
IF &I_LNAV = 1
{
IF V0017 <> 1
{
V0017 = 1
}
ELSE
{
V0017 = 0
}
}
}
Var 0426, name I_HDGSEL, Link IOCARD_SW, Input 28
{
IF &I_HDGSEL = 1
{
IF V0004 <> 1
{
V0004 = 1
}
ELSE
{
V0004 = 0
}
}
}
Var 0428, name I_LVLCHG, Link IOCARD_SW, Input 29
Var 0430, name I_VNAV, Link IOCARD_SW, Input 30
Var 0432, name I_SPEED, Link IOCARD_SW, Input 31
{
IF &I_SPEED = 1
{
IF &SPEED = 0
{
&AP_IAS = 1
}
ELSE
{
&AP_IAS = 0
&AP_MACH = 0
&SPEED = 0
}
}
}
Var 0434, name I_N1, Link IOCARD_SW, Input 32
Var 0436, name I_AT, Link IOCARD_SW, Input 33
{
IF &I_AT = 1
{
V0015 = 1
}
ELSE
{
V0015 = 0
}
}
Var 5230, name QNH
Var 5231, name QNH_p
Var 5238, name ResetFS
{
IF &ResetFS = 1
{
&FO_FSUIPC_C = 0
}
}
Var 5240, name RO_QNH, Link IOCARD_ENCODER, Input 9, Aceleration 1, Type 2
{
L0 = &RO_QNH
&QNH = ROTATE 0 ,100000 ,L0
IF &QNH > &QNH_p
{
&FO_FSUIPC_C = 65883 // FS Control Kohlsman increment
&ResetFS = 0
&ResetFS = TIMER 1 ,1 ,10
}
ELSE
{
IF &QNH < &QNH_p
{
&FO_FSUIPC_C = 65884 // FS Control Kohlsman decrement
&ResetFS = 0
&ResetFS = TIMER 1 ,1 ,10
}
}
&QNH_p = &QNH
}
Var 5298, name FO_FSUIPC_C, Link FSUIPC_OUT, Offset $3110, Length 4