Annonce

Réduire
Aucune annonce.

[Hardware] ajouts de ministicks sur un HOTAS

Réduire
X
Réduire

  • [Hardware] ajouts de ministicks sur un HOTAS

    SC est un jeu à 6 degrés de liberté dans lequel le choix du contrôleur est important.
    J'ai un x52 pro, qui est plutôt pas mal, mais je trouve qu'il lui manque un ministick analogique pour gérer les translations latérales et verticales. (Il y a un hat-switch sur le throtle mais il n'est pas analogique. En attendant de voir ce que donne les joysticks Star citizen, j'ai décidé de bidouiller le mien

    Après une rapide recherche je suis tombé sur ce guide, qui m'a convaincu que c'était faisable.



    1- Achats (~20 euros):
    J'ai acheté une petite carte arduino (Leonardo Pro ATMEGA32U4) sur amazon pour 16 euros:
    http://www.amazon.fr/Leonardo-ATMEGA...ilpage_o01_s00

    et des thumbsticks de playstation portable (PSP1000) pour moins de 3 euros:
    http://www.amazon.fr/SODIAL-Analogiq...ilpage_o00_s00

    3 semaines après je les ai reçu (En provenance de Chine à ce prix là):



    2- Matériel:
    Je souhaitais ajouter un seul thumbstick au départ, mais comme c'est vendu par deux, et bien je me suis dit pourquoi pas mettre les deux
    En plus de ces deux achats il m'a fallut:
    - un câble mini-usb vers port usb pour relier la carte arduino au PC (personnellement j'en avais un d'un vieil appareil photo que j'ai pu récupéré)
    - des câbles à souder (de la carte vers les ministicks). j'ai récupéré des câbles et connecteurs USB internes d'un ancien boitier PC que je n'utilisais plus.
    - un fer à souder et de l'étain pour faire les soudures....
    - de la colle en bâton pour pistolet a colle. Et un pistolet a colle (moi je n'ai pas de pistolet, je fais fondre la colle au décapeur thermique)
    - un petit tournevis cruciforme pour ouvrir la manette des gaz du x52pro et le démonter.
    - un mini-outil de type dremel, pour faire des ouvertures ou agrandir des trous pour les passages de câbles dans la manette des gaz.

    3- Soudures:
    Voici le plan de soudure pour mes deux ministicks:


    Et voici le résultat (soyez indulgents, je n'ai rien soudé depuis le collège ):


    4- Programmation:
    J'ai du adapter un peu la procédure décrite dans le guide linké au début de ce post, car j'ai deux ministicks et pas un seul.
    Quoi qu'il en soit je suis resté sur arduino 1.0.5, pour ne pas avoir tout à refaire au niveau du code et de la compilation.
    Il faut donc downloader la version 1.0.5 par là:
    https://www.arduino.cc/en/Main/OldSo...eases#previous

    Décompressez le zip là ou vous voulez, puis il vous faut modifier deux fichiers:
    - (..)/arduino-1.0.5-r2\hardware\arduino\cores\arduino\HID.cpp
    - (..)/arduino-1.0.5-r2\hardware\arduino\cores\arduino\USBAPI.h
    Vous trouverez le code modifié pour HID.cpp ici et pour USBAPI.h là.

    Une fois ces deux fichiers modifiés il vous faut télécharger le code qui va gérer les 2 thumbsticks au lien suivant:
    http://okibul.free.fr/hp/x52Promod/thumbstick.ino

    - branchez votre montage électronique à votre PC via un port USB
    - dans le panneaux des "périphériques et imprimantes" de windows, ou encore dans le gestionnaire de périphérique, vous devriez voir un nouveau port COM apparaître. Notez le numéro de ce port COM.
    - lancez (..)/arduino-1.0.5-r2/arduino.exe
    - Dans fichier/ouvrir, allez chercher le fichier thumbstick.ino
    - Dans outils/type de carte choississez arduino Leonardo (si vous avez la même carte que la mienne)
    - Dans outils/port série choississez le port COM avec le numéro noté précedement
    - Faites fichier/téléverser pour uploader le code thumbstick.ino sur la carte arduino
    - à partir de là dans le panneaux "périphériques et imprimantes" vous devez voir un nouveau périphérique appelé arduino Leonardo:




    5- Programmation:
    Il est probable que vous ayez a faire quelques petits réglages dans le code.
    Dans le menu présenté par l'image précédente, vous pouvez voir comment se comportent vos thumbsticks.
    Vous pouvez aussi dans arduino faire Outils/Moniteur de port série, cela vous ouvrira une fenetre qui affichera les valeurs lu par les 4 axes des thumbsticks.

    Dans le code vous trouverez vers le début les lignes suivantes:
    int deadzone = 40; // smaller values will be set to 0
    int deadzoneB = 40; // smaller values will be set to 0
    Il s'agit de la zone morte, plus la valeur est grande, plus la zone morte est grande.

    vers la fin du fichier il y a les 4 lignes suivantes:
    thumbSt.xAxis = map(xValue, 370, -370, -32768, 32768); // here the axis is inverted
    thumbSt.yAxis = map(yValue, -370, 370, -32768, 32768);
    thumbSt.xBAxis = map(xBValue, 300, -360, -32768, 32768); // here the axis is inverted
    thumbSt.yBAxis = map(yBValue, -320, 320, -32768, 32768);
    Il s'agit du réglages des 2 axes de chaque thumbstick. Dans la première ligne par exemple on note les valeur 370 et -370 qui représente le minimum/maximum lu par l'axe. Il vous faut régler ce chiffre en fonction de la valeur maximum/minimum que vous lisez dans le moniteur de port série. Et vous pouvez inverser les signes pour inverser l'axe.
    Une fois tout bien réglé vous pouvez éditer le début du code pour enlever le mode debug:
    const bool DEBUG = false; // set to true to debug the raw values


    6- Montage:
    Bon et bien , il ne reste plus qu'à installer tout cela sur votre HOTAS. Tout dépendra de votre matériel, j'ai réussi tout juste à installer le mien dans ma manette de gaz en agrandissant quelques trous de passage de cable.
    Malheureusement j'ai du bourriner un cable et j'ai perdu un axe de mon deuxième thumbstick, mais de toute manière je ne suis pas assez agile de l'annulaire gauche pour utiliser deux axes sur ce thumbstick, donc ça me va
    Voici le résultat:


    Et voilà, deux ministicks analogiques de plus sur mon throttle, elle est pas belle la vie?

    Il me reste un dernier détail à régler: je dois debrancher/rebrancher l'usb de l'arduino à chaque re-démarrage de Windows pour qu'il soit reconnut correctement. J'éditerai ce message quand j'aurais trouvé la solution
    Dernière modification par Photon, 02 avril 2016, 19h12.

  • #2
    Sympa photon!!
    J'adore les petits bidouillages du genre, et y'aura jamais assez d'axes programmables sur un joystick!

    Je plussoie donc fortement.
    Sizz, Pilote en chef.


    "Because i was inverted."

    Commentaire


    • #3
      Excuse-moi mais: t'es un grand malade!
      (génial à part cela )
      Dernière modification par KamikazePanda, 03 avril 2016, 17h37.

      Commentaire


      • #4
        Génial comme bidouillage !
        Tu as une idée du temps que ça t'a pris de faire tout ça?

        Commentaire


        • Photon
          Photon commenté
          Modifier le commentaire
          Un peu plus d'une journée pour tout faire.

        • Zanatan
          Zanatan commenté
          Modifier le commentaire
          Argh !!! des trous dans une X52 pro !! Sacrilège !!! ^^
          Pas très esthétique mais ça le fait, avec ça plus un seul missile va te toucher...

          Sinon j'ai vu qu' il existe un "pinkie hat" d'émulation souris sur le throttle, c'est pas plus simple de le reconfigurer en hat switch ?
          J'ai trouvé un tuto pour la manip :

          https://forums.frontier.co.uk/showth...736#post562736

          Moins pratique qu'un mini stick mais pas besoin de bidouiller la manette !

      • #5
        chapeau l'ami !
        Golgho

        Commentaire


        • #6
          Ingénieux même dirais-je...

          Commentaire


          • #7
            Je dirais magiquement génial...

            Je crois que j'ai trouvé la personne qu'il me faut

            Oh Puissant Maître Photon que tes particules éclairent mon esprit enténébré à la vitesse de la lumière

            Voila mon problème:

            1°) je suis plus tout jeune

            2°) je viens de faire une migration sous Win 10

            3°) Comme je suis pas tout jeune ( bah oui je me répète ... c'est normal) ==>j'ai mes habitudes.

            Quand je joue à PS2 (Mince je suis pas sur le bon topic)

            - Infanterie + Véhicule ==> Saitek Pro Gamer Command Unit avec stick analogique (Lui aussi il commence à avoir de l'âge)

            - Vol ==> Hotas Saitek X52pro

            4°) Sous Planetside2:

            Le ministick du Command Unit s'identifie de la même manière que que le manche du X52
            cela ne serait pas vraiment gênant pour mon usage.
            Le soucis est que le ministick ne réagit pas quand le X52 est allumé et là c'est très gênant .

            J'ai bien essayé de modifier directement le nom des axes dans le fichier .pr0 mais rien y fait

            Mes connaissances datant des lignes de code z80 pour moi les réactions de W10 ressemblent à de la magie noire.

            AU SECOURS .....

            Pour information:

            Sous W8.1 je n'avais pas de soucis
            Sous W10 dans Elite Dangerous pas de soucis les deux s'indentifient différemment au mapping.

            Par avance merci de ton aide.
            Dernière modification par GettroLadalle, 07 avril 2016, 18h30.
            Ce n'est qu'en essayant continuellement que l'on finit par réussir.
            Autrement dit : plus ça rate, plus on a de chances que ça marche.

            Commentaire


            • #8
              Envoyé par GettroLadalle Voir le message
              Je dirais magiquement génial...


              Mes connaissances datant des lignes de code z80 pour moi les réactions de W10 ressemblent à de la magie noire.

              Mais c'est de la magie noire ! Perso lorsque j'ai un problème informatique je ne fais plus appel à un informaticien mais à un exorciste...
              Et l'on a de la chance d'avoir Père Photon-Karras dans notre petite communauté !

              Ceci étant dit, moi j'ai eu un problème un peu similaire avec mon Nostromo (Razer) qui merdait sous Windows 10 et pas avant. J'ai indiqué à W10 de lancer le .exe en compatibilité ancien Windows (seven) et miracle il ne m'emmerde plus...
              clic droit sur le .exe ; onglet 'compatibilité' et choisi Windows 8 ou autre...

              C'est peut être une connerie que je balance mais bon...sait-on jamais...essaye

              Commentaire


              • #9
                Merci de ton aide.

                Le soucis est que Command Unit et le X52 sont gérés par les mêmes logiciels.
                - Le gestionnaire de drivers "SaiMfd.exe" du moins je pense à moins que ce soit uniquement le gestionnaire d'affichage du X52
                - Le logiciel de profilage "ProfilerU.exe" identique pour les deux
                Les deux sont des versions W10

                De plus lorsque je lance simultanément leur panneau de configuration (System W10) les deux sont parfaitement reconnus et les commandes n'inter-agissent pas.

                Les adresses physiques sont bien distinctes:
                - Port_#0003.Hub_#0004 ==> X52 Pro Flight Controller (USB)
                - Port_#0004.Hub_#0004 ==> Saitek Pro Gamer Command Unit (USB)

                ​Je pense plutôt que c'est la gestion des manettes et joysticks sous PlanetSide qui ne les différencie pas bien.

                Et cela que pour les Axes X et Y en analogique car sinon les touches de l'un et de l'autre fonctionnent très bien quand les deux sont branchés.
                Par contre lorsque je fais travailler le ministick du Commander unit en bande (émulation de touche) la les deux peuvent fonctionner ensemble.

                En fait seul les axes X et Y du X52 fonctionnent quand les deux sont branchés,
                le ministick du Commander unit re-fonctionne parfaitement des que je débranche le X52. .
                Ce n'est qu'en essayant continuellement que l'on finit par réussir.
                Autrement dit : plus ça rate, plus on a de chances que ça marche.

                Commentaire


                • #10
                  Si effectivement ça ne déconne que sur Planetside2 cela doit être un problème spécifique de reconnaissance / différentiation de PS2, as-tu essayé avec d'autres jeux ?

                  Lorsque tu as migré vers Win10, as-tu bien désinstallé tous les drivers du X52 et PGCU proprement avant de migrer pour tout réinstaller à partir de zéro ? J'ai vu un mec sur un forum qui a eu un problème après migration sur Win10 à cause de ça...d'anciennes merdes qui restaient...

                  Donc sinon éventuellement désinstaller tout proprement (éventuellement en allant nettoyer la base de registre (regedit) si besoin) et réinstaller. Bien que je doute que ça vienne de là mais bon... faire le ménage est toujours bon.

                  Commentaire


                  • #11
                    On dirait que saint_ex s'occupe bien de toi
                    Honnêtement je ne vois pas bien de quoi cela peut venir. Ayant très peu d'heures de jeu sous PS2, je connais mal le fonctionnement des binds. Peut être est-ce que ce jeu est incapable de reconnaître plus d'un periphérique de type joystick?

                    Si c'est le cas il y a peut être quelque chose que tu peux tenter, mais a condition de se passer des macros et autre fonctionnalité défini dans le logiciel de saitek:
                    Il existe des programmes qui fusionnent deux periphériques de type manette de jeu (ou plus) en un seul périphérique virtuel. Si le problème est que le jeu ne recooné qu'un periphérique de type joystick, cela résoudrai probablement le problème.

                    Commentaire


                    • #12
                      Merci de vos réponses.
                      Je vais continuer de chercher et essayer de prendre contact avec Daybreak pour savoir si PS2 peut gérer plusieurs joysticks de la même marque.

                      @Photon: Si tu as PS2, pourrait tu voir si tes ministicks que tu as ajouté à ton X52 peuvent être reconnu comme des axes simultanément au X52 ?
                      et quels sont leurs noms dans l'interface PS2. Par avance merci
                      Ce n'est qu'en essayant continuellement que l'on finit par réussir.
                      Autrement dit : plus ça rate, plus on a de chances que ça marche.

                      Commentaire


                      • Photon
                        Photon commenté
                        Modifier le commentaire
                        Je viens de faire le test vite fait, je ne peux binder que mes pédales et rien d'autres. Elles sont reconnue par PS2 comme "gamepad1". Mon joystick et mon arduino ne sont pas reconnu par PS2, probablement parce que le jeu ne voit que le premier de mes 3 périphériques de jeu.

                      • Zanatan
                        Zanatan commenté
                        Modifier le commentaire
                        J'ai fouiné un peu sur les forums et apparemment les problèmes de joystick avec PS2 ne datent pas d'hier !

                        J'ai pensé à une solution pour contourner le problème : JoyToKey, un soft qui assigne les boutons des pads et joysticks aux touches du clavier : http://forums.paderetro.fr/t2602-tut...hes-du-clavier

                        J'avais essayé ça sur GTA5 et ma vieille microsoft FF2 et ça marchait pas mal... Bonne chance !

                    • #13
                      Merci à tout les deux.

                      Photon : Merci pour le test.
                      De mon coté je suis arrivé à la même conclusion en désinstallant tout mes pilotes et en les réinstallant dans un ordre différent.

                      @Zanatan:
                      Je connais j'ai déjà essayé, le problème est qu'il ne sait pas gérer les profiles hard des manettes Saitek (ou du moins je n'ai pas trouver) et je me retrouve donc avec trois fois moins de touches.
                      Ce n'est qu'en essayant continuellement que l'on finit par réussir.
                      Autrement dit : plus ça rate, plus on a de chances que ça marche.

                      Commentaire


                      • #14
                        Pas mal du tout ton petit montage mon petit Photon !

                        Commentaire


                        • #15
                          Une réponse comme je les aime....

                          Résumé de l'échange avec Daybreak..

                          Moi:

                          Bonjour,

                          Je souhaiterais connaitre le nombre de joysticks que peut gérer PlanetSide2. ?
                          Je joue avec :
                          - Saitek X52 pro pour l'aviation
                          - Saitek Unit commander pour l'infanterie et les véhicules

                          Mais les axes X et Y ne peuvent fonctionner que sur une seule manette à la fois.
                          Par avance merci de votre réponse.


                          Réponse de Daybreak après m'avoir demandé le dxdiag et mon msinfo:

                          Bonjour ,

                          Vu que le jeu sur PC n'a pas été testé avec joystick mais avec clavier, nous vous prions de bien vouloir consulter le forum pour plus d'informations.
                          En effet, si certains joueurs parviennent à jouer sur PS2 avec Joystick, il est préférable du consulter le forum des joueurs pour plus d'informations.

                          Cordialement,

                          Technical/Billing Support
                          Daybreak Games


                          A mourir de rire, dans le genre on à fait un jeu mais on ne sait pas comment il marche, ni ce que l'on à mis dedans

                          Donc retour à la case départ.

                          Ce n'est qu'en essayant continuellement que l'on finit par réussir.
                          Autrement dit : plus ça rate, plus on a de chances que ça marche.

                          Commentaire

                          Chargement...
                          X