Dualboot + Bouton push
-
Bonjour la commu !
J'vous donne le contexte :
J'ai actuellement mon Rpi3b+ en dualboot via PINN sous Twister/Recalbox( c'est le minimum non ? )
J'ai aussi un bouton Nuxii qui fonctionne très bien sur Recalbox.
J'aimerais aussi utiliser ce bouton sous Twister.J'ai fait un tout petit morceau de code sous python pour lire le statut des gpio et pouvoir utiliser le bouton.
Actuellement la led s'allume et quand j'appuie, le RPI s'éteint.Mais où est donc le soucis ? Bah mon code est une simple boucle while infinie et je n'aime pas trop l'idée.
Je ne sais pas comment fonctionne le script de recalbox mais est-il possible de faire autrement qu'avec une boucle qui tourne en fond constamment ?
Si vous avez d'autres solutions, je suis à l'écoute aussi bien entendu.
Merci à vous -
Après pas mal de recherches et un coup de main du fofo raspberry-pi.fr, je suis arrivé à deux nouveaux codes.
L'un utilisant la lib RPi.GPIO et l'autre gpiozero, cette dernière étant bcp plus simple de compréhension je vous joins le code qui fonctionne pour moi.
#!/usr/bin/python3 from gpiozero import Button, LED from signal import pause from subprocess import check_call def reboot(): check_call(['sudo', 'reboot']) def poweroff(): check_call(['sudo', 'poweroff']) def led_blink(): led.blink(on_time=0.2, off_time=0.2, n=8) bouton = Button(3, hold_time=3) led = LED(14) led.on() bouton.when_pressed = led_blink bouton.when_released = poweroff bouton.when_held = reboot pause()
Sa simplicité permettra à d'autres de le modifier au besoin.
A plus