// ***************************************************************************** // * Config_SIOC ver 1.98 - By Manolo Vélez - www.opencockpits.com // ***************************************************************************** // * FileName : Nav1_2.txt // * Author Nico Kaan // * Date : 10/11/2007 // * modified by Nico Kaan, April 18th, 2008 // * Also incorporates a display test function - KB //********************************************* //***** NAV 1 *********************************** //********************************************* Var 1100 name Nav1_Act Var 1102 name FS_N1_SB_BCD Link FSUIPC_INOUT Offset $311E Length 2 // FS Nav1 standby frequency in BCD format Var 1103 name FS_N1_ACT_BCD Link FSUIPC_INOUT Offset $0350 Length 2 // FS Nav1 active frequency in BCD format { &Nav1_Act = FROMBCD &FS_N1_ACT_BCD Call &OutNav1_Act CALL &N1_LH_ROT_VAL // Align rotary with new N1 SB integer val CALL &N1_RH_ROT_VAL // Align rotary with new N1 SB decimal val CALL &N1_UPDATE_LHS CALL &N1_UPDATE_RHS Call &OutNav1_SB } Var 1104 name FS_N1_SWAP Link FSUIPC_OUT Offset $3123 Length 1 // FS Nav1 active standby swap Var 1105 name N1_SB_AS_DEC // Nav1 standby frequency in decimal format Var 1106 name N1_SB_LHS // Nav1 standby frequency integers Var 1107 name N1_SB_RHS // Nav1 standby frequency decimals Var 1108 name N1_RHS_ROT_VAL // Nav1 right hand rotary encoder ref value Var 1109 name N1_LHS_ROT_VAL // Nav1 left hand rotary encoder ref value Var 1110 name ROT_N1_LHS Link IOCARD_ENCODER Input 13 Aceleration 1 Type 2 { L0 = &ROT_N1_LHS &N1_LHS_ROT_VAL = ROTATE 8 17 L0 CALL &N1_UPDATE_LHS CALL &SET_FS_N1_SB CALL &OutNav1_SB } Var 1111 name ROT_N1_RHS Link IOCARD_ENCODER Input 15 Aceleration 1 Type 2 { L0 = &ROT_N1_RHS * -1 &N1_RHS_ROT_VAL = ROTATE 0 19 L0 CALL &N1_UPDATE_RHS CALL &SET_FS_N1_SB CALL &OutNav1_SB } Var 1112 name SW_N1_SWAP Link IOCARD_SW Input 17 Type 1 { &FS_N1_SWAP = TOGGLE 1 } Var 1115 name SW_N1_TEST Link IOCARD_SW Input 35 // NAV TEST button sends 8's to Displays { IF &SW_N1_TEST = 1 { &DISP_N1_ACT = 88888 &DISP_N1_SB = 88888 } ELSE { CALL &OutNAV1_Act CALL &OutNAV1_SB } } Var 1120 name DISP_N1_SB Link IOCARD_DISPLAY Digit 32 Numbers 5 Var 1121 name DISP_N1_ACT Link IOCARD_DISPLAY Digit 37 Numbers 5 Var 1122 name N1_DP Link IOCARD_OUT Output 11 // Decimal Point Var 1130 name N1_LH_ROT_VAL Link SUBRUTINE // Aligns LH rotary ref with Nav1 SB freq { L0 = FROMBCD &FS_N1_SB_BCD L1 = L0 / 100 &N1_LHS_ROT_VAL = TRUNC L1 } Var 1131 name N1_RH_ROT_VAL Link SUBRUTINE // Aligns RH rotary ref with Nav1 SB freq { L0 = FROMBCD &FS_N1_SB_BCD L1 = &N1_LHS_ROT_VAL * 100 L2 = L0 - L1 &N1_RHS_ROT_VAL = L2 / 5 } Var 1132 name N1_UPDATE_LHS Link SUBRUTINE // Update Nav1 stanby integers { &N1_SB_LHS = &N1_LHS_ROT_VAL } Var 1133 name N1_UPDATE_RHS Link SUBRUTINE // Update Nav1 standby decimals { L0 = &N1_RHS_ROT_VAL * 5 &N1_SB_RHS = TRUNC L0 } Var 1134 name SET_FS_N1_SB Link SUBRUTINE // Update Nav1 standby frequency in FS { L0 = &N1_SB_LHS * 100 L1 = L0 + &N1_SB_RHS &FS_N1_SB_BCD = TOBCD L1 } Var 1140 name OutNAV1_Act Link SUBRUTINE { //IF &MAST_SW = 1 // Section for use with a master switch. Not yet implemented //{ L0 = &Nav1_act &DISP_N1_ACT = L0 + 10000 } //ELSE //{ //&DISP_N1_ACT = -999999 // blank //} //} Var 1141 name OutNAV1_SB Link SUBRUTINE { //IF &MAST_SW = 1 //{ &N1_DP = 1 L0 = &N1_SB_LHS * 100 L1 = L0 + &N1_SB_RHS &DISP_N1_SB = L1 + 10000 } //ELSE //{ //&N1_DP = 0 //&DISP_N1_SB = -999999 // blank //} //} //********************************************* //***** NAV 2 *********************************** //********************************************* Var 1150 name Nav2_Act Var 1152 name FS_N2_SB_BCD Link FSUIPC_INOUT Offset $311E Length 2 // FS Nav2 standby frequency in BCD format Var 1153 name FS_N2_ACT_BCD Link FSUIPC_INOUT Offset $3120 Length 2 // FS Nav2 active frequency in BCD format { &Nav2_Act = FROMBCD &FS_N2_ACT_BCD Call &OutNav2_Act CALL &N2_LH_ROT_VAL // Align rotary with new N2 SB integer val CALL &N2_RH_ROT_VAL // Align rotary with new N2 SB decimal val CALL &N2_UPDATE_LHS CALL &N2_UPDATE_RHS Call &OutNav2_SB } Var 1154 name FS_N2_SWAP Link FSUIPC_OUT Offset $3123 Length 1 // FS Nav2 active standby swap Var 1155 name N2_SB_AS_DEC // Nav2 standby frequency in decimal format Var 1156 name N2_SB_LHS // Nav2 standby frequency integers Var 1157 name N2_SB_RHS // Nav2 standby frequency decimals Var 1158 name N2_RHS_ROT_VAL // Nav2 right hand rotary encoder ref value Var 1159 name N2_LHS_ROT_VAL // Nav2 left hand rotary encoder ref value Var 1160 name ROT_N2_LHS Link IOCARD_ENCODER Input 11 Aceleration 1 Type 2 { L0 = &ROT_N2_LHS * -1 &N2_LHS_ROT_VAL = ROTATE 8 17 L0 CALL &N2_UPDATE_LHS CALL &SET_FS_N2_SB CALL &OutNav2_SB } Var 1161 name ROT_N2_RHS Link IOCARD_ENCODER Input 9 Aceleration 1 Type 2 { L0 = &ROT_N2_RHS &N2_RHS_ROT_VAL = ROTATE 0 19 L0 CALL &N2_UPDATE_RHS CALL &SET_FS_N2_SB CALL &OutNav2_SB } Var 1162 name SW_N2_SWAP Link IOCARD_SW Input 8 Type 1 { &FS_N2_SWAP = TOGGLE 0 } Var 1165 name SW_N2_TEST Link IOCARD_SW Input 6 // NAV TEST button sends 8's to Displays { IF &SW_N2_TEST = 1 { &DISP_N2_ACT = 88888 &DISP_N2_SB = 88888 } ELSE { CALL &OutNAV2_Act CALL &OutNAV2_SB } } Var 1170 name DISP_N2_SB Link IOCARD_DISPLAY Digit 42 Numbers 5 Var 1171 name DISP_N2_ACT Link IOCARD_DISPLAY Digit 58 Numbers 5 Var 1172 name N2_DP Link IOCARD_OUT Output 13 // Decimal Point Var 1180 name N2_LH_ROT_VAL Link SUBRUTINE // Aligns LH rotary ref with Nav2 SB freq { L0 = FROMBCD &FS_N2_SB_BCD L1 = L0 / 100 &N2_LHS_ROT_VAL = TRUNC L1 } Var 1181 name N2_RH_ROT_VAL Link SUBRUTINE // Aligns RH rotary ref with Nav2 SB freq { L0 = FROMBCD &FS_N2_SB_BCD L1 = &N2_LHS_ROT_VAL * 100 L2 = L0 - L1 &N2_RHS_ROT_VAL = L2 / 5 } Var 1182 name N2_UPDATE_LHS Link SUBRUTINE // Update Nav2 stanby integers { &N2_SB_LHS = &N2_LHS_ROT_VAL } Var 1183 name N2_UPDATE_RHS Link SUBRUTINE // Update Nav2 standby decimals { L0 = &N2_RHS_ROT_VAL * 5 &N2_SB_RHS = TRUNC L0 } Var 1184 name SET_FS_N2_SB Link SUBRUTINE // Update Nav2 standby frequency in FS { L0 = &N2_SB_LHS * 100 L1 = L0 + &N2_SB_RHS &FS_N2_SB_BCD = TOBCD L1 } Var 1190 name OutNAV2_Act Link SUBRUTINE { //IF &MAST_SW = 1 // Section for use with a master switch. Not yet implemented //{ L0 = &Nav2_act &DISP_N2_ACT = L0 + 10000 } //ELSE //{ //&DISP_N2_ACT = -999999 // blank //} //} Var 1191 name OutNAV2_SB Link SUBRUTINE { //IF &MAST_SW = 1 //{ &N2_DP = 1 L0 = &N2_SB_LHS * 100 L1 = L0 + &N2_SB_RHS &DISP_N2_SB = L1 + 10000 } //ELSE //{ //&N2_DP = 0 //&DISP_N2_SB = -999999 // blank //} //}