
- Code: Tout sélectionner
// *****************************************************************************
// * Config_SIOC ver 3.5 - By Manolo Vélez - http://www.opencockpits.com
// *****************************************************************************
// * FileName : com-1.txt
// * Date : 13/02/2011
Var 1009, name FS_C1_SB_BCD, Link FSUIPC_INOUT, Offset $311A, Length 2 // FS COM1 standby frequency in BCD format
Var 1010, name FS_C1_ACT_BCD, Link FSUIPC_IN, Offset $034E, Length 2 // FS COM1 active frequency in BCD format
{
L0 = FROMBCD &FS_C1_ACT_BCD // Update C1 active freq display (4 digits)
&DISP_ACTIVE = L0 + 10000 // plus fixed digit 1
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
}
Var 1011, name FS_RADIO_SWAP, Link FSUIPC_OUT, Offset $3123, Length 1 // FS Radio active standby swap
Var 1017, name FS_C2_SB_BCD, Link FSUIPC_INOUT, Offset $311C, Length 2 // FS COM 2 standby frequency in BCD format
Var 1018, name FS_C2_ACT_BCD, Link FSUIPC_IN, Offset $3118, Length 2 // FS COM2 active frequency in BCD format
{
L0 = FROMBCD &FS_C2_ACT_BCD
&DISP_ACTIVE = L0 + 10000 // plus fixed digit 1
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
}
Var 1300, 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 1301, 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 1302, name C1_UPDATE_LHS, Link SUBRUTINE // Update COM1 stanby integers
{
&DISP_INTE_STBY = &C1_LHS_ROT_VAL // Set COM1 standby integer display
&C1_SB_LHS = &C1_LHS_ROT_VAL + 100 // plus fixed digit 1
}
Var 1303, name C1_UPDATE_RHS, Link SUBRUTINE // Update COM1 standby decimals
{
L0 = &C1_RHS_ROT_VAL * 2.5
&C1_SB_RHS = TRUNC L0
&DISP_DECI_STBY = &C1_SB_RHS
}
Var 1304, 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 1306, 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 1307, 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 1308, name C2_UPDATE_LHS, Link SUBRUTINE // Update COM2 stanby integers
{
&DISP_INTE_STBY = &C2_LHS_ROT_VAL // Set COM2 standby integer display
&C2_SB_LHS = &C2_LHS_ROT_VAL + 100 // plus fixed digit 1
}
Var 1309, name C2_UPDATE_RHS, Link SUBRUTINE // Update COM2 standby decimals
{
L0 = &C2_RHS_ROT_VAL * 2.5
&C2_SB_RHS = TRUNC L0
&DISP_DECI_STBY = &C2_SB_RHS
}
Var 1310, 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 1406, name BP_RADIO_SWAP, Link IOCARD_SW, Input 46, Type P
{
IF &SW_RADIO_COM1 = 1
{
&FS_RADIO_SWAP = TOGGLE 3
}
IF &SW_RADIO_COM2 = 1
{
&FS_RADIO_SWAP = TOGGLE 2
}
}
Var 1442, name SW_RADIO_COM1, Link IOCARD_SW, Input 45, Type P // BP Radio COM 1
{
IF &SW_RADIO_COM1 = 1
{
&IND_RADIO_COM1 = 1
&SW_RADIO_COM2 = 0
}
IF &SW_RADIO_COM1 = 0
{
&IND_RADIO_COM1 = 0
}
}
Var 1443, name SW_RADIO_COM2, Link IOCARD_SW, Input 47, Type P // BP Radio COM 2
{
IF &SW_RADIO_COM2 = 1
{
&IND_RADIO_COM2 = 1
&SW_RADIO_COM1 = 0
}
IF &SW_RADIO_COM2 = 0
{
&IND_RADIO_COM2 = 0
}
}
Var 1500, name ENCO_FREQ_INTE, Link IOCARD_ENCODER, Input 36, Aceleration 1, Type 2
{
IF &SW_RADIO_COM1 = 1
{
&C1_LHS_ROT_VAL = ROTATE 18 ,36 ,&ENCO_FREQ_INTE
CALL &C1_UPDATE_LHS
CALL &SET_FS_C1_SB
}
IF &SW_RADIO_COM2 = 1
{
&C2_LHS_ROT_VAL = ROTATE 18 ,36 ,&ENCO_FREQ_INTE
CALL &C2_UPDATE_LHS
CALL &SET_FS_C2_SB
}
}
Var 1501, name ENCO_FREQ_DECI, Link IOCARD_ENCODER, Input 54, Aceleration 2, Type 2
{
IF &SW_RADIO_COM1 = 1
{
&C1_RHS_ROT_VAL = ROTATE 0 ,39 ,&ENCO_FREQ_DECI
CALL &C1_UPDATE_RHS
CALL &SET_FS_C1_SB
}
IF &SW_RADIO_COM2 = 1
{
&C2_RHS_ROT_VAL = ROTATE 0 ,39 ,&ENCO_FREQ_DECI
CALL &C2_UPDATE_RHS
CALL &SET_FS_C2_SB
}
}
Var 1600, name DISP_INTE_STBY, Link IOCARD_DISPLAY, Device 2, Digit 7, Numbers 3 // Standby integers
Var 1601, name DISP_DECI_STBY, Link IOCARD_DISPLAY, Device 2, Digit 10, Numbers 2 // Standby decimals
Var 1602, name DISP_ACTIVE, Link IOCARD_DISPLAY, Device 2, Digit 0, Numbers 5
Var 1727, name IND_RADIO_COM1, Link IOCARD_OUT, Output 53 // LED radio com 1
Var 1728, name IND_RADIO_COM2, Link IOCARD_OUT, Output 54 // LED radio COM2
Var 1900, name C1_SB_AS_DEC // COM1 standby frequency in decimal format
Var 1901, name C1_SB_LHS // COM1 standby frequency integers
Var 1902, name C1_SB_RHS // COM1 standby frequency decimals
Var 1903, name C1_RHS_ROT_VAL // COM1 right hand rotary encoder ref value
Var 1904, name C1_LHS_ROT_VAL // COM1 left hand rotary encoder ref value
Var 1906, name C2_SB_AS_DEC // COM2 standby frequency in decimal format
Var 1907, name C2_SB_LHS // COM2 standby frequency integers
Var 1908, name C2_SB_RHS // COM2 standby frequency decimals
Var 1909, name C2_RHS_ROT_VAL // COM2 right hand rotary encoder ref value
Var 1910, name C2_LHS_ROT_VAL // COM2 left hand rotary encoder ref value