Enfaite fs tiens compte des centième mais pas les millièmes donc si tu as une fréquence de 121.125 que tu mette 121.120 ça sera pareil... En gros il captera les deux si tu préfères...
Jte fait le code en rentrant demain soir
// *****************************************************************************
// * Config_SIOC ver 4.5 - By Manuel Velez - www.opencockpits.com
// *****************************************************************************
// * FileName : sioc.txt
// * Date : 25/11/2016
Var 0010, name Dis_Com1, Link IOCARD_DISPLAY, Digit 0, Numbers 6
Var 0050, name FS_Com1, Link FSUIPC_INOUT, Offset $311A, Length 2 // Com1 STBY
{
L0 = FROMBCD &FS_Com1
&frequencecom1 = L0
&frequenceENT1 = DIV L0 ,100
}
Var 0100, name Enc_Com1_DEC, Link IOCARD_ENCODER, Input 0, Aceleration 1, Type 2 // Encoder Com1 decimales
{
L0 = &Enc_Com1_DEC * 25
&frequenceDEC1 = ROTATE 0 ,999 ,L0
L1 = &frequenceENT1 * 100
L2 = &frequenceDEC1 / 10
&frequencecom1 = L1 + L2
}
Var 0101, name Enc_Com1_ENT, Link IOCARD_ENCODER, Input 6, Aceleration 1, Type 2
{
L0 = &Enc_Com1_ENT
&frequenceENT1 = ROTATE 22 ,36 ,L0
L1 = &frequenceENT1 * 100
L2 = &frequenceDEC1 / 10
&frequencecom1 = L1 + L2
}
Var 0001, name frequencecom1
{
&Dis_Com1 = &frequencecom1 + 10000
&FS_Com1 = TOBCD &frequencecom1
}
Var 0002, name frequenceENT1
Var 0003, name frequenceDEC1
// *****************************************************************************
// * 15 mai 2016
// * Fabien Deheegher
// *****************************************************************************
// * FileName : COM1_gestion_025.txt
// * Date : 15/05/2016
Var 0000, name INIT, Value 1
{
&InitCarte = DELAY 5 ,300
}
Var 0001, name InitCarte, static
{
CALL &COMPILCOM1
}
Var 0002, name resetaff, Link SUBRUTINE
{
&DIGCOM1 = -999999
}
Var 0003, name SetAff, Link SUBRUTINE
{
L0 = &FSCOM1 + 65536 // AJOUT DE 1000 EN HEXA
&DIGCOM1 = FROMBCD L0
}
Var 0120, name DIGCOM1, static, Link IOCARD_DISPLAY, Digit 15, Numbers 5 // *** Mettre ici les 5 Display COM1
Var 0121, name FSCOM1, static, Link FSUIPC_INOUT, Offset $034E, Length 2 // Fréquence COM1
{
L0 = &FSCOM1 + 65536 // AJOUT DE 1000 EN HEXA
&DIGCOM1 = FROMBCD L0
}
Var 0122, name ENCCOM1, static, Link IOCARD_ENCODER, Input 15, Aceleration 0, Type 0 // *** entrée de l'encodeur dixieme
{
L0 = 25 * &ENCCOM1
L0 = L0 * -1
&COM1DIZ = ROTATE 0 ,999 ,L0
CALL &COMPILCOM1
}
Var 0123, name ENCCOM1UNIT, static, Link IOCARD_ENCODER, Input 12, Aceleration 0, Type 0 // *** encodeur unité
{
L0 = 100 * &ENCCOM1UNIT
L0 = L0 * -1
&COM1UNIT = ROTATE 1800 ,3699 ,L0
CALL &COMPILCOM1
}
Var 0124, name COM1DIZ, static, Value 0
Var 0125, name COM1UNIT, static, Value 1800
Var 0126, name COMPILCOM1, static, Link SUBRUTINE
{
L0 = &COM1DIZ - 1
L0 = L0 / 10
L0 = &COM1UNIT + L0
&FSCOM1 = TOBCD L0
}
// *****************************************************************************
// * Config_SIOC ver 4.5 - By Manuel Velez - www.opencockpits.com
// *****************************************************************************
// * FileName : sioc.txt
// * Date : 27/11/2016
Var 0010, name Dis_Com1, Link IOCARD_DISPLAY, Digit 0, Numbers 5
Var 0050, name FS_Com1, Link FSUIPC_INOUT, Offset $311A, Length 2 // Com1 STBY
{
L0 = &FS_Com1 + 65536
&Dis_Com1 = FROMBCD L0
}
Var 0100, name Enc_Com1_DEC, Link IOCARD_ENCODER, Input 0, Aceleration 1, Type 2 // Encoder Com1 decimales
{
L0 = &Enc_Com1_DEC * 25
&frequenceDEC1 = ROTATE 0 ,999 ,L0
CALL &frequencecom
}
Var 0101, name Enc_Com1_ENT, Link IOCARD_ENCODER, Input 6, Aceleration 1, Type 2
{
L0 = &Enc_Com1_ENT * 100
&frequenceENT1 = ROTATE 1800 ,3699 ,L0
CALL &frequencecom
}
Var 0001, name frequencecom, Link SUBRUTINE
{
L0 = &frequenceDEC1 - 1
L0 = L0 / 10
L0 = &frequenceENT1 + L0
&FS_Com1 = TOBCD L0
}
Var 0002, name frequenceENT1, Value 1800
Var 0003, name frequenceDEC1, Value 0
Retourner vers Programmation Sioc
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités