Recalbox Forum

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

    Exit emulator with one button press vía gpio

    GamePad/GPIO/USB encoder
    button press vía gpio
    9
    41
    16686
    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.
    • 8bit_astronaut
      8bit_astronaut last edited by

      Thank you! A lot of people would use it

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

        @supernature2k I SUMMON YOU !!!

        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é

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

          @Substring Yep, how can I help?

          Pi powered NES | Gameboy HD | RecalStation | RecalDrive
          Upvote messages if it has been useful ;)

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

            @supernature2k where is your fringing script to kill emulators via GPIO ?

            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é

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

              @Substring try this:

              import RPi.GPIO as GPIO
              import time
              import os
              import thread
              import datetime
              import socket
              import sys
              from datetime import datetime
              from configgen import recalboxFiles
              # this last one retrieves emulators bin names
              
              IPADDR = "127.0.0.1"
              PORTNUM = 55355
              # IP and port for retroarch network commands
              
              QUIT = 3
              
              
              GPIO.setwarnings(False)		# no warnings
              GPIO.setmode(GPIO.BCM)		# set up BCM GPIO numbering 
               
              GPIO.setup(QUIT, GPIO.IN, pull_up_down=GPIO.PUD_UP)
              # GPIO on pin 3 is the GPIO 2 in BCM mode
              #to Reset+
              
                
              # Define a threaded callback function to run in another thread when events are detected  
              def button_pressed(channel):
              	
              	nwcommand="QUIT"
              	retroarch(nwcommand)
              	killthats**t(channel)
              		
              	
              #	on quit press, trying to kill all listed emus 
              def killthats**t(channel):
              	if channel == QUIT:
              		for bin in recalboxFiles.recalboxBins:
              				print bin
              				proc = os.path.basename(bin)
              				print proc
              				os.system("killall -9 "+proc)
              
              
              # 	sending network command to retroarch (only exit and reset atm)		
              def retroarch(nwcommand):
              	try:
              		s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
              	except socket.error:
              		print 'Failed to create socket'
              		sys.exit()
              	s.sendto(nwcommand, (IPADDR, PORTNUM))
              		
              
              GPIO.add_event_detect(QUIT, GPIO.BOTH, callback=button_pressed, bouncetime=2)
              while True:
              	time.sleep(0.2)
              

              Pi powered NES | Gameboy HD | RecalStation | RecalDrive
              Upvote messages if it has been useful ;)

              sevenx 1 Reply Last reply Reply Quote 0
              • sevenx
                sevenx @supernature2k last edited by

                @supernature2k
                Does this automaticly start ES again after killing the Emulator?

                supernature2k 1 Reply Last reply Reply Quote 0
                • supernature2k
                  supernature2k @sevenx last edited by

                  @sevenx no as ES is not killed when you launch an emu

                  Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                  Upvote messages if it has been useful ;)

                  sevenx 1 Reply Last reply Reply Quote 0
                  • sevenx
                    sevenx @supernature2k last edited by

                    @supernature2k
                    Do you have some time, to talk about a new project from me? Over PM?

                    supernature2k 1 Reply Last reply Reply Quote 0
                    • supernature2k
                      supernature2k @sevenx last edited by

                      @sevenx ok

                      Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                      Upvote messages if it has been useful ;)

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

                        @8bit_astronaut maybe this article I wrote some time ago can help. I use the script to reset the emulator. But with replacing the RESET with QUIT you should be able to quit it and return to ES.

                        https://github.com/recalbox/recalbox-os/wiki/Emulator-interactions-via-GPIO-mapping-(EN)

                        NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

                        8bit_astronaut 2 Replies Last reply Reply Quote 0
                        • 8bit_astronaut
                          8bit_astronaut @lackyluuk last edited by

                          @lackyluuk that looks great! Ill check it in a moment, thank you so much!

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

                            @lackyluuk its necesary to have an internet conection for recalbox???

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

                              @8bit_astronaut No, I think it should also work without. But it is highly recommended 🙂

                              NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

                              1 Reply Last reply Reply Quote 0
                              • DjLeChuck
                                DjLeChuck @8bit_astronaut last edited by

                                @8bit_astronaut Not at all. The internet connection is only useful for scraping directly with your recalbox or for accessing you share folder through your network.

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

                                  maybe?

                                  exit-emu-1b-installer:
                                  http://webcache.googleusercontent.com/search?q=cache:https://gist.github.com/Phantiss/3e0cab70f7084431e1c389d633e53662

                                  rpi-exit-emu-1b .py
                                  http://webcache.googleusercontent.com/search?q=cache:https://gist.github.com/Phantiss/b9248718a208e293d332feed0a9cbc27

                                  S98exit-emu-1b
                                  http://webcache.googleusercontent.com/search?q=cache:https://gist.github.com/Phantiss/813037bfd7c9d22a3cd2887714463eda

                                  DjLeChuck 1 Reply Last reply Reply Quote 0
                                  • DjLeChuck
                                    DjLeChuck @sevenx last edited by

                                    @sevenx Haha nice! I update the wiki page and links.

                                    DjLeChuck 1 Reply Last reply Reply Quote 0
                                    • DjLeChuck
                                      DjLeChuck @DjLeChuck last edited by DjLeChuck

                                      Wiki updated! https://github.com/recalbox/recalbox-os/wiki/Enable-Gpio-button-to-close-emulator-with-only-one-button-press

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

                                        I think my script is betta (btw, I corrected this RESET instead of QUIT):

                                        • sending network command to retroarch is better
                                        • using sub's list of emulator bins is better (no need to modify script if new emus implemented)

                                        Pi powered NES | Gameboy HD | RecalStation | RecalDrive
                                        Upvote messages if it has been useful ;)

                                        DjLeChuck 1 Reply Last reply Reply Quote 0
                                        • DjLeChuck
                                          DjLeChuck @supernature2k last edited by

                                          @supernature2k Can you update the wiki this way? 🙂

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

                                            @DjLeChuck We could include @supernature2k s script into the article i posted above. This article is in general about interacting with emulators through the retroarch network commands. Instead of having multiple articles spreaded around we could have all in the same place. What do you think?

                                            NintendoRS | Nintendo Adapter Box | Cardboard Recalbox

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

                                            Want to support us ?

                                            79
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com