Recalbox Forum

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

    RESET Taste an GPIO, wohin das Script?

    Controller/GPIO/USB
    reset taste gpio wohin das
    6
    40
    12334
    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.
    • Fruechtchen
      Fruechtchen last edited by Fruechtchen

      Hallo,

      ich möchte gerne einen Hardware-Push-Button dazu nutzen ein Spiel zu beenden (QUIT). Dazu gibt es auch ein wunderbares Script in der Wiki:
      http://recalbox-wiki-rtfd.readthedocs.io/en/4.0/DE/Emulator-Interaktionen-mit-GPIO-(DE)/

      Nur leider haben sie vergessen zu erwähnen wo das Script hin soll?

      Weiß das jemand? Danke 🙂

      Grüße,
      Fruechtchen

      1 Reply Last reply Reply Quote 0
      • lackyluuk
        lackyluuk Translator last edited by

        @Fruechtchen Das Wiki ist von mir & ja, ich habe tatsächlich nicht erwähnt wohin damit 😄

        Das Script legst du am besten unter recalbox/scripts ab (Zuerst ausführbar machen).

        In etc/init.d startest du dann das Script als Backgroundtask.

        NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

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

          Danke für Deine schnelle Antwort!

          Leider ist das Verzeichnis /recalbox/scripts readonly:
          [ Error writing gpio-reset-button.py: Read-only file system ]

          Ich versuche es mal woanders reinzuschmeissen 🙂

          LG,
          Fruechtchen

          1 Reply Last reply Reply Quote 0
          • lackyluuk
            lackyluuk Translator last edited by

            @Fruechtchen du musst die Partition, welche du bearbeiten willst beschreibbar machen, sonst ist alles read-only.

            https://github.com/recalbox/recalbox-os/wiki/Eine-Partition-beschreibbar-machen-(DE)

            NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

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

              Dankeschön 🙂
              Sorry, ich noch viel lerne müsse 😕

              Kannst Du mir das mit init.d nochmal erklären? Reicht es wenn ich den Pfad mit Dateinamen in eine init.d Datei schmeisse, oder muss ich eine extra Datei anlegen? Wird alles in init.d autmatisch ausgeführt?
              Ich kannte init.d eigentlich nur als einzige Datei, nicht als Ordner

              LG,
              Fruechtchen

              1 Reply Last reply Reply Quote 0
              • lackyluuk
                lackyluuk Translator last edited by

                @Fruechtchen Ich bin gerade unterwegs, kann dir aber eine detaillierte Beschreibung geben am Abend, ok? (Es gibt natürlich mehrere Wege das zu tun, aber ich kann dir dann sagen wie ich es gemacht habe).

                Bis dann kannst du evtl. noch ein bisschen im Wiki stöbern: https://github.com/recalbox/recalbox-os/wiki

                NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

                Fruechtchen 1 Reply Last reply Reply Quote 0
                • Fruechtchen
                  Fruechtchen @lackyluuk last edited by

                  @lackyluuk Das wäre super! Danke schonmal im voraus!
                  Ich bin mir ja im moment noch nicht mal sicher ob das ein Phyton-Script ist (glaube ja), weil beim manuellen Aufruf (mit Endung .py) kommen folgende Fehler:

                  ./gpio-reset-button.py

                  ./gpio-reset-button.py: line 1: import: command not found
                  ./gpio-reset-button.py: line 2: import: command not found
                  ./gpio-reset-button.py: line 3: import: command not found
                  ./gpio-reset-button.py: line 5: IPADDR: command not found
                  ./gpio-reset-button.py: line 6: PORTNUM: command not found
                  ./gpio-reset-button.py: line 8: COMMAND: command not found
                  ./gpio-reset-button.py: line 11: try:: command not found
                  ./gpio-reset-button.py: line 12: syntax error near unexpected token (' ./gpio-reset-button.py: line 12: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)'

                  Bis dann!

                  LG,
                  Fruechtchen

                  1 Reply Last reply Reply Quote 0
                  • lackyluuk
                    lackyluuk Translator last edited by

                    @Fruechtchen In der ersten Zeile des scripts muss das stehen: #!/usr/bin/python

                    Dann das script ausführbar machen mit diesem Befehl: chmod +x myFile.py

                    NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

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

                      Kannst Du mir nachher noch schreiben, ob es richtig ist, das wenn man den GPIO-Port wechseln möchte, einfach statt "3" einen anderen Port angibt? Port 3 (Stecker 5+6) ist mit Start/Herunterfahren belegt 🙂 Ich würde gerne Port 4 nehmen.

                      Also in diesen beiden Zeilen statt 3 jeweils 4 reinzuschreiben?
                      GPIO.add_event_detect(3, GPIO.FALLING, callback=exitEmulator, bouncetime=500)
                      GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)

                      LG,
                      Fruechtchen

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

                        Ist es nicht einfacher sich an diese Anleitung zu halten?
                        https://github.com/recalbox/recalbox-os/wiki/Add-a-start-stop-button-to-your-recalbox-(EN)

                        1 Reply Last reply Reply Quote 0
                        • lackyluuk
                          lackyluuk Translator last edited by

                          @TeKo Darum geht es nicht. Es geht um das Beenden von Emulatoren, nicht um das Starten / Herunterfahren von recalbox.

                          @Fruechtchen
                          Zuerst solltest du am Anfang deines Scripts die Zeile #!/usr/bin/python drin haben (Wiki-Artikel habe ich angepasst). Danach machst du wie gesagt dein Script ausführbar mit: chmod +x myFile.py

                          Das Script speicherst du dann ab in cd /recalbox/scripts mit einem Namen deiner Wahl.

                          Danach gehst du in das Verzeichnis cd /etc/init.d
                          Alle Scripts in diesem Verzeichnis werden beim Systemstart nacheinander ausgeführt. Deshalb erzeugst du hier ein neues Python-File welches du z.B. S99call-reset-game-script.py nennst (oder wie auch immer :D)

                          Der Inhalt könnte folgendermassen aussehen:

                          #!/usr/bin/python
                          
                          import subprocess
                          
                          try:
                          subprocess.Popen(["python","/recalbox/scripts/DEIN-SCRIPT.py"])
                          
                          except KeyboardInterrupt:
                              print "Quit"
                          

                          Damit startest du nun dein Script, welches in /recalbox/scripts liegt in einem Hintergrundprozess.

                          Du kannst natürlich jeden freien GPIO-Pin verwenden wenn du Pin 3 schon belegt hast.

                          NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

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

                            vielen dank!
                            Ich denke alles hat geklappt. Funktionieren tut es dennoch nicht. Mag aber auch daran liegen, das sich retroarch im Menü die Einstellung "network commands -> on" nicht merkt.
                            Weißt Du zufällig wo sich die Config-Datei von retroarch befindet? Dann würde ich es direkt darin ändern.

                            Vielleicht habe ich ja Glück und es geht dann 🙂

                            @TeKo Das ist genau der Grund weshalb ich diesen Hardwarebutton auf einen anderen GPIO-Port legen möchte, da ein anderer Button für Deine genannte Anleitung herhält (und im übrigen super funktioniert).

                            Grüße,
                            Fruechtchen

                            1 Reply Last reply Reply Quote 0
                            • lackyluuk
                              lackyluuk Translator last edited by

                              @Fruechtchen
                              Du kannst das retroArch-Menü z.B. aus einem Spiel heraus mit Hotkey + B öffnen und dann dort findest du irgendwo die Option. Dann noch abspeichern und los gehts.

                              NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

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

                                Wie bereits geschrieben klappt das leider nicht. Ich kann zwar das retroarch Menü öffnen, und auch unter network "network commands" anschalten, aber nach dem speichern "save current config" aber auch "save new config" ist nach dem rausgehen wieder alles beim alten und network commands deaktiviert. 😕
                                Und die Anleitungen die ich gefunden habe, beziehen sich auf Pfade und Dateinamen die bei mir nicht existieren. Evtl hat sich seit 4.0 was geändert?
                                Daher die frage ob Du weißt wo die Config-Datei ist, damit ich sie manuell ändern kann.

                                Grüße,
                                Fruechtchen

                                1 Reply Last reply Reply Quote 0
                                • lackyluuk
                                  lackyluuk Translator last edited by

                                  @Fruechtchen Dann machst du etwas mit dem Abspeichern der Config falsch 😄
                                  Ich hatte dasselbe Problem zuerst und dann hat es dann irgendwann geklappt.

                                  Du kannst über den Windows-Explorer über \DeineRecalbox\share\system\configs\retroarch auf die retroarch config zugreifen.

                                  Probiere einfach ein paar mal und lösche die vielen überzähligen configs, die es dir jenachdem erzeugt hat

                                  NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

                                  1 Reply Last reply Reply Quote 0
                                  • lackyluuk
                                    lackyluuk Translator last edited by

                                    @Fruechtchen Hats geklappt? 🙂

                                    NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

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

                                      Hallo lackyluuk,

                                      leider hatte es nicht funktioniert, was ich auch machte. Ich weiß auch nicht so richtig warum es nicht ging. Die Einstellungen habe ich manuell geändert (auch wenn im retroarch-Menü die Option nach wie vor als deaktiviert angezeigt wird). Und verkabelt ist auch alles richtig.
                                      Ich halte das Projekt jetzt erst mal auf Eis, bis mir was einfällt oder ich mehr Zeit habe.
                                      Dennoch danke ich Dir sehr für Deine geduldige Hilfe! 🙂

                                      Grüße,
                                      Fruechtchen

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

                                        Hi Leute,

                                        ich bin neu hier im Forum. Durch etwas Recherche bin ich auf Recalbox gestoßen, auf Nintendos Classic Mini sind ja leider nur 30 Spiele installiert. Jetzt habe ich das gleiche Problem wie viele anderen User vor mir, ich nutze einen Nachbau des NES Controllers und muss momentan über meine Tastatur (ESC Taste) in das Hauptmenü zurückkehren.
                                        Jetzt habe ich gesehen, dass man den Quit- Befehl durch ein Script selbst auf einen Taster legen kann.
                                        Ich verzweifle aber schon bei den Basics.
                                        Hab nirgendwo gesehen, wie das Script heißen muss. Oder ist das frei wählbar?
                                        Und wo finde ich den Ordner recalbox/scripts? Hat sich da von Version zu Version vielleicht was geändert? Ich finde den weder auf der SD Karte über Kartenleser, noch über Samba Freigabe.

                                        paradadf 1 Reply Last reply Reply Quote 0
                                        • paradadf
                                          paradadf Staff @b3ast last edited by

                                          @b3ast dein Controller hat SELECT und START Knöpfe? Dann kannst du beide gleichzeitig drucken, um aus den Emulatoren zurück zum EmulationStation (ES) zu kommen (Stichwort HOTKEY).
                                          Pflichtlektüre: https://forum.recalbox.com/category/45/wichtig-bitte-erst-lesen

                                          If your question was answered, please mark it as solved: Topic Tools -> Ask a question + Topic Tools -> Mark as Solved

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

                                            Danke paradadf. Für mich ist das am Anfang noch nicht so einfach die Zusammenhänge zu verstehen. Aber ist ja schonmal gut, dass es hier User gibt, die Tutorials und so verfassen für solche Leute für mich.
                                            Problem war, ich hab meinen Controller konfiguriert und Select natürlich auf Select gelegt, der hätte wahrscheinlich out-of-the-box optimal funktioniert und wäre richtig konfiguriert gewesen.
                                            Hoffe jetzt nur, ich brauche nie die Select Taste, da diese nun natürlich als Hotkey definiert ist.

                                            Gruß
                                            Stefan

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

                                            Want to support us ?

                                            60
                                            Online

                                            98.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.0k
                                            Posts

                                            Copyright © 2021 recalbox.com