Accueil
Accueil

Bienvenue invité ( Connexion | Inscription )

2 Pages V  1 2 >  
Reply to this topicStart new topic
> X52 Pro with LockOn :: MFD/Leds Interaction
Blu3dr4g0n
post 17 Jun 2008, 21:02
Message #1



 


Messages : 85
Inscrit : 16/03/08
Lieu : Castres
Membre n° 2,983

Bonjour à tous !

Je viens de faire l'acquisition d'un X52 Pro de saitek, et c'est la possibilité de programmer le joystick qui m'interesse. Depuis le 1.1X il est presque possible de récupérer tout ce qui est interessant (lock radar, failures, etc.). Je sais que ça va prendre du temps et que ça va pas être simple, mais je compte sur les âmes charitables pour fournir de la doc utile si vous en connaissez smile.gif

Je mettrais à jour directement ce post à ce propos et peut-être y attacherai des mini-betas ^^

Ressources LUA :
LUA Users Top level wiki
Livre online : Programmer en LUA version 1

Ressources lockon export LUA :
la page officielle lockon.co.uk concernant l'export LUA
Explication succinte sur l'export
L'openWiki du 3rd Wing Dev Zone
Default Export LUA lockon ver 1.12
Projet LOSIOC, protocole SIOC pour Lockon

Ressources programmation X52 Pro:
Exemple de wrapper C# pour le SDK X52Pro

[Dev Diary History]

[SCREENS]
Debug menu, bridge statut sur le menu general (on voit bien que le serveur LOSIOC est pas online)
Image IPB
Debug Menu, Bridge statut, en vol (replay)
Image IPB

[01.07.08 :: Statut du code => Pre-alpha, unstable]
[BRIDGE]Refactoring du code et architecture de communication modifiée. Optimisation sur la consommation CPU. Configuration des pages du X52Pro par XML.
[BUFFERING.LOSIOC]Problème de buffering LOSIOC réglé. Communication en reception avec losioc déporté sur un thread différent, TCP Socket bloquante pour éviter un CPU HOG.
[THREAD] Recriture et reconception du programme sur un concept multithreadé.
[LOSIOCNET] Communication avec LOSIOC OK, problème de buffering des réponses
[BRIDGE] Support de la pause pendant la simulation
[BRIDGE] Bridge fonctionnel. X52<-->Bridge<-->LOSIOC<-->LockOn.
[LUA] Utilisation du serveur LOSIOC1.1.5 comme source de données d'export/import LockOn
[X52SDK]W rapper C# de Fugazi fonctionnel pour DirectOutput => affichage de texte dans le MFD et detection de l'appuie des touches en C# pur avec safe code fonctionnel
[LUA] lecreole propose d'utiliser LOSIOC -> a etudier
[LUA] rapatriement et formatage des donnees dans un LogFile [partiel]
[LUA]Redefinition des fonctions builtin, export lua dans un fichier tiers, ajout d'un fichier de log pour debug dans temp

Ce message a été modifié par Blu3dr4g0n - 2 Jul 2008, 11:49.

--------------------
Knowledge Is Power

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
DArt
post 18 Jun 2008, 07:45
Message #2




I am LotAtc

Indicatif : JR-01
Messages : 6,273
Inscrit : 30/11/06
Lieu : Savoie
Membre n° 999

Très bonne initiative, tu as mon appui, tu trouveras ton bonheur dans ce zip: http://download.dartsite.org/Lockon/DPRO/

Par contre, c'est "en l'état" pas sur que cela fonctionne, mais tu as ce qu'il faut pour débuter (lua+prog). Si t'as des questions, n'hésites pas wink.gif

--------------------

Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Blu3dr4g0n
post 18 Jun 2008, 21:25
Message #3



 


Messages : 85
Inscrit : 16/03/08
Lieu : Castres
Membre n° 2,983

CITATION(DArt @ 18 Jun 2008, 08:45) *

Très bonne initiative, tu as mon appui, tu trouveras ton bonheur dans ce zip: http://download.dartsite.org/Lockon/DPRO/
Par contre, c'est "en l'état" pas sur que cela fonctionne, mais tu as ce qu'il faut pour débuter (lua+prog). Si t'as des questions, n'hésites pas wink.gif


Merci Dart ! je vais regarder ça de très près.
J'ai créé mon script d'Export LUA hier soir et redefini les fonctions par default de lockon pour garder le export.lua par defaut propre (si ce n'est rajouter à la fin un petit 'dofile("./Config/Export/DragonX52ExportFlamingCliffs.lua")'. C'est compatible avec Tacview 0.92 (pour l'instant), et j'ai rajouté un fichier de log (qu'on peut désactiver par une variable dans mon script d'export LUA) afin de tracer les communications (je pense inserer un niveau de debug, car si je log à chaque frame, ça va faire mal ^^)

Donc pour l'instant, j'ai la base de l'export et j'arrive à faire fonctionner le refresh personnalisé à la seconde (paramétrable par variable toujours). Je vais m'attaquer à la recuperation des variables du jeu.

Ensuite, je créerais une socket LUA qui enverra les données à un serveur en ecoute.

Pour le serveur en écoute, je compte le développer en .Net 3 / C# (WCF oblige ^^), qui sur une reception de commande créera un thread pour la mise à jour vers le X52 Pro (pour éviter les queues ou les bottleneck de communication).

Enfin je réfléchi encore sur l'archi et me monte petit à petit ma solution, je vous préviendrais de la suite des evennements en editant le premier post smile.gif


--------------------
Knowledge Is Power

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
M0RpH3u5
post 18 Jun 2008, 22:53
Message #4



 


Messages : 33
Inscrit : 11/04/08
Membre n° 3,007

heu j'arrive pas trop à déchiffrer ce que vous racontez, mais sa m'intéresse beaucoup alors je vous apporte ce que je peut : des encouragements! tongue.gif

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Blu3dr4g0n
post 18 Jun 2008, 23:45
Message #5



 


Messages : 85
Inscrit : 16/03/08
Lieu : Castres
Membre n° 2,983

CITATION(M0RpH3u5 @ 18 Jun 2008, 23:53) *

heu j'arrive pas trop à déchiffrer ce que vous racontez, mais sa m'intéresse beaucoup alors je vous apporte ce que je peut : des encouragements! tongue.gif


Merci bien ^^
Le but c'est de faire afficher sur le MFD du X52 Pro, des infos issu du jeu lockon, comme la vitesse, le nom du pilote, les RPM des moteurs gauche et droite, leur temperature, etc. etc. Voici les données que j'arrive à extraire (pour l'instant) par exemple :

CODE
UpdateInfosEveryCustomTick() called at 20080619-001900
LoGetModelTime()->64
LoGetMissionStartTime()->54000
LoGetPilotName()->Pilot1
LoGetPlayerPlaneId()->16779008
LoGetIndicatedAirSpeed()->63.568788521656
LoGetTrueAirSpeed()->65.991134643555
LoGetAltitudeAboveSeaLevel()->248.64329528809
LoGetAltitudeAboveGroundLevel()->11.566818237305
LoGetAngleOfAttack()->12.349461073153
LoGetAccelerationUnits()->1.1329257488251
LoGetVerticalVelocity()->-1.7782878875732
LoGetADIPitchBankYaw()->0.18339471699839
LoGetMagneticYaw()->4.5870559053463
LoGetGlideDeviation()->-1
LoGetSideDeviation()->-1
LoGetSlipBallPosition()->-0.0020762626175586
LoGetBasicAtmospherePressure()->760
LoGetControlPanel_HSI()->[ADF:0.95554631948471|RMI:0.87181288003922|Compass:4.5870559053463]
LoGetEngineInfo()->[RPM_L:67.468170166016|RPM_R:77.429496765137]
LoGetEngineInfo()->[TEMP_L:513.88220214844|TEMP_R:442.20919799805]
LoGetEngineInfo()->[HYDPRESS_L:215|HYDPRESS_R:215]
LoGetMCPState()->[LeftEngineFailure:true]
LoGetMCPState()->[RightEngineFailure:false]
LoGetMCPState()->[HydraulicsFailure:true]
LoGetMCPState()->[ACSFailure:false]
LoGetMCPState()->[AutopilotFailure:true]
LoGetMCPState()->[AutopilotOn:false]
LoGetMCPState()->[MasterWarning:true]
LoGetMCPState()->[LeftTailPlaneFailure:false]
LoGetMCPState()->[RightTailPlaneFailure:false]
LoGetMCPState()->[LeftAileronFailure:false]
LoGetMCPState()->[RightAileronFailure:false]
LoGetMCPState()->[CanopyOpen:false]
LoGetMCPState()->[CannonFailure:false]
LoGetMCPState()->[StallSignalization:false]
LoGetMCPState()->[LeftMainPumpFailure:false]
LoGetMCPState()->[RightMainPumpFailure:false]
LoGetMCPState()->[LeftWingPumpFailure:false]
LoGetMCPState()->[RightWingPumpFailure:false]
LoGetMCPState()->[RadarFailure:false]
LoGetMCPState()->[EOSFailure:false]
LoGetMCPState()->[MLWSFailure:false]
LoGetMCPState()->[RWSFailure:false]
LoGetMCPState()->[ECMFailure:false]
LoGetMCPState()->[GearFailure:false]
LoGetMCPState()->[MFDFailure:false]
LoGetMCPState()->[HUDFailure:false]
LoGetMCPState()->[HelmetFailure:false]
LoGetMCPState()->[FuelTankDamage:false]


Voilou voilou, ^^ je vais rajouter les doses de carburant dispos.
Par contre, je sais pas comment obtenir les infos sur les statut des volets, train d'aterrissage ou autre (ouvert/fermé par exe.) ^^

Ce message a été modifié par Blu3dr4g0n - 19 Jun 2008, 00:15.

--------------------
Knowledge Is Power

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
DArt
post 19 Jun 2008, 07:19
Message #6




I am LotAtc

Indicatif : JR-01
Messages : 6,273
Inscrit : 30/11/06
Lieu : Savoie
Membre n° 999

A noter, que tu peux aussi utiliser le MFD du X52 pour saisir des valeurs, (regarde le SDK), pratique pour choisir le cap de tel ou tel aéroport whistling.gif , ou activer les volets, larguer les armes....

--------------------

Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Blu3dr4g0n
post 19 Jun 2008, 10:02
Message #7



 


Messages : 85
Inscrit : 16/03/08
Lieu : Castres
Membre n° 2,983

CITATION(DArt @ 19 Jun 2008, 08:19) *

A noter, que tu peux aussi utiliser le MFD du X52 pour saisir des valeurs, (regarde le SDK), pratique pour choisir le cap de tel ou tel aéroport whistling.gif , ou activer les volets, larguer les armes....


Je viens recevoir le monstre ce matin avant d'arriver au boulot. Je pense jouer avec le SDK maintenant. Pour le MFD, je savais pas qu'on pouvais faire ça ! (remarque je ne l'avais pas encore smile.gif )
Effectivement, serait une super idée

--------------------
Knowledge Is Power

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
DArt
post 19 Jun 2008, 10:10
Message #8




I am LotAtc

Indicatif : JR-01
Messages : 6,273
Inscrit : 30/11/06
Lieu : Savoie
Membre n° 999

C'est là le grand avantage, je voulais faire un système de gestion par page (on peut le faire dans le SDK) et afficher plein d'infos et de paramètres à définir. Les LEDS aussi, changer la couleur quand un bandits s'approche.... Attention, sans faire de cheat, c'est important, ce ne doit pas être de la triche mais un complément aux instru de bord... bref ya plein de trucs à faire...

--------------------

Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Blu3dr4g0n
post 19 Jun 2008, 11:44
Message #9



 


Messages : 85
Inscrit : 16/03/08
Lieu : Castres
Membre n° 2,983

CITATION(DArt @ 19 Jun 2008, 11:10) *

C'est là le grand avantage, je voulais faire un système de gestion par page (on peut le faire dans le SDK) et afficher plein d'infos et de paramètres à définir. Les LEDS aussi, changer la couleur quand un bandits s'approche.... Attention, sans faire de cheat, c'est important, ce ne doit pas être de la triche mais un complément aux instru de bord... bref ya plein de trucs à faire...


Je suis open pour des idées ^^ d'affichage et/ou de modif le temps que j'apprenne à exploiter le X52 Pro de manière fonctionnelle. Par contre chez saitek ils ont pas beaucoup d'infos quand même sur la programmation de leur joystick ! ça franchement limite quand même pour des professionnels.

Pour les infos ou les données sans cheater je suis d'accord ! le but d'afficher ou de tranformer le X52 en sapin de noel, c'est séduisant, mais si ça gache le plaisir du jeu, je n'y vois pas non plus l'interet (comme la pluspart des vrais simmeurs d'ailleur ^^)

Si tu as des idées sur ce qui serait utile à afficher sur le saitek, les infos à setter depuis le MFD ou autre (leds sur action/reaction) je suis preneur, en effet je me concentre plus sur l'archi et la programmation de l'ensemble pour l'instant, que la fonctionnalité finale ^^

En tout cas, c'est bien agréable d'avoir des retour à ce sujet de ta part Dart, ça met du beaume au coeur ! par contre je ne peux travailler dessus que le soir... ^^

--------------------
Knowledge Is Power

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
DArt
post 19 Jun 2008, 14:37
Message #10




I am LotAtc

Indicatif : JR-01
Messages : 6,273
Inscrit : 30/11/06
Lieu : Savoie
Membre n° 999

A ce propos, je ne sais pas tes connaissances et tes envies, mais si tu as besoin d'un serveur SVN pour mettre ton projet, je peux héberger ton code sur mon serveur (celui de LOME). Ma seule contrainte, c'est que ton code soit sous licence GPL. Rien d'obligé, c'est au cas où tu en ai besoin. wink.gif

--------------------

Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post

2 Pages V  1 2 >
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :
 

Haut de page · Retour à l'accueil · Contacter le Webmestre Nous sommes le : 28/03/24 - 18:16