Salut les experts de TARGET
je voulais savoir s'il était possible d'appeler 2 macros avec une seule touche
j'ai ceci dans mon .ttm
define LDDI_1 CHAIN(D(50),PULSE+DX101, D(50))
define LDDI_2 CHAIN(D(50),PULSE+DX102, D(50))
et je voudrai appeler les 2 en cliquant sur S1 par exemple, possible ?
J'ai utilisé des define, mais si vous avez d'autres solutions je prends
Merci beaucoup
TARGET : appel 2 macros
Re: TARGET : appel 2 macros
#2Hello,
La solution que j'utilise est de définir une fonction qui contient ce que tu veux (ici l'appui de 2 touches) qui est appelée depuis l'affectation de l’appui sur ton bouton.
Exemple :
La fonction à définir en début de script
int MaFonction( ) {
ActKey(PULSE+KEYON+'f');
ActKey(PULSE+KEYON+L_SHIFT+'a');
....
}
Et l'appel à adapter exactement à ton cas de gestion de bouton
MapKeyIOUMD(&Throttle, LTB,EXEC(...., EXEC("MaFonction();") , .........);
La solution que j'utilise est de définir une fonction qui contient ce que tu veux (ici l'appui de 2 touches) qui est appelée depuis l'affectation de l’appui sur ton bouton.
Exemple :
La fonction à définir en début de script
int MaFonction( ) {
ActKey(PULSE+KEYON+'f');
ActKey(PULSE+KEYON+L_SHIFT+'a');
....
}
Et l'appel à adapter exactement à ton cas de gestion de bouton
MapKeyIOUMD(&Throttle, LTB,EXEC(...., EXEC("MaFonction();") , .........);
i15-20900PQ NTM-2080TI Z990 256To RAMes
Re: TARGET : appel 2 macros
#3je vais tester ça,BeR1 a écrit : ↑lun. avr. 27, 2020 4:20 pmHello,
La solution que j'utilise est de définir une fonction qui contient ce que tu veux (ici l'appui de 2 touches) qui est appelée depuis l'affectation de l’appui sur ton bouton.
Exemple :
La fonction à définir en début de script
int MaFonction( ) {
ActKey(PULSE+KEYON+'f');
ActKey(PULSE+KEYON+L_SHIFT+'a');
....
}
Et l'appel à adapter exactement à ton cas de gestion de bouton
MapKeyIOUMD(&Throttle, LTB,EXEC(...., EXEC("MaFonction();") , .........);
et tu sais si on peut faire un truc du genre : int L_DDI(i)( ) {CHAIN(D(50),PULSE+DX10(i), D(50));}
ca m'évite d'écrire 20 fois la meme fonction
Merci
Edit
j'ai mis :
Code : Tout sélectionner
int L_DDI1( ) {CHAIN(D(50),PULSE+DX101, D(50));}
Code : Tout sélectionner
MapKeyIOUMD(&Joystick, TG1, EXEC("L_DDI1();"), EXEC("L_DDI1();"), EXEC("L_DDI1();"), EXEC("L_DDI1();"), EXEC("L_DDI1();"), EXEC("L_DDI1();"));
Re: TARGET : appel 2 macros
#4On ne peut pas, car CHAIN ne peut être qu' appelé à l’intérieur d'un MapKey
Voici un exemple d'une de mes fonction contenant un CHAIN (declenchement sur un appui d'une sequence de flares paramétrée avec des variables globales):
int FlareProgram5()
{
int Chaff_Flare_program_1 = CHAIN(PULSE+DEL,D(IntervalFlare),PULSE+DEL,D(IntervalFlare),PULSE+DEL,D(IntervalFlare),PULSE+DEL,D(IntervalFlare),PULSE+DEL); //
ActKey(KEYON+Chaff_Flare_program_1);
}
Oui, tout à fait, en tenant compte bien sur de mon commentaire précédent, mais justement, l'interet d'une fonction est aussi de recevoir des parametres et de les utiliser.
Par contre le language target est typé, c'est à dire qu'il faut définir le type de variable passée en parametre
Dans ton exemple cela donne ceci, mais fais très attention à la syntaxe (parenthèse, crochet, accolade .... !!!!!) :
int L_DDI( int i) {CHAIN(D(50),PULSE+DX10(i), D(50));}
i15-20900PQ NTM-2080TI Z990 256To RAMes