Page 1 of 2 12 LastLast
Results 1 to 10 of 18
  1. #1
    25+ Posting Member
    Join Date
    Aug 2007
    Location
    Kallinge, Sweden
    Posts
    29
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    SIOC scripts for OC MCP/EFIS for default FSX planes wanted

    Hi, does anyone have SIOC scripts for OpenCockpits MCP and EFIS that works with the default FSX airplanes?

    Configuring it on my own seems to be impossible task for me.

    I have used Kiek磗 fine setup with my level-d 767 and it works fine, but I also want to use the default 737/747 and here the problems begins.

    The default planes don't use all buttons but the ones that are there should be possible to replicate on my setup I think.

    I have tested the scripts from OC and found some of it to be working fairly good, but some buttons don't work and some are on the wrong button on my MCP. On the EFIS I can only get the Baro to work.

    I would be really greatful for some help.

  2. #2
    25+ Posting Member
    Join Date
    Aug 2007
    Location
    Kallinge, Sweden
    Posts
    29
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    This is the setup I have come up with so far.
    But there are some issue.

    For instance,
    1. My MCP engages ALT HLD in FSX with the V/S button instead of the ALT HLD button.

    2. VOR LOC on my MCP engages the LNAV in FSX.

    3. N1 Does not work.

    C/O does not work correctly.

    It would be neat if I could use the LNAV and VNAV buttons on my MCP to
    emulate the NAV/GPS switch

    --------------------------------------------------------

    // *****************************************************************************
    // * Config_SIOC ver 3.5 - By Manolo V閘ez - www.opencockpits.com
    // *****************************************************************************
    // * FileName : sioc_mcp_efisv1.txt
    // * Date : 2008-06-29

    Var 0000, Value 0
    {
    &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
    &SUB_DH = 3000
    &SUB_BAR = 1023
    &SUB2_DH = 3000
    &SUB2_BAR = 1023
    }
    Var 0002, 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 0004, Link FSUIPC_INOUT, Offset $07C0, Length 4 // AP_LVL
    Var 0006, Link FSUIPC_INOUT, Offset $07C4, Length 4 // AP_NAV1
    {
    IF V0006 = 1
    {
    &O_LNAV = 1
    }
    ELSE
    {
    &O_LNAV = 0
    }
    }
    Var 0008, Link FSUIPC_INOUT, Offset $07C8, Length 4 // AP_HDG_SEL
    {
    IF V0008 = 1
    {
    &O_HDGSEL = 1
    }
    ELSE
    {
    &O_HDGSEL = 0
    }
    }
    Var 0010, name APD_HDG, Link FSUIPC_INOUT, Offset $07CC, Length 2 // APD_HDG
    Var 0012, name AP_ALT, Link FSUIPC_INOUT, Offset $07D0, Length 4 // AP_ALT
    {
    IF &AP_ALT = 1
    {
    &O_VS = 1
    }
    ELSE
    {
    &O_VS = 0
    }
    }
    Var 0014, 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 0016, name APD_IAS, Link FSUIPC_INOUT, Offset $07E2, Length 2 // D_IAS
    Var 0018, name APD_ALT, Link FSUIPC_INOUT, Offset $07D4, Length 4 // APD_ALT
    Var 0020, 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 0022, name APD_MACH, Link FSUIPC_INOUT, Offset $07E8, Length 4 // APD_MACH
    Var 0024, Link FSUIPC_INOUT, Offset $3210, Length 2 // LOCALV_IAS/M
    Var 0026, name APD_VS, Link FSUIPC_INOUT, Offset $07F2, Length 2, Type 1 // D_V/S
    Var 0028, Link FSUIPC_INOUT, Offset $0810, Length 4 // AP_AT
    {
    IF V0028 = 1
    {
    &O_AT = 1
    }
    ELSE
    {
    &O_AT = 0
    }
    }
    Var 0030, Link FSUIPC_INOUT, Offset $2EE0, Length 4 // AP_FD
    Var 0032, Link FSUIPC_INOUT, Offset $07C4, Length 4 // AP_NAV
    Var 0034, Link FSUIPC_INOUT, Offset $0800, Length 4 // AP_APP
    {
    IF V0034 = 1
    {
    &O_APP = 1
    }
    ELSE
    {
    &O_APP = 0
    }
    }
    Var 0036, Link FSUIPC_INOUT, Offset $0804, Length 4 // AP_BC
    Var 0038, Link FSUIPC_INOUT, Offset $0808, Length 4 // AP_YD
    Var 0040, name APD_COURSE1, Link FSUIPC_INOUT, Offset $0C4E, Length 2 // APD_COURSE1
    Var 0042, name APD_COURSE2, Link FSUIPC_INOUT, Offset $0C5E, Length 2 // APD_COURSE2
    Var 0044, name FS_IAS, Link FSUIPC_IN, Offset $02BC, Length 4 // IAS FS
    Var 0046, name FS_MACH, Link FSUIPC_IN, Offset $11C6, Length 2 // IAS FS
    Var 0048, 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 0052, name SPEED
    {
    IF &SPEED <> 2
    {
    &O_DECIMAL = 0
    &F_IAS = &T_IAS
    }
    ELSE
    {
    &O_DECIMAL = 1
    &F_IAS = &T_MACH
    }
    }
    Var 0054, name T_IAS
    Var 0056, name T_MACH
    Var 0058, 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 0060, 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 0062, name CONTADOR
    Var 0064, name D_COURSE1, Link IOCARD_DISPLAY, Digit 0, Numbers 3
    {
    &APD_COURSE1 = &D_COURSE1
    }
    Var 0066, name D_IAS, Link IOCARD_DISPLAY, Digit 3, Numbers 3
    Var 0068, name D_HDG, Link IOCARD_DISPLAY, Digit 6, Numbers 3
    {
    L1 = &D_HDG * 182.04444
    L0 = L1 + 1
    &APD_HDG = L0
    }
    Var 0070, name D_ALT, Link IOCARD_DISPLAY, Digit 9, Numbers 5
    {
    L0 = &D_ALT * 19975.37
    &APD_ALT = L0
    }
    Var 0072, name D_VS, Link IOCARD_DISPLAY, Digit 14, Numbers 5
    Var 0074, name D_COURSE2, Link IOCARD_DISPLAY, Digit 19, Numbers 3
    {
    &APD_COURSE2 = &D_COURSE2
    }
    Var 0076, name O_DECIMAL, Link IOCARD_OUT, Output 20
    Var 0078, name O_N1, Link IOCARD_OUT, Output 21
    Var 0080, name O_AT, Link IOCARD_OUT, Output 22
    Var 0082, name O_SPEED, Link IOCARD_OUT, Output 23
    Var 0084, name O_LVLCHG, Link IOCARD_OUT, Output 24
    Var 0086, name O_VNAV, Link IOCARD_OUT, Output 25
    Var 0088, name O_HDGSEL, Link IOCARD_OUT, Output 26
    Var 0090, name O_APP, Link IOCARD_OUT, Output 27
    Var 0092, name O_VORLOC, Link IOCARD_OUT, Output 28
    Var 0094, name O_LNAV, Link IOCARD_OUT, Output 29
    Var 0096, name O_ALTHLD, Link IOCARD_OUT, Output 30
    Var 0098, name O_VS, Link IOCARD_OUT, Output 31
    Var 0100, name O_CWSA, Link IOCARD_OUT, Output 32
    Var 0102, name O_CMDA, Link IOCARD_OUT, Output 33
    Var 0104, name O_CWSB, Link IOCARD_OUT, Output 34
    Var 0106, name O_CMDB, Link IOCARD_OUT, Output 35
    Var 0108, 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 0110, name E_ALT, Link IOCARD_ENCODER, Input 2, Aceleration 4, Type 2
    {
    L0 = &E_ALT * -100
    &D_ALT = LIMIT 0 ,50000 ,L0
    }
    Var 0112, name E_COURSE1, Link IOCARD_ENCODER, Input 4, Aceleration 4, Type 2
    {
    L0 = &E_COURSE1 * -1
    &D_COURSE1 = ROTATE 1 ,360 ,L0
    }
    Var 0114, name E_HDG, Link IOCARD_ENCODER, Input 6, Aceleration 4, Type 2
    {
    L0 = &E_HDG * -1
    &D_HDG = ROTATE 1 ,360 ,L0
    }
    Var 0116, name E_COURSE2, Link IOCARD_ENCODER, Input 9, Aceleration 4, Type 2
    {
    L0 = &E_COURSE2 * -1
    &D_COURSE2 = ROTATE 1 ,360 ,L0
    }
    Var 0118, 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 0120, 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 0122, name I_FD2, Link IOCARD_SW, Input 14
    Var 0124, name I_DISENGAGE, Link IOCARD_SW, Input 15
    Var 0126, name I_FD1, Link IOCARD_SW, Input 16
    {
    IF &I_FD1 = 1
    {
    V0030 = 1
    }
    ELSE
    {
    V0030 = 0
    }
    }
    Var 0128, name I_CWSB, Link IOCARD_SW, Input 18
    Var 0130, 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 0132, name I_CWSA, Link IOCARD_SW, Input 20
    Var 0134, 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 0136, name I_VS, Link IOCARD_SW, Input 22
    {
    IF &I_VS = 1
    {
    IF &AP_ALT <> 1
    {
    &AP_ALT = 1
    }
    ELSE
    {
    &AP_ALT = 0
    }
    }
    }
    Var 0138, name I_ALTHLD, Link IOCARD_SW, Input 23
    Var 0140, name IP_APP, Link IOCARD_SW, Input 24
    {
    IF &IP_APP = 1
    {
    IF V0034 <> 1
    {
    V0034 = 1
    V0048 = 1
    }
    ELSE
    {
    V0034 = 0
    V0048 = 0
    }
    }
    }
    Var 0142, name I_VORLOC, Link IOCARD_SW, Input 25
    Var 0144, name I_LNAV, Link IOCARD_SW, Input 27
    {
    IF &I_LNAV = 1
    {
    IF V0032 <> 1
    {
    V0032 = 1
    }
    ELSE
    {
    V0032 = 0
    }
    }
    }
    Var 0146, name I_HDGSEL, Link IOCARD_SW, Input 28
    {
    IF &I_HDGSEL = 1
    {
    IF V0008 <> 1
    {
    V0008 = 1
    }
    ELSE
    {
    V0008 = 0
    }
    }
    }
    Var 0148, name I_LVLCHG, Link IOCARD_SW, Input 29
    Var 0150, name I_VNAV, Link IOCARD_SW, Input 30
    Var 0152, 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 0154, name I_N1, Link IOCARD_SW, Input 32
    Var 0156, name I_AT, Link IOCARD_SW, Input 33
    {
    IF &I_AT = 1
    {
    V0028 = 1
    }
    ELSE
    {
    V0028 = 0
    }
    }
    Var 0158, name I_5, Link IOCARD_SW, Device 1, Input 0
    {
    IF &I_5 = 1
    {
    &PM_RANG = 0
    }
    }
    Var 0160, name I_10, Link IOCARD_SW, Device 1, Input 1
    {
    IF &I_10 = 1
    {
    &PM_RANG = 1
    }
    }
    Var 0162, name I_20, Link IOCARD_SW, Device 1, Input 2
    {
    IF &I_20 = 1
    {
    &PM_RANG = 2
    }
    }
    Var 0164, name I_40, Link IOCARD_SW, Device 1, Input 3
    {
    IF &I_40 = 1
    {
    &PM_RANG = 3
    }
    }
    Var 0166, name I_80, Link IOCARD_SW, Device 1, Input 4
    {
    IF &I_80 = 1
    {
    &PM_RANG = 4
    }
    }
    Var 0168, name I_160, Link IOCARD_SW, Device 1, Input 5
    {
    IF &I_160 = 1
    {
    &PM_RANG = 5
    }
    }
    Var 0170, name I_320, Link IOCARD_SW, Device 1, Input 6
    {
    IF &I_320 = 1
    {
    &PM_RANG = 6
    }
    }
    Var 0172, name I_640, Link IOCARD_SW, Device 1, Input 7
    {
    IF &I_640 = 1
    {
    &PM_RANG = 7
    }
    }
    Var 0174, name I_APP, Link IOCARD_SW, Device 1, Input 9
    {
    IF &I_APP = 1
    {
    &PM_MODO = 5
    }
    }
    Var 0176, name I_VOR, Link IOCARD_SW, Device 1, Input 10
    {
    IF &I_VOR = 1
    {
    &PM_MODO = 3
    }
    }
    Var 0178, name I_MAP, Link IOCARD_SW, Device 1, Input 11
    {
    IF &I_MAP = 1
    {
    &PM_MODO = 1
    }
    }
    Var 0180, name I_PLN, Link IOCARD_SW, Device 1, Input 12
    {
    IF &I_PLN = 1
    {
    &PM_MODO = 4
    }
    }
    Var 0182, name I_S1, Link IOCARD_SW, Device 1, Input 27
    {
    IF &I_S1 = 1
    {
    &PM_MODO = 90 // STA
    }
    }
    Var 0184, name I_S2, Link IOCARD_SW, Device 1, Input 28
    {
    IF &I_S2 = 1
    {
    &PM_MODO = 93 // WPT
    }
    }
    Var 0186, name I_S3, Link IOCARD_SW, Device 1, Input 29
    {
    IF &I_S3 = 1
    {
    &PM_MODO = 6 // CTR
    }
    }
    Var 0188, name I_S4, Link IOCARD_SW, Device 1, Input 30
    {
    IF &I_S4 = 1
    {
    &PM_MODO = 94 // ARPT
    }
    }
    Var 0190, name I_S5, Link IOCARD_SW, Device 1, Input 31
    {
    IF &I_S5 = 1
    {
    }
    }
    Var 0192, name I_S6, Link IOCARD_SW, Device 1, Input 32
    {
    IF &I_S6 = 1
    {
    &PM_MODO = 95 // DATA
    }
    }
    Var 0194, name I_S7, Link IOCARD_SW, Device 1, Input 33
    {
    IF &I_S7 = 1
    {
    &PM_MODO = 96 // POS
    }
    }
    Var 0196, name I_SR1, Link IOCARD_SW, Device 1, Input 34
    {
    IF &I_SR1 = 1
    {
    &PM_MODO = 14 // FPV
    }
    }
    Var 0198, name I_SR2, Link IOCARD_SW, Device 1, Input 38
    {
    IF &I_SR2 = 1
    {
    &PM_MODO = 26 // MTRS
    }
    }
    Var 0200, name I_BARONSW, Link IOCARD_SW, Device 1, Input 22
    {
    IF &I_BARONSW = 1
    {
    &SUB_BAR = 1013
    L0 = 1013 * 16
    L0 = L0 + 1
    &FS_QNH = L0
    }
    }
    Var 0202, name I_MINSW, Link IOCARD_SW, Device 1, Input 25
    {
    IF &I_MINSW = 1
    {
    &SUB_DH = 3000
    }
    }
    Var 0204, name I_VOR1, Link IOCARD_SW, Device 1, Input 36
    {
    IF &I_VOR1 = 1
    {
    &PM_MODO = 75
    }
    ELSE
    {
    IF &I_ADF1 = 0
    {
    &PM_MODO = 73
    }
    }
    }
    Var 0206, name I_ADF1, Link IOCARD_SW, Device 1, Input 37
    {
    IF &I_ADF1 = 1
    {
    &PM_MODO = 74
    }
    ELSE
    {
    IF &I_VOR1 = 0
    {
    &PM_MODO = 73
    }
    }
    }
    Var 0208, name I_VOR2, Link IOCARD_SW, Device 1, Input 18
    {
    IF &I_VOR2 = 1
    {
    &PM_MODO = 78
    }
    ELSE
    {
    IF &I_ADF2 = 0
    {
    &PM_MODO = 76
    }
    }
    }
    Var 0210, name I_ADF2, Link IOCARD_SW, Device 1, Input 19
    {
    IF &I_ADF2 = 1
    {
    &PM_MODO = 77
    }
    ELSE
    {
    IF &I_VOR2 = 0
    {
    &PM_MODO = 76
    }
    }
    }
    Var 0212, name E_BARO, Link IOCARD_ENCODER, Device 1, Input 20, Aceleration 1, Type 2
    {
    L0 = &E_BARO * -1
    &SUB_BAR = &SUB_BAR + L0
    }
    Var 0214, name E_MIN, Link IOCARD_ENCODER, Device 1, Input 23, Aceleration 1, Type 2
    {
    L0 = &E_MIN * -100
    &SUB_DH = &SUB_DH + L0
    }
    Var 0216, name SUB_DH, Link SUBRUTINE
    {
    IF &SUB_DH > 20000
    {
    &SUB_DH = 20000
    }
    IF &SUB_DH < 0
    {
    &SUB_DH = 0
    }
    L0 = DIV &SUB_DH ,100
    &PM_DH = L0
    }
    Var 0218, name SUB_BAR, Link SUBRUTINE
    {
    L0 = &SUB_BAR * 16
    &FS_QNH = L0
    }
    Var 0220, name SUB2_DH, Link SUBRUTINE
    {
    IF &SUB2_DH > 20000
    {
    &SUB2_DH = 20000
    }
    IF &SUB2_DH < 0
    {
    &SUB2_DH = 0
    }
    L0 = DIV &SUB2_DH ,100
    &PM2_DH = L0
    }
    Var 0222, name SUB2_BAR, Link SUBRUTINE
    {
    L0 = &SUB2_BAR * 16
    &FS2_QNH = L0
    }
    Var 0224, name PM_MODO, Link FSUIPC_INOUT, Offset $04F4, Length 2 // PM_EFIS_MODO
    Var 0226, name PM_RANG, Link FSUIPC_OUT, Offset $04F8, Length 2 // PM_EFIS_RANG
    Var 0228, name PM_DH, Link FSUIPC_OUT, Offset $04FA, Length 2 // PM_EFIS_DH
    Var 0230, name FS_QNH, Link FSUIPC_OUT, Offset $0330, Length 2 // FS_QNH_MB
    Var 0232, name PM2_RANG, Link FSUIPC_OUT, Offset $5524, Length 2 // PM_EFIS_RANG FO
    Var 0234, name PM2_DH, Link FSUIPC_OUT, Offset $5532, Length 2 // PM_EFIS_DH FO
    Var 0236, name FS2_QNH, Link FSUIPC_OUT, Offset $552E, Length 2 // FS_QNH_MB FO
    Var 0238, name I2_5, Link IOCARD_SW, Device 2, Input 0
    {
    IF &I2_5 = 1
    {
    &PM2_RANG = 0
    }
    }
    Var 0240, name I2_10, Link IOCARD_SW, Device 2, Input 1
    {
    IF &I2_10 = 1
    {
    &PM2_RANG = 1
    }
    }
    Var 0242, name I2_20, Link IOCARD_SW, Device 2, Input 2
    {
    IF &I2_20 = 1
    {
    &PM2_RANG = 2
    }
    }
    Var 0244, name I2_40, Link IOCARD_SW, Device 2, Input 3
    {
    IF &I2_40 = 1
    {
    &PM2_RANG = 3
    }
    }
    Var 0246, name I2_80, Link IOCARD_SW, Device 2, Input 4
    {
    IF &I2_80 = 1
    {
    &PM2_RANG = 4
    }
    }
    Var 0248, name I2_160, Link IOCARD_SW, Device 2, Input 5
    {
    IF &I2_160 = 1
    {
    &PM2_RANG = 5
    }
    }
    Var 0250, name I2_320, Link IOCARD_SW, Device 2, Input 6
    {
    IF &I2_320 = 1
    {
    &PM2_RANG = 6
    }
    }
    Var 0252, name I2_640, Link IOCARD_SW, Device 2, Input 7
    {
    IF &I2_640 = 1
    {
    &PM2_RANG = 7
    }
    }
    Var 0254, name I2_APP, Link IOCARD_SW, Device 2, Input 9
    {
    IF &I2_APP = 1
    {
    &PM_MODO = 105
    }
    }
    Var 0256, name I2_VOR, Link IOCARD_SW, Device 2, Input 10
    {
    IF &I2_VOR = 1
    {
    &PM_MODO = 103
    }
    }
    Var 0258, name I2_MAP, Link IOCARD_SW, Device 2, Input 11
    {
    IF &I2_MAP = 1
    {
    &PM_MODO = 101
    }
    }
    Var 0260, name I2_PLN, Link IOCARD_SW, Device 2, Input 12
    {
    IF &I2_PLN = 1
    {
    &PM_MODO = 104
    }
    }
    Var 0262, name I2_S1, Link IOCARD_SW, Device 2, Input 27
    {
    IF &I2_S1 = 1
    {
    &PM_MODO = 190 // STA
    }
    }
    Var 0264, name I2_S2, Link IOCARD_SW, Device 2, Input 28
    {
    IF &I2_S2 = 1
    {
    &PM_MODO = 193 // WPT
    }
    }
    Var 0266, name I2_S3, Link IOCARD_SW, Device 2, Input 29
    {
    IF &I2_S3 = 1
    {
    &PM_MODO = 106 // CTR
    }
    }
    Var 0268, name I2_S4, Link IOCARD_SW, Device 2, Input 30
    {
    IF &I2_S4 = 1
    {
    &PM_MODO = 194 // ARPT
    }
    }
    Var 0270, name I2_S5, Link IOCARD_SW, Device 2, Input 31
    {
    IF &I2_S5 = 1
    {
    }
    }
    Var 0272, name I2_S6, Link IOCARD_SW, Device 2, Input 32
    {
    IF &I2_S6 = 1
    {
    &PM_MODO = 195 // DATA
    }
    }
    Var 0274, name I2_S7, Link IOCARD_SW, Device 2, Input 33
    {
    IF &I2_S7 = 1
    {
    &PM_MODO = 196 // POS
    }
    }
    Var 0276, name I2_SR1, Link IOCARD_SW, Device 2, Input 34
    {
    IF &I2_SR1 = 1
    {
    &PM_MODO = 114 // FPV
    }
    }
    Var 0278, name I2_SR2, Link IOCARD_SW, Device 2, Input 38
    {
    IF &I2_SR2 = 1
    {
    &PM_MODO = 126 // MTRS
    }
    }
    Var 0280, name I2_BARONSW, Link IOCARD_SW, Device 2, Input 22
    {
    IF &I2_BARONSW = 1
    {
    &SUB2_BAR = 1013
    L0 = 1013 * 16
    L0 = L0 + 1
    &FS2_QNH = L0
    }
    }
    Var 0282, name I2_MINSW, Link IOCARD_SW, Device 2, Input 25
    {
    IF &I2_MINSW = 1
    {
    &SUB2_DH = 3000
    }
    }
    Var 0284, name I2_VOR1, Link IOCARD_SW, Device 2, Input 36
    {
    IF &I2_VOR1 = 1
    {
    &PM_MODO = 175
    }
    ELSE
    {
    IF &I2_ADF1 = 0
    {
    &PM_MODO = 173
    }
    }
    }
    Var 0286, name I2_ADF1, Link IOCARD_SW, Device 2, Input 37
    {
    IF &I2_ADF1 = 1
    {
    &PM_MODO = 174
    }
    ELSE
    {
    IF &I2_VOR1 = 0
    {
    &PM_MODO = 173
    }
    }
    }
    Var 0288, name I2_VOR2, Link IOCARD_SW, Device 2, Input 18
    {
    IF &I2_VOR2 = 1
    {
    &PM_MODO = 178
    }
    ELSE
    {
    IF &I2_ADF2 = 0
    {
    &PM_MODO = 176
    }
    }
    }
    Var 0290, name I2_ADF2, Link IOCARD_SW, Device 2, Input 19
    {
    IF &I2_ADF2 = 1
    {
    &PM_MODO = 177
    }
    ELSE
    {
    IF &I2_VOR2 = 0
    {
    &PM_MODO = 176
    }
    }
    }
    Var 0292, name E2_BARO, Link IOCARD_ENCODER, Device 2, Input 20, Aceleration 1, Type 2
    {
    L0 = &E2_BARO * -1
    &SUB2_BAR = &SUB2_BAR + L0
    }
    Var 0294, name E2_MIN, Link IOCARD_ENCODER, Device 2, Input 23, Aceleration 1, Type 2
    {
    L0 = &E2_MIN * -100
    &SUB2_DH = &SUB2_DH + L0
    }

  3. #3
    150+ Forum Groupie Padraig's Avatar
    Join Date
    Feb 2008
    Location
    Eire
    Posts
    221
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    First you`ll need to find the offset for the NAV/GPS switch in FSX which you`ll find via FSUIPC by enabling the Logging section. Hit the GPS/NAV function and then goto the log file, you`ll see it there logged. I don't think you`ll be able to use the VNAV button for actually emulating the real way VNAV works regarding the default 737 etc...

    As in regards your EFIS and Autopilot are they the prebuilt modules from OpenCockpits.com ?

  4. #4
    25+ Posting Member
    Join Date
    Aug 2007
    Location
    Kallinge, Sweden
    Posts
    29
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Thanks for the advise, I will check the logs this evening to see what offset I should use. Hopefully I will be able to create something out of it.
    I really need to learn how to program SIOC.

    Yes both MCP and EFIS are prebuilt from OC. Just uploaded a photo of my cockpit .

    The script I have put here, concists of two original OC scripts that are available as download from them, that I have merged into one script.

    The only other EFIS and MCP scripts they have use Project Magenta ,which I don't have, so they don't work good either.

    Have you been able to spot why Alt Hold is enabled by my MCP V/S button? Cannot figure it out my self.

  5. #5
    25+ Posting Member
    Join Date
    Aug 2007
    Location
    Kallinge, Sweden
    Posts
    29
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Found the V/S - ALT HLD issue
    on var 136,138 and 96,98 the inputs and outputs was wrong.

    Replaced input 22 with 23 and vice vers.
    Replaced output 30 with 31 and vice vers.

    Presto! correct button responds

    One issue down....plenty to go.

    Was testing the logs late night, but it's very hard to find what I'm looking for.

    Should I only enable button logs?
    Am I looking for read or write?
    Is there a way to see the log while pressing a button/switch in FSX?
    would make it much easier to spot the lines.

  6. #6
    300+ Forum Addict
    Join Date
    Jan 2007
    Posts
    496
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Quote Originally Posted by CoNa View Post
    Was testing the logs late night, but it's very hard to find what I'm looking for.
    Logging can identify FS control names, but it won't tell you offsets -- you need to know the offset in order to log changes to it.

    Why not search the offsets list supplied in the FSUIPC SDK? That's why the list is provided. I just searched on "GPS" and it was the first thing found:

    132C
    4
    NAV/GPS switch, in FS2000 & FS2002. 0=NAV, 1=GPS

    It does work in FS2004 and FSX too. I must get around to revising the wordings some time ...

    Is there a way to see the log while pressing a button/switch in FSX? would make it much easier to spot the lines.
    Yes. Add "Debug=Please" to the [General] section of FSUIPC's INI file. Get Debugview from www.sysinternals.com. Run it before starting FS.

    Regards

    Pete

  7. Thanks jmig, Padraig, Trevor Hale thanked for this post
  8. #7
    300+ Forum Addict jmig's Avatar
    Join Date
    Apr 2007
    Location
    Lafayette, LA USA
    Posts
    422
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Quote Originally Posted by Peter Dowson View Post
    Logging can identify FS control names, but it won't tell you offsets -- you need to know the offset in order to log changes to it.

    Why not search the offsets list supplied in the FSUIPC SDK? That's why the list is provided. I just searched on "GPS" and it was the first thing found:

    132C
    4
    NAV/GPS switch, in FS2000 & FS2002. 0=NAV, 1=GPS

    It does work in FS2004 and FSX too. I must get around to revising the wordings some time ...

    Yes. Add "Debug=Please" to the [General] section of FSUIPC's INI file. Get Debugview from www.sysinternals.com. Run it before starting FS.

    Regards

    Pete
    Hi Peter, the man himself. Now that's what I am talking about. You want answers come to Mycockpits and you get answers.

    Thanks for taking time from your busy schedule to drop in and help. Your FSUIPC should be required purchasing for MSFS. It is by far the most useful add-on I have ever purchased.
    John

    System:
    ASUS P5Q SE/R
    Intel Q9550 O/C to 3.4 GHz
    4 GB 1066 DDR2 RAM
    300 GB WD 10,000 RPM Raptor SATA Drive
    GeForce 8800 GT 512 KB RAM
    Matrox TH2Go with three 19" Sumsung 940 BX
    IR Track 4

  9. #8
    150+ Forum Groupie Padraig's Avatar
    Join Date
    Feb 2008
    Location
    Eire
    Posts
    221
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Quote Originally Posted by Peter Dowson View Post
    Logging can identify FS control names, but it won't tell you offsets -- you need to know the offset in order to log changes to it.

    Why not search the offsets list supplied in the FSUIPC SDK? That's why the list is provided. I just searched on "GPS" and it was the first thing found:

    132C
    4
    NAV/GPS switch, in FS2000 & FS2002. 0=NAV, 1=GPS

    It does work in FS2004 and FSX too. I must get around to revising the wordings some time ...

    Yes. Add "Debug=Please" to the [General] section of FSUIPC's INI file. Get Debugview from www.sysinternals.com. Run it before starting FS.

    Regards

    Pete
    Damn I got mixed up regarding the Log file and the SDK for finding the offset, and the amazing thing is I only downloaded it there the other day to find out about some offsets I needed myself...... Sry to mislead on that matter

  10. #9
    25+ Posting Member
    Join Date
    Aug 2007
    Location
    Kallinge, Sweden
    Posts
    29
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Thanks for the support so far. Correcting the script bit by bit.
    So far I have fixed the VOR LOC to work properly also.
    It was the same issue as with alt hld...wrong input/output.

    I have also managed to get the N1 to work partly.
    I can engage N1 but not disengage. Only way to do that is to engage Speed (then disengage that) or turn off A/T.

    Any ideas what I'm doing wrong?

    Var 0028, Link FSUIPC_INOUT, Offset $080C, Length 4 // AP_N1
    {
    IF V0028 = 1
    {
    &O_N1 = 1
    }
    ELSE
    {
    &O_N1 = 0
    }
    }


    Var 0082, name O_N1, Link IOCARD_OUT, Output 21
    Var 0158, name I_N1, Link IOCARD_SW, Input 32
    {
    IF &I_N1 <> 1
    {
    V0028 = 1
    }
    ELSE
    {
    V0028 = 0
    }
    }

    I just found a forum thread with this information from Peter Dowson.
    "Most of the EFIS panel controls are purely panel functions and only usable with the mouse"
    "The EFIS panel functions which can be assigned (with names to match) are:

    Increase decision height
    Decrease decision height
    Barometric std pressure
    Kohlsman inc (i.e altimeter pressure setting inc)
    Kohlsman dec (i.e altimeter pressure setting dec)

    So It seems like I don't need to bother with the rest of the EFIS switches.
    Just a question to Peter, if you are reading this
    I cannot find the offsets for:
    Increase decision height
    Decrease decision height

    Appreciate your help

  11. #10
    25+ Posting Member
    Join Date
    Aug 2007
    Location
    Kallinge, Sweden
    Posts
    29
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Found the N1 issue too

    Var 0158, name I_N1, Link IOCARD_SW, Input 32
    {
    IF &I_N1 = 1
    {
    IF V0028 <> 1
    {
    V0028 = 1
    }
    ELSE
    {
    V0028 = 0
    }
    }
    }

Page 1 of 2 12 LastLast

Similar Threads

  1. EFIS problem with default 737 FSX
    By FooFighters in forum I/O Interfacing and Hardware
    Replies: 8
    Last Post: 07-12-2011, 12:29 PM
  2. In desperate need of generic SIOC scripts
    By remcosol in forum I/O Interfacing Hardware and Software
    Replies: 0
    Last Post: 08-15-2010, 03:24 PM
  3. Need sioc scripts...
    By remcosol in forum General Builder Questions All Aircraft Types
    Replies: 6
    Last Post: 03-03-2010, 01:25 PM
  4. SIOC Scripts and Computers
    By paulj in forum OpenCockpits General Discussion
    Replies: 3
    Last Post: 06-08-2008, 08:43 AM