Recalbox Forum

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

    Dualboot + Bouton push

    Media-center/Dualboot
    dualboot push
    1
    2
    321
    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.
    • Treize
      Treize last edited by

      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 👍

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

        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 👍

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

        Want to support us ?

        71
        Online

        98.7k
        Users

        28.1k
        Topics

        187.0k
        Posts

        Copyright © 2021 recalbox.com