Page 1 sur 1

Afficheurs COM SIOC X-Plane

MessagePosté: Ven 20 Jan 2017 19:21
de Butz
Bonjour à tous,
Je revient avec un nouveau petit problème:
je vient de faire un script dans SIOC pour contrôler les fréquence de la COM1 via un double encodeur, et le poussoir de ce dernier me sert à switcher entre l'active et la stand-by. Le script en lui même fonctionne parfaitement, le petit souci, c'est que je n'arrive pas a faire en sorte d'avoir une recopie des fréquences sur mes afficheurs (2x6 afficheurs 7 segments, branchés sur une display card).
Je précise que les cartes et les afficheurs fonctionnent, j'ai juste un problème de script. J'ai bien évidement lu les tutos de Mameloose (même s'ils sont orienté FSX et non x-plane, ils m'ont déjà bien aidés par le passé ;) )
Ma question est donc : Quelqu'un peut il m'expliquer (avec des photos en support ce serait le top), au vu de mon script, quelle fonction/subrutine/entrée... je doit mettre afin que mes displays affichent la même chose que la radio de l'avion dans x-plane?
Image

Re: Afficheurs COM SIOC X-Plane

MessagePosté: Ven 20 Jan 2017 21:06
de mameloose
hello, tu peux poster ton script en format texte ici stp (file export to txt)

Re: Afficheurs COM SIOC X-Plane

MessagePosté: Dim 22 Jan 2017 17:54
de Butz
Voici le script Mameloose, désolé je ne vois ton message qu'aujourd'hui.



Var 0207, name COM1_FREQ, Value 1870

Var 0200, name COM1_STBY, Value 2350

Var 0208, name com1_ent, Value 18

Var 0209, name com1_dec, Value 700

Var 0201, name com1sb_ent, Value 23

Var 0206, name com1sb_dec, Value 500

Var 0202, name E_COM1_DEC, Link IOCARD_ENCODER, Input 33, Aceleration 0, Type 2 // encodeur dec com1
{
L0 = &E_COM1_DEC * -25
L0 = &com1sb_dec + L0
IF L0 < -1
{
L0 = 975
}
IF L0 > 999
{
L0 = 0
}
&com1sb_dec = L0
CALL &sub_com1sb
}

Var 0203, name E_COM1_ENT, Link IOCARD_ENCODER, Input 30, Aceleration 0, Type 2 // encodeur entier com1
{
&com1sb_ent = ROTATE 18 ,36 ,&E_COM1_ENT
CALL &sub_com1sb
}

Var 0211, name o_com1, Link IOCP, Offset 726 // com1

Var 0204, name O_COM1_STB, Link IOCP, Offset 733 // com1 stby

Var 0212, name sub_com1, Link SUBRUTINE
{
L0 = &com1_ent * 100
L1 = &com1_dec / 10
L1 = TRUNC L1
L0 = L0 + L1
&COM1_FREQ = L0
&o_com1 = L0 + 10000
}

Var 0205, name sub_com1sb, Link SUBRUTINE
{
L0 = &com1sb_ent * 100
L1 = &com1sb_dec / 10
L1 = TRUNC L1
L0 = L0 + L1
&COM1_STBY = L0
&O_COM1_STB = L0 + 10000
}

Var 0210, name com1_swap, Link IOCARD_SW, Input 32
{
IF &com1_swap = 1
{
L0 = &com1_ent
&com1_ent = &com1sb_ent
&com1sb_ent = L0
L0 = &com1_dec
&com1_dec = &com1sb_dec
&com1sb_dec = L0
CALL &sub_com1
CALL &sub_com1sb
}
}

Var 0215, name disp_com1, Link IOCARD_DISPLAY, Digit 6, Numbers 6 // display com1

Var 0216, name disp_com1stb, Link IOCARD_DISPLAY, Digit 0, Numbers 6 // display com1sb

Re: Afficheurs COM SIOC X-Plane

MessagePosté: Dim 22 Jan 2017 19:28
de tabar57
Bonjour,

Var 0205, name sub_com1sb, Link SUBRUTINE
{
L0 = &com1sb_ent * 100
L1 = &com1sb_dec / 10
L1 = TRUNC L1
L0 = L0 + L1
&COM1_STBY = L0
&O_COM1_STB = L0 + 10000

a mon avis il faut que tu rajoutes l'affectation ci dessous dans la routine
&disp_com1stb = &O_COM1_STB

}

Var 0212, name sub_com1, Link SUBRUTINE
{
L0 = &com1_ent * 100
L1 = &com1_dec / 10
L1 = TRUNC L1
L0 = L0 + L1
&COM1_FREQ = L0
&o_com1 = L0 + 10000

et cette ligne dans la routine sub_com1
&disp_com1 = &o_com1

}

Cordialement

Bernard

Re: Afficheurs COM SIOC X-Plane

MessagePosté: Dim 22 Jan 2017 20:42
de mameloose
euh j'aurai plutot essayé comme ca gratgrat



// *****************************************************************************
// * Config_SIOC ver 4.5 - By Manuel Velez - www.opencockpits.com
// *****************************************************************************
// * FileName : Nouveau document texte.txt
// * Date : 22/01/2017



Var 0207, name COM1_FREQ, Value 1870

Var 0200, name COM1_STBY, Value 2350

Var 0208, name com1_ent, Value 18

Var 0209, name com1_dec, Value 700

Var 0201, name com1sb_ent, Value 23

Var 0206, name com1sb_dec, Value 500

Var 0202, name E_COM1_DEC, Link IOCARD_ENCODER, Input 33, Aceleration 0, Type 2 // encodeur dec com1
{
L0 = &E_COM1_DEC * -25
L0 = &com1sb_dec + L0
IF L0 < -1
{
L0 = 975
}
IF L0 > 999
{
L0 = 0
}
&com1sb_dec = L0
CALL &sub_com1sb
}

Var 0203, name E_COM1_ENT, Link IOCARD_ENCODER, Input 30, Aceleration 0, Type 2 // encodeur entier com1
{
&com1sb_ent = ROTATE 18 ,36 ,&E_COM1_ENT
CALL &sub_com1sb
}

Var 0211, name o_com1, Link IOCP, Offset 726 // com1
{
&disp_com1 = &o_com1
}

Var 0204, name O_COM1_STB, Link IOCP, Offset 733 // com1 stby
{
&disp_com1stb = &O_COM1_STB
}

Var 0212, name sub_com1, Link SUBRUTINE
{
L0 = &com1_ent * 100
L1 = &com1_dec / 10
L1 = TRUNC L1
L0 = L0 + L1
&COM1_FREQ = L0
&o_com1 = L0 + 10000
}

Var 0205, name sub_com1sb, Link SUBRUTINE
{
L0 = &com1sb_ent * 100
L1 = &com1sb_dec / 10
L1 = TRUNC L1
L0 = L0 + L1
&COM1_STBY = L0
&O_COM1_STB = L0 + 10000
}

Var 0210, name com1_swap, Link IOCARD_SW, Input 32
{
IF &com1_swap = 1
{
L0 = &com1_ent
&com1_ent = &com1sb_ent
&com1sb_ent = L0
L0 = &com1_dec
&com1_dec = &com1sb_dec
&com1sb_dec = L0
CALL &sub_com1
CALL &sub_com1sb
}
}

Var 0215, name disp_com1, Link IOCARD_DISPLAY, Digit 6, Numbers 6 // display com1

Var 0216, name disp_com1stb, Link IOCARD_DISPLAY, Digit 0, Numbers 6 // display com1sb

Re: Afficheurs COM SIOC X-Plane

MessagePosté: Lun 23 Jan 2017 17:32
de Butz
Salut, merci beaucoup, ça fonctionne chouettedoights !
Mon erreur c'était apparemment que j'assignais la fonction "ASSIGN" à la variable de chaque display, au lieu de celles des datarefs (726 et 733), qui eux ensuite la communiquent aux displays, je prenais le problème à l'envers en quelque sorte.