MAJ DCS BIOS M2000C

Fabrication de cockpit et divers ( palonnier , panels ..) c est ICI
Avatar de l’utilisateur

ergo
Webmaster
Webmaster
Messages : 14484
Inscription : 27 avril 2008

Re: MAJ DCS BIOS M2000C

#51

Message par ergo »

FLASH -- FLASH -- FLASH

ce matin, après un bon café je me suis remis au travail, a force de debug et de bidouille, j'ai trouvé !

Et mieux encore : SANS modifier le lua de razbam, il suffit de mettre un peu d'intelligence dans notre propre M2000C.lua !

Je vous libre ici les 6 fonctions qui me permette de récupérer :

- Ce qui s'affiche en haut à droite en lieu et place de la latitude (8 caractère forcement)
- Ce qui s'affiche en haut à gauche en lieu et place de la longitude (9 caractère forcement)
- Le +/-/N/S, dans mon utilisation je dois les afficher sur le même digit, donc j'ai réduit à un seul caractère et c'est une étoile qui s'affiche quand ils s'affiche tous
- Le +/-/E/W, dans mon utilisation je dois les afficher sur le même digit, donc j'ai réduit à un seul caractère et c'est une étoile qui s'affiche quand ils s'affiche tous
- Le numero du PREP, qu'on soit en édition ou non
- Le numero du DEST, qu'on soit en édition ou non

Au passage certaine de ces fonctions ont été bidouillé pour consommer un minimum de ressource mémoire et de temps de calcul. C'est peut être anodin, mais si on fait attention à ca, on peut s'éviter quelque lag plus tard.
Je vous laisse faire ce qui va bien dans les defineString ensuite ;)

Code : Tout sélectionner

local function getPCNDispL() local li = list_indication(10) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") while true do local name, value = m() if not name then break end if name:sub(0,10) == "text_PCN_L" then value = " "..value return value:sub(-8) end end return " " end local function getPCNDispR() local li = list_indication(10) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") while true do local name, value = m() if not name then break end if name:sub(0,10) == "text_PCN_R" then value = " "..value return value:sub(-9) end end return " " end local function getPCNDigitR() local li = list_indication(10) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") local count = 0 local ret = " " while true do local name, value = m() if not name then break end if name == "text_PCN_EST" then count = count + 1 ret="E" end if name == "text_PCN_OUEST" then count = count + 1 ret="W" end if name == "text_PCN_PLUS_R" then count = count + 1 ret="+" end if name == "text_PCN_MOINS_R" then count = count + 1 ret="-" end end if count > 1 then ret = "*" end return ret end local function getPCNDigitL() local li = list_indication(10) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") local count = 0 local ret = " " while true do local name, value = m() if not name then break end if name == "text_PCN_NORD" then count = count + 1 ret="N" end if name == "text_PCN_SUD" then count = count + 1 ret="S" end if name == "text_PCN_PLUS_L" then count = count + 1 ret="+" end if name == "text_PCN_MOINS_L" then count = count + 1 ret="-" end end if count > 1 then ret = "*" end return ret end local function getPCNDispD() local li = list_indication(11) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") while true do local name, value = m() if not name then break end if name == "text_PCN_BR2" then value = " "..value return value:sub(-2) end if name == "text_PCN_eBR2" then value = " "..value return value:sub(-2) end end return " " end local function getPCNDispP() local li = list_indication(11) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") while true do local name, value = m() if not name then break end if name == "text_PCN_BR1" then value = " "..value return value:sub(-2) end if name == "text_PCN_eBR1" then value = " "..value return value:sub(-2) end end return " " end
Tout travail mérite son dû, n'est-ce pas "Oui Oui" ?
(Vainqueur de la Boulet's Cup Démo Team C6 en 2011 et 2013)
[F.A.Q.] Bien paramètrer ses forums Checksix
Avatar de l’utilisateur

asta
Pilote Philanthrope
Pilote Philanthrope
Messages : 1355
Inscription : 17 avril 2017

Re: MAJ DCS BIOS M2000C

#52

Message par asta »

Hello @Ergo,

J'ai une question pour toi, en utilisant ça :

Code : Tout sélectionner

list_indication(10)
Tu récupères les infos' qui sont affichées sur l'INS, mais est-ce que toi aussi les valeurs retournées sont parfois énormes ?
(au point de faire planter ma trame UDP car la donnée est trop grosse pour la trame)

Voici un petit extrait exemple de ce que je récupère quand tout va bien :

Code : Tout sélectionner

----------------------------------------- PCN_UR ----------------------------------------- text_PCN_R_DEG 305.5

et quand tout va mal :

Code : Tout sélectionner

----------------------------------------- text_PCN_R_DEG 0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0305.5 -----------------------------------------
ou même :

Code : Tout sélectionner

----------------------------------------- text_PCN_L_INT 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038 -----------------------------------------
J'essaie de trouver une solution pour éviter d'ajouter une donnée aussi grosse au message que j'envoie à mon téléphone, mais je n'arrive pas à catcher ça en lua


C'est grossier, mais en gros j'ai testé ça :

Code : Tout sélectionner

if string.find(msgOut, "0%.00%.00%.0") then --Doing stuff elseif string.find(msgOut, '000000') then --Doing stuff else --Do nothing end
Si tu veux reproduire ce genre de problème, il faut tourner le knob sur l'INS même
En me mettant sur P/0, en attendant genre 8 secondes et en basculant rapidement sur DV/FV, je me prends ce type de valeur... la trame UDP n'étant pas complète, mon application stoppe le service d'écoute, obligé de la "tuer" et de la relancer pour que ça marche.
Dans le jeu on voit aussi brièvement ce type de valeur apparaitre 1/10 de seconde sur l'écran de l'INS

Tu aurais un petite idée de ce qui cloche et de qu'on pourrait faire pour ignorer les valeurs "pas bonnes" ?

Bye
Avatar de l’utilisateur

Topic author
exo7
Nouvelle Recrue
Nouvelle Recrue
Messages : 155
Inscription : 29 avril 2014

Re: MAJ DCS BIOS M2000C

#53

Message par exo7 »

ergo a écrit :FLASH -- FLASH -- FLASH

ce matin, après un bon café je me suis remis au travail, a force de debug et de bidouille, j'ai trouvé !

Et mieux encore : SANS modifier le lua de razbam, il suffit de mettre un peu d'intelligence dans notre propre M2000C.lua !

Je vous libre ici les 6 fonctions qui me permette de récupérer :

- Ce qui s'affiche en haut à droite en lieu et place de la latitude (8 caractère forcement)
- Ce qui s'affiche en haut à gauche en lieu et place de la longitude (9 caractère forcement)
- Le +/-/N/S, dans mon utilisation je dois les afficher sur le même digit, donc j'ai réduit à un seul caractère et c'est une étoile qui s'affiche quand ils s'affiche tous
- Le +/-/E/W, dans mon utilisation je dois les afficher sur le même digit, donc j'ai réduit à un seul caractère et c'est une étoile qui s'affiche quand ils s'affiche tous
- Le numero du PREP, qu'on soit en édition ou non
- Le numero du DEST, qu'on soit en édition ou non

Au passage certaine de ces fonctions ont été bidouillé pour consommer un minimum de ressource mémoire et de temps de calcul. C'est peut être anodin, mais si on fait attention à ca, on peut s'éviter quelque lag plus tard.
Je vous laisse faire ce qui va bien dans les defineString ensuite ;)

Code : Tout sélectionner

local function getPCNDispL() local li = list_indication(10) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") while true do local name, value = m() if not name then break end if name:sub(0,10) == "text_PCN_L" then value = " "..value return value:sub(-8) end end return " " end local function getPCNDispR() local li = list_indication(10) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") while true do local name, value = m() if not name then break end if name:sub(0,10) == "text_PCN_R" then value = " "..value return value:sub(-9) end end return " " end local function getPCNDigitR() local li = list_indication(10) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") local count = 0 local ret = " " while true do local name, value = m() if not name then break end if name == "text_PCN_EST" then count = count + 1 ret="E" end if name == "text_PCN_OUEST" then count = count + 1 ret="W" end if name == "text_PCN_PLUS_R" then count = count + 1 ret="+" end if name == "text_PCN_MOINS_R" then count = count + 1 ret="-" end end if count > 1 then ret = "*" end return ret end local function getPCNDigitL() local li = list_indication(10) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") local count = 0 local ret = " " while true do local name, value = m() if not name then break end if name == "text_PCN_NORD" then count = count + 1 ret="N" end if name == "text_PCN_SUD" then count = count + 1 ret="S" end if name == "text_PCN_PLUS_L" then count = count + 1 ret="+" end if name == "text_PCN_MOINS_L" then count = count + 1 ret="-" end end if count > 1 then ret = "*" end return ret end local function getPCNDispD() local li = list_indication(11) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") while true do local name, value = m() if not name then break end if name == "text_PCN_BR2" then value = " "..value return value:sub(-2) end if name == "text_PCN_eBR2" then value = " "..value return value:sub(-2) end end return " " end local function getPCNDispP() local li = list_indication(11) --if li == "" then return nil end local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n") while true do local name, value = m() if not name then break end if name == "text_PCN_BR1" then value = " "..value return value:sub(-2) end if name == "text_PCN_eBR1" then value = " "..value return value:sub(-2) end end return " " end
Bien vu la fonction sub()...

je n'y avait pas pensé !!
Avatar de l’utilisateur

ergo
Webmaster
Webmaster
Messages : 14484
Inscription : 27 avril 2008

Re: MAJ DCS BIOS M2000C

#54

Message par ergo »

As-tu regardé ce que j'ai écris ?

Perso j'ai vu qu'il y avait ce genre de "bug", mais aussi quelque certaine chaine de caractère envoyé ne font pas la bonne taille (par exemple pour les caps j'ai 5 caractères au lieu de 8 attendu) c'est pour ca que je récupère la chaine qu'envoie DCS, j'ajoute des caractères vide (espace) à gauche de celle-ci (pour éviter les chaines trop courte) puis je n'envoie à la carte que les derniers caractère nécessaire :
- 8 pour l'afficheur en haut à gauche
- 9 pour l'afficheur en haut à droite
- 2 pour le PREP
- 2 pour le DEST

D'où mon code (tiré de l'afficheur en haut à gauche, donc 8 caractère nécessaire) :

Code : Tout sélectionner

value = " "..value return value:sub(-8)
Ainsi quoi que m'envoie DCS, j'envoie toujours à ma carte un nombre bien fixe de caractère, aucun risque de débordement de trame / plantage sur le port COM grace à ça.
Tout travail mérite son dû, n'est-ce pas "Oui Oui" ?
(Vainqueur de la Boulet's Cup Démo Team C6 en 2011 et 2013)
[F.A.Q.] Bien paramètrer ses forums Checksix
Avatar de l’utilisateur

ergo
Webmaster
Webmaster
Messages : 14484
Inscription : 27 avril 2008

Re: MAJ DCS BIOS M2000C

#55

Message par ergo »

Exo7 a écrit : Bien vu la fonction sub()...

je n'y avait pas pensé !!
Merci Exo7 des années à faire du PHP en manipulant des chaines de caractères, ca donne des idées ^^.
As-tu vu aussi l'astuce pour pas attendre d'avoir fini d'analyser tout le retour du list_indicator ? Quand j'ai trouvé ma chaine, je cherche pas plus lontemps et je sors.

En tout cas je te retourne le remerciement, sans ton taf initial j'aurai jamais réussi à arriver là ou j'en suis ! :notworthy

Bientôt la petit vidéo du système à l'oeuvre :)
Tout travail mérite son dû, n'est-ce pas "Oui Oui" ?
(Vainqueur de la Boulet's Cup Démo Team C6 en 2011 et 2013)
[F.A.Q.] Bien paramètrer ses forums Checksix
Avatar de l’utilisateur

asta
Pilote Philanthrope
Pilote Philanthrope
Messages : 1355
Inscription : 17 avril 2017

Re: MAJ DCS BIOS M2000C

#56

Message par asta »

ergo a écrit :As-tu regardé ce que j'ai écris ?

Perso j'ai vu qu'il y avait ce genre de "bug", mais aussi quelque certaine chaine de caractère envoyé ne font pas la bonne taille (par exemple pour les caps j'ai 5 caractères au lieu de 8 attendu) c'est pour ca que je récupère la chaine qu'envoie DCS, j'ajoute des caractères vide (espace) à gauche de celle-ci (pour éviter les chaines trop courte) puis je n'envoie à la carte que les derniers caractère nécessaire :
- 8 pour l'afficheur en haut à gauche
- 9 pour l'afficheur en haut à droite
- 2 pour le PREP
- 2 pour le DEST

D'où mon code (tiré de l'afficheur en haut à gauche, donc 8 caractère nécessaire) :

Code : Tout sélectionner

value = " "..value return value:sub(-8)
Ainsi quoi que m'envoie DCS, j'envoie toujours à ma carte un nombre bien fixe de caractère, aucun risque de débordement de trame / plantage sur le port COM grace à ça.
Yes ! Et je n'avais lu de façon rigoureuse ton code il faut croire, car n'avais pas percuté l'astuce, merci du coup !
Tu vas faire des heureux, car je vais ainsi pouvoir corriger et publier une nouvelle version :)

@ bientôt et encore merci ;)
Avatar de l’utilisateur

ergo
Webmaster
Webmaster
Messages : 14484
Inscription : 27 avril 2008

Re: MAJ DCS BIOS M2000C

#57

Message par ergo »

Je suis curieux ... ton projet c'est ??
Tu as une page pour voir ça ?
Tout travail mérite son dû, n'est-ce pas "Oui Oui" ?
(Vainqueur de la Boulet's Cup Démo Team C6 en 2011 et 2013)
[F.A.Q.] Bien paramètrer ses forums Checksix
Avatar de l’utilisateur

asta
Pilote Philanthrope
Pilote Philanthrope
Messages : 1355
Inscription : 17 avril 2017

Re: MAJ DCS BIOS M2000C

#58

Message par asta »

ergo a écrit :Je suis curieux ... ton projet c'est ??
Tu as une page pour voir ça ?
Et voilà ;)
http://www.checksix-forums.com/viewtopi ... 5&t=197598
Avatar de l’utilisateur

Topic author
exo7
Nouvelle Recrue
Nouvelle Recrue
Messages : 155
Inscription : 29 avril 2014

Re: MAJ DCS BIOS M2000C

#59

Message par exo7 »

ergo a écrit :
Exo7 a écrit : Bien vu la fonction sub()...

je n'y avait pas pensé !!
Merci Exo7 des années à faire du PHP en manipulant des chaines de caractères, ca donne des idées ^^.
As-tu vu aussi l'astuce pour pas attendre d'avoir fini d'analyser tout le retour du list_indicator ? Quand j'ai trouvé ma chaine, je cherche pas plus lontemps et je sors.

En tout cas je te retourne le remerciement, sans ton taf initial j'aurai jamais réussi à arriver là ou j'en suis ! :notworthy

Bientôt la petit vidéo du système à l'oeuvre :)
Yes ! ca aide d'avoir de sérieuses bases en prog... et quelque soit le langage !
Bravo et je peux aussi te re-retourner le compliment, :notworthy , je n'ai fourni qu'une base, toute amélioration est la bienvenue. :cheer:
Avatar de l’utilisateur

Hombre
Apprenti-Mécano
Apprenti-Mécano
Messages : 311
Inscription : 26 juin 2014

Re: MAJ DCS BIOS M2000C

#60

Message par Hombre »

Bonjour à tous

Je vois que vous arrivez à bricoler sur Arduino. Je sais EXO7 n'a pas le temps d'approfondir le fichier du 2000.
Ma question est de savoir si il est possible d'écrire des scripts ou autre chose " je ne suis pas informaticien et loin de faire ce que vous faites" pour faire fonctionner les différents afficheurs comme ceux de l'INS, la conso instantanné...

Cordialement
Avatar de l’utilisateur

ergo
Webmaster
Webmaster
Messages : 14484
Inscription : 27 avril 2008

Re: MAJ DCS BIOS M2000C

#61

Message par ergo »

Salut Hombre,

Le principe de DCS BIOS c'est justement de faire ça : limiter au minimum le besoin en code.

Mais hélas, de toute façon pour avoir une carte qui fonctionne il faut bidouiller un peu en elec, et forcement un peu en info aussi.

Je suis justement sur un projet qui a dans ces objectifs secondaire de rendre accessible à qui le souhaiterai un système complètement fonctionnel où tu n'as qu'a brancher et ca marche. Mais je suis encore à étudier la faisabilité d'un tel système ... donc pour le moment c'est pas gagné.
Quoi qu'il en soit je partage quelque info ici et là bas (lien : http://www.checksix-forums.com/viewtopi ... 6&t=198361 ) pour permettre aux gens d'avancer.

Ergo.
Tout travail mérite son dû, n'est-ce pas "Oui Oui" ?
(Vainqueur de la Boulet's Cup Démo Team C6 en 2011 et 2013)
[F.A.Q.] Bien paramètrer ses forums Checksix
Avatar de l’utilisateur

Topic author
exo7
Nouvelle Recrue
Nouvelle Recrue
Messages : 155
Inscription : 29 avril 2014

Re: MAJ DCS BIOS M2000C

#62

Message par exo7 »

@Hombre,

déjà implementé... j'ai meme posté des vidéos sur le fofo de la 2nd...
Avatar de l’utilisateur

Hombre
Apprenti-Mécano
Apprenti-Mécano
Messages : 311
Inscription : 26 juin 2014

Re: MAJ DCS BIOS M2000C

#63

Message par Hombre »

Hi mon leader

Pas vu dans la biblio et non plus sur le forum?
Je cherche...
Mais y a t'il eu un update de la bibliothèque DCS-BIOS?
Avatar de l’utilisateur

Hombre
Apprenti-Mécano
Apprenti-Mécano
Messages : 311
Inscription : 26 juin 2014

Re: MAJ DCS BIOS M2000C

#64

Message par Hombre »

Bonjour,

Y a t'il eu une mise à jour de dcs-bios pour le 2000. Si oui quand?
Avatar de l’utilisateur

ergo
Webmaster
Webmaster
Messages : 14484
Inscription : 27 avril 2008

Re: MAJ DCS BIOS M2000C

#65

Message par ergo »

Non, pas pour le moment ... faudrait qu'on se voit avec Exo7 pour faire un truc propre et officiel pour tous .. mais bon avec le 2000C qui devrait encore voir sa version évoluer ... mieux vaut attendre encore un peu !
Tout travail mérite son dû, n'est-ce pas "Oui Oui" ?
(Vainqueur de la Boulet's Cup Démo Team C6 en 2011 et 2013)
[F.A.Q.] Bien paramètrer ses forums Checksix
Avatar de l’utilisateur

Hombre
Apprenti-Mécano
Apprenti-Mécano
Messages : 311
Inscription : 26 juin 2014

Re: MAJ DCS BIOS M2000C

#66

Message par Hombre »

Je ne vois pas dans DCS-Bios ou est implémenté la ligne qui permet d'afficher les coordonnées de l'INS?
Je vois dans le PCN, les boutons, voyants et dans PCN NAV le restant des boutons et du sélecteur de mode mais pour ce qui est des digits???
Avatar de l’utilisateur

ergo
Webmaster
Webmaster
Messages : 14484
Inscription : 27 avril 2008

Re: MAJ DCS BIOS M2000C

#67

Message par ergo »

Elle n'y ai pas.

J'ai ajouter ca moi même pour faire mon boitier, il faudrait que je mette à dispo le code complet (le fichier M2000.lua) ici.

Dès que j'y pense en étant chez moi :)
Tout travail mérite son dû, n'est-ce pas "Oui Oui" ?
(Vainqueur de la Boulet's Cup Démo Team C6 en 2011 et 2013)
[F.A.Q.] Bien paramètrer ses forums Checksix
Avatar de l’utilisateur

Hombre
Apprenti-Mécano
Apprenti-Mécano
Messages : 311
Inscription : 26 juin 2014

Re: MAJ DCS BIOS M2000C

#68

Message par Hombre »

cool merci
Avatar de l’utilisateur

ergo
Webmaster
Webmaster
Messages : 14484
Inscription : 27 avril 2008

Re: MAJ DCS BIOS M2000C

#69

Message par ergo »

voire pièce jointe, à remplacer par le M2000C.lua existant.

--

Au passage j'ai du réparer un soucis dans la libraire de DCS-BIOS (arduino) :

Dans Arduino\libraries\dcs-bios-arduino-library-0.2.11\src\internal\PollingInput.h, remplacer ligne 14 :

Code : Tout sélectionner

virtual void pollInput() ;
par

Code : Tout sélectionner

virtual void pollInput()=0;

Ca provoque des erreurs de compilation sinon ...

pour le code de mon arduino ... ca attendra pour le moment il est trop brouillon ;)
Pièces jointes

[L’extension « zip » a été désactivée et ne peut plus être affichée.]

Tout travail mérite son dû, n'est-ce pas "Oui Oui" ?
(Vainqueur de la Boulet's Cup Démo Team C6 en 2011 et 2013)
[F.A.Q.] Bien paramètrer ses forums Checksix
Avatar de l’utilisateur

Hombre
Apprenti-Mécano
Apprenti-Mécano
Messages : 311
Inscription : 26 juin 2014

Re: MAJ DCS BIOS M2000C

#70

Message par Hombre »

Merci pour le fichier. Identique à celui d'Exo sauf la partie en plus concernant le display des coordonnées.
On peut affecter ton travail sur des afficheurs 7 segments?

Je voudrais installer ceci pour les niveaux fuel en bargraphes. Les entrées sont prévues soient en courant ou en 0-5v.

Image

Avec ton programme on peut faire lui faire savoir que les valeurs de sorties de la carte arduino puisse être en 0-5V?

Cordialement
Avatar de l’utilisateur

Topic author
exo7
Nouvelle Recrue
Nouvelle Recrue
Messages : 155
Inscription : 29 avril 2014

Re: MAJ DCS BIOS M2000C

#71

Message par exo7 »

Library M2000-C pour DCS-BIOS mise à jour ici : https://github.com/Exo7/DCS_BIOS-M2000C_Library

Comprenant :
Fonctions de Ergo (merci à lui)
Reprise des modifications des variables par RAZBAM
Ajout des nouvelles variables disponibles
Ajout des afficheurs 7seg ECM_Box et PPA
Optimisation des fonctions d'export des afficheurs (utilisation de la fonction préexistante "parse_indication")
Modification des descriptions des variables dans la documentation : "I - xxxxxxxxx" pour les Input / "O - xxxxxxxxxxx" pour les Output

Une prochaine mise à jour est prévue sur la documentation de la fonction permettant d'utiliser des roues codeuses en BCD (je galère la dessus...)

Une librairie Arduino est également en cours pour :
Ajout de la fonction "Dimmer" permettant d'utiliser une sortie PWM de l'arduino pour le pilotage de l'eclairage, asservie sur le jeu.
Intégration des roues codeuses en BCD.


@++
Dernière modification par exo7 le mar. oct. 10, 2017 3:13 pm, modifié 1 fois.
Avatar de l’utilisateur

matbog
Pilote Philanthrope
Pilote Philanthrope
Messages : 2326
Inscription : 13 octobre 2009

Re: MAJ DCS BIOS M2000C

#72

Message par matbog »

Super, merci pour le support!!!
Va falloir que je me mette a l'utiliser un jour ce fameux DCS-BIOS...
Avatar de l’utilisateur

Topic author
exo7
Nouvelle Recrue
Nouvelle Recrue
Messages : 155
Inscription : 29 avril 2014

Re: MAJ DCS BIOS M2000C

#73

Message par exo7 »

!! Attention !! je me suis aperçu que j'avais fais une coquille en nommant certaines variables avec des "/" ce qui va provoquer des erreurs de compilation.
nouvelle version de la bibliothèque en ligne..

Librarie Arduino avec fonction Dimmer et les roues codeuses BCD :

https://github.com/Exo7/DCS_BIOS-Arduin ... or-M2000-C
Avatar de l’utilisateur

Topic author
exo7
Nouvelle Recrue
Nouvelle Recrue
Messages : 155
Inscription : 29 avril 2014

Re: MAJ DCS BIOS M2000C

#74

Message par exo7 »

Hombre a écrit :Merci pour le fichier. Identique à celui d'Exo sauf la partie en plus concernant le display des coordonnées.
On peut affecter ton travail sur des afficheurs 7 segments?

Je voudrais installer ceci pour les niveaux fuel en bargraphes. Les entrées sont prévues soient en courant ou en 0-5v.

Image

Avec ton programme on peut faire lui faire savoir que les valeurs de sorties de la carte arduino puisse être en 0-5V?

Cordialement
Hombre, les afficheurs sont maintenant dans la version de la bibliothèque M2000-C ici : DCS_BIOS-M2000C_Library
Avatar de l’utilisateur

Ex Machina
Pilote Philanthrope
Pilote Philanthrope
Messages : 1925
Inscription : 22 mai 2003

Re: MAJ DCS BIOS M2000C

#75

Message par Ex Machina »

Génial, un grand merci à toi et Ergo !!

++
Stephane

Star Citizen Referal Code : STAR-M5HV-KNVC

DCS : FFW10 "RoOster"

i7-4790k @4,6Ghz / Assus Z97-A / 32Go DDR3 1866 / SSD 850 Pro 128&512Go / GTX1080 Ti 11Go / Trackir 5 / Thrustmaster Cougar-Warthog-MFD / Palo VKB / Acer 27" G-Sync 2560*1440 @ 144Hz
Répondre

Revenir à « Cockpit & mod perso »