Page 1 sur 1

Transpondeur Opencockpits avec encodeurs rotatifs

MessagePosté: Mar 15 Déc 2020 09:54
de David LEBAILLY
Bonjour à tous.
Je viens d'acquérir un transpondeur de chez OpenCockpits avec encodeur rotatif.
J'ai déjà un RMP de chez eux, sa mise en place a été une formalité, sioc_creator a tout fait pour moi :-) Merci JeeHell...
Par contre sioc_creator ne propose pas de transpondeur avec encodeurs rotatifs, mais avec des boutons numérique (de 0 à 7) du coup je suis bien embêté. Je pense que je vais devoir me faire mon propre script SIOC, mais je me heurte à l'interfaçage avec le FMGS... Quelqu'un a t-il déjà été confronté à ce problème? Je pari que je ne suis pas le seul à avoir acheté un XPDR de chez OpenCockpit... ;-)
D'avance merci.
David.

Re: Transpondeur Opencockpits avec encodeurs rotatifs

MessagePosté: Sam 19 Déc 2020 21:58
de David LEBAILLY
Re - bonjour à tous.
Bon, ça y est, j'ai fait mon petit bout de script SIOC pour faire fonctionner les encodeurs rotatifs de mon transpondeur avec le FMGS de JeeHell. J'ai conservé la déclaration globale dans Sioc_creator, je n'ai juste pas affecté les touches 1 à 7. En complément j'intègre mon petit script dans Sioc_creator (en page principale).
Et voici le script si ça peut aider quelqu'un qui serait confronté à mon problème :-)

// *****************************************************************************
// * Config_SIOC XPDR Encoders part
// *****************************************************************************
// * From : XPDER IVAP VALORES.txt - By Manolo Vélez - www.opencockpits.com
// * Date : 16/12/2020 David LEBAILLY



Var 0100, Value 0
{
&D_ACTIVE = 2000
&DIG_POS_STATUS = 1
}

Var 0110, name FS_XPDER_ID, Link FSUIPC_INOUT, Offset $0354, Length 2

Var 0102, name DIG_POS_STATUS

Var 0150, name DIG_1_SUB, Value 0
{
CALL &DIGITS_SUB
}

Var 0151, name DIG_2_SUB, Value 0
{
CALL &DIGITS_SUB
}

Var 0152, name DIG_3_SUB, Value 2
{
CALL &DIGITS_SUB
}

Var 0153, name DIG_4_SUB, Value 1
{
CALL &DIGITS_SUB
}

Var 0200, name D_ACTIVE, Link IOCARD_DISPLAY, Device 1, Digit 0, Numbers 4

Var 0400, name E_LEFT, Link IOCARD_ENCODER, Device 1, Input 5, Aceleration 1, Type 2
{
IF &DIG_POS_STATUS = 1
{
L0 = &E_LEFT * -1
&DIG_1_SUB = ROTATE 0 ,7 ,L0
}
IF &DIG_POS_STATUS = 2
{
L0 = &E_LEFT * -1
&DIG_2_SUB = ROTATE 0 ,7 ,L0
}
IF &DIG_POS_STATUS = 3
{
L0 = &E_LEFT * -1
&DIG_3_SUB = ROTATE 0 ,7 ,L0
}
IF &DIG_POS_STATUS = 4
{
L0 = &E_LEFT * -1
&DIG_4_SUB = ROTATE 0 ,7 ,L0
}
}

Var 0402, name E_RIGHT, Link IOCARD_ENCODER, Device 1, Input 10, Aceleration 1, Type 2
{
L0 = &E_RIGHT * 1
&DIG_POS_STATUS = ROTATE 0 ,5 ,L0

IF &DIG_POS_STATUS = 0
{
&DIG_POS_STATUS = 1
}
IF &DIG_POS_STATUS = 5
{
&DIG_POS_STATUS = 4
}
}

Var 0999, 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 = TOBCD &D_ACTIVE
}