Afficheurs COM SIOC X-Plane

Questions de programmation / Offset FSUIPC et IOCP

Afficheurs COM SIOC X-Plane

Messagede Butz » Ven 20 Jan 2017 19:21

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
Avatar de l’utilisateur
Butz
 
Messages: 30
Inscription: 16/09/16

Re: Afficheurs COM SIOC X-Plane

Messagede mameloose » Ven 20 Jan 2017 21:06

hello, tu peux poster ton script en format texte ici stp (file export to txt)
Avatar de l’utilisateur
mameloose
 
Messages: 1271
Inscription: 20/04/09
Localisation: evreux

Re: Afficheurs COM SIOC X-Plane

Messagede Butz » Dim 22 Jan 2017 17:54

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
Avatar de l’utilisateur
Butz
 
Messages: 30
Inscription: 16/09/16

Re: Afficheurs COM SIOC X-Plane

Messagede tabar57 » Dim 22 Jan 2017 19:28

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
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

Re: Afficheurs COM SIOC X-Plane

Messagede mameloose » Dim 22 Jan 2017 20:42

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
Avatar de l’utilisateur
mameloose
 
Messages: 1271
Inscription: 20/04/09
Localisation: evreux

Re: Afficheurs COM SIOC X-Plane

Messagede Butz » Lun 23 Jan 2017 17:32

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.
Avatar de l’utilisateur
Butz
 
Messages: 30
Inscription: 16/09/16


Retourner vers Programmation Sioc





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités