RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Mausberry Shutdown Script Doesn't Save Metadata

    Scheduled Pinned Locked Moved ControlBlock, PowerBlock & Co.
    mausberry
    251 Posts 10 Posters 104.6k Views
    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.
    • lostlessL
      lostless @meleu
      last edited by

      @meleu i saw that. whew.

      lostlessL 1 Reply Last reply Reply Quote 1
      • lostlessL
        lostless @lostless
        last edited by lostless

        @meleu killed all switch functionality. As in it no longer functions as a shutdown switch.

        meleuM 2 Replies Last reply Reply Quote 0
        • meleuM
          meleu @lostless
          last edited by

          @lostless OK. I'll try a little further...

          • Useful topics
          • joystick-selection tool
          • rpie-art tool
          • achievements I made
          lostlessL 1 Reply Last reply Reply Quote 0
          • lostlessL
            lostless @meleu
            last edited by lostless

            @meleu i see you removed some stuff from the original script

            while [ 1 = 1 ]; do
            power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
            if [ $power = 0 ]; then
            sleep 1
            else
            

            that was removed. any reason to that?

            meleuM 1 Reply Last reply Reply Quote 0
            • meleuM
              meleu @lostless
              last edited by meleu

              @lostless said in Mausberry Shutdown Script Doesn't Save Metadata:

              that was removed. any reason to that?

              yep. This infinite loop is consuming CPU cycles unnecessarily.

              • Useful topics
              • joystick-selection tool
              • rpie-art tool
              • achievements I made
              lostlessL 1 Reply Last reply Reply Quote 0
              • lostlessL
                lostless @meleu
                last edited by

                @meleu that was in the original script from mauseberry. never had any issues. interesting that their code just constantly checks the gpio.

                meleuM 1 Reply Last reply Reply Quote 0
                • meleuM
                  meleu @lostless
                  last edited by

                  @lostless do they have a github repo or something?

                  • Useful topics
                  • joystick-selection tool
                  • rpie-art tool
                  • achievements I made
                  lostlessL 1 Reply Last reply Reply Quote 0
                  • lostlessL
                    lostless @meleu
                    last edited by

                    @meleu they don't. just the download and install instructions on their website. But heres the script you download and install.

                    echo '#!/bin/bash
                    
                    #this is the GPIO pin connected to the lead on switch labeled OUT
                    GPIOpin1=23
                    
                    #this is the GPIO pin connected to the lead on switch labeled IN
                    GPIOpin2=24
                    
                    echo "$GPIOpin1" > /sys/class/gpio/export
                    echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
                    echo "$GPIOpin2" > /sys/class/gpio/export
                    echo "out" > /sys/class/gpio/gpio$GPIOpin2/direction
                    echo "1" > /sys/class/gpio/gpio$GPIOpin2/value
                    while [ 1 = 1 ]; do
                    power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
                    if [ $power = 0 ]; then
                    sleep 1
                    else
                    sudo poweroff
                    fi
                    done
                    
                    1 Reply Last reply Reply Quote 0
                    • meleuM
                      meleu @lostless
                      last edited by

                      @lostless said in Mausberry Shutdown Script Doesn't Save Metadata:

                      @meleu killed all switch functionality. As in it no longer functions as a shutdown switch.

                      is it killing the emulator/ES?

                      • Useful topics
                      • joystick-selection tool
                      • rpie-art tool
                      • achievements I made
                      lostlessL 1 Reply Last reply Reply Quote 0
                      • lostlessL
                        lostless @meleu
                        last edited by

                        @meleu its not doing anything.

                        meleuM 1 Reply Last reply Reply Quote 0
                        • meleuM
                          meleu @lostless
                          last edited by

                          @lostless did you install inotify-tools?

                          • Useful topics
                          • joystick-selection tool
                          • rpie-art tool
                          • achievements I made
                          lostlessL 1 Reply Last reply Reply Quote 0
                          • lostlessL
                            lostless @meleu
                            last edited by

                            @meleu yes

                            meleuM 2 Replies Last reply Reply Quote 0
                            • meleuM
                              meleu @lostless
                              last edited by

                              @lostless OK, let's try with that expensive infinite loop just to check if the inotifywait part is bugging the script. Hold on a little...

                              • Useful topics
                              • joystick-selection tool
                              • rpie-art tool
                              • achievements I made
                              lostlessL 1 Reply Last reply Reply Quote 0
                              • lostlessL
                                lostless @meleu
                                last edited by

                                @meleu I'm trying my own Frankenste in script (taking the parts that i see may work)

                                1 Reply Last reply Reply Quote 1
                                • meleuM
                                  meleu @lostless
                                  last edited by meleu

                                  @lostless please, try this one:

                                  #!/bin/bash
                                  
                                  #this is the GPIO pin connected to the lead on switch labeled OUT
                                  GPIOpin1=23
                                  
                                  #this is the GPIO pin connected to the lead on switch labeled IN
                                  GPIOpin2=24
                                  
                                  echo "$GPIOpin1" > /sys/class/gpio/export
                                  echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
                                  echo "$GPIOpin2" > /sys/class/gpio/export
                                  echo "out" > /sys/class/gpio/gpio$GPIOpin2/direction
                                  echo "1" > /sys/class/gpio/gpio$GPIOpin2/value
                                  
                                  file="/sys/class/gpio/gpio$GPIOpin1/value"
                                  
                                  while true; do
                                      power="$(cat "$file")"
                                      if [[ "$power" == 0 ]];
                                          sleep 1
                                      else
                                          emu_command="$(sed -n 4p /dev/shm/runcommand.info)"
                                          [[ -n "$emu_command" ]] && pkill -f "${emu_command%% *}" && sleep 5
                                  
                                          espid=$(pgrep -f "/opt/retropie/supplementary/.*/emulationstation([^.]|$)")
                                          if [[ "$espid" ]]; then
                                              touch /tmp/es-shutdown && chown pi:pi /tmp/es-shutdown
                                              kill "$espid"
                                          fi
                                  
                                          sudo poweroff
                                      fi
                                  done
                                  
                                  • Useful topics
                                  • joystick-selection tool
                                  • rpie-art tool
                                  • achievements I made
                                  lostlessL 1 Reply Last reply Reply Quote 0
                                  • lostlessL
                                    lostless @meleu
                                    last edited by

                                    @meleu your new script is still doing nothing and mine worked just like the 1.2.

                                    meleuM 1 Reply Last reply Reply Quote 0
                                    • meleuM
                                      meleu @lostless
                                      last edited by

                                      @lostless helping with this blind coding is very hard. I'm giving up...

                                      • Useful topics
                                      • joystick-selection tool
                                      • rpie-art tool
                                      • achievements I made
                                      lostlessL 1 Reply Last reply Reply Quote 0
                                      • lostlessL
                                        lostless @meleu
                                        last edited by

                                        @meleu sounds good man. it was fun. the 1.2 works fine, a lot better then always losing meta data all the time.

                                        meleuM 1 Reply Last reply Reply Quote 0
                                        • meleuM
                                          meleu @lostless
                                          last edited by meleu

                                          @lostless where is this script placed? what directory?

                                          • Useful topics
                                          • joystick-selection tool
                                          • rpie-art tool
                                          • achievements I made
                                          lostlessL 2 Replies Last reply Reply Quote 0
                                          • lostlessL
                                            lostless @meleu
                                            last edited by

                                            @meleu location is /etc/switch.sh

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

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.