Bouton gpio quitter émulateur
-
@godhunter74 oui, parce qu'il l'a fait
-
Trop bien mon bouton éject va bien porter son nom
-
@godhunter74 Hi guys, how may I help you?
-
Hi @supernature2k
I need some help to kill all system with one gpio button, like reset but without reset, emulationstation always running and won't restart.
I would like to make a script to do that.
@Substring says me you already do that.
Can you share your work Please? -
@godhunter74 non mais il est FR
-
@supernature2k
Bon ben la même chose mais en français ou voir le post n•1 dans ces cas là -
@godhunter74 try this:
import RPi.GPIO as GPIO import time import os import thread import datetime import socket import sys import argpa**e from datetime import datetime from configgen import recalboxFiles # this last one retrieves emulators bin names NUMGPIO = 3 GPIO.setwarnings(False) # no warnings GPIO.setmode(GPIO.BCM) # set up BCM GPIO numbering GPIO.setup(NUMGPIO, GPIO.IN, pull_up_down=GPIO.PUD_UP) # GPIO on pin 3 is the GPIO 2 in BCM mode #to button # Define a threaded callback function to run in another thread when events are detected def button_pressed(channel): timer = 0 flag = True while flag: if GPIO.input(channel) == False: timer += 1 elif GPIO.input(channel) == True: #timer adds 1 each 0.1 seconds if timer = 10, button is pressed for 1s if (timer >1): killthats**t(channel) timer = 0 flag = False time.sleep(0.1) # on power short press, trying to kill all listed emus def killthats**t(channel): if channel == NUMGPIO: for bin in recalboxFiles.recalboxBins: print bin proc = os.path.basename(bin) print proc os.system("killall -9 "+proc) GPIO.add_event_detect(NUMGPIO, GPIO.BOTH, callback=button_pressed, bouncetime=2) while True: time.sleep(0.2)
-
@supernature2k
Merci beaucoup j'essaye ça ASAP -
@godhunter74 je précise : faut recalbox 4.1 pour que ca marche
-
Je vois que ca détecté l'appui court, que se passe t'il en appuis long ?
Dois je remplacer le contenu de rpi-pin356-power.py par le script cité plus haut ?
Par avance merci. -
There is no short/long press in this version, the timer is here to avoid ghost signals on GPIO when pluging/unpluging USB or RJ45.
-
sommes nous dans la section international du forum ?
-
C'est pour s'améliorer
-
Je suis le topic, ça m’intéresse ! merci pour le script je test ça quand j'ai le temps
@supernature2k tu as une version short / long press dans les tuyaux ?
-
@idarius Oui j'ai une version short long qui fait les choses suivantes:
-
short press reset--> reset des émulateurs retroarch
-
long presse reset--> reset propre (fermeture de ES ok) de Recalbox
-
short press power--> quit émulateur (tous grâce à la liste du configgen créé par Subs)
-
long press power--> power off propre de Recalbox
-
-
@supernature2k quand tu dis reset des émulateurs, tu veux dire reset du jeu lancé ?
et le long press correspond à combien de seconde?Hâte de tester ça si tu veux des retours
-
@idarius quand je dis reset, c'est la commande RESET de retroarch donc oui, du jeu lancé.
Long press je l'ai mis à >1 seconde
-
@supernature2k Super !
je cherchais plus ou moins toutes les fonctionnalités que tu as mis, tu gères -
@Substring @supernature2k
Bonsoir messieurs je rencontre un autre problème :
*mPour résumer:Power+ sur GPIO 3 (PIN 5)
Reset+ sur GPIO 2 (PIN 3)
LED+ sur GPIO 14 (PIN
Power-, Reset- et Led- sur Ground (PIN 6)Sauf que les pin 3 et 5 sont les ports I2C ou IIC que j'utilise pour l'écran CLCD...
Puis je en choisir d'autres et modifier bêtement leur numéros dans les scripts ?
En préconisez vous particulièrement certains ou au contraire ....
Pour être clair je ne sais pas du tout sur quels PINs passer...Un petit coup de main serait le bienvenue...
-
@godhunter74 oui pour les pin 3 et 5 tu peux en choisir d'autres et modifier le script en conséquences. Prends n'importe lesquels.