Results 1 to 3 of 3
  1. #1
    New Member



    Join Date
    Apr 2011
    Location
    Sweden
    Posts
    2
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Exclamation Need your help----The IAS/SPD window cannot display correct value

    Hi,
    I use the lekseecon V9.1 to connect my MCP to LevelD767. (windows XP)
    So far most of function work well except IAS/SPD.
    when i turn the IAS/SPD rotary encoder(on my OC MCP), the value on LevelD767 window responsed correctly,but no change on My OC MCP.
    when i click the rotary encoder of LevelD767 panel, the value on LevelD767 window responsed correctly, but no change on My OC MCP.
    It looks cannot output value to my MCP. I also test the IAS/SPD display by SIOC.exe, My MCP(hardware) works well.
    I guess the problem cause by the script, So could you help me to figure out how to solve it ?


    thank you very much!

    BR
    Qiang

  2. #2
    New Member



    Join Date
    Apr 2011
    Location
    Sweden
    Posts
    2
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: Need your help----The IAS/SPD window cannot display correct value

    // * FileName : LevelD767.txt
    // * Date : 2/22/2013

    Var 0000, Value 0
    {
    &SpdIntBut = 0
    &SpdBut = 0
    &HdgHldBut = 0
    &HDGSelBut = 0
    &BCRSBut = 0
    &ColdAndDark = 0
    &LeftBusOff = 0
    &RightBusOff = 0
    &StandbyACOff = 0
    &StandbyDCOff = 0
    &BatteryOff = 0
    &BatteryHotOff = 0
    }
    Var 0001, name Digit
    Var 0066, name CalcDigit, Link SUBRUTINE
    {
    L0 = &CalcDigit
    IF L0 = 6
    {
    L0 = 6 // 6 with horizontal dash
    }
    ELSE
    {
    IF L0 >= 10
    {
    IF L0 = 10 // A
    {
    L0 = -999999 // blank
    }
    ELSE
    {
    IF L0 = 11 // minus
    {
    L0 = -999998 // -
    }
    ELSE
    {
    L0 = 9
    }
    }
    }
    }
    &Digit = L0
    }
    Var 0003, name Digit0
    Var 0071, name Digit1
    Var 0014, name Digit2
    Var 0018, name Digit3
    Var 0023, name Digit4
    Var 0008, name Digit5
    Var 0009, name DecBCD2, Link SUBRUTINE
    {
    L0 = &DecBCD2
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit0 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit1 = &Digit
    }
    Var 0010, name DecBCD3, Link SUBRUTINE
    {
    L0 = &DecBCD3
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit0 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit1 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit2 = &Digit
    }
    Var 0011, name DecBCD4, Link SUBRUTINE
    {
    L0 = &DecBCD4
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit0 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit1 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit2 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit3 = &Digit
    }
    Var 0012, name DecBCD5, Link SUBRUTINE
    {
    L0 = &DecBCD5
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit0 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit1 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit2 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit3 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit4 = &Digit
    }
    Var 0013, name DecBCD6, Link SUBRUTINE
    {
    L0 = &DecBCD6
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit0 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit1 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit2 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit3 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit4 = &Digit
    L0 = DIV L0 ,16
    L1 = MOD L0 ,16
    CALL &CalcDigit, L1
    &Digit5 = &Digit
    }
    Var 0005, name MCP_IAS, static
    {
    CALL &OutIAS
    }
    Var 0015, name RO_IAS, Link IOCARD_ENCODER, Input 24, Aceleration 4, Type 1
    {
    L0 = TESTBIT &MCP_IAS ,24
    IF L0 = 0
    {
    IF &SPDDisplay = 1 // Respond only when Ias/Mach display on ..
    {
    L0 = &RO_IAS * -1 // turning right should be plus
    L1 = FROMBCD &MCP_IAS
    IF &IASMACH = 0
    {
    L1 = LIMIT 100 ,399 ,L0
    }
    ELSE
    {
    L1 = LIMIT 400 ,950 ,L0
    }
    &MCP_IAS = TOBCD L1
    }
    }
    }
    Var 0016, name SPDDisplay
    {
    CALL &OutIAS
    }
    Var 0017, name IASMACH
    {
    CALL &OutIAS
    }
    Var 0006, name MCP_HDG, static
    {
    CALL &DecBCD3, &MCP_HDG
    &D_HDG0 = &Digit0
    &D_HDG1 = &Digit1
    &D_HDG2 = &Digit2
    }
    Var 0019, name RO_HDG, Link IOCARD_ENCODER, Input 15, Aceleration 4, Type 1
    {
    L0 = TESTBIT &MCP_HDG ,24
    IF L0 = 0 // not blank or lights test so a valid Head
    {
    L0 = &RO_HDG * -1 // turning right should be plus
    L1 = FROMBCD &MCP_HDG
    L1 = ROTATE 0 ,359 ,L0
    &MCP_HDG = TOBCD L1
    }
    }
    Var 0020, name D_HDG0, Link IOCARD_DISPLAY, Digit 6, Numbers 1
    Var 0021, name D_HDG1, Link IOCARD_DISPLAY, Digit 7, Numbers 1
    Var 0022, name D_HDG2, Link IOCARD_DISPLAY, Digit 8, Numbers 1
    Var 0007, name MCP_ALT, static
    {
    CALL &DecBCD3, &MCP_ALT
    IF &Digit0 = -999999
    {
    &D_ALT0 = -999999
    &D_ALT1 = -999999
    &D_ALT2 = -999999
    &D_ALT3 = -999999
    &D_ALT4 = -999999
    }
    ELSE
    {
    IF &Digit2 = 8
    {
    &D_ALT0 = 8
    &D_ALT1 = 8
    &D_ALT2 = 8
    &D_ALT3 = 8
    &D_ALT4 = 8
    }
    ELSE
    {
    &D_ALT0 = 0
    &D_ALT1 = 0
    &D_ALT2 = &Digit0
    IF &Digit2 = 0
    {
    &D_ALT4 = -999999
    IF &Digit1 = 0
    {
    &D_ALT3 = -999999
    }
    ELSE
    {
    &D_ALT3 = &Digit1
    }
    }
    ELSE
    {
    &D_ALT3 = &Digit1
    &D_ALT4 = &Digit2
    }
    }
    }
    }
    Var 0024, name RO_ALT, Link IOCARD_ENCODER, Input 9, Aceleration 4, Type 1
    {
    L0 = TESTBIT &MCP_ALT ,24
    IF L0 = 0 // not blank or lights test so a valid Alti
    {
    L0 = &RO_ALT * -1 // turning right should be plus
    L1 = FROMBCD &MCP_ALT
    L1 = LIMIT 0 ,640 ,L0
    &MCP_ALT = TOBCD L1
    }
    }
    Var 0025, name D_ALT0, Link IOCARD_DISPLAY, Digit 9, Numbers 1
    Var 0026, name D_ALT1, Link IOCARD_DISPLAY, Digit 10, Numbers 1
    Var 0027, name D_ALT2, Link IOCARD_DISPLAY, Digit 11, Numbers 1
    Var 0028, name D_ALT3, Link IOCARD_DISPLAY, Digit 12, Numbers 1
    Var 0029, name D_ALT4, Link IOCARD_DISPLAY, Digit 13, Numbers 1
    Var 0298, static
    {
    L0 = V0298 // read/write VS from/to level-D panel
    L1 = DIV L0 ,100 // block a new value coming from the rotary
    IF &VS <> L1
    {
    &VS = L1 // new value coming from panel
    }
    }
    Var 0030, name RO_VS, Link IOCARD_ENCODER, Input 18, Aceleration 4, Type 1
    {
    IF &VSActive = 1 // Respond only when in VS mode ...
    {
    L0 = &RO_VS * 1 // turning right should be plus
    &VS = LIMIT -99 ,99 ,L0
    L1 = &VS * 100
    V0298 = L1 // to panel
    }
    }
    Var 0031, name VS
    {
    CALL &OutVS
    }
    Var 0032, name VSActive
    {
    CALL &OutVS
    }
    Var 0033, name OutVS, Link SUBRUTINE
    {
    IF &ColdAndDark = 1
    {
    &D_VSS = 0 // blank
    &D_VS0 = -999999 // blank
    &D_VS = -999999
    }
    ELSE
    {
    IF &TestMIP = 1
    {
    &D_VSS = 8
    &D_VS0 = 8
    &D_VS = 888
    }
    ELSE
    {
    IF &VSActive = 0
    {
    &D_VSS = 0 // blank
    &D_VS0 = -999999 // blank
    &D_VS = -999999
    }
    ELSE
    {
    L0 = &VS
    IF &VS < 0
    {
    &D_VSS = 8 // -
    L0 = L0 * -1
    }
    ELSE
    {
    &D_VSS = 0 // blank
    }
    L0 = L0 * 100
    IF L0 >= 1000
    {
    &D_VS0 = DIV L0 ,1000
    &D_VS = MOD L0 ,1000
    }
    ELSE
    {
    &D_VS0 = -999999 // blank
    &D_VS = L0
    }
    }
    }
    }
    }
    Var 0034, name D_VS, Link IOCARD_DISPLAY, Digit 14, Numbers 3
    Var 0035, name D_VS0, Link IOCARD_DISPLAY, Digit 17, Numbers 1
    Var 0036, name D_VSS, Link IOCARD_OUT, Output 30
    Var 0742, name MCP_leds, static
    {
    &O_CMDLLed = TESTBIT &MCP_leds ,0
    &O_CMDCLed = TESTBIT &MCP_leds ,1
    &O_CMDRLed = TESTBIT &MCP_leds ,2
    &O_LNAVLed = TESTBIT &MCP_leds ,6
    &O_VNAVLed = TESTBIT &MCP_leds ,7
    &O_FLCHLed = TESTBIT &MCP_leds ,8
    &O_HDGHLDLed = TESTBIT &MCP_leds ,9
    &O_VSLed = TESTBIT &MCP_leds ,10
    &O_ALTHLDLed = TESTBIT &MCP_leds ,11
    &O_LOCLed = TESTBIT &MCP_leds ,12
    &O_APPLed = TESTBIT &MCP_leds ,13
    &O_BCRSLed = TESTBIT &MCP_leds ,14
    &O_N1Led = TESTBIT &MCP_leds ,15
    &O_SPDLed = TESTBIT &MCP_leds ,16
    &O_ATLed = TESTBIT &MCP_leds ,17 // needed in 737 MCP used as 767 MCP
    &IASMACH = TESTBIT &MCP_leds ,3
    &SPDDisplay = TESTBIT &MCP_leds ,4
    &VSActive = TESTBIT &MCP_leds ,10
    }
    Var 0037, name O_N1Led, Link IOCARD_OUT, Output 11
    Var 0038, name O_SPDLed, Link IOCARD_OUT, Output 12
    Var 0039, name O_LNAVLed, Link IOCARD_OUT, Output 18
    Var 0040, name O_VNAVLed, Link IOCARD_OUT, Output 13
    Var 0041, name O_FLCHLed, Link IOCARD_OUT, Output 14
    Var 0042, name O_HDGHLDLed, Link IOCARD_OUT, Output 15
    Var 0043, name O_VSLed, Link IOCARD_OUT, Output 20
    Var 0044, name O_ALTHLDLed, Link IOCARD_OUT, Output 19
    Var 0045, name O_BCRSLed, Link IOCARD_OUT, Output 21
    Var 0046, name O_LOCLed, Link IOCARD_OUT, Output 17
    Var 0047, name O_APPLed, Link IOCARD_OUT, Output 16
    Var 0048, name O_CMDLLed, Link IOCARD_OUT, Output 22
    Var 0049, name O_CMDCLed, Link IOCARD_OUT, Output 23
    Var 0050, name O_CMDRLed, Link IOCARD_OUT, Output 24
    Var 0051, name O_ATLed, Link IOCARD_OUT, Output 26
    Var 0292, static, Link IOCARD_SW, Input 39, Type I // AT_ARM_SW
    Var 0293, static, Link IOCARD_SW, Input 37, Type I // DISENGAGE_BAR
    Var 0294, static, Link IOCARD_SW, Input 51, Type I // FD_SW_L
    Var 0295, static, Link IOCARD_SW, Input 45, Type I // FD_SW_R
    Var 0275, static, Link IOCARD_SW, Input 36, Type P // CMD_A_SW
    Var 0276, static, Link IOCARD_SW, Input 43, Type P // CMD_B_SW
    Var 0277, static, Link IOCARD_SW, Input 44, Type P // CWS_B_SW
    Var 0278, static, Link IOCARD_SW, Input 50, Type P // IAS Mach
    Var 0280, static, Link IOCARD_SW, Input 32, Type P // N1_SW
    Var 0282, static, Link IOCARD_SW, Input 19, Type P // t_ALT_HLD_SW
    Var 0285, static, Link IOCARD_SW, Input 31, Type P // LNAV_SW
    Var 0286, static, Link IOCARD_SW, Input 27, Type P // VNAV_SW
    Var 0287, static, Link IOCARD_SW, Input 34, Type P // LVL_CHG_SW
    Var 0289, static, Link IOCARD_SW, Input 30, Type P // VOR_LOC_SW
    Var 0290, static, Link IOCARD_SW, Input 28, Type P // APP_SW
    Var 0291, static, Link IOCARD_SW, Input 41, Type P // VS_SW
    Var 0999, static
    {
    CALL &OutVS
    }
    Var 0279, name SpdIntBut, static // emulated type P button
    Var 0281, name SpdBut, static // emulated Type P button
    Var 0283, name HdgHldBut, static // emulated type P button
    Var 0284, name HDGSelBut, static // emulated type P button
    Var 0288, name BCRSBut, static // emulated Type P button
    Var 0052, name Button_0, Link IOCARD_SW, Input 35, Type I // = OC HDG SEL button
    {
    IF &Button_0 = 1
    {
    IF &SButton_0 = 0
    {
    &SButton_0 = 1
    &Double_0 = 0
    &SButton_0 = DELAY 3 ,70
    }
    ELSE
    {
    IF &SButton_0 = 1
    {
    &SButton_0 = 2
    }
    }
    }
    ELSE
    {
    IF &SButton_0 = 2
    {
    &Double_0 = 1
    &HdgHldBut = CHANGEBITN 0 ,&HdgHldBut // DOUBLE CLICKED: HDG HLD
    }
    }
    }
    Var 0053, name Double_0
    Var 0054, name SButton_0 // state of Button_0
    {
    IF &SButton_0 = 3
    {
    &SButton_0 = 0 // reset
    IF &Double_0 <> 1
    {
    &HDGSelBut = CHANGEBITN 0 ,&HDGSelBut // SINGLE CLICKED: HDG SEL
    }
    }
    }
    Var 0055, name Button_1, Link IOCARD_SW, Input 33, Type I // = OC SPD Button
    {
    IF &Button_1 = 1
    {
    IF &SButton_1 = 0
    {
    &SButton_1 = 1
    &Double_1 = 0
    &SButton_1 = DELAY 3 ,70
    }
    ELSE
    {
    IF &SButton_1 = 1
    {
    &SButton_1 = 2
    }
    }
    }
    ELSE
    {
    IF &SButton_1 = 2
    {
    &Double_1 = 1
    &SpdIntBut = CHANGEBITN 0 ,&SpdIntBut // DOUBLE CLICKED: SPD Intervention
    }
    }
    }
    Var 0056, name Double_1
    Var 0057, name SButton_1 // state of Button_1
    {
    IF &SButton_1 = 3
    {
    &SButton_1 = 0 // reset
    IF &Double_1 <> 1
    {
    &SpdBut = CHANGEBITN 0 ,&SpdBut // SINGLE CLICKED: SPD
    }
    }
    }
    Var 0058, name Button_2, Link IOCARD_SW, Input 42, Type I // = OC CWS A
    {
    IF &Button_2 = 1
    {
    IF &SButton_2 = 0
    {
    &SButton_2 = 1
    &Double_2 = 0
    &SButton_2 = DELAY 3 ,70
    }
    ELSE
    {
    IF &SButton_2 = 1
    {
    &SButton_2 = 2
    }
    }
    }
    ELSE
    {
    IF &SButton_2 = 2
    {
    &Double_2 = 1
    &TestMIP = CHANGEBITN 0 ,&TestMIP // DOUBLE CLICKED: Lights test
    }
    }
    }
    Var 0059, name Double_2
    Var 0060, name SButton_2 // state of Button_2
    {
    IF &SButton_2 = 3
    {
    &SButton_2 = 0 // reset
    IF &Double_2 <> 1
    {
    &BCRSBut = CHANGEBITN 0 ,&BCRSBut // Single CLICKED: BCRS
    }
    }
    }
    Var 0061, name OutIAS, Link SUBRUTINE
    {
    L0 = TESTBIT &MCP_IAS ,24
    C0 = L0 = 0
    C1 = &SPDDisplay = 0
    IF C0 AND C1 // not active but not a lights test possibi
    {
    &D_IAS0 = -999999 // blank
    &D_IAS1 = -999999 // blank
    &D_IAS2 = -999999
    &O_MACHDP = 0
    }
    ELSE
    {
    L0 = &MCP_IAS
    C1 = &IASMACH = 1
    IF C0 AND C1
    {
    L0 = DIV L0 ,16 // shift one digit right to display 0.82 an
    &O_MACHDP = 1
    }
    ELSE
    {
    &O_MACHDP = 0
    }
    CALL &DecBCD3
    &D_IAS0 = &Digit0
    &D_IAS1 = &Digit1
    &D_IAS2 = &Digit2
    }
    }
    Var 0062, name D_IAS0, Link IOCARD_DISPLAY, Digit 3, Numbers 1
    Var 0063, name D_IAS1, Link IOCARD_DISPLAY, Digit 4, Numbers 1
    Var 0064, name D_IAS2, Link IOCARD_DISPLAY, Digit 5, Numbers 1
    Var 0065, name O_MACHDP, Link IOCARD_OUT, Output 29
    Var 0580, name TestMIP, static // emulated
    Var 0002, name VOR1_CRS, static
    {
    CALL &DecBCD3, &VOR1_CRS
    &D_VOR1Cr0 = &Digit0
    &D_VOR1Cr1 = &Digit1
    &D_VOR1Cr2 = &Digit2
    }
    Var 0067, name RO_VOR1CRS, Link IOCARD_ENCODER, Input 6, Aceleration 4, Type 1
    {
    L0 = TESTBIT &VOR1_CRS ,24
    IF L0 = 0 // not blank or lights test so a valid cour
    {
    L0 = &RO_VOR1CRS // * -1
    L1 = FROMBCD &VOR1_CRS
    L1 = ROTATE 0 ,359 ,L0
    &VOR1_CRS = TOBCD L1
    }
    }
    Var 0068, name D_VOR1Cr0, Link IOCARD_DISPLAY, Digit 0, Numbers 1
    Var 0069, name D_VOR1Cr1, Link IOCARD_DISPLAY, Digit 1, Numbers 1
    Var 0070, name D_VOR1Cr2, Link IOCARD_DISPLAY, Digit 2, Numbers 1
    Var 0004, name VOR2_CRS, static
    {
    CALL &DecBCD3, &VOR2_CRS
    &D_VOR2Cr0 = &Digit0
    &D_VOR2Cr1 = &Digit1
    &D_VOR2Cr2 = &Digit2
    }
    Var 0072, name RO_VOR2CRS, Link IOCARD_ENCODER,Input 0, Aceleration 4, Type 1
    {
    L0 = TESTBIT &VOR2_CRS ,24
    IF L0 = 0 // not blank or lights test so a valid cour
    {
    L0 = &RO_VOR2CRS // * -1
    L1 = FROMBCD &VOR2_CRS
    L1 = ROTATE 0 ,359 ,L0
    &VOR2_CRS = TOBCD L1
    }
    }
    Var 0073, name D_VOR2Cr0, Link IOCARD_DISPLAY, Digit 19, Numbers 1
    Var 0074, name D_VOR2Cr1, Link IOCARD_DISPLAY, Digit 20, Numbers 1
    Var 0075, name D_VOR2Cr2, Link IOCARD_DISPLAY, Digit 21, Numbers 1
    Var 0782, static
    {
    &ColdAndDark = TESTBIT V0782 ,0
    &LeftBusOff = TESTBIT V0782 ,1
    &RightBusOff = TESTBIT V0782 ,2
    &StandbyACOff = TESTBIT V0782 ,3
    &StandbyDCOff = TESTBIT V0782 ,4
    &BatteryOff = TESTBIT V0782 ,5
    &BatteryHotOff = TESTBIT V0782 ,6
    }
    Var 0076, name ColdAndDark
    Var 0077, name LeftBusOff
    Var 0078, name RightBusOff
    Var 0079, name StandbyACOff
    Var 0080, name StandbyDCOff
    Var 0081, name BatteryOff
    Var 0082, name BatteryHotOff

  3. #3
    2000+ Poster - Never Leaves the Sim kiek's Avatar
    Join Date
    Jan 2007
    Location
    Netherlands
    Posts
    2,202
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: Need your help----The IAS/SPD window cannot display correct value

    Hi Quang,

    In the OutIAS subroutine change
    Code:
    CALL &DecBCD3
    into
    Code:
    CALL &DecBCD3 L0
    This bug is either caused by generating a .txt from a .ssi or you removed it by accident.

    I recommend never to generate .txt from .ssi. Always use my SIOC scripts, adapt these when needed, and then recompile to a .ssi with config_sioc.exe

    Enjoy your MCP!

    best regards,
    Nico