Solved Game Reset
-
I should upvote myself for such clever ideas ^^
-
Okay thank you for your answers. I will have a look at the retroarch commands and if I have a solution i will tell you
-
Yes please keep us informed
-
I think I have found something. But due to holidays I am not able to test it next week. There will be an updaye the week after
-
import socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('127.0.0.1', 55355)) print s.send("RESET") s.close()
This works. Gotta embed it in a gpio handling stuff. @supernature2k will do that, i can't test such things
you need to add
network_cmd_enable = "true"
in your retroarcdh config files to be sure -
full python script with GPIO: (pin 5 and 6)
import RPi.GPIO as GPIO import time import socket # addressing information of target IPADDR = "127.0.0.1" PORTNUM = 55355 # enter the data content of the UDP packet COMMAND = "RESET" # initialize a socket, think of it as a cable # SOCK_DGRAM specifies that this is UDP try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) except socket.error: print 'Failed to create socket' sys.exit() GPIO.setmode(GPIO.BCM) GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP) def exitEmulator(channel): s.sendto(COMMAND, (IPADDR, PORTNUM)) GPIO.add_event_detect(3, GPIO.FALLING, callback=exitEmulator, bouncetime=500) while True: time.sleep(10)
-
D**n, you two are unbelievable GREAT! I am still on holidays
Today in the morning I read about the "Exit Emulator GPIO" thread and thought "That's it"What about a nerdy Wiki article about network commands via console and python? Would it be worth to write @supernature2k @subs ? (I could do it).
-
Yes sure, you can create a new wiki entry.
Network commands are detailed here:
-
@lackyluuk so far it's still some nerdy fun on one's side, but things can get REALLY better and in that case, it would be worth a wiki
-
@supernature2k I am working on a wiki page and I am currently implementing the solution to my N64 Mod But somehow it does not work. In retroarch config I changed the line to network_cmd_enable = "true" and the script is running (Command is sent). But nothing happens if i press the reset button.
-
I am sorry for the trouble. I had a config mess. Now it works. I accessed the config with the hotkey and then turned the commands on and saved. It works now. Thanky anyway for all your help
-
glad it works pal Anyway, i think we gotta make it "nicer" fr 4.1, or 4.2
-
@subs and @supernature2k : Wiki pages in english and german are done
Since english is not my native language, could you please review the english version and correct it if needed? Thank youhttps://github.com/recalbox/recalbox-os/wiki/RetroArch-Network-Commands-(EN)
https://github.com/recalbox/recalbox-os/wiki/RetroArch-Network-Commands-(DE)
-
@lackyluuk That's some very good work, thank you for the time you spent on it
But i wouldn't call it "retroarch network commands" since it's definitely not "appealling". The aim is to make a gpio button "interact" with the emulators, so i think the title could be somethink like "map a GPIO button for various emulators interactions". Most of times, as you said in the wiki, it's for some original cases modding ... Remember we can also kill any running emulator, which is not part of your wiki (need a forum link ?)
Or something like "mod an original case : map buttons to GPIO and make them interact with recalbox" ? And add a link to the start stop button wiki ?
Maybe it should even be a new section ? Knowing that there has been some huge steps forward concernaning the RGB output ...
@supernature2k still working on a nice and "easy to setup" gpio handling for retroach network commands + killing emulators ?
-
@subs: Thanks for the feedback. Sure, I can change it and add also other stuff to have all the belonging things in one place.
I just thinking about the title since it is actually not just about the gpio pins, but also just about sending network commands to RetroArch e.g. via the command line. I will think about itCould you please provide me all necessary links which should be referred or mentioned in this topic?
-
https://forum.recalbox.com/topic/3504/emulator-exit-button-gpio/7 the other link i thought about
-
@supernature2k hey mate not sure if I should open a new thread.
I am using the RESET script you posted in this thread for a long time. But since I have updated to 4.1 stable, the script is somehow messing up retroarch.As soon as I press my Reset button on the console it works exactly 1 time. After this no retroarch special commands work anymore, not even on the controller (No Hotkey+Start to exit the game, reset, rewind, save, load etc.). I can still enter the RetroArch settings with Hotkey+A but then it freezes there and I have to turn off the Raspi by pull out the plug.
I think it's a script problem because the Hotkey commands work flawlessly on the controller. But once I used the Hardware Reset button with this script, all is bad. Any idea on that?
-
@Substring hey pal is @supernature2k not available these days? Maybe you have an idea on the topic above?
-
@lackyluuk I'd also ask @OyyoDams who's been working on a much more global python script to handle any kind of "known" event (which would fit with the volume change for alsa you wrote in your wiki for example).
-
Hi bro, I tested my script and it works fine, I can do several RESET, exit,re-enter the game and do it again.
could you please try this:
import RPi.GPIO as GPIO import time import socket # addressing information of target IPADDR = "127.0.0.1" PORTNUM = 55355 # enter the data content of the UDP packet COMMAND = "RESET" 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.setmode(GPIO.BCM) GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP) def netcmd(channel): retroarch(nwcommand) GPIO.add_event_detect(3, GPIO.BOTH, callback=netcmd, bouncetime=500) while True: time.sleep(0.2)