Retroflag NESPi Case - Soft Power & Reset Hack
-
@yahmez Thanks for the very comprehensive tutorial, I am wondering, is there an alternative to using the momentary switch board for more somewhat common parts? Getting that board delivered to me would cost more than the NESPI case itself.
-
Has the shut down script been updated in the walk through? With the 1.59 script noted above?
-
Thanks @Yahmez !
I will receive my NesPi case at the end of september and will test that.
If I understand well, when you press Power, it sends an order to Raspberry via GPIO (and we can do what we would like with it, in this case a properly shutdown) and then, hard power off raspberry ? The mofset knows when it have to hard power off via "On Control" => When raspberry is off, GPIO is off then mofset can hard power off ? Am I right ? :)
I'm not sure to understand very well how it works in fact ^^ -
@daminoutav I tried to explaind the function shema here
-
@cyperghost Thanks :)
-
And what happens when we press "Reset" ?
-
@daminoutav Well...
Then happens whatever you want....
Remove the NesPi connector from it's original place and connect it to a free GPIO together with a pullup resistor .... then if you press reset you can- Restart ES
- Restart the whole Pi
- Send an eMail
- Make a Screenshot.....
-
@cyperghost Yeah in fact I meant "what happens on mofset aide". Because with power button it's shutdown Rpi which doesn't keep HIGH on gpio control, then mofset hard power off. When a reset is sent to the pi, gpio control can't be maintain anymore, and mofset should hard power off Rpi. How can it distinguish a power off and a reset ?
-
@daminoutav As @Yahmez cut the traces off the switches they work independent. On the mosfet side with reset and evenpower buttons happens nothing ;) Because they are not connected to the mosfet.... only the "POWER CONTROL" GPIO is directly connected to the mosfet and keeps the state on/off.
So you have power switch connected to GPIO X and reset to GPIO Y.
So the Pie "knows" which button is pressed and initiates different actions ;)The original NesPi makes use of the reset buttons but that is an dirty reset method. Better use the software possibilities ;) RetroPie (better EmulationsStation) is able to perform proper Pie restarts, Pie shutdowns and ES restarts with a few tricks....
-
@cyperghost ooh okay I understand :D thanks for explanations ! (And shame on me, I use Retropie competitor aha I tried it 2 years ago but I didn't like, have to test it again)
-
@cyperghost I have a doubt hope you maybe can help me there, im looking to use the reset button and programmed to trigger like if was a keyboard presses, somehitng like this
http://www.rcjoycon.com/cpjexr/
but for a GPIO solution, i saw it in this video
Any help any guide any suggest woul help me a lot, many thanks
-
@bjose2345 Sorry I've no clue what is done here....
There is a binary from adafruit that simulates keypresses via GPIO - I think that will work. Google is your friend...Got it: https://learn.adafruit.com/retro-gaming-with-raspberry-pi/configuring-retrogame
-
@cyperghost Many thanks, i will look at this.
-
@cyperghost said in Retroflag NESPi Case - Soft Power & Reset Hack:
@daminoutav As @Yahmez cut the traces off the switches they work independent. On the mosfet side with reset and evenpower buttons happens nothing ;) Because they are not connected to the mosfet.... only the "POWER CONTROL" GPIO is directly connected to the mosfet and keeps the state on/off.
So you have power switch connected to GPIO X and reset to GPIO Y.
So the Pie "knows" which button is pressed and initiates different actions ;)The original NesPi makes use of the reset buttons but that is an dirty reset method. Better use the software possibilities ;) RetroPie (better EmulationsStation) is able to perform proper Pie restarts, Pie shutdowns and ES restarts with a few tricks....
Not quite. The power button is connected to the mosfet too, so upon pushing the power button it activates the mosfet switch, powering up the pi. It will continue to keep the mosfet on as long as the power switch is on. As the pi boots, it supplies a second 'on signal' to the mosfet but only really matters or does anything when you switch off the power switch. At that point it is keeping the mosfet on until the pi safely shuts down.
-
@s33d1ing said in Retroflag NESPi Case - Soft Power & Reset Hack:
@Yahmez Thanks this is exactly what I was looking for!
You're welcome!
-
@mike17855 said in Retroflag NESPi Case - Soft Power & Reset Hack:
Has the shut down script been updated in the walk through? With the 1.59 script noted above?
No, I have not had the time to try to achieve the same as that bash script in Python. I am not a programmer but do have an interest in finding out how to accomplish this in Python. I have read that the bash scripts for safe shutdown eat a lot more cpu cycles than the equivalent Python, which is why I chose that route.
-
@renegade_r said in Retroflag NESPi Case - Soft Power & Reset Hack:
@yahmez Thanks for the very comprehensive tutorial, I am wondering, is there an alternative to using the momentary switch board for more somewhat common parts? Getting that board delivered to me would cost more than the NESPI case itself.
Sure, there are other ways and methods. You can build your own circuit to accomplish the same end result.
-
@daminoutav said in Retroflag NESPi Case - Soft Power & Reset Hack:
Thanks @Yahmez !
I will receive my NesPi case at the end of september and will test that.
If I understand well, when you press Power, it sends an order to Raspberry via GPIO (and we can do what we would like with it, in this case a properly shutdown) and then, hard power off raspberry ? The mofset knows when it have to hard power off via "On Control" => When raspberry is off, GPIO is off then mofset can hard power off ? Am I right ? :)
I'm not sure to understand very well how it works in fact ^^Here is my description of the way it works...
There are three wires connected to the Pi. Two of these are inputs and can sense the state of the switches, one for the power switch (connected through a diode) and one for the reset switch. Both of them utilize the internal pullup GPIO resistors inside the Pi. When you press the power button, it activates the mosfet switch and sends power to the case PCBs and in turn the Pi. As long as the power switch is on, there is power available and the Pi has no way to turn off the mosfet switch. As the Pi boots, it turns on the aforementioned GPIO inputs to read the state of the buttons, it also turns a GPIO pin into an output and makes it go high. This output GPIO is connected to the third wire which acts as a second 'on signal' for the mosfet switch. Attached to this GPIO through a diode, there is a capacitor which upon receiving the 'on signal' from the Pi, charges up. If you hit reset at any point after booting the Pi senses this and initiates a reset of the Pi, but you could have it do anything you like. When you turn off the power switch, the Pi senses this as well and although there is no more 'on signal' coming from the power switch to the mosfet, the Pi's GPIO output keeps the mosfet on. After sensing the power switch is off, the Pi initiates a shut down. As the Pi shuts down the GPIO output goes low... This would mean that the mosfet would shut down instantly if not for the diode and capacitor we attached. Those components keep the mosfet switch on for a few seconds (until the capacitor discharges) to ensure that the Pi is completely shut down safely before switching off.
-
@yahmez Thanks that's clear ! So, if I shutdown Rpi directly from Pi and notre button, will it hard power off too ?
-
@daminoutav
Not sure I understand your question, but if you initiate a shutdown through ES the Pi will shutdown but the power to the Pi and the LED remain on until you press the power button to switch it off.
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.