Recalbox Forum

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

    Solved Ecran 3.2 + boutons sur ports GPIO

    Recalbox Général
    3.2 boutons ports gpio
    7
    74
    25816
    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.
    • anachris
      anachris last edited by

      oui c'est un pi3 b

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

        bon ben ça compile....

        "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
        • anachris
          anachris last edited by

          t'es un chef!
          sans vouloir abuser pourra tu me guider pour l'intégration?
          merci par avance.

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

            tu sais combien de temps prend une compilation?

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

              bah c'est fini depuis un moment...mais j'ai des trucs à faire aussi 😉
              https://mega.nz/#!ygMGxTZI!icFwxfu3EPG8wOejXsvMpig2MjSaRqFfKFQf_ssLIRY

              le fichier mk_arcade_joystick_rpi.ko à placer dans le répertoire /lib/modules/4.1.19-v7/extra/ (fais une copie de l'ancien avant)

              ensuite comme indiqué ici https://github.com/recalbox/mk_arcade_joystick_rpi/tree/hotkeybtn

              "Loading the driver

              The driver is loaded with the modprobe command and take one parameter nammed "map" representing connected joysticks. When you will have to load the driver you must pass a list of parameters that represent the list of connected Joysticks. The first parameter will be the joystick mapped to /dev/input/js0, the second to js1 etc.."

              "If you don't want to use all pins or wants a custom gpio map use:

              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.

              If you want customization for both players use map=4,5 and gpio= for player 1 and gpio2= for player 2. Example:

              same configuration as map=1,2 but manually:

              sudo modprobe mk_arcade_joystick_rpi map=4,5 gpio=4,17,27,22,10,9,25,24,23,18,15,14,2 gpio2=11,5,6,13,19,26,21,20,16,12,7,8,3
              

              If you use a TFT and want two players, you can´t use all gpios.
              Example with two players and only axes, A and B buttons

              sudo modprobe mk_arcade_joystick_rpi map=4,5 gpio=4,17,27,22,-1,-1,25,24,-1,-1,-1,-1,-1 gpio2=11,5,6,13,19,-1,-1,20,16,-1,-1,-1,-1,-1
              

              The GPIO joystick 1 events will be reported to the file "/dev/input/js0" and the GPIO joystick 2 events will be reported to "/dev/input/js1"

              Auto load at startup

              Open /etc/modules :

              sudo nano /etc/modules
              and add the line you use to load the driver :

              mk_arcade_joystick_rpi
              

              Then create the file /etc/modprobe.d/mk_arcade_joystick.conf :

              sudo nano /etc/modprobe.d/mk_arcade_joystick.conf
              

              and add the module configuration :

              options mk_arcade_joystick_rpi map=4,5
              

              Testing

              Use the following command to test joysticks inputs :

              jstest /dev/input/js0"
              

              et dans le recalbox.conf

              # ------------ D3 - GPIO Controllers ------------ #
              ## GPIO Controllers         
              ## enable controllers on GPIO with mk_arcarde_joystick_rpi (0,1)
              controllers.gpio.enabled=1
              ## mk_gpio arguments, map=1 for one controller, map=1,2 for 2 (map=1,map=1,2)
              controllers.gpio.args=map=4,5 
              

              "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
              • anachris
                anachris last edited by

                tu est génial!
                je teste cela ce soir et je te tiens au courant...

                désolé je ne voulais pas te présser ct juste pour savoir si je pouvai éteindre le pi ou pas...

                encore merci je reviens vers toi max demain matin.

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

                  bien sur les commande ci dessus sont à adaptée en fonction de tes besoin. Il faut tester pas à pas pour vérifier que ça marche

                  le modprobe permet de tester de manière temporaire jusqu'au prochain reboot... la suite permet de rendre permanent

                  "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
                  • anachris
                    anachris last edited by

                    salut ian57,

                    je reviens vers toi pour te faire part de mes test.
                    J'ai bien remplacé le fichier mk_arcade_joystick_rpi.ko par celui que tu m'a fourni (encore merci)
                    Pour effectuer mon premier test, j'ai plugger un poussoir sur le port 40 du gpio et le gnd juste a cote. Je souhaiterai tester le deplacement gauche (x-).
                    J'ai donc effectuer un :
                    modprobe mk_arcade_joystick_rpi map=4 gpio=-1,-1,40,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                    Lorsque je valide cette commande, l'écran du pi se met a défiler vers la gauche, sans que je puisse l'arrêter. On dirai que le btn reste appuyé. J'ai refait la manip en enlevant le btn mais l'écran défile également. (reboot entre deux).
                    J'ai plugger un autre btn pour le deplacement vers la droite, maiss lors de l'appui sur ces btn riien ne se passe à l'écran du pi.
                    J'ai essayé d'attribuer le gpio 40 sur le A, par exemple, et là j'ai ON qui apparait dans le:

                    jstest /dev/input/js0

                    Je croyait que ce jstest se mettait en "attente" des appuis sur les bouton et afficherait ON si l'on appui dessus, mais là il est sur ON dès le début.
                    Je voudrait juste trouver une solution pour le déplacement gauche (x-), cela me permettrait de dupliquer la procédure sur les autres touches.
                    Donc pour tester je fait juste un
                    modprobe mk_arcade_joystick_rpi map=4 gpio=-1,-1,40,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
                    et ensuite si je fait un jstest et que j'appui sur mon btn il devrait se mettre a ON c'est bien cela? Parce que là ca continue a défiler même sans bouton pluggé sur le gpio.
                    Merci par avance pour ta réponse.

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

                      yep c'est bizarre... bon en même temps cette version je ne l'ai pas encore testée... j'avais tester la version master. J'ai recompilé une 4.0 entière, je ferais un test.

                      sinon je peux te recompiler la version master, celle ci fonctionnait avec mon pi zero

                      "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
                      • anachris
                        anachris last edited by

                        oui pourquoi pas ça serai sympa merci j'attends ton retour

                        mais j'ai raison pour le fonctionnement: tu lance le modprode afin de définir les ports utilisé et par qui, et ensuite tu vérifie que ton bouton répond dans le jstest , c'est bien cela? et si cela fonctionne dans le jstest, tu met ton mk_arcade_joystick_rpi map=4 ...... dans le /etc/modprobe.d/mk_arcade_joystick.conf afin qu'il soit pris en compte au lancement du pi, c'est bien cela???

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

                          oui voila tu as tout compris.. ya la fonction rmmod qui permet de décharger le module pour retster ensuite une autre config

                          une fois que tout est ok, tu fixes tout cela dans le fichier de 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
                          • anachris
                            anachris last edited by

                            ok, et donc selon toi cela viendrai du mk_arcade_joystick_rpi.ko l'effet que j'ai?

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

                              possible je ne sais pas, je ne l'ai pas testé... peut être as tu branché le microswitch de ton bouton sur la mauvaise broche. Si y'en a 3, y'en a une qui est a 1 tout le temps et passe a zero à l'appuis... et l'autre fait l'inverse et ya aussi la masse.

                              verifie ça

                              "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
                              • anachris
                                anachris last edited by

                                c'est juste un petit bouton tout simple, ceux dont on se sert pour allumer un pc par exemple, avec juste deux fils. Celui-ci fonctionne je l'ai testé à l'ohm metre.

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

                                  ok donc ya surement un soucis avec le module... code ou config. Je regarde ça dès que je peux

                                  "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
                                  • anachris
                                    anachris last edited by

                                    merci a toi!
                                    on dirai que lorsque l'on lance le modprobe avec les parametres, il met a ON ceux renseigné et reste bloqué sur ON.

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

                                      essaie ce module à la place https://mega.nz/#!LoMBHYIB!n2N0GMsAa7d0lN0jBVMGWnlg1GYnqb1VM5y0BvDoaK4

                                      il s'agit de celui de la branche master.. https://github.com/recalbox/mk_arcade_joystick_rpi/tree/master. N'oublies pas de le renommer. La config est la suivante :

                                      If you don't want to use all pins or wants a custom gpio map use:

                                      sudo modprobe mk_arcade_joystick_rpi map=5 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. Use -1 for unused pins. For example gpio=21,13,26,19,-1,-1,22,24,-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.

                                      The GPIO joystick 1 events will be reported to the file "/dev/input/js0" and the GPIO joystick 2 events will be reported to "/dev/input/js1"

                                      "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
                                      • anachris
                                        anachris last edited by anachris

                                        rehello!
                                        donc j'ai copié le module.
                                        Lorsque je fais un reboot, au lancement (dès l'îcone recalbox), l'écran se mets a défiler vers la droite, et l'affichage est un peu brouillé.
                                        Par contre si je lance un jstest /dev/input/js0, et que j'appui sur mon bouton, ca bouge comme cela :
                                        sans appui:
                                        Axes: 0: 0 1: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off
                                        avec appui :
                                        Axes: 0: 0 1:-32767 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off

                                        il semblerait comme tu pensai que cela vienne du .ko

                                        Oh fait je pensai à un truc, a ton avis , actuellement je suis sur un recalbox 4.1, si j'installe le 4.0 pense tu que j'aurai le même phénomène?

                                        ian57 1 Reply Last reply Reply Quote 0
                                        • katiaromu
                                          katiaromu @anachris last edited by

                                          @anachris said in Ecran 3.2 + boutons sur ports GPIO:

                                          Salut a tous!
                                          petite question:
                                          Dans le but de réaliser une console portable, j'ai équipé mon pi 3 d'un écran 3.2 connecté sur les ports gpio. Il fonctionne nickel.

                                          Bonjour comment as tu fait fonctionner ton écran 3.2", j'ai un 3.5" et impossible de le faire fonctionner, l'affichage reste sur le hdmi donc grand ecran. Merci

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

                                            Salut il s agit de quel écran précisément?

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

                                            Want to support us ?

                                            71
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com