FS20 Multi panel saitek

Pierre50500

PILOTE PRIVE
Messages
493
Réactions
180
Bonjour,

Rare que je demande de l'aide mais là je sèche.
Quelque soit l'avion donc le profil, lorsque que je rentre le train les voyants du multi panel ne s'éteignent pas tous. Parfois il en reste un allumé parfois deux et malgré tout quelquefois aucun. Lorsque je sors le train tous les voyants s'allument correctement au vert.
Je n'avait pas ce problème avant, cela fait 1 mois ou deux que c'est apparu.
J'ai posé la question via le traducteur à spadnext, pas eu de réponse satisfaisante.
ci-joint image de ma config spadnext.

Peut-être mon sauveur habituel @JackZ (puisque nous avons le plaisir qu'il soit toujours avec nous) ou quelqu'un d'autre aura une solution, sinon ben je continuerai à manipuler la manette de train jusqu'à ce que tous les voyants s'éteignent, c'est comme ça que je fais et en général au bout de deux ou trois manip ça s'éteint.

Amicalement

Pierre
.
panel.jpg
 
Hi Pierre,

J'ai posé la question via le traducteur à spadnext, pas eu de réponse satisfaisante.
Tu aurais pu nous mettre la réponse qui t'as été fournie...;)

Never mind!...
Je vais te faire la mienne.:giggle:

Les 3 types d’ensemble Saitek (radio, multi-panel,switch) fonctionnent de la même façon.
Lors d'une modification d'état d'un de leurs boutons, ils re-balayent l'ensemble de leurs boutons et créent une chaîne de caractère contenant les bytes des états de ceux-ci afin de les envoyer au contrôleur HID -> Ton programme.
Ex.
string.char(0, a1,a2,a3,a4,a5,b1,b2,b3,b4,b5,x)

C'est la façon dont Saitek procède pour ces 3 périphériques.
Malheureusement, par moment cette chaine, même si elle est correctement créée, peut ne pas arriver correctement dans sa totalité lors du transport sur l'USB.

Je me suis amusé à faire les 3 pilotes sous LUA pour essayer de ne plus me servir de SPAD (ancêtre de SPAD.neXt) à l'époque.
Ceux-ci fonctionnaient très bien. Mais, j'avais par moment ce souci!...:rolleyes:
Ulrick avec SPAD.neXt avait eu les mêmes petits soucis au début... Mais, il m'avait semblé que cela fonctionnait bien maintenant.

Depuis, j'ai abandonné ma solution et j'utilise SPAD.neXt qui est plus convivial et qui englobe plein d'autres produits.


Ton écran, n'est pas suffisant pour voir quelque chose!...(y)
Il te faut aller dans le Profile.xlm que tu utilises.

Voici, une extraction du mien concernant cette fonction pour mon 777 PMDG... Cela te permettra de voir si tu as "à peu prêt" les mêmes bases en fonction de tes prêts requis.;)

XML:
<Events>



        <Event BoundTo="SWITCH_GEAR">
          <EventDefinitions>
            <EventDefinition Trigger="GEAR_UP">
              <Comment>Switch 295 Gear Lever    [Le cycle : Up=0 -&gt; 10 (Up Levier tiré) -&gt; Down=100 -&gt; 90 (Down Levier tiré) -&gt; 10 (Up Levier tiré) -&gt; Up=0]</Comment>
              <EventConditions>
                <EventCondition ConditionComparator="Unequal" ConditionTargetValue="0" ConditionValueSource="PMDG777:2000:00C1" />
              </EventConditions>
              <EventActions>
                <EventActionControl TargetDataDefinition="PMDG777:EVT_GEAR_LEVER" Value="536870912" ValueOperation="Set" />
              </EventActions>
            </EventDefinition>
            <EventDefinition Trigger="GEAR_DOWN">
              <Comment>Switch 295 Gear Lever    [Le cycle : Up=0 -&gt; 10 (Up Levier tiré) -&gt; Down=100 -&gt; 90 (Down Levier tiré) -&gt; 10 (Up Levier tiré) -&gt; Up=0]</Comment>
              <EventConditions>
                <EventCondition ConditionComparator="Equals" ConditionTargetValue="0" ConditionValueSource="PMDG777:2000:00C1" />
              </EventConditions>
              <EventActions>
                <EventActionControl TargetDataDefinition="PMDG777:EVT_GEAR_LEVER" Value="536870912" ValueOperation="Set" />
              </EventActions>
            </EventDefinition>
          </EventDefinitions>
        </Event>
 
 
        <Event BoundTo="GEAR_STATE_NOSE">
          <EventDefinitions>
            <EventDefinition Trigger="VALUE">
              <EventConditions>
                <EventCondition ConditionComparator="Equals" ConditionTargetValue="1" ConditionValueSource="PMDG777:2000:00C1" />
              </EventConditions>
              <EventActions>
                <EventActionLEDColor Color="OFF" />
                <EventActionLEDColor Color="GREEN" />
              </EventActions>
            </EventDefinition>
            <EventDefinition Trigger="VALUE">
              <EventConditions>
                <EventCondition ConditionComparator="Equals" ConditionTargetValue="0" ConditionValueSource="PMDG777:2000:00C1" />
              </EventConditions>
              <EventActions>
                <EventActionLEDColor Color="OFF" />
                <EventActionLEDColor Color="OFF" />
              </EventActions>
            </EventDefinition>
          </EventDefinitions>
        </Event>
 
 
 
        <Event BoundTo="GEAR_STATE_LEFT">
          <EventDefinitions>
            <EventDefinition Trigger="VALUE">
              <EventConditions>
                <EventCondition ConditionComparator="Equals" ConditionTargetValue="1" ConditionValueSource="PMDG777:2000:00C1" />
              </EventConditions>
              <EventActions>
                <EventActionLEDColor Color="OFF" />
                <EventActionLEDColor Color="GREEN" />
              </EventActions>
            </EventDefinition>
            <EventDefinition Trigger="VALUE">
              <EventConditions>
                <EventCondition ConditionComparator="Equals" ConditionTargetValue="0" ConditionValueSource="PMDG777:2000:00C1" />
              </EventConditions>
              <EventActions>
                <EventActionLEDColor Color="OFF" />
                <EventActionLEDColor Color="OFF" />
              </EventActions>
            </EventDefinition>
          </EventDefinitions>
        </Event>
 
 
 
        <Event BoundTo="GEAR_STATE_RIGHT">
          <EventDefinitions>
            <EventDefinition Trigger="VALUE">
              <EventConditions>
                <EventCondition ConditionComparator="Equals" ConditionTargetValue="1" ConditionValueSource="PMDG777:2000:00C1" />
              </EventConditions>
              <EventActions>
                <EventActionLEDColor Color="OFF" />
                <EventActionLEDColor Color="GREEN" />
              </EventActions>
            </EventDefinition>
            <EventDefinition Trigger="VALUE">
              <EventConditions>
                <EventCondition ConditionComparator="Equals" ConditionTargetValue="0" ConditionValueSource="PMDG777:2000:00C1" />
              </EventConditions>
              <EventActions>
                <EventActionLEDColor Color="OFF" />
                <EventActionLEDColor Color="OFF" />
              </EventActions>
            </EventDefinition>
          </EventDefinitions>
        </Event>
 
            </Events>

Un dernier point...
J'ai appliqué les derniers Updates de SPAD.neXt, mais je n'ai pas refait de vol. Je suis occupé à d'autres trucs sur mon simulateur en ce moment!...:LOL:

Lors de mes prochains vols, je porterai attention à ce problème afin de voir s'il se produit chez moi.;)


Un dernier, dernier point!...
Le dernier release de SPAD.neXt est le : 0.9.12.123!...;G)
 
Dernière édition:
La réponse de @Ptipilot est archi précise.
La mienne la sera beacoup moins mais je te confirme que j'ai le même problème depuis quelques temps mais pas à chaque vol !! je doute que cela t'aide mais tu n'est pas le seul !! :giggle:
 
Bonsoir,

Merci de ta réponse @Ptipilot, le xml c'est un peu du chinois pour moi voire même des gros mots je te joins le mien que j'ai réussi à trouver sans trop de difficulté. Si d'aventure tu y vois quelque chose de louche, merci d'avance.
La réponse SpadNext c'est ça :
Hi pierre50500,

Sometimes the very last 0.01 percent value will not be transmitted by the sim if the value is currently already "99.99", or SPAD can miss that fractional change if other running stuff is taking too long to process.

It's best practice not to use "Equals 100" as a condition but "Greater Or Equal 99" for the gear states.

J'ai rien compris!.:love:
Ma version est 0.9.12.115 je vais donc voir si je trouve la même que la tienne.
@Eljuan effectivement ça ne m'aide pas beaucoup mais d'un coup je me sens moins seul.(y)

Encore merci à vous
Pierre
 

Fichiers joints

  • TBM 930 - MSFS 6.xml
    79.3 KB · Affichages: 9
Bonsoir,

Merci de ta réponse @Ptipilot, le xml c'est un peu du chinois pour moi voire même des gros mots je te joins le mien que j'ai réussi à trouver sans trop de difficulté. Si d'aventure tu y vois quelque chose de louche, merci d'avance.
La réponse SpadNext c'est ça :
Hi pierre50500,

Sometimes the very last 0.01 percent value will not be transmitted by the sim if the value is currently already "99.99", or SPAD can miss that fractional change if other running stuff is taking too long to process.

It's best practice not to use "Equals 100" as a condition but "Greater Or Equal 99" for the gear states.

J'ai rien compris!.:love:
Ma version est 0.9.12.115 je vais donc voir si je trouve la même que la tienne.
@Eljuan effectivement ça ne m'aide pas beaucoup mais d'un coup je me sens moins seul.(y)

Encore merci à vous
Pierre
Salut Pierre !

C'est la traduction de la réponse de SpadNext :
Parfois, la toute dernière valeur de 0,01 pour cent ne sera pas transmise par la simulation si la valeur est déjà "99,99", ou SPAD peut manquer ce changement fractionnaire si d'autres choses en cours prennent trop de temps à traiter.
La meilleure pratique consiste à ne pas utiliser "égal à 100" comme condition, mais "supérieur ou égal à 99" pour les états de l'équipement.
 
Bonjour,

Merci pour la trad Fred. Fabien oui au XML, apparemment je vois qu'il y a des valeurs =100 dans le fichier XML, mais la question que je me pose c'est comment on écrit supérieur à 100 dans un XML je ne crois pas que l'on puisse utiliser le signe > car je vois qu'il sert à autre chose.
Fred tu sais surement ça toi.
 
mais la question que je me pose c'est comment on écrit supérieur à 100 dans un XML je ne crois pas que l'on puisse utiliser le signe > car je vois qu'il sert à autre chose.
Dans ton XML, tu as des lignes comme celles-ci qui te permettent de gérer les conditions de ton Trigger :

<EventCondition ConditionComparator="GreaterOrEqual" ConditionTargetValue="19500" ConditionValueSource="PMDG777:2000:0128" />

Dans le "ConditionComparator=" tu peux lui mettre également des opérateurs tels que : "GreaterOrEqual, LessOrEqual, Less, Greater".
Dans le "ConditionTargetValue=" tu dois mettre la valeur (en accord avec ton opérateur de condition...) afin que ton test conditionel fonctionne comme tu le souhaites.

Le "ConditionValueSource=", c'est la valeur (ou bien l'endroit de cette valeur...) que tu testes.


Petit rajout de dernière minute...:giggle:
Je viens d'ouvrir ton fichier profil et je trouve que ta construction n'est pas très logique.
Je m'explique :
Si, tu es = "0" ==> OFF
Si, tu es = "100" ==> GREEN

Pour moi, jusqu'à là je suis d'accord...(y)

Par contre, tu rajoutes derrière :
Si, tu es = "moins que 100" ==> RED

Pour moi qui suis bête, 0 c'est moins que 100!... Keke je fé!... :p
Je me mets sur OFF ou bien je t'affiche le ROUGE????....:LOL:

Nota :
J'ai bien compris ce que tu voulais faire...
Maintenant, tu as la soirée du réveillon pour discuter avec ta famille et tes amis comment écrire cela en enlevant cette contradiction.;G)


---
Re... C'est encore moi!...:whistle:
En plus, tu as IsFinal="true" sur les deux premiers Trigger et rien sur le 3ème...:unsure:
Là, il faudrait être sur ton poste afin de voir la modification comportementale (avec ou sans...) de SPAD.neXt en condition réelles de fonctionnement.
 
Dernière édition:
Bonjour @Ptipilot
Est-ce que tu te rends compte du nombre d'insultes que tu m'as envoyé "GreaterOrEqual" ConditionTargetValue="19500" ConditionValueSource="PMDG777:2000:0128" etc.... etc....
Sérieusement, comment veux tu que je comprenne tout ça, d'abord ce n'est pas moi qui ai construit ce fichier, c'est surement le profil que j'ai créé dans spadnext qui l'a généré tout seul.
Mais comme je n'aime pas rester bête je t'assure que je vais regarder, pas au réveillon mais je pars une semaine en vacances à Biscarosse (en voiture puisque je ne peux pas rentrer correctement le train du TBM) je verrai bien si je comprends;G), et je te dirai ça, sinon j'espère que toi tu me dira ce qu'il faut écrire.:)
En somme si je comprends bien, quand tu crées un profil, spadnext est capable d'écrire des conneries!:ROFLMAO:
Amicalement et bon réveillon.
Pierre
 
Bonjour @Ptipilot
Est-ce que tu te rends compte du nombre d'insultes que tu m'as envoyé "GreaterOrEqual" ConditionTargetValue="19500" ConditionValueSource="PMDG777:2000:0128"
Cette ligne là, c'est une ligne du mien (Mon 777 de PMDG) que j'ai utilisée pour l'explication des éléments conditionnels du Trigger.:giggle::giggle::giggle:

Sinon, effectivement, c'est lui qui construit ce fichier en fonction des éléments que tu lui donnes à manger dans l'UI.

Pour ma part, à bientôt 70 balais, tu m'excuseras de ne pas apprécier l'Interface Graphique.
Je crois que c'est ce que l'on appelle au gouvernement "la fracture informatique pour les vieux", comme moi!... :whistle:

Je préfère directement lire un fichier.:p

sinon j'espère que toi tu me dira ce qu'il faut écrire.
Heu... Je suis en retraite!...:ROFLMAO::ROFLMAO::ROFLMAO:
(Et en plus... Je n'utilise pas MSFS!...:LOL::LOL::LOL:)

Bon réveillon à toi, Pierre...;)
 
Dernière édition:
Re... C'est encore moi!...:whistle:
En plus, tu as IsFinal="true" sur les deux premiers Trigger et rien sur le 3ème...:unsure:
Là, il faudrait être sur ton poste afin de voir la modification comportementale (avec ou sans...) de SPAD.neXt en condition réelles de fonctionnement.

Je crois comprendre ce que tu veux dire, est-ce que la réponse ne serait pas là finalement, ne faudrait-il pas rajouter cette ligne là où elle manque?

<EventDefinition Trigger="VALUE" IsFinal="true">

J'essaierai ça à mon retour
 
Je crois comprendre ce que tu veux dire, est-ce que la réponse ne serait pas là finalement, ne faudrait-il pas rajouter cette ligne là où elle manque?

<EventDefinition Trigger="VALUE" IsFinal="true">

J'essaierai ça à mon retour
Pierre,
ce n'est pas le plus important dans ce que j'ai écris...:giggle:

Il y a quelque chose de pas très "logique" dans tes conditions.
Changement d'année oblige, j'ai regardé ton screen de l'UI et ton fichier XML de plus prêt.
Dans ton interface, tu as 6 actions RED, alors que lui a résumé cela à 3 lignes "EventCondition" dans ton fichier profil. Il n'a donc pas été capable d'évaluer correctement ta requête.;)

N'ayant pas MSFS et donc, ne pouvant faire aucun essai, je te propose qu'après tes vacances nous passions sur Skype afin de discuter plus en profondeur de ton truc.(y)
Écrire des tartines sur le forum sur un tel sujet me fatigue saoule énormément ...:love::love::love:
J'ai plus l'âge pour ces conneries!...:LOL::LOL::LOL:
 
N'ayant pas MSFS et donc, ne pouvant faire aucun essai, je te propose qu'après tes vacances nous passions sur Skype afin de discuter plus en profondeur de ton truc.(y)
Écrire des tartines sur le forum sur un tel sujet me fatigue saoule énormément ...:love::love::love:
J'ai plus l'âge pour ces conneries!...:LOL::LOL::LOL:

Ok Alain tout à fait d'accord écrire des romans et attendre des heures la réponse comme si on se parlait de la terre à mars c'est pas non plus mon truc. Donc ok pour Skype je te remercie, je rentre le mardi 10. Merci
Pierre
 
Bonjour à tous,

Bonne nouvelle @Ptipilot je n'aurai pas besoin de te déranger, grâce à toi j'ai réussi à modifier le XML du TBM et ça fonctionne impec.
J'ai modifié ce qui est en rouge par ce qui est en vert dans les 3 états du train (Nose, Left et Right)

Event BoundTo="GEAR_STATE_NOSE">

.......................... et la suite jusqu'à


<EventCondition ConditionComparator="Less" ConditionTargetValue="100" ConditionValueSource="SIMCONNECT:GEAR CENTER POSITION" />

<EventCondition ConditionComparator="&gt;" ConditionTargetValue="10"

Voila si ça peu servir à quelqu'un notamment @Eljuan

Bye et encore merci

Pierre
 
Mauvaise nouvelle :ROFLMAO: ça marche pas c'est à dire que ça n'a rien changé, lorsque que je rentre le train les voyants du multi panel ne s'éteignent pas tous.
Pourtant ce matin j'ai fais une dizaine d'essais et c'était nickel, et là maintenant que t'chi pareil qu'avant.
Suis dégouté.
 
En fait la commande <EventCondition ConditionComparator="&gt;" ConditionTargetValue="10" est bonne et ça fonctionne, sauf que SpadNext ne veut pas la garder, au redémarrage il me vire mon profil et revient à un profil vide.
Maintenant la question est: Comment faire accepter à SpadNext un profil XML modifié?
 
Bonjour à tous, j'avais présenté une possibilité mais apparemment elle ne fonctionne pas. Je supprime donc le contenu du post pour ne pas encombrer inutilement le forum.
 
Dernière édition:
Bonsoir Alain ( toujours à Nice je suppose )ta réponse est très intéressante, je vais explorer çà. Pour ma part je pense que si il était possible dans XML de déclarer la ligne Red avec une instruction qui dit que la valeur la (dernière celle qui dit que les LEDS doivent être rouges) doit être comprise entre x et y ça le ferait. Mais voila comment écrit on dans XML

<EventCondition ConditionComparator="compris entre " ConditionTargetValue="10 et 90"

Parce que la remarque de @Ptipilot qui dit "
Pour moi qui suis bête, 0 c'est moins que 100!... Keke je fé!...
Je me mets sur OFF ou bien je t'affiche le ROUGE????....
" est très pertinente mais ce n'est pas moi qui écrit ça dans le XML mais spadnext.


En tout cas merci @albesoft je vais mettre des tempos pour voir. Je me rappelle que tu m'as déjà été d'un grand secours par le passé.

amicalement

Pierre
 
Dernière édition:
salut à tous.

Bon les tempos de @albesoft n'ont pas fonctionné, mais sur ses conseils en MP , j'ai écrit ça

<EventDefinition Trigger="VALUE">
<EventConditions>
<EventCondition ConditionComparator="Less" ConditionTargetValue="100" ConditionValueSource="SIMCONNECT:GEAR CENTER POSITION" />
<EventCondition ConditionComparator="Greater" ConditionTargetValue="10" ConditionValueSource="SIMCONNECT:GEAR CENTER POSITION" />
</EventConditions>
<EventActionLEDColor Color="RED" />

à la place de ça

EventDefinition Trigger="VALUE">
<EventConditions>
<EventCondition ConditionComparator="Less" ConditionTargetValue="100" ConditionValueSource="SIMCONNECT:GEAR CENTER POSITION" />
</EventConditions>
<EventActionLEDColor Color="RED" />

Bien sur à reproduire sur les 3 états (Nose, Right, Left)

En clair il suffit juste de rajouter ça:

<EventCondition ConditionComparator="Greater" ConditionTargetValue="10" ConditionValueSource="SIMCONNECT:GEAR CENTER POSITION" />

Et ça fonctionne sans pb, testé pendant 1/2 heure sous toutes les conditions, (virage, survitesses, 1 écran, 2 écrans, décollage, approche, etc) ça MARCHE..:LOL::LOL::LOL::LOL:
Encore merci le Niçois.

Allez faire une petite visite de son site https://simu.alain-bettan.fr/ ça vaut le détour.
 
Dernière édition:
Retour
Haut