// *****************************************************************************
// * Config_SIOC ver 4.00   -     By Manuel Velez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : Andrew.txt
// * Date : 09/10/2011
// *
// * Raymond DESACHY France



Var 0010, name Command, Link FSUIPC_OUT, Offset $7370, Length 1

Var 0011, name Value, Link FSUIPC_OUT, Offset $7371, Length 2

Var 0012, name Read_Altitude, Link FSUIPC_IN, Offset $7374, Length 2

Var 0013, name State_Led_1, Link FSUIPC_IN, Offset $7376, Length 2
{
  &Led_AT_ARM = TESTBIT &State_Led_1 ,2
  &Led_N1 = TESTBIT &State_Led_1 ,3
  &Led_SPEED = TESTBIT &State_Led_1 ,4
  &Led_VNAV = TESTBIT &State_Led_1 ,5
  &Led_LVL_CHG = TESTBIT &State_Led_1 ,6
  &Led_HDG = TESTBIT &State_Led_1 ,7
  &Led_LNAV = TESTBIT &State_Led_1 ,8
  &Led_VOR_LOC = TESTBIT &State_Led_1 ,9
  &Led_APP = TESTBIT &State_Led_1 ,10
  &Led_ALT_HLD = TESTBIT &State_Led_1 ,11
  &Led_VSI = TESTBIT &State_Led_1 ,12
  &Led_CMD_A = TESTBIT &State_Led_1 ,13
  &VSI_State = TESTBIT &State_Led_1 ,14
  &LED_DP_MCH = TESTBIT &State_Led_1 ,15
  &Mode_MCH = &LED_DP_MCH    
}

Var 0014, name State_LED_2, Link FSUIPC_IN, Offset $7378, Length 2
{
  &LED_CMD_B = TESTBIT &State_LED_2 ,0
  &LED_CDU_EXEC = TESTBIT &State_LED_2 ,1
}

Var 0015, name Read_HDG, Link FSUIPC_IN, Offset $07CC, Length 2
{
  &HDG = &Read_HDG * 0.005493164
}

Var 0016, name Write_HDG, Link FSUIPC_OUT, Offset $07CC, Length 2

Var 0017, name AP_IAS, Link FSUIPC_INOUT, Offset $07E2, Length 2

Var 0018, name Write_CRS_Left, Link FSUIPC_OUT, Offset $0C4E, Length 2

Var 0050, name SW_FD_Left, Link IOCARD_SW, Input 31, Type I
{
  &Command = 0    
  &Command = DELAY 10 ,5
}

Var 0051, name SW_AT, Link IOCARD_SW, Input 30, Type I
{
  &Command = 0    
  &Command = DELAY 11 ,5
}

Var 0052, name SW_N1, Link IOCARD_SW, Input 27, Type P
{
  &Command = 0    
  &Command = DELAY 12 ,5
}

Var 0053, name SW_SPEED, Link IOCARD_SW, Input 28, Type P
{
  &Command = 0    
  &Command = DELAY 13 ,5
}

Var 0054, name SW_VNAV, Link IOCARD_SW, Input 4, Type P
{
  &Command = 0    
  &Command = DELAY 14 ,5
}

Var 0055, name SW_LVL_CHG, Link IOCARD_SW, Input 5, Type P
{
  &Command = 0    
  &Command = DELAY 15 ,5
}

Var 0056, name SW_HDG_SEL, Link IOCARD_SW, Input 26, Type P
{
  &Command = 0    
  &Command = DELAY 16 ,5
}

Var 0057, name SW_LNAV, Link IOCARD_SW, Input 3, Type P
{
  &Command = 0    
  &Command = DELAY 17 ,5
}

Var 0058, name SW_VOR_LOC, Link IOCARD_SW, Input 13, Type P
{
  &Command = 0    
  &Command = DELAY 18 ,5
}

Var 0059, name SW_APP, Link IOCARD_SW, Input 12, Type P
{
  &Command = 0    
  &Command = DELAY 19 ,5
}

Var 0060, name SW_ALT_HLD, Link IOCARD_SW, Input 6, Type P
{
  &Command = 0    
  &Command = DELAY 20 ,5
}

Var 0061, name SW_VS, Link IOCARD_SW, Input 17, Type P
{
  &Command = 0    
  &Command = DELAY 21 ,5
}

Var 0062, name SW_CMD_A, Link IOCARD_SW, Input 11, Type P
{
  &Command = 0    
  &Command = DELAY 22 ,5
}

Var 0063, name SW_IAS_MCH, Link IOCARD_SW, Input 29, Type P
{
  &Command = 0    
  &Command = DELAY 23 ,5
}

Var 0064, name SW_TOGA_Mode1

Var 0065, name SW_TOGA_Mode2

Var 0066, name SW_CMD_B, Link IOCARD_SW, Input 10, Type P
{
  &Command = 0    
  &Command = DELAY 26 ,5
}

Var 0067, name SW_WXR

Var 0068, name SW_STA, Link IOCARD_SW, Input 59, Type P
{
  &Command = 0    
  &Command = DELAY 31 ,5
}

Var 0069, name SW_WPT, Link IOCARD_SW, Input 62, Type P
{
  &Command = 0    
  &Command = DELAY 32 ,5
}

Var 0070, name SW_ARPT, Link IOCARD_SW, Input 60, Type P
{
  &Command = 0    
  &Command = DELAY 33 ,5
}

Var 0071, name SW_DATA, Link IOCARD_SW, Input 61, Type P
{
  &Command = 0    
  &Command = DELAY 34 ,5
}

Var 0072, name SW_POS

Var 0073, name SW_TERR

Var 0074, name SW_Off_Left

Var 0075, name SW_ADF_Left, Link IOCARD_SW, Input 58, Type I
{
  IF &SW_ADF_Left = 1
  {
    &Command = 38    
  }
}

Var 0076, name SW_VOR_Left, Link IOCARD_SW, Input 57, Type I
{
  IF &SW_VOR_Left = 1
  {
    &Command = 39    
  }
}

Var 0077, name SW_Off_Right

Var 0078, name SW_ADF_Right

Var 0079, name SW_VOR_Right

Var 0080, name RO_Mode_APP, Link IOCARD_SW, Input 49, Type I
{
  IF &RO_Mode_APP = 1
  {
    &Command = 43    
  }
}

Var 0081, name RO_Mode_VOR, Link IOCARD_SW, Input 51, Type I
{
  IF &RO_Mode_VOR = 1
  {
    &Command = 44    
  }
}

Var 0082, name RO_Mode_MAP, Link IOCARD_SW, Input 50, Type I
{
  IF &RO_Mode_MAP = 1
  {
    &Command = 45    
  }
}

Var 0083, name RO_Mode_PLAN, Link IOCARD_SW, Input 48, Type I
{
  IF &RO_Mode_PLAN = 1
  {
    &Command = 46    
  }
}

Var 0084, name RO_Range5

Var 0085, name RO_Range10, Link IOCARD_SW, Input 71, Type I
{
  IF &RO_Range10 = 1
  {
    &Command = 48    
  }
}

Var 0086, name RO_Range20, Link IOCARD_SW, Input 70, Type I
{
  IF &RO_Range20 = 1
  {
    &Command = 49    
  }
}

Var 0087, name RO_Range40, Link IOCARD_SW, Input 69, Type I
{
  IF &RO_Range40 = 1
  {
    &Command = 50    
  }
}

Var 0088, name RO_Range80, Link IOCARD_SW, Input 68, Type I
{
  IF &RO_Range80 = 1
  {
    &Command = 51    
  }
}

Var 0089, name RO_Range160, Link IOCARD_SW, Input 67, Type I
{
  IF &RO_Range160 = 1
  {
    &Command = 52    
  }
}

Var 0090, name RO_Range320, Link IOCARD_SW, Input 66, Type I
{
  IF &RO_Range320 = 1
  {
    &Command = 53    
  }
}

Var 0091, name RO_Range640

Var 0092, name SW_STD_Baro, Link IOCARD_SW, Input 56, Type P
{
  &Command = 0    
  &Command = DELAY 55 ,5
}

Var 0093, name SW_DH_Reset

Var 0094, name SW_DH_Mini

Var 0095, name SW_TRAFFIC

Var 0096, name SW_LSK_1L

Var 0097, name SW_LSK_2L

Var 0098, name SW_LSK_3L

Var 0099, name SW_LSK_4L

Var 0100, name SW_LSK_5L

Var 0101, name SW_LSK_6L

Var 0102, name SW_LSK_1R

Var 0103, name SW_LSK_2R

Var 0104, name SW_LSK_3R

Var 0105, name SW_LSK_4R

Var 0106, name SW_LSK_5R

Var 0107, name SW_LSK_6R

Var 0108, name SW_Space

Var 0109, name SW_33

Var 0110, name SW_34

Var 0111, name SW_35

Var 0112, name SW_36

Var 0113, name SW_37

Var 0114, name SW_38

Var 0115, name SW_39

Var 0116, name SW_40

Var 0117, name SW_41

Var 0118, name SW_42

Var 0119, name SW_43

Var 0120, name SW_44

Var 0121, name SW_45

Var 0122, name SW_46

Var 0123, name SW_47

Var 0124, name SW_48

Var 0125, name SW_49

Var 0126, name SW_50

Var 0127, name SW_51

Var 0128, name SW_52

Var 0129, name SW_53

Var 0130, name SW_54

Var 0131, name SW_55

Var 0132, name SW_56

Var 0133, name SW_57

Var 0134, name SW_58

Var 0135, name SW_59

Var 0136, name SW_60

Var 0137, name SW_61

Var 0138, name SW_62

Var 0139, name SW_63

Var 0140, name SW_64

Var 0141, name SW_65

Var 0142, name SW_66

Var 0143, name SW_67

Var 0144, name SW_68

Var 0145, name SW_69

Var 0146, name SW_70

Var 0147, name SW_71

Var 0148, name SW_72

Var 0149, name SW_73

Var 0150, name SW_74

Var 0151, name SW_75

Var 0152, name SW_76

Var 0153, name SW_77

Var 0154, name SW_78

Var 0155, name SW_79

Var 0156, name SW_80

Var 0157, name SW_81

Var 0158, name SW_82

Var 0159, name SW_83

Var 0160, name SW_84

Var 0161, name SW_85

Var 0162, name SW_86

Var 0163, name SW_87

Var 0164, name SW_88

Var 0165, name SW_89

Var 0166, name SW_90

Var 0167, name SW_Plus_Minus

Var 0168, name SW_CLR

Var 0169, name SW_DEL

Var 0170, name SW_INITREF

Var 0171, name SW_RTE

Var 0172, name SW_CLB

Var 0173, name SW_CRZ

Var 0174, name SW_DES

Var 0175, name SW_MENU

Var 0176, name SW_LEGS

Var 0177, name SW_DEPAR

Var 0178, name SW_HOLD

Var 0179, name SW_PROG

Var 0180, name SW_N1_LIMIT

Var 0181, name SW_FIX

Var 0182, name SW_PREV_PAGE

Var 0183, name SW_NEXT_PAGE

Var 0184, name SW_CDU_EXE, Link IOCARD_SW, Input 2, Type P
{
  &Command = 0    
  &Value = 0    
  &Command = 250    
  &Value = 214    
}

Var 0200, name Led_AT_ARM, Link IOCARD_OUT, Output 39

Var 0201, name Led_N1, Link IOCARD_OUT, Output 36

Var 0202, name Led_SPEED, Link IOCARD_OUT, Output 35

Var 0203, name Led_VNAV, Link IOCARD_OUT, Output 33
{
  &Speed_Blank = &Led_VNAV    
  CALL &OUT_SPEED
}

Var 0204, name Led_LVL_CHG, Link IOCARD_OUT, Output 32
{
  IF &Led_LVL_CHG = 1
  {
    &VSI_Display = 0    
  }
}

Var 0205, name Led_HDG, Link IOCARD_OUT, Output 31

Var 0206, name Led_LNAV, Link IOCARD_OUT, Output 34

Var 0207, name Led_VOR_LOC, Link IOCARD_OUT, Output 27

Var 0208, name Led_APP, Link IOCARD_OUT, Output 26

Var 0209, name Led_ALT_HLD, Link IOCARD_OUT, Output 29

Var 0210, name Led_VSI, Link IOCARD_OUT, Output 30
{
  &VSI_Display = &Led_VSI    
}

Var 0211, name Led_CMD_A, Link IOCARD_OUT, Output 25

Var 0212, name LED_DP_MCH, Link IOCARD_OUT, Output 48

Var 0213, name LED_CMD_B, Link IOCARD_OUT, Output 24

Var 0214, name LED_CDU_EXEC, Link IOCARD_OUT, Output 37

Var 0250, name D_HDG, Link IOCARD_DISPLAY, Digit 3, Numbers 3

Var 0251, name D_SPEED, Link IOCARD_DISPLAY, Digit 0, Numbers 3

Var 0252, name D_ALTI, Link IOCARD_DISPLAY, Digit 11, Numbers 5

Var 0253, name D_VSI, Link IOCARD_DISPLAY, Digit 6, Numbers 5

Var 0254, name D_CRS_Left, Link IOCARD_DISPLAY, Digit 21, Numbers 3

Var 0255, name D_CRS_Right

Var 0260, name E_HDG, Link IOCARD_ENCODER, Input 20, Aceleration 4, Type 2
{
  &HDG = ROTATE 1 ,360 ,&E_HDG
  L0 = &HDG * 65536
  &Write_HDG = L0 / 360
}

Var 0261, name E_CRS_Left, Link IOCARD_ENCODER, Input 32, Aceleration 2, Type 2
{
  L0 = &E_CRS_Left    
  &CRS_Left = ROTATE 1 ,360 ,L0
}

Var 0262, name E_ALTITUDE, Link IOCARD_ENCODER, Input 15, Aceleration 2, Type 2
{
  L0 = &E_ALTITUDE    
  &ALTITUDE = LIMIT 0 ,500 ,L0
}

Var 0263, name E_VSI, Link IOCARD_ENCODER, Input 18, Aceleration 2, Type 2
{
  L0 = &E_VSI    
  &VSI = LIMIT -79 ,60 ,L0
}

Var 0264, name E_IAS, Link IOCARD_ENCODER, Input 23, Aceleration 2, Type 2
{
  L0 = &E_IAS    
  &SPEED = LIMIT 100 ,400 ,L0
}

Var 0266, name E_CRS_Right

Var 0300, name CRS_Left, Value 340
{
  &Write_CRS_Left = &CRS_Left    
  &D_CRS_Left = &CRS_Left    
}

Var 0301, name HDG, Value 0
{
  &D_HDG = &HDG    
}

Var 0302, name SPEED, Value 100
{
  CALL &OUT_SPEED
}

Var 0303, name ALTITUDE, Value 0
{
  &Command = 0    
  &Command = 1    
  &Value = &ALTITUDE    
  &D_ALTI = &Value * 100
}

Var 0304, name VSI
{
  IF &VSI_State = 0
  {
    &Command = 0    
    &Command = 2    
    &Value = 0    
    &VSI = 0    
  }
  ELSE
  {
    &Command = 0    
    &Command = 2    
    &Value = &VSI    
    &D_VSI = &VSI * 100
  }
}

Var 0305, name VSI_State, Value 0

Var 0306, name VSI_Display
{
  IF &VSI_Display = 0
  {
    &VSI = 0    
    &D_VSI = -999999    
  }
  ELSE
  {
    &D_VSI = &VSI * 100
  }
}

Var 0307, name Speed_Blank

Var 0308, name Mode_MCH

Var 0350, name OUT_SPEED, Link SUBRUTINE
{
  IF &Speed_Blank = 1
  {
    &D_SPEED = -999999    
    &LED_DP_MCH = 0    
  }
  ELSE
  {
    &D_SPEED = &SPEED    
    &AP_IAS = &SPEED    
  }
}
