// ***************************************************************************** // * Config_SIOC ver 1.98 - By Manolo Vélez - www.opencockpits.com // ***************************************************************************** // * FileName : Comm1_2.txt // * Author Nico Kaan // * Date : 10/11/2007 // * modified by Nico Kaan, April 18th, 2008 // * also incorporates a display test function - KB // //********************************************* //***** COMM 1 ******************************** //********************************************* Var 1000 name Com1_act Var 1002 name FS_C1_SB_BCD Link FSUIPC_INOUT Offset $311A Length 2 // FS COM1 standby frequency in BCD format Var 1003 name FS_C1_ACT_BCD Link FSUIPC_INOUT Offset $034E Length 2 // FS COM1 active frequency in BCD format { &Com1_act = FROMBCD &FS_C1_ACT_BCD CALL &OutCom1_Act CALL &C1_LH_ROT_VAL // Align rotary with new C1 SB integer val CALL &C1_RH_ROT_VAL // Align rotary with new C1 SB decimal val CALL &C1_UPDATE_LHS CALL &C1_UPDATE_RHS CALL &OutCom1_SB } Var 1004 name FS_C1_SWAP Link FSUIPC_OUT Offset $3123 Length 1 // FS COM1 active standby swap Var 1005 name C1_SB_AS_DEC // COM1 standby frequency in decimal format Var 1006 name C1_SB_LHS // COM1 standby frequency integers Var 1007 name C1_SB_RHS // COM1 standby frequency decimals Var 1008 name C1_RHS_ROT_VAL // COM1 right hand rotary encoder ref value Var 1009 name C1_LHS_ROT_VAL // COM1 left hand rotary encoder ref value Var 1010 name ROT_C1_LHS Link IOCARD_ENCODER Input 18 Aceleration 1 Type 2 { L0 = &ROT_C1_LHS * -1 &C1_LHS_ROT_VAL = ROTATE 18 36 L0 CALL &C1_UPDATE_LHS CALL &SET_FS_C1_SB CALL &OutCom1_SB } Var 1011 name ROT_C1_RHS Link IOCARD_ENCODER Input 20 Aceleration 1 Type 2 { L0 = &ROT_C1_RHS * -1 &C1_RHS_ROT_VAL = ROTATE 0 39 L0 CALL &C1_UPDATE_RHS CALL &SET_FS_C1_SB CALL &OutCom1_SB } Var 1012 name SW_C1_SWAP Link IOCARD_SW Input 26 Type 1 // Active/Standby swap button { &FS_C1_SWAP = TOGGLE 3 } Var 1015 name SW_C1_TEST Link IOCARD_SW Input 33 // COMM TEST button sends 8's to Displays { IF &SW_C1_TEST = 1 { &DISP_C1_ACT = 88888 &DISP_C1_SB = 88888 } ELSE { CALL &OutCom1_Act CALL &OutCom1_SB } } Var 1020 name DISP_C1_SB Link IOCARD_DISPLAY Digit 1 Numbers 5 // Standby decimals Var 1021 name DISP_C1_ACT Link IOCARD_DISPLAY Digit 7 Numbers 5 // active display Var 1022 name C1_DP Link IOCARD_OUT Output 15 // Decimal Point Var 1030 name C1_LH_ROT_VAL Link SUBRUTINE // Aligns LH rotary ref with COM1 SB freq { L0 = FROMBCD &FS_C1_SB_BCD L1 = L0 / 100 &C1_LHS_ROT_VAL = TRUNC L1 } Var 1031 name C1_RH_ROT_VAL Link SUBRUTINE // Aligns RH rotary ref with COM1 SB freq { L0 = FROMBCD &FS_C1_SB_BCD L1 = &C1_LHS_ROT_VAL * 100 L2 = L0 - L1 &C1_RHS_ROT_VAL = L2 / 2.487179 } Var 1032 name C1_UPDATE_LHS Link SUBRUTINE // Update COM1 stanby integers { &C1_SB_LHS = &C1_LHS_ROT_VAL } Var 1033 name C1_UPDATE_RHS Link SUBRUTINE // Update COM1 standby decimals { L0 = &C1_RHS_ROT_VAL * 2.5 &C1_SB_RHS = TRUNC L0 } Var 1034 name SET_FS_C1_SB Link SUBRUTINE // Update COM1 standby frequency in FS { L0 = &C1_SB_LHS * 100 L1 = L0 + &C1_SB_RHS &FS_C1_SB_BCD = TOBCD L1 } Var 1040 name OutCom1_Act Link SUBRUTINE { //IF &MAST_SW = 1 // Section for use with a master switch. Not yet implemented //{ L0 = &Com1_act &DISP_C1_ACT = L0 + 10000 } //ELSE //{ //&DISP_C1_ACT = -999999 // blank //} //} Var 1041 name OutCom1_SB Link SUBRUTINE { //IF &MAST_SW = 1 //{ &C1_DP = 1 L0 = &C1_SB_LHS * 100 L1 = L0 + &C1_SB_RHS &DISP_C1_SB = L1 + 10000 } //ELSE //{ //&C1_DP = 0 //&DISP_C1_SB = -999999 // blank //} //} //********************************************* //***** COMM 2 ******************************** //********************************************* Var 1050 name Com2_act Var 1052 name FS_C2_SB_BCD Link FSUIPC_INOUT Offset $311C Length 2 // FS COM2 standby frequency in BCD format Var 1053 name FS_C2_ACT_BCD Link FSUIPC_INOUT Offset $3118 Length 2 // FS COM2 active frequency in BCD format { &Com2_act = FROMBCD &FS_C2_ACT_BCD CALL &OutCom2_Act CALL &C2_LH_ROT_VAL // Align rotary with new C2 SB integer val CALL &C2_RH_ROT_VAL // Align rotary with new C2 SB decimal val CALL &C2_UPDATE_LHS CALL &C2_UPDATE_RHS CALL &OutCom2_SB } Var 1054 name FS_C2_SWAP Link FSUIPC_OUT Offset $3123 Length 1 // FS COM2 active standby swap Var 1055 name C2_SB_AS_DEC // COM2 standby frequency in decimal format Var 1056 name C2_SB_LHS // COM2 standby frequency integers Var 1057 name C2_SB_RHS // COM2 standby frequency decimals Var 1058 name C2_RHS_ROT_VAL // COM2 right hand rotary encoder ref value Var 1059 name C2_LHS_ROT_VAL // COM2 left hand rotary encoder ref value Var 1060 name ROT_C2_LHS Link IOCARD_ENCODER Input 22 Aceleration 1 Type 2 { L0 = &ROT_C2_LHS &C2_LHS_ROT_VAL = ROTATE 18 36 L0 CALL &C2_UPDATE_LHS CALL &SET_FS_C2_SB CALL &OutCom2_SB } Var 1061 name ROT_C2_RHS Link IOCARD_ENCODER Input 24 Aceleration 1 Type 2 { L0 = &ROT_C2_RHS &C2_RHS_ROT_VAL = ROTATE 0 39 L0 CALL &C2_UPDATE_RHS CALL &SET_FS_C2_SB CALL &OutCom2_SB } Var 1062 name SW_C2_SWAP Link IOCARD_SW Input 34 Type 1 { &FS_C2_SWAP = TOGGLE 2 } Var 1065 name SW_C2_TEST Link IOCARD_SW Input 32 // COMM TEST button sends 8's to Displays { IF &SW_C2_TEST = 1 { &DISP_C2_ACT = 88888 &DISP_C2_SB = 88888 } ELSE { CALL &OutCom2_Act CALL &OutCom2_SB } } Var 1070 name DISP_C2_SB Link IOCARD_DISPLAY Digit 17 Numbers 5 // Standby decimals Var 1071 name DISP_C2_ACT Link IOCARD_DISPLAY Digit 23 Numbers 5 // active display Var 1072 name C2_DP Link IOCARD_OUT Output 17 // Decimal Point Var 1080 name C2_LH_ROT_VAL Link SUBRUTINE // Aligns LH rotary ref with COM2 SB freq { L0 = FROMBCD &FS_C2_SB_BCD L1 = L0 / 100 &C2_LHS_ROT_VAL = TRUNC L1 } Var 1081 name C2_RH_ROT_VAL Link SUBRUTINE // Aligns RH rotary ref with COM2 SB freq { L0 = FROMBCD &FS_C2_SB_BCD L1 = &C2_LHS_ROT_VAL * 100 L2 = L0 - L1 &C2_RHS_ROT_VAL = L2 / 2.487179 } Var 1082 name C2_UPDATE_LHS Link SUBRUTINE // Update COM2 stanby integers { &C2_SB_LHS = &C2_LHS_ROT_VAL } Var 1083 name C2_UPDATE_RHS Link SUBRUTINE // Update COM2 standby decimals { L0 = &C2_RHS_ROT_VAL * 2.5 &C2_SB_RHS = TRUNC L0 } Var 1084 name SET_FS_C2_SB Link SUBRUTINE // Update COM2 standby frequency in FS { L0 = &C2_SB_LHS * 100 L1 = L0 + &C2_SB_RHS &FS_C2_SB_BCD = TOBCD L1 } Var 1090 name OutCom2_Act Link SUBRUTINE { //IF &MAST_SW = 1 // Section for use with a master switch. Not yet implemented //{ L0 = &Com2_act &DISP_C2_ACT = L0 + 10000 } //ELSE //{ //&DISP_C2_ACT = -999999 // blank //} //} Var 1091 name OutCom2_SB Link SUBRUTINE { //IF &MAST_SW = 1 //{ &C2_DP = 1 L0 = &C2_SB_LHS * 100 L1 = L0 + &C2_SB_RHS &DISP_C2_SB = L1 + 10000 } //ELSE //{ //&C2_DP = 0 //&DISP_C2_SB = -999999 // blank //} //}