Navigation

    Recalbox Forum

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

    Personnalisation des PIN GPIO (Driver mk_arcade_joystick )

    Manettes/GPIO/Encodeurs
    pin gpio driver
    2
    8
    2410
    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.
    • piboy
      piboy last edited by piboy

      Bonjour,
      Etant confronter à un nouveau problème, je fais appel à votre aide.
      Mes PIN* SPI sont utilisés par une puce MCP3008 (PIN* MOSI, MISO, SCK et CE). Malheureusement, l'emplacement par défaut des PIN MOSI et MISO sont les boutons START et SELECT dans le driver mk_arcade_joystick .

      Je souhaiterais donc attribuer vers de nouvelles GPIO libres les boutons START ET SELECT .

      J'ai parcouru le forum et suis tombé sur cette issue : https://forum.recalbox.com/topic/2953/custom-gpio-pin-config
      Et ce Github ou tout est expliqué : https://github.com/Pinuct/mk_arcade_joystick_rpi/tree/customgpiohotkey

      Il faut apparemment mettre à jour le pilote arcade_joystick_rpi en version 0.1.5 (j'ai la 0.1.4)

      et charger ce module :
      sudo modprobe mk_arcade_joystick_rpi map=4 gpio=pin1,pin2,pin3,.....,pin12

      Where pinx is the number of the gpio you want. There are 12 posible gpio with button order: Y-,Y+,X-,X+,start,select,a,b,tr,y,x,tl,hk. Use -1 for unused pins. For example gpio=21,13,26,19,-1,-1,22,24,-1,-1,-1,-1,-1 uses gpios 21,13,26,19 for axis and gpios 22 and 24 for A and B buttons, the rest of buttons are unused.

      Pour résumé mon (mes) probleme(s) :

      1. Lorsque j'essaye de compiler le module , j'ai ce message d'erreur

      root@retropie:/usr/src/mk_arcade_joystick_rpi-0.1.5# sudo dkms build m mk_arcade_joystick_rpi -v 0.1.5

      dkms.conf: Error! No 'PACKAGE_VERSION' directive specified.
      Error! Bad conf file.
      File: /usr/src/mk_arcade_joystick_rpi-0.1.5/dkms.conf
      does not represent a valid dkms.conf file.

      1. Et je ne comprends pas l'ordre des PINs par rapport à cette commande

      sudo modprobe mk_arcade_joystick_rpi map=4 gpio=pin1,pin2,pin3,.....,pin12

      Where pinx is the number of the gpio you want. There are 12 posible gpio with button order: Y-,Y+,X-,X+,start,select,a,b,tr,y,x,tl,hk. Use -1 for unused pins. For example gpio=21,13,26,19,-1,-1,22,24,-1,-1,-1,-1,-1 uses gpios 21,13,26,19 for axis and gpios 22 and 24 for A and B buttons, the rest of buttons are unused.

      Cela ne correspond pas aux numéros de GPIO par rapport au schéma du lien ci après : GPIO RECALBOX

      Quelqu'un a t-il déjà effectué cette personnalisation des GPIO ?
      Merci pour votre aide.

      Substring 1 Reply Last reply Reply Quote 0
      • Substring
        Substring @piboy last edited by

        @djblex pk je lis retropie dans tes commandes ?

        Nous côté recalbox on ne compile pas comme çà ... A la base, tu dois juste aller dans le rep, et faire make (en ayant bien sur toutes les dependances utiles) ... Me semble que le repo doit avoir les infos utiles pourtant

        Former dev - Please reply with @substring so that i am notified when you answer me
        Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

          @Substring tu m'as eu, je me rends et je plaide coupable :);
          oui, j'ai basculé de l'autre coté mais ma référence reste RECALBOX 😉
          Comme le driver MK ARCADE JOYSTICK a été développé pour Recalbox, je pensais qu ici serait le meilleur endroit pour obtenir un coup de main.

          Substring 1 Reply Last reply Reply Quote 0
          • Substring
            Substring @piboy last edited by

            @djblex nous on cross compile ce module, donc c'est très très différent de ta méthodologie. Mais comme je t'ai dit, il me semble que github explique comment compiler. Pour le reste, pas la moindre idée

            Former dev - Please reply with @substring so that i am notified when you answer me
            Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

              @Substring Bon, tu as raison, toutes les infos sont bien sur le repo ( en adaptant un petit peu 🙂 )

              Avec un peu d'acharnement, je suis arrivé à installer ce pilote 0.1.5.
              Mais comme c'est trop facile, (je plaisante, j'en bave !!!) , une autre difficulté se présente :

              Maintenant , j'applique la configuration des GPIO en MAP 3 qui m'intéresse pour mon projet :

              If you have a TFT screen connected on your RPi B+ you can't use all the gpios. You can run the following command for using only the gpios not used by the tft screen (Be careful, not all tft screen use the same pins. GPIOs used with this map: 21,13,26,19,5,6,22,4,20,17,27,16,12):

              sudo modprobe mk_arcade_joystick_rpi map=3

              Et là , NADA, rien , pas un bouton fonctionnelle, ni les AXIS.

              Pourtant , la ligne de code du driver 0.1.5, confirme la bonne attribution des GPIOs

              • élément de liste static struct mk *mk_base;
                ....
                // Map joystick on the b+ GPIOS with TFT up, down, left, right, start, select, a, b, tr, y, x, tl, hk
                static const int mk_arcade_gpio_maps_tft[] = {21, 13, 26, 19, 5, 6, 22, 4, 20, 17, 27, 16, 12};
                .....

              Voilà, pour le moment , je bloque à ce stade.

              Par contre si je choisi les Pins GPIO par défaut comme sous Recalbox avec sudo modprobe mk_arcade_joystick_rpi map=1
              Cela fonctionne.

              Merci de m'avoir lu.

              Substring 1 Reply Last reply Reply Quote 0
              • Substring
                Substring @piboy last edited by

                @djblex oui ben là dodo 😉 je verrai demain

                Former dev - Please reply with @substring so that i am notified when you answer me
                Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

                  @Substring Hello,
                  Voici une alternative :
                  -Une fois le dossier du driver mk_arcade_joystick_rpi, téléchargé,
                  -modifier le fichier "mk_arcade_joystick_rpi.c " à la ligne de code n°185, en y remplaçant les numéro de pin que l'on souhaite attribuer , dans mon cas, je n'ai modifié que deux Pins.

                  Ligne par défaut :
                  static const int mk_arcade_gpio_maps[] = { 4, 17, 27, 22, 10, 9, 25, 24, 23, 18, 15, 14 };

                  Attention il y a un ordre à respecter :Y-,Y+,X-,X+,start,select,a,b,tr,y,x,tl,hk

                  -Ensuite sauvegarder la modification puis le compiler en suivant la procédure https://github.com/Pinuct/mk_arcade_joystick_rpi/tree/customgpiohotkey

                  dkms build -m mk_arcade_joystick_rpi -v 0.1.5

                  -Une fois la procédure terminée, charger le pilote
                  sudo modprobe mk_arcade_joystick_rpi map=1

                  Cela fonctionne très bien pour moi avec les nouveaux Pins.

                  Si quelqu'un à réussi à modifier l'attribution des PINS sans s'embêter comme moi , par la commande :
                  sudo modprobe mk_arcade_joystick_rpi map=4 gpio=pin1,pin2,pin3,.....,pin12

                  merci de m'en faire part, il y a peut être quelque chose que j'ai manqué 🙂

                  c'est clos pour moi (pour le moment 🙂 )

                  Bonne journée.

                  Substring 1 Reply Last reply Reply Quote 0
                  • Substring
                    Substring @piboy last edited by

                    @djblex c'est possible, @ian57 s'en est servi dans un projet

                    Former dev - Please reply with @substring so that i am notified when you answer me
                    Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

                    Want to support us ?

                    64
                    Online

                    88.3k
                    Users

                    26.2k
                    Topics

                    179.8k
                    Posts

                    Copyright © 2021 recalbox.com