Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Pi 3 B+ + écran + manettes GPIO

    Manettes/GPIO/Encodeurs
    gpio
    2
    7
    1328
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Shlaf
      Shlaf last edited by

      Bonjour à tous,

      Tout d'abord un grand merci à toutes les équipes de Recalbox, votre OS est très agréable à utiliser.

      Je voudrais vous poser une question technique.

      Je me suis lancé récemment dans un projet de console de jeu comprenant un RPI 3 B+ avec un touch screen HDMI 3.5". L'écran vient se connecter directement sur les pins GPIO du PI:
      0_1571334188609_Ecran pi3.jpg

      Comme on peut le voir sur la photo, les pins 1 à 4 et 19 à 26 sont occupé par l’écran. Et tout fonctionne très bien.

      Je souhaiterais maintenant pouvoir connecter mes boutons du joueur 1 sur les ports GPIO du Pi.

      Seulement voila quand je regarde les schémas de connections comme ici:
      https://www.smallcab.net/download/manuel/manuel-gpio-raspberry.pdf

      Je constate que mon écran vient utiliser des ports du joueur 1 et du joueur 2, du coup comment faire?

      Pourriez vous m'aider s'il vous plaît?

      Puis-je utiliser des ports du joueur 1 et 2 (non utilisé par l'écran) et les re-mapper ensuite pour en faire un seul joueur? Si oui comment?

      Merci beaucoup

      1 Reply Last reply Reply Quote 0
      • ian57
        ian57 Staff last edited by

        @Shlaf il faut utiliser les customs gpio , il faut regarder de plus près le fichier recalbox.conf

        "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie

        1 Reply Last reply Reply Quote 0
        • Shlaf
          Shlaf last edited by

          @ian57 Merci beacoup pour ta réponse ian57.

          En effet je vois bien dans le fichier recalbox.conf dans la partie "controllers" ce genre de lignes:

          ##" Custom mk_gpio arguments,
          ##" map=5 gpio1=Y-,Y+,X-,X+,start,select,a,b,tr,y,x,tl,hk for one controller,
          ##" map=5 gpio1=pin1,pin2,pin3,.....,pin12,pin13
          ...

          Mais je ne suis pas sur de bien comprendre comment les modifier, pourrais tu m'y aider stp?
          Par exemple si je veux que le port GPIO 29 corresponde au bonton start du joueur 1?

          1 Reply Last reply Reply Quote 0
          • ian57
            ian57 Staff last edited by

            @Shlaf tu as pas de bol avec la 6.1 ya un bug qui empêche l'utilisation des customs gpio, il appliquer un patch avant cf : https://forum.recalbox.com/topic/18829/6-1-et-manettes-gamecon/21

            Pour ceux qui veulent/peuvent tester:

            Récupérez le fichier recalbox_settings ici: https://mega.nz/#!zNwXRSoQ!1y50jVuEF7rDZrRSC74zJCe7ZIaLJWiBpNPQJUjj4Oc
            Monter la partition en écriture : mount -o remount,rw /
            Copiez le dans /usr/bin. Pour ce faire:
            Si vous êtes sous linux: scp recalbox_settings root@recalbox.local:/usr/bin/
            Si vous êtes sous Windows, copiez le dans \recalbox\share, puis connectez vous en SSH, et tapez:
            cp /recalbox/share/recalbox_settings /usr/bin
            chmod 755 /usr/bin/recalbox_settings
            Redémarrez votre recalbox, et les settings de mapping GPIO seront à nouveau pris en compte.

            ensuite il faut configurer les customs gpio :

            map=5 gpio1=pin1,pin2,pin3,.....,pin12,pin13# where gpiox,gpioy,gpioz ... are NOT pin numbers on the connector, BUT location gpio numbered as in 
            # https://www.raspberrypi-spy.co.uk/wp-content/uploads/2012/06/Raspberry-Pi-GPIO-Layout-Model-B-Plus-rotated-2700x900.png
            

            0_1571573677081_Raspberry-Pi-GPIO-Layout-Model-B-Plus-rotated-2700x900.png

            mais là du coup tu ne pourra plus utiliser les scripts bouton on/off/reset qui utilise exclusivment GPIO2 etGPIO3 qui sont sur les pin3 et 5

            du coup toi dans ton cas gpio 02 et GPIO 8 9 10 11 et 25 ne pourront pas être utilisé

            "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie

            1 Reply Last reply Reply Quote 0
            • Shlaf
              Shlaf last edited by

              Merci @ian57 de ta réponse.

              Ok je vais m'occuper de mettre le correctif rapidement merci beaucoup.

              Donc du coup si je comprends bien pour l'exemple que j'ai donné. Si je veux que le pin 29 corresponde au bonton start du joueur 1 je dois mettre:
              map=5 gpio10=pin29 ...etc pour les autres boutons, c'est ça? 🙂

              1 Reply Last reply Reply Quote 0
              • Shlaf
                Shlaf last edited by

                @ian57 Excuse moi d'insister mais je ne parviens pas à configurer correctement les customs GPIO, malgré mes tests et recherches.

                Dois je commenter la ligne "controllers.gpio.args=map=1,2" ?
                Ou alors lui mettre l'argument map 5 : "controllers.gpio.args=map=5"?

                Ensuite sur la ligne "map=5 gpio1=pin1,pin2,pin3,.....,pin12,pin13...", dois je juste remplacer les pin par ceux que je souhaite utiliser? Et comment les faire correspondre à des touches de manettes (start, select...)?

                Please help

                1 Reply Last reply Reply Quote 0
                • Shlaf
                  Shlaf last edited by Shlaf

                  C'est bon j'ai fini par y arriver.

                  Pour ceux qui n'y arrive pas:

                  Une fois le correctif installé, il faut modifier le fichier recalbox.conf pour activer les GPIO:
                  controllers.gpio.enabled=1

                  Et dé-commenté la ligne pour activer les custom GPIO:
                  controllers.gpio.args=map=0x20,0x21,5,6 gpio=4,17,27,22,5,6,12,24,23,18,15,14 (ici j'ai mis les pin 5, 6 et 12 pour Start, Select et B)

                  Toutes les autres lignes de la partie "controllers GPIO" sont commenté (avec ##)

                  Tout à l'air de fonctionner correctement. Sauf pour un petit bug, quand je press la touche Start, c'est comme ci je pressais aussi la touche bas, alors qu'elle n'est pas connecté.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Want to support us ?

                  78
                  Online

                  98.7k
                  Users

                  28.1k
                  Topics

                  187.0k
                  Posts

                  Copyright © 2021 recalbox.com