SCRIPTS TARGET TM WARTHOG etc

Salle dedieé aux péripheriques : Joystick, palloniers, Track-Ir

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#151

Message par ivanwfr »

Attention, chaud devant!

Comme tu as manifestement décidé de te frotter sérieusement à la question, il va te falloir une approche plus rigoureuse que l'improvisation coutumière aux amateurs. Si tu en fais l'éconnomie, les bugs ne vont pas te louper, et y'en a certains qui demangent bien profond! Il faut absolument éviter de verser dans le bricollage des petits génies à la Microsoft.

Faire simple, ça n'est pas faire facile. Si ce que je viens de dire donne l'impression d'une demonstration d'autorité, et bien y'a un peu de ça. Il y a des occasions qui s'y prettent bien et je pense que c'en est une que je ne pouvais pas ratter.

Chercher à se débarasser d'un problème le plus rapidement possible est le meilleur moyen d'attirer les enmerdements et tu viens justement d'y mettre les doigts ;)

A mon avis, TARGET est un outil qui ne peut donner de bons résultats qu'après une approche disciplinée, tout comme, par exemple, Photoshop, WinWord ou DCS. Il se peut que la barre ait été mise un peu haut par Thrustmaster, mais les résultats peuvent aussi être à la hauteur.

Donc,
1 - Ce fourbi de backslash, guillemets et cette jonglerie avec les espaces est une véritable fabrique à bugs.
2 - Il faut donc limiter le codage de chaines de caractère sous forme litérale (entre guillemets, par opposition à leur usage par l'intermédiaire de variables).
3 - L'usage des backslash comme séparateur de champ est une hérésie de Microsoft et on n'est pas obligé de tomber dans le panneau. Ce (méta-)caractère ne doit servir qu'à altérer la signification du suivant.
4 - Comme Microsoft a fini par supporter les slash comme séparateur, mieux vaut remplacer "Target\\scripts\\BS" par "Target/scripts/BS", car c'est tout de même plus lisible.
5 - Cette unique ligne de code est suffisament illisible pour masquer l'absence d'un élément essentiel pour que ça puisse marcher (je suis même étonné que tu entendes quelque chose à l'exécution).

1: Lisibilité: Quatre erreurs évitables en rendant tout ça plus lisible (et peut-être le copier-coller plus fidèle):

Code : Tout sélectionner

[size=84] [font="Lucida Console"] ...................................................................[color=red][b]v[/b][/color]-(espace en trop)......[color=red][b]v[/b][/color]-(manque un espace).......[color=red][b]v[/b][/color]-(espace en trop).................................[color=red][b]v[/b][/color]-(espace en trop) system("spawn -w \"C:\\Users\\christophe_admin\\Documents\\Target\\ scripts\\BS\\BS_Sound\"\"C:\\Users\\christophe_adm in\\Documents\\Target\\scripts\\BS\\BS_Sound\\Wind ows Hardware Insert.wav\""); ...mais ce serait toujours aussi peu lisible: system("spawn -w \"C:\\Users\\christophe_admin\\Documents\\Target\\scripts\\BS\\BS_Sound\" \"C:\\Users\\christophe_admin\\Documents\\Target\\scripts\\BS\\BS_Sound\\Windows Hardware Insert.wav\""); [/SIZE] [/font]
2: Séparation des déclarations de chaines litérales sous forme de constantes (variables qui ne changent pas).
3: Plus besoin de mettre des \" pour introduire des guillemets entre guillemet:
4: / a la place des \\

Code : Tout sélectionner

[font="Lucida Console"] alias SOUND_FOLDER = "C:/Users/christophe_admin/Documents/Target/scripts/BS/BS_Sound"; alias SOUND_FILE = "Windows Hardware Insert.wav"; [/font]
* une remarque en passant, adopter la convention de mettre les noms de constantes en majuscule permet de les distinguer au premier coup d'oeil... mais attention aux langages alacon qui ne font pas la différence... ce qui n'est pas le cas du C.

5: Faire du bruit sous Windows consiste à appeler un programme en lui passant un fichier son.
- La présence d'un répertoire sur la ligne de commande pour appeler un exécutable Windows sert à certains programmes qui vont alors y chercher un fichier de configuration.
- Son utilité dépend donc de la commande en jeu. En principe on pourrait se contenter de faire System("SoundPlay.exe C:/Sounds/sound1.wav");

Un exemple avec mplayerc.exe: (Media player classic)

Code : Tout sélectionner

[font="Lucida Console"] alias SOUND_FILE = "C:/LOCAL/GAMES/SOUND/Speech\ Misrecognition.wav" alias SOUND_EXE = "C:/LOCAL/XP/Program\ Files/Media\ Player\ Classic/mplayerc.exe" // Appel d'une fonction qui s'occupera des concaténations spawn_path_arg(SOUND_EXE, SOUND_FILE); [/font]
On pourrait aussi prévoir d'y associer des arguments de la ligne de commande pour éviter l'affichage du GUI: /minimized /play /close

...y'a vraiment de quoi faire !

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#152

Message par ivanwfr »

Attention, chaud devant!

Comme tu as manifestement décidé de te frotter sérieusement à la question, il va te falloir une approche plus rigoureuse que l'improvisation coutumière aux amateurs. Si tu en fais l'éconnomie, les bugs ne vont pas te louper, et y'en a certains qui demangent bien profond! Il faut absolument éviter de verser dans le bricollage des petits génies à la Microsoft.

Faire simple, ça n'est pas faire facile. Si ce que je viens de dire donne l'impression d'une demonstration d'autorité, et bien y'a un peu de ça. Il y a des occasions qui s'y prettent bien et je pense que c'en est une que je ne pouvais pas ratter.

Chercher à se débarasser d'un problème le plus rapidement possible est le meilleur moyen d'attirer les enmerdements et tu viens justement d'y mettre les doigts ;)

A mon avis, TARGET est un outil qui ne peut donner de bons résultats qu'après une approche disciplinée, tout comme, par exemple, Photoshop, WinWord ou DCS. Il se peut que la barre ait été mise un peu haut par Thrustmaster, mais les résultats peuvent aussi être à la hauteur.

Donc,
1 - Ce fourbi de backslash, guillemets et cette jonglerie avec les espaces est une véritable fabrique à bugs.
2 - Il faut donc limiter le codage de chaines de caractère sous forme litérale (entre guillemets, par opposition à leur usage par l'intermédiaire de variables).
3 - L'usage des backslash comme séparateur de champ est une hérésie de Microsoft et on n'est pas obligé de tomber dans le panneau. Ce (méta-)caractère ne doit servir qu'à altérer la signification du suivant.
4 - Comme Microsoft a fini par supporter les slash comme séparateur, mieux vaut remplacer "Target\\scripts\\BS" par "Target/scripts/BS", car c'est tout de même plus lisible.
5 - Cette unique ligne de code est suffisament illisible pour masquer l'absence d'un élément essentiel pour que ça puisse marcher (je suis même étonné que tu entendes quelque chose à l'exécution).

1: Lisibilité: Quatre erreurs évitables en rendant tout ça plus lisible (et peut-être le copier-coller plus fidèle):

Code : Tout sélectionner

[size=84] [font=Lucida Console] ...................................................................[color=red][B]v[/B][/color]-(espace en trop)......[color=red][B]v[/B][/color]-(manque un espace).......[color=red][B]v[/B][/color]-(espace en trop).................................[color=red][B]v[/B][/color]-(espace en trop) system("spawn -w \"C:\\Users\\christophe_admin\\Documents\\Target\\ scripts\\BS\\BS_Sound\"\"C:\\Users\\christophe_adm in\\Documents\\Target\\scripts\\BS\\BS_Sound\\Wind ows Hardware Insert.wav\""); ...mais ce serait toujours aussi peu lisible: system("spawn -w \"C:\\Users\\christophe_admin\\Documents\\Target\\scripts\\BS\\BS_Sound\" \"C:\\Users\\christophe_admin\\Documents\\Target\\scripts\\BS\\BS_Sound\\Windows Hardware Insert.wav\""); [/font][/SIZE]
2: Séparation des déclarations de chaines litérales sous forme de constantes (variables qui ne changent pas).
3: Plus besoin de mettre des \" pour introduire des guillemets entre guillemet:
4: / a la place des \\

Code : Tout sélectionner

[font=Lucida Console] alias SOUND_FOLDER = "C:/Users/christophe_admin/Documents/Target/scripts/BS/BS_Sound"; alias SOUND_FILE = "Windows Hardware Insert.wav"; [/font]
* une remarque en passant, adopter la convention de mettre les noms de constantes en majuscule permet de les distinguer au premier coup d'oeil... mais attention aux langages alacon qui ne font pas la différence... ce qui n'est pas le cas du C.

5: Faire du bruit sous Windows consiste à appeler un programme en lui passant un fichier son.
- La présence d'un répertoire sur la ligne de commande pour appeler un exécutable Windows sert à certains programmes qui vont alors y chercher un fichier de configuration.
- Son utilité dépend donc de la commande en jeu. En principe on pourrait se contenter de faire System("SoundPlay.exe C:/Sounds/sound1.wav");

Un exemple avec mplayerc.exe: (Media player classic)

Code : Tout sélectionner

[font=Lucida Console] alias SOUND_FILE = "C:/LOCAL/GAMES/SOUND/Speec[color=DarkOrange]h\ M[/color]isrecognition.wav" alias SOUND_EXE = "C:/LOCAL/XP/Progra[color=DarkOrange]m\ F[/color]iles/Medi[color=DarkOrange]a\ Pl[/color]ayer[color=DarkOrange]\ C[/color]lassic/mplayerc.exe" // Appel d'une fonction qui s'occupera des concaténations spawn_path_arg(SOUND_EXE, SOUND_FILE); [/font]
On pourrait aussi prévoir d'y associer des arguments de la ligne de commande pour éviter l'affichage du GUI: /minimized /play /close

...y'a vraiment de quoi faire !
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

#153

Message par hellfrog »

je regarderais ça plus tard, mais ne tient pas compte espaces, y en a pas, c'est le formatage web qui fait ça

j'ai colorié ton post précédent :
dans ce que j'ai mis en orange (dernier ex de code) : l'antislash est nécessaire parcequ'il précède un espace dans un nom de chemin, c'est ça ?
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#154

Message par ivanwfr »

Oui, c'est bien ça et là aussi y'a moyen de rater une marche avec les chaînes dans du code:

Les guillemets qu'on peut y lire ne font pas partie du "contenu-mémoire". Seuls les \" sont de véritables guillemets.

Conclusion, sans les guillemets, on voit bien qu'un nom de fichier contenant des espaces se transforme en plusieurs arguments sur une ligne de commande.

On doit donc faire le choix entre deux solutions pour la fonction system():
1 - On "transforme" l'espace en le faisant préceder d'un backslash = "...\ ..."
2 - On encadre la chaîne en y mettant des guillemets à chaque bout = "\"... ...\""
Avatar de l’utilisateur

-=COS=-LeBorgne
Jeune Pilote
Jeune Pilote
Messages : 1362
Inscription : 12 avril 2006

#155

Message par -=COS=-LeBorgne »

matbog a écrit :Comme Hellfrog nous incite a poser nos questions voici la mienne:

Sous DCS BS je gère le master arm avec l'interruprteur APU (2 positions : APUON et APUOFF). Je met donc le master arm sur ON (touche 'z') quand l'interrupteur est en position APUON et sur OFF (touche 'z' également) quand l'interrupteur est sur le position APUOFF, jusque la rien de compliqué!

Le problème se pose lorsque que j'exécute le script lorsque l'interrupteur est en position APUON au départ. Dans ce cas le fonctionnement de mon interrupteur est inversé: dans le jeu le master arm est mis à ON quand l'interrupteur passe en position APUOFF et vice-versa.

Je voudrais donc gérer ceci avec un flag (MasterArm) que j'initialise à 0 et qui autorise l'envoie de la commande 'z' uniquement quand l'interrupteur est dans la bonne position.

Bon voici mon code, ça sera peut être plus clair:

include "target.tmh"

char MasterArm = 0;


int main()

{
MapKey(&Throttle, APUON, CHAIN(EXEC("if (MasterArm == 0) ActKey(PULSE+KEYON+'z');"),
EXEC("if (MasterArm == 0) MasterArm = 1;")));
MapKey(&Throttle, APUOFF, CHAIN(EXEC("if (MasterArm == 1) ActKey(PULSE+KEYON+'z');"),
EXEC("if (MasterArm == 1) MasterArm = 0;")));
}

int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
}

Avec ce code lorsque que j'exécute le script alors que l'interrupteur est en position APUON au départ et que je le passe en position APUOFF la commande 'z' ne devrait pas être envoyé............mais elle l'est:crying:
J'ai l'impression que les passage conditionnel (if) ne sont pas pris en compte.
Quelqu'un saurait pourquoi?
Merci d'avance!

Bon je sait ça date un peu mais je viens de faire la même chose pour il2 et voici ce à quoi je suis arrivé après quelques tentatives plus ou moins tordues ( j' ai tenté avec des flags , ActKey( KEYON+ ..... ) mais ça ne marchait pas , pas moyen de "couper" l' appui ).

donc voila :

Dans un premier temps il convient de désactiver les gâchettes / boutons du Joy . On utilise la commande MapKey


MapKey(&Joystick,TG1,0);// première détente (TG1)
MapKey(&Joystick,TG2,0);// deuxième détente ( TG2)
MapKey(&Joystick,S2,0);// weapons release button
MapKey(&Joystick,S3,0);// nosewheel steering button
MapKey(&Joystick,S4,0);// Paddle switch

ceci fait , au lancement du script une action sur n'importe lequel de ces boutons ne donne rien ( 0=aucune action dans TARGET ) quelque soit la position de l'interrupteur que vous avez choisit . Si celui ci est dans la mauvaise position ( ARM / ON ) il suffit de basculer l' inter sur OFF .

Ensuite occupons nous de l' interrupteur.

On prend par exemple l'EAC en bas à gauche du throttle ( EACON / EACOFF ) et pour chaque position de cet interrupteur on va assigner les commandes des différents boutons / gachettes du Joy ( T1 , TG2 , S2 , S3 , S4 ) en affectant respectivement les bouttons DirectX ( DX1 , DX2 , DX3 , DX4 ) en position ON et rien ( 0) en position OFF.


MapKey(&Throttle,EACON,EXEC("MapKey(&Joystick,TG1,DX1);MapKey(&Joystick,TG2,DX2);MapKey(&Joystick,S2,DX2);MapKey(&Joystick,S3,DX3);MapKey(&Joystick,S4,DX4);"));
// Quant EAC est sur la position ARM (ON) on affecte aux différents boutons leur commande DirectX

MapKey(&Throttle,EACOFF,EXEC("MapKey(&Joystick,TG1,0);MapKey(&Joystick,TG2,0);MapKey(&Joystick,S2,0);MapKey(&Joystick,S3,0);MapKey(&Throttle,EORIGN,0);"));
// Quant EAC est sur la position OFF on désactive tout les boutons
Image
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

#156

Message par hellfrog »

ce qui revient à faire ce qu'à fait irvanwfr dans ses scripts avancés pour A10 :
avec une définition de variables correspondant à chaque état de bouton, U M D et I O, on définit l'action à exécuter pour chaque état, et le mappage est fait pour tous les états.
au lancement, tout est à zéro.
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#157

Message par ivanwfr »

J'aurai plusieurs remarques à faire sur la question de départ de matbog mais également sur les solutions envisagées.


TRANSITIONS:
Pour le coup de la touche Z, il s'agit de résoudre un problème de synchronisation. Comme s'il fallait changer de pied quand on avance le droit quand les autres avancent le gauche.

On veut qu'un bouton ayant 2 états stables provoque une impulsion la touche Z du clavier pour ses 2 transitions ON-OFF et OFF-ON.

Ceci étant posé, les "if"du script de matbog doivent marcher parfaitement, mais en y regardant de plus près, il s'agit du même appel à ActKey(PULSE+KEYON+'z') dans les 2 cas! ...ça ne résout dont pas le manque de synchronisme.


SYNCHRONISATION:
Un simple appui manuel sur la touche z du clavier doit permettre de faire le changement de pas nécessaire. Bien sûr, ça ne fournit pas une véritable solution car le seul moyen de synchroniser 2 systèmes indépendants consiste à transmettre l'information nécessaire au démarrage de l'ensemble. C'est d'ailleurs ce que propose DCS A10-C dans sa configuration de façon à reproduire la position des boutons du Throttle conformément à ce qu'on voit sur l'écran.

Et ce que propose -=COS=-LeBorgne ressemble un peu à ça en fournissant le moyen de rendre les boutons inopérants afin de pouvoir les manipuler sans qu'ils envoient quoi que ce soit.

C'est vraiment astucieux, mais ça fait longtemps que je pense que les astuces sont la pire des choses en programmation. Sur le moment, on est assez satisfait de son coup mais on finit toujours par le payer cher un peu plus tard. C'est souvent assez compliqué et les effets de bord se révèlent plus tard lorsqu'on veut faire évoluer l'ensemble.


STATE MACHINE:
La description technique de la question consiste à considérer qu'on a affaire à un "State machine" (un automate). Autrement dit, on parle d'états et de transitions.

On manipule ici des mécanismes à 1, 2, 3 états stables.
- Certains événements sont activés par les transitions (touches clavier qui sortent brièvement de leur unique état stable (OFF).
- D'autres sont activés par l'établissement d'un état ON ou OFF ou AUTRE, ... (DX-Input)
- L'effet des axes est d'un autre ordre car (en principe) le nombre d'état n'est pas "fini" comme ceux d'un élément d'automate.

Donc, si on pense état ou transition, on ne va pas faire la même chose du tout. Et là, on mélange bien les deux notions en programmant la même transition sur un bouton à 2 états.

Du coup, le rôle de sa position n'est pas traité dans son dialogue avec le simulateur. On ne peut donc pas s'y fier avant d'effectuer la synchronisation et de la maintenir.

Il s'agit donc plus d'une question d'ergonomie que de programmation.

...à creuser...
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

PROFILE : mon dernier profil Warthog + MFDs pour BS

#158

Message par hellfrog »

advanced script

d'après les conseils de irvanwfr

qqs trucs pas encore au point ou buggés ou non fiables n'y sont pas :
gestion du son
clignotement des LEDs des MFDs

mais il y a déjà de quoi faire pour les amateurs de script

http://www.megaupload.com/?d=VKEKH1RS
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]

ivanwfr
Nouvelle Recrue
Nouvelle Recrue
Messages : 132
Inscription : 24 avril 2011

#159

Message par ivanwfr »

:yes: Sacré boulot!
Avatar de l’utilisateur

DdT_FireAngel
Mécano au sol
Mécano au sol
Messages : 488
Inscription : 26 avril 2005

#160

Message par DdT_FireAngel »

bonjour a tous
j'aurais une petite question pour les pros :)

je voudrais mettre le weapon release ainsi que le tir canon sur TG1
avec le gun selector en shift+TG1

mes ligne de code

SetShiftButton(&Joystick, S3); ( a la bonne place)

flag2=0;
MapKeyIO(&Joystick,TG1,EXEC("ActKey(PULSE+KEYON+'c');""flag2=1;"));
MapKey(&Joystick,TG1,EXEC("if(flag2)ActKey(KEYON+gun_fire);else ActKey('z');"));
gun_fire='a';


le problème c'est que le shift+TG1 ne fonctionne pas
un autre bouton en MapKey(&Joystick,S4.... fonctionne
et je ne peux pas garder la touche de tire appuyer ca me fait qu'un pulse comment faire un hold avec ActKey

MERCI
Image
Avatar de l’utilisateur

lefuneste
Pilote Philanthrope
Pilote Philanthrope
Messages : 2142
Inscription : 26 février 2005

est-ce que l'on peut utiliser une info exterieure à TARGET ?

#161

Message par lefuneste »

Du style un appui de touche clavier ou un mouvement sur un axe autre que celui du warthog ?

Dans l'idée de incrémenter/décrementer un axe du "thrusmaster combined" si action sur un palo Saitek (BF3 ne gère pas le multi joystick....).

J'ai essayé d'introduire le Saitek dans les fichiers de Target mais j'ai le msg suivant 'Cannot use "VID_06A3&PID_0763" T.A.R.G.E.T is supporting only Thrustmaster devices!'
Avatar de l’utilisateur

DdT_FireAngel
Mécano au sol
Mécano au sol
Messages : 488
Inscription : 26 avril 2005

#162

Message par DdT_FireAngel »

bon j'ai modifie un peu le truc

MapKeyIO(&Joystick, S1,SEQ(EXEC("ActKey(PULSE+KEYON+'c');""flag2=1;"),EXEC("ActKey(PULSE+KEYON+'c');""flag2=0;"))
,TEMPO(SEQ(PULSE+'i',PULSE+'y'),PULSE+'u',500));

MapKey(&Joystick,TG1,EXEC("if(flag2)MapKey(&Joystick,TG1,SPC);else MapKey(&Joystick,TG1,R_ALT+SPC);"));



par contre la seqeuence ne fonctionne pas
a chaque appui je voudrai que le flag passe de vrai a faux et inversement

quelqu'un pour un petit coup de main .???


après des heures dessus, j'ai trouvé comment faire pour activer le canon


MapKeyIO(&Joystick, S1,SEQ(EXEC("ActKey(PULSE+KEYON+'c');""flag2=1;"),EXEC("ActKey(PULSE+KEYON+'c');""flag2=0;"))
,TEMPO(SEQ(PULSE+'i',PULSE+'y'),PULSE+'u',500)); appui court sur S1 change les weapon station,un appui long selectionne tout; un appui S3+S1 selectionne/déselectionne le canon

MapKey(&Joystick,TG1,EXEC("if(flag2)ActKey(KEYON+SPC);else ActKey(KEYON+R_ALT+SPC);")); si canon activé la touche d'appui est espace, sinon c'est la touche de weapon release
MapKeyR(&Joystick,TG1,EXEC("if(flag2)ActKey(SPC);else ActKey(R_ALT+SPC);"));
Image
Avatar de l’utilisateur

lefuneste
Pilote Philanthrope
Pilote Philanthrope
Messages : 2142
Inscription : 26 février 2005

#163

Message par lefuneste »

lefuneste a écrit :D (BF3 ne gère pas le multi joystick....).
Bon j'ai trouvé: en mappant la souris sur le palo Saitek on arrive à faire qqe chose de correct.
Par ailleurs un gars a reussi à faire reconnaitre un joy non Thrustmaster mais il ne veut pas dire comment: http://simhq.com/forum/ubbthreads.php/t ... 128/2.html
Avatar de l’utilisateur

-=COS=-LeBorgne
Jeune Pilote
Jeune Pilote
Messages : 1362
Inscription : 12 avril 2006

#164

Message par -=COS=-LeBorgne »

pour moi combiner une BU0836 me suffirait amplement !
Image
Avatar de l’utilisateur

-=COS=-LeBorgne
Jeune Pilote
Jeune Pilote
Messages : 1362
Inscription : 12 avril 2006

#165

Message par -=COS=-LeBorgne »

Je reviens à la charge !!!

TM n' aurait pas dans ses cartons un projet de carte controleur programmable via T.A.R.G.E.T. ?

Je vais quand même pas acheter un MFD pour le désosser !
Image
Avatar de l’utilisateur

chuuutt
Nouvelle Recrue
Nouvelle Recrue
Messages : 49
Inscription : 24 novembre 2009

Fichier FCF

#166

Message par chuuutt »

Bonjour maitres du TARGET :notworthy

J'ai bien trouvé le chemin du fichier TMC.. :Jumpy:

Pourriez-vous m'indiquer le chemin du fichier FCF ...

je crois qu'il est en c:users\apps\roaning\?

Merci d'avance

jean :notworthy
Asus P8P67 i7 2600K à 4x3.40 Ghz 4x4 Go DDR3 PC-12800 à 1600 Mhz HD6970 en 2 Go
Répondre

Revenir à « salle: Periphériques: Hotas, Joysticks, Track-IR »