Raspberry Pi 4
For information, Recalbox IS NOT compatible with Raspberry Pi 4 yet.
Pour information, Recalbox N'EST PAS encore compatible avec le Raspberry Pi 4.
The Recalbox Team.
Using Pi GPIO for other things other than controllers
Ive just stumbled on this brilliant OS after search for issues I am having with my own custom build.
Currently I am working on a project which brings kodi, moonlight and emualtion station into one but am having trouble with the controller registers. I am looking to try out this build as I read on git that usb controllers are automatically recongised. (I hope this is true).
However, my question lies around the pi's gpio. I am looking to hook up a fan and some leds lights that imitate the pwr and act leds on the pi, ready to go into a custom box. I was just curious is it possible to do this on the OS?
Sure you can ! Our python gpio God @supernature2k can do anything you need :)
2 things :
- if you search ni the forum, you'll find quite some ressources concerning that
- we are also working on giving gpios other super powers : reset (when available) or kill an emulator, use retroarch network commands ... Prety amazing stuff in fact :)
@sirus555 I have a working fan script running in my recalbox. It just turns the fan on at a defined cpu temperature for a certain time to cool it down.
I could post it here when I am at home :) (if still needed)
Thanks @lackyluuk that would be much appreicated.
Here is an example with GPIO pin 14 for controlling the fan. The indents might not be correct ;) I had a little trouble with copy/paste the code :D
Hope I can help you with this
#!/usr/bin/env python import os import time import RPi.GPIO as GPIO GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) #Set max. temperature of CPU TEMP_MAX = 67 ON_TIME = 200 #Set pin 14 as transistor gate GATE = 14 #Set pin 14 as an output and shut down GPIO.setup(GATE, GPIO.OUT) GPIO.output(GATE, False) def getCPUtemperature(): res = os.popen('vcgencmd measure_temp').readline() return(res.replace("temp=","").replace("'C\n","")) while True: temp_float = float(getCPUtemperature()) try: if (temp_float > TEMP_MAX): # ein GPIO.output(GATE, True) time.sleep(ON_TIME) # aus GPIO.output(GATE, False) else: GPIO.output(GATE, False) except KeyboardInterrupt: print float(getCPUtemperature()) print "power off fan..." GPIO.output(GATE, False) print "cancelling..."
Here you will also find a small drawing for the transistor etc :)
@lackyluuk Thanks bud, super neat.