Page 2 sur 2

Re: TCAS du pauvre :)

MessagePosté: Ven 31 Aoû 2018 22:40
de orion33
@JeeHell
SimConnect_RequestDataOnSimObjectType, avec SIMCONNECT_SIMOBJECT_TYPE_AIRCRAFT)
Oui j'ai joué avec... mais mon niveau de programmation me bloque,j'arrive pas à ressortir les données sur VB.net , si jamais t'as une idée cela me "debugerai" plein de trucs !!!! merci d'avance grandsoleil

Re: TCAS du pauvre :)

MessagePosté: Sam 1 Sep 2018 20:54
de JeeHell
Connais pas le VB.net.
Et surtout je ne sais pas où tu en es avec Simconnect... Déjà dis moi ce que tu arrives à faire avec, et on verra.

Re: TCAS du pauvre :)

MessagePosté: Dim 2 Sep 2018 15:05
de tabar57
Bonjour,

Au stade où on en est et compte tenu du nombre restreint de participants sur ce forum qui commence à devenir familial, ce serait vachement bien qu'un meneur fasse une espèce de tuto pour emmener les autres dans un parcours simconnect, LUA etc

Qu'est ce que vous en pensez ?

Cordialement

Bernard

Re: TCAS du pauvre :)

MessagePosté: Dim 2 Sep 2018 16:21
de mameloose
très bonne idée je serai preneur egalement

Re: TCAS du pauvre :)

MessagePosté: Dim 2 Sep 2018 16:34
de A320 hérétique
Oui, bien sur Bernard, mais y a -t-il parmis nous qqu'un qui maitrise la chose ?

Cela étant, pas certain que LUA / Simconnect soit le bon couple : en ce moment, je galère avec LUA et la bibliothèque LUA COM de FSUIPC : ça marche, ça marche, et puis tout à coup un byte s'égare, donc nécessaire retry en aveugle, je n'arrive absolument pas à comprendre, et pourtant je ne suis pas tout à fait né de la dernière pluie blemeblanc ... Dans notre cas, l'intérêt de LUA c'est que Peter D l'a doté de bibliothèques qui permettent très facilement d'accéder aux variables FSX/P3D via FSUIPC ; mais on est dans le vraiment très confidentiel ...

Si on veut passer directement par Simconnect, je pense qu'un bon C, C++ ou C# serait beaucoup plus adapté : LUA n'est qu'un langage de script, et depuis que je creuse de ce coté je trouve que dans un environnement FSUIPC c'est vraiment extrêmement rustique ...

Bon, ça n'engage que moi, certains seraient peut-être pas du tout à l'aise avec du C ?

En tous les cas, une bonne démistification de Simconnect et de sa mise en œuvre ce serait le pied !

Michel
ps : ça ne te tente pas ? cligneoeil

Re: TCAS du pauvre :)

MessagePosté: Dim 2 Sep 2018 21:49
de fab
Mais cela reste à utiliser avec des langages ... plus hard de de simples scripts ...

Pour ceux que cela tente, il y a ça : http://simul.jpcor.fr/SimConnect%20reference.htm

Re: TCAS du pauvre :)

MessagePosté: Lun 3 Sep 2018 12:12
de orion33
@JeeHell
J’avance doucement avec simconnect que je découvre peu à peu, J’arrive à récupérer les events et variables dans un fichier VB, cela me permet de traiter les données récupérées (conversion, modif, mise en forme etc) chaque paramètre récupéré est un challenge yeuxhaut mais j’y arrive pas mal pour les données « avion » je commence à bien gérer le process sur des variables simples (exemple : GEAR LEFT POSITION où la donnée attendue est une valeur en 0 et 100), en revanche tout ce qui est environnement avion comme par exemple : le trafic environnent je « merdouille » complet...
Après avoir mis en forme les données dans mon fichier VB j’envoie via l’USB sur un microcontrôleur (PIC) lui-même programmé pour alimenter instruments, voyants,etc.
J’arrive aussi à faire l’inverse envoyer à simconnect une donnée comme la position d’un interrupteur, potar, etc … c’est de la bidouille, j’apprends tout doucement n’ayant pas de base sur la programmation c’est loin d’être évident, heureusement internet est là et me permet bien souvent de trouver de l’aide chouettedoights
Pas facile à expliquer tout ça !

Re: TCAS du pauvre :)

MessagePosté: Lun 3 Sep 2018 16:22
de JeeHell
orion33 a écrit:@JeeHell
J’avance doucement avec simconnect que je découvre peu à peu, J’arrive à récupérer les events et variables dans un fichier VB, cela me permet de traiter les données récupérées (conversion, modif, mise en forme etc) chaque paramètre récupéré est un challenge yeuxhaut mais j’y arrive pas mal pour les données « avion » je commence à bien gérer le process sur des variables simples (exemple : GEAR LEFT POSITION où la donnée attendue est une valeur en 0 et 100), en revanche tout ce qui est environnement avion comme par exemple : le trafic environnent je « merdouille » complet...
Après avoir mis en forme les données dans mon fichier VB j’envoie via l’USB sur un microcontrôleur (PIC) lui-même programmé pour alimenter instruments, voyants,etc.
J’arrive aussi à faire l’inverse envoyer à simconnect une donnée comme la position d’un interrupteur, potar, etc … c’est de la bidouille, j’apprends tout doucement n’ayant pas de base sur la programmation c’est loin d’être évident, heureusement internet est là et me permet bien souvent de trouver de l’aide chouettedoights
Pas facile à expliquer tout ça !


Je vais pas m'intéresser au côté PC <=> microcontrôleur, je suppose que le problème vient déjà de ton appli PC vers simconnect/P3D.

Donc si tu arrives à récupérer une donnée simple comme GEAR LEFT POSITION, je suppose que tu utilises SimConnect_RequestDataOnSimObject et que tu récupères les données dans la callback "dispatch", sous l'ID SIMCONNECT_RECV_ID_SIMOBJECT_DATA

Le principe pour les trafics alentours est identique, sauf que tu es obligé de récupérer les données en passant par un appel à la fonction SimConnect_RequestDataOnSimObjectType, et que les données seront reçues avec l'ID SIMCONNECT_RECV_ID_SIMOBJECT_DATA_BYTYPE.
SimConnect_RequestDataOnSimObjectType doit être appelée régulièrement, elle ne comprend pas de récurrence comme SimConnect_RequestDataOnSimObject.

Pour chaque simobject de type souhaité (ici SIMCONNECT_SIMOBJECT_TYPE_AIRCRAFT et éventuellement SIMCONNECT_SIMOBJECT_Type_HELICOPTER) tu auras un retour avec le bloc de données (déclaré en utilisant SimConnect_AddToDataDefinition) et chaque appel aura un ObjectId correspondant au trafic concerné (tu peux donc stocker entre deux appels les données TCAS et les mettre à jour en fonction de cet objectID).

D'ailleurs, une fois l'objectID mémorisé, tu peux alors utiliser la fonction SimConnect_RequestDataOnSimObject avec cet objectID (au lieu de SIMCONNECT_SIMOBJECT_Type_USER ou 0). Et tu retrouves le mécanisme usuel pour récupérer/envoyer des données.

Il est vraiment préférable de n'utiliser qu'un seul type de données dans le retour (SimConnect_DATAType_FLOAT64 ou bien avec des strings si vraiment nécessaire, les strings c'est un poil plus compliqué). Même si tu dois retrouver un booléen ou un entier, tu retrouveras tes petits facilement, et ce sera une source d'erreur de moins.

Re: TCAS du pauvre :)

MessagePosté: Lun 3 Sep 2018 18:40
de orion33
Merci bien merci affiche
Je vais regarder ça de près et oui effectivement je passe bien avec "SimConnect_RequestDataOnSimObject" et "SIMCONNECT_RECV_ID_SIMOBJECT_DATA".
Bon du pain sur la planche, cligneoeil mais ça va finir par le faire !
@+