Power Script PIN356ONOFFRESET avec switches SNES d'origine
-
ça donne ça :
# ps -ef | grep emulatorlauncher 1437 root sh -c python /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc -p1index 0 -p1guid 05000000504c415953544154494f4e00 -p1name "PLAYSTATION(R)3 Controller" -p1nbaxes 4 -p1devicepath /dev/input/event2 -p2index 1 -p2guid 15000000010000000100000000010000 -p2name "SNES pad" -p2nbaxes 2 -p2devicepath /dev/input/event0 -p3index 2 -p3guid 15000000010000000100000000010000 -p3name "SNES pad" -p3nbaxes 2 -p3devicepath /dev/input/event1 -system gba -rom /recalbox/share/roms/gba/Anguna\ \(Nathan\ Tolbert\ and\ Chris\ Hildenbrand\).gba -emulator default -core default -ratio auto 2> /recalbox/share/system/logs/es_launch_stderr.log | head -300 > /recalbox/share/system/logs/es_launch_stdout.log 1438 root python /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc -p1index 0 -p1guid 05000000504c415953544154494f4e00 -p1name PLAYSTATION(R)3 Controller -p1nbaxes 4 -p1devicepath /dev/input/event2 -p2index 1 -p2guid 15000000010000000100000000010000 -p2name SNES pad -p2nbaxes 2 -p2devicepath /dev/input/event0 -p3index 2 -p3guid 15000000010000000100000000010000 -p3name SNES pad -p3nbaxes 2 -p3devicepath /dev/input/event1 -system gba -rom /recalbox/share/roms/gba/Anguna (Nathan Tolbert and Chris Hildenbrand).gba -emulator default -core default -ratio auto 1548 root grep emulatorlauncher
Dans ce cas, il faut vérifier aussi si
grep
est présent dans le résultat
=> si oui, >=2 sinon >=1 -
@ff-sounds grepper grep ça va être dur
essaye
ps cax | grep emulatorlauncher
?sinon fouille là dedans : https://stackoverflow.com/questions/9117507/linux-unix-command-to-determine-if-process-is-running?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
-
@supernature2k after the last update or the 2018.03.30 version, I do not remember for sure, the led is not lit when it enters the recalbox, it just turns on when I turn on the raspberry.
-
@ff-sounds moi je testerais si tmp contient la chaîne de caractères "-p1guid", ce qui n'est pas le cas quand tu es dans ES.
-
Je vais regarder à ça, merci pour le tuyau
grep
retourne p1guid sous ES aussi , il renvoi la commande en fait, donc l'idée de tester si présence d'une suite de caractère semble mauvaise.
C'est peut être pour ça qu'à la base c'est par les PID que la fonctionoffreset()
est faite.Je vais voir pour reprendre cette piste si pas concluant avec grep !
-
ps -ef | grep [e]mulatorlauncher
corrige le problème, ,merci le lienPetit truc louche qui vient de m'arriver, j'ai descendu le store électrique du salon à l'instant car ça cogne dur, hé ben recalbox a reboot en appuyant sur l'interrupteur (mural je précise) !!!
@supernature2k @Substring, une idée du pourquoi ? la gestion du GPIO et de la masse ?Holala, j'ai pas fini avec tout ça... lol
-
@ff-sounds said in Power Script PIN356ONOFFRESET avec switches SNES d'origine:
Petit truc louche qui vient de m'arriver, j'ai descendu le store électrique du salon à l'instant car ça cogne dur, hé ben recalbox a reboot en appuyant sur l'interrupteur (mural je précise) !!!
ahah oui c'est un vieux bug, je croyais que le nouveau script corrigeait le problème
-
YOUHOUU ! ça fonctionne !
il y avait 2 problèmes en fait:
-
celui corrigé par la commande
ps -ef | grep [e]mulatorlauncher
-
Et le
Popen
qui n'envoyait pas la dite commande...
donc on corrige avecproce=subprocess.Popen(['/bin/sh', '-c', 'ps -ef | grep [e]mulatorlauncher'], stdout=subprocess.PIPE)
@supernature2k copie @Substring
Quand tu me demandais de faire une MR pour l'intégrer, tu parlais d'un script qui gère le onoff et push comme l'actuel ?
ou bien seulement le onoff pour uniquement une config matériel ON/OFF + RESETJ'entends par là, est ce que tu veux que les appuis courts/longs actuels soient remplacés par ce que j'ai fait ?
pour rappel :- switch ON/OFF classique (PUSH serait éventuellement : shutdown propre quelque soit le temps d'appui, en fait je crois qu'il n'y aurait rien à changer dans ce cas, à tester sinon ONOFFRESET et PUSHRESET plus nécéssaire)
- Reset court en jeu => reset du jeu
- Reset long en jeu => retour ES
- Reset court sous ES => reboot propre
- Reset long sous ES => rien
Dites-moi
EDIT: pour info, la gestion LED fonctionne correctement aussi
-
-
Comprends rien à ce qu'on me demande, j'ai rien fait c'est pas moi !
-
@ff-sounds bon bah tant mieux si ça marche, par contre je ne comprend pas quand tu dis que ça renvoie p1guid sous ES...
Tu as posté ça un peu plus haut quand je t'ai demandé de tester la commande sous ES :login as: root root@192.168.199.17's password: # ps -ef | grep emulatorlauncher 1444 root grep emulatorlauncher
Je dois avoir des problèmes de vision parce que je ne vois pas de p1guid là dedans ^^
-
@substring said in Power Script PIN356ONOFFRESET avec switches SNES d'origine:
Comprends rien à ce qu'on me demande, j'ai rien fait c'est pas moi !
LOL !! t'inquiètes ça va bien se passer
-
grep
vérifie aussi ce qu'il a envoyé comme argument, c'est un peu con mais c'est comme ça ^^Regarde :
login as: root root@192.168.199.17's password: # ps -ef | grep peaudefesse 1380 root grep peaudefesse # ps -ef | grep [p]eaudefesse #
Donc il faut passer par
[]
pour qu'il ne se trouve pas lui même...
il cherche tout ce qui fini pareaudefesse
avecp
devant, ça change tout car il ne trouvera pas[p]eaudefesse
-
@ff-sounds perso je re grep avec
| grep -v grep
-
@substring said in Power Script PIN356ONOFFRESET avec switches SNES d'origine:
@ff-sounds perso je re grep avec
| grep -v grep
moi je ne grep que depuis moins d'une semaine ^^ mais ça me semble logique au final
-
Substring, normal que tu sois paumé ^^ je t'ai jeté dans le bateau en chemin, mais ne te sens pas obligé de participer
Un rapide résumé :
- Actuellement pour PIN356PUSHRESET on a ceci (PIN356ONOFFRESET, a moitié opérant, car pas de gestion switch):
durée/bouton sous ES En jeu RESET court rien reset du jeu (RetroArch only) RESET long reset propre du système reset propre du système POWER court rien quit du system et retour à ES POWER long shutdown propre du système reset propre du système - Le script modifié avec un peu d'aide ^^ fait ceci (valable pour PIN356ONOFFRESET et par défaut PIN356PUSHRESET) :
durée/bouton sous ES En jeu RESET court reset propre du système reset du jeu (RetroArch only) RESET long rien quit du system et retour à ES POWER court/Switch POWER shutdown propre du système shutdown propre du système POWER long/Switch POWER shutdown propre du système shutdown propre du système Donc, dans la MR, je demande purement un remplacement de rpi-pin356-power.py ou une option en plus pour recalbox.conf ?
Car finalement PIN356PUSHRESET n'a plus lieu d'être avec ce script modifié... -
@ff-sounds dans ta version, power fait toujours pareil
-
Oui c'est voulu, le power c'est pour allumer/éteindre, il n'a pas de gestion d'appui, il a une fonction classique, comme la majorité des appareils qu'on connait.
D'ailleurs, il n'a plus besoin de faire plus, car les autres fonctions sont assurées par le reset.On se retrouve dans une config "normale".
Après je comprends que ça ne puisse pas plaire à tout le monde ^^
-
@ff-sounds tu as perdu la partie reset pripre de l'os
-
Hé bien oui, il est sur le reset court sous ES... Est ce qu'il y a encore un intérêt à avoir un reset propre sur POWER ?
Pour moi non, les joueurs ayant 2 boutons, n'ont pas besoin d'un double reset propre.A la limite, pour ceux qui ont un seul bouton PUSH pour ON/OFF, il faudrait modifier aussi le rpi-pin56-power.py pour qu'il gère les appuis courts/longs
Je pourrais m'en occupé si nécéssaire
-
@ff-sounds said in Power Script PIN356ONOFFRESET avec switches SNES d'origine:
grep
vérifie aussi ce qu'il a envoyé comme argument, c'est un peu con mais c'est comme ça ^^Regarde :
login as: root root@192.168.199.17's password: # ps -ef | grep peaudefesse 1380 root grep peaudefesse # ps -ef | grep [p]eaudefesse #
Donc il faut passer par
[]
pour qu'il ne se trouve pas lui même...
il cherche tout ce qui fini pareaudefesse
avecp
devant, ça change tout car il ne trouvera pas[p]eaudefesse
oui ça j'avais bien compris, mais ça n'empêche que je ne vois toujours pas de chaine de caractère "p1guid" dans ce que tu postes comme résultat à ta commande...
(m'enfin quoi qu'il en soit c'est trés bien comme ça, au moins tu testes si chaine vide ou pas, plutôt que chercher si ça contient une chaine de caractères bien précise)