Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
35 changed files
with
320 additions
and
139 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
# Picade HAT | ||
|
||
This repository contains the software you need to get started with your Picade HAT. | ||
|
||
Before you continue, you should make sure that you're running the latest RetroPie, have your Pi connected to the internet and have a keyboard ready to run through the setup steps. | ||
|
||
# Preparing RetroPie | ||
|
||
Create yourself a new RetroPie SD card with the image found here: https://retropie.org.uk/download/ | ||
|
||
If you're using a Pi 3, or a Pi with a wireless adaptor, you can also drop a `wpa_supplicant.conf` into the BOOT folder. | ||
|
||
On first boot, at the control config screen hit F4 to exit to the command-line. | ||
|
||
## WiFi | ||
|
||
If you dropped a `wpa_supplicant.conf` into `/boot`, it wont be installed by default, yet, but now it's easy to set up your WiFi like so: | ||
|
||
``` | ||
sudo cp /boot/wpa_supplicant.conf /etc/wpa_supplicant/ | ||
sudo ifdown wlan0 | ||
sudo ifup wlan0 | ||
``` | ||
|
||
# One-line Installation (Recommended) | ||
|
||
Before setting up your RetroPie config, just hit F4 and then type: | ||
|
||
``` | ||
curl -sS https://get.pimoroni.com/picadehat | bash | ||
``` | ||
|
||
Setup will continue automatically. When it's finished you can return to EmulationStation by typing: | ||
|
||
``` | ||
emulationstation | ||
``` | ||
|
||
And bind your input as normal! | ||
|
||
# Automatic Installation | ||
|
||
* Clone this GitHub repository somewhere onto your Pi: `git clone https://github.com/pimoroni/picade-hat` | ||
|
||
* Enter the new directory: `cd picade-hat` | ||
|
||
* Run the installer: `sudo ./setup.sh` | ||
|
||
* Enjoy! | ||
|
||
# Manual Installation | ||
|
||
Use one of the methods above unless you *really* know what you're doing. The below steps let you pick and choose/customise the install to your needs. | ||
|
||
## Required Software | ||
|
||
You'll need to install evdev first: | ||
|
||
``` | ||
sudo dpkg -i dependencies/python-evdev_0.6.4-1_armhf.deb | ||
``` | ||
|
||
## Input Daemon | ||
|
||
You will need to install the Picade HAT "daemon", (picadehatd), this involves three files; the init script, a udev rule and the daemon itself: | ||
|
||
``` | ||
sudo cp daemon/etc/init.d/picadehatd /etc/init.d/ | ||
sudo cp daemon/etc/udev/rules.d/10-picadehatd.rules /etc/udev/rules.d/ | ||
sudo cp daemon/usr/bin/picadehatd /usr/bin/ | ||
sudo systemctl daemon-reload | ||
sudo systemctl enable picadehatd | ||
sudo service picadehatd start | ||
``` | ||
|
||
## Power-off Script | ||
|
||
The shutdown daemon will watch Picade HAT's power button and call `sudo shutdown -h now` if it is held for 3 seconds. | ||
|
||
In order for your Pi to fully power down, you will need to add a script into `/lib/systemd/system-shutdown/` | ||
|
||
This script is provided for you, so you can just: | ||
|
||
``` | ||
sudo cp daemon/lib/systemd/system-shutdown/picade-hat-poweroff /lib/systemd/system-shutdown/ | ||
``` | ||
|
||
And make sure it's executable with: | ||
|
||
``` | ||
sudo chmod +x /lib/systemd/system-shutdown/picade-hat-poweroff | ||
``` | ||
|
||
## Sound & Volume Control | ||
|
||
You will need to configure some things to get functioning sound and volume control with Picade HAT. We're going to trick EmulationStation into thinking our new software mixer, needed to control the volume of the i2s audio, is the old "PCM" sound device your Pi would normally have. | ||
|
||
First you need to edit `/boot/config.txt` so that regular audio is disabled and i2s is enabled, like so: | ||
|
||
``` | ||
#dtparam=audio=on | ||
dtoverlay=i2s-mmap | ||
dtoverlay=hifiberry-dac | ||
``` | ||
|
||
(Note, that's i2s-mmap, not i2c-mmap!) | ||
|
||
Next, for volume control to work you need to edit `/etc/asound.conf`: | ||
|
||
(Note: you can find this file in daemon/etc/asound.conf) | ||
|
||
``` | ||
pcm.real { | ||
type hw | ||
card 0 | ||
device 0 | ||
} | ||
pcm.dmixer { | ||
type dmix | ||
ipc_key 1024 | ||
ipc_perm 0666 | ||
slave.pcm "real" | ||
slave { | ||
period_time 0 | ||
period_size 1024 | ||
buffer_size 8192 | ||
rate 44100 | ||
} | ||
bindings { | ||
0 0 | ||
1 1 | ||
} | ||
} | ||
ctl.dmixer { | ||
type hw | ||
card 0 | ||
} | ||
pcm.softvol { | ||
type softvol | ||
slave.pcm "dmixer" | ||
control { | ||
name "PCM" # Masquerade as the default "PCM" sound device on Pi (for EmulationStation) | ||
card 0 | ||
} | ||
} | ||
pcm.!default { | ||
type plug | ||
slave.pcm "softvol" | ||
} | ||
``` | ||
|
||
Although optional, it is also possible to control the volume in-game via dedicated buttons wired to bcm13 (decrease volume) and bcm26 (increase volume). If you opt to do so, you will need to copy over the `picade-mixvolume` script provided in this repository: | ||
|
||
``` | ||
sudo cp daemon/usr/bin/picade-mixvolume /usr/bin/ | ||
``` | ||
|
||
And make sure it's executable with: | ||
|
||
``` | ||
sudo chmod +x /usr/bin/picade-mixvolume | ||
``` | ||
|
||
What this script does is passing commands to `amixer` and increase/decrease the volume in 10% increments. As such you will need to make sure `alsa-utils` is installed on your system (it should be by default in Retropie). | ||
|
||
And, finally, reboot and configure your controls! |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Oops, something went wrong.