// ***************************************************************************** // * Config_SIOC ver 3.7B1 - By Manolo Vélez - www.opencockpits.com // ***************************************************************************** // * FileName : XPNDR_Xplane.txt // * Date : 23/03/2010 // * // * -Includes X-IVAP // * -Test when IDENT is pushed (delays a few seconds to restart) // * -Led Fail blinks when receives signal (random blink) // * // ***************************************************************************** Var 0000, Value 0 { &D_ACTIVE = 1200 &DIG_POS_STATUS = 1 &DIS_ATC = 1 &D_FAIL = -999999 &IVAP_SB_MODE = 0 &DIS_1 = 1 &LED_FAIL_RAND = TIMER 999 ,0 ,15 } Var 0002, name XPNDR_BRIGHT, Link IOCP, Offset 815 Var 0004, name XPNDR_LIGHT, Link IOCP, Offset 814 Var 0006, name FS_XPDER_ID, Link IOCP, Offset 3401 Var 0008, name IVAP_SB_MODE, Link IOCP, Offset 816 Var 0010, name IVAP_SB_IDENT, Link IOCP, Offset 813 Var 0012, name XPDER_FAIL, Link IOCP, Offset 2494 { IF &XPDER_FAIL = 1 { &D_FAIL = -999997 &LED_FAIL = 1 } ELSE { &D_FAIL = -999999 &LED_FAIL = 0 } } Var 0100, name OLD_CODE Var 0102, name DIG_POS_STATUS Var 0104, name DIG_1_SUB, Value 0 { CALL &DIGITS_SUB } Var 0106, name DIG_2_SUB, Value 0 { CALL &DIGITS_SUB } Var 0108, name DIG_3_SUB, Value 2 { CALL &DIGITS_SUB } Var 0110, name DIG_4_SUB, Value 1 { CALL &DIGITS_SUB } Var 0112, name TIMER { &IVAP_SB_IDENT = 0 &D_ACTIVE = &OLD_CODE &D_FAIL = -999999 &TIMER = 0 &LED_FAIL_RAND = 0 CALL &LED_FAIL_RAND &LED_FAIL_RAND = TIMER 999 ,0 ,15 } Var 0200, name D_ACTIVE, Link IOCARD_DISPLAY, Device 2, Digit 0, Numbers 4 Var 0202, name D_FAIL, Link IOCARD_DISPLAY, Device 2, Digit 4, Numbers 1 Var 0204, name D_BRIGHT, Link IOCARD_DISPLAY, Device 2, Digit 16, Numbers 3 Var 0300, name DIS_ATC, Link IOCARD_OUT, Device 2, Output 20 Var 0302, name DIS_1, Link IOCARD_OUT, Device 2, Output 21 Var 0304, name DIS_2, Link IOCARD_OUT, Device 2, Output 22 Var 0306, name LED_FAIL, Link IOCARD_OUT, Device 2, Output 23 Var 0400, name E_LEFT, Link IOCARD_ENCODER, Device 2, Input 5, Aceleration 1, Type 2 { L0 = &E_LEFT * 1 &DIG_POS_STATUS = ROTATE 1 ,4 ,L0 } Var 0403, name E_RIGHT, Link IOCARD_ENCODER, Device 2, Input 10, Aceleration 1, Type 2 { IF &DIG_POS_STATUS = 1 { L0 = &E_RIGHT * -1 &DIG_1_SUB = ROTATE 0 ,7 ,L0 } IF &DIG_POS_STATUS = 2 { L0 = &E_RIGHT * -1 &DIG_2_SUB = ROTATE 0 ,7 ,L0 } IF &DIG_POS_STATUS = 3 { L0 = &E_RIGHT * -1 &DIG_3_SUB = ROTATE 0 ,7 ,L0 } IF &DIG_POS_STATUS = 4 { L0 = &E_RIGHT * -1 &DIG_4_SUB = ROTATE 0 ,7 ,L0 } } Var 0500, name I_IDENT, Link IOCARD_SW, Device 2, Input 12 { IF &I_IDENT = 1 { &LED_FAIL_RAND = 999 &LED_FAIL = 1 &OLD_CODE = &D_ACTIVE &IVAP_SB_IDENT = 1 &D_ACTIVE = 8888 &D_FAIL = -999997 &TIMER = TIMER 0 ,1 ,2400 } } Var 0502, name I_XPNDR, Link IOCARD_SW, Device 2, Input 7 { IF &I_XPNDR = 1 { &DIS_1 = 0 &DIS_2 = 1 } ELSE { &DIS_1 = 1 &DIS_2 = 0 } } Var 0504, name STANDBY, Link IOCARD_SW, Device 2, Input 0 { IF &STANDBY = 1 { &IVAP_SB_MODE = 1 &LED_FAIL = 1 } } Var 0506, name I_R_ALT, Link IOCARD_SW, Device 2, Input 1 Var 0508, name I_R_XPN, Link IOCARD_SW, Device 2, Input 2 { IF &I_R_XPN = 1 { &IVAP_SB_MODE = 0 } } Var 0510, name I_R_TAO, Link IOCARD_SW, Device 2, Input 3 { IF &I_R_TAO = 1 { &IVAP_SB_MODE = 0 } } Var 0512, name I_R_TAR, Link IOCARD_SW, Device 2, Input 4 { IF &I_R_TAR = 1 { &IVAP_SB_MODE = 0 } } Var 0998, name DIGITS_SUB, Link SUBRUTINE { L0 = &DIG_4_SUB * 1000 L1 = &DIG_3_SUB * 100 L0 = L0 + L1 L1 = &DIG_2_SUB * 10 L0 = L0 + L1 L0 = L0 + &DIG_1_SUB &D_ACTIVE = L0 &FS_XPDER_ID = L0 } Var 0999, name LED_FAIL_RAND, Link SUBRUTINE { L0 = RANDOM 0 ,9 IF &I_IDENT = 0 { IF L0 = 1 { &LED_FAIL = 1 } ELSE { &LED_FAIL = 0 } IF L0 = &STANDBY { &LED_FAIL = 0 } } }