Create README.md

This commit is contained in:
Takashi Toyoshima 2017-11-15 01:46:03 +09:00 committed by GitHub
parent 2f56df689e
commit bf6766958e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

80
README.md Normal file
View File

@ -0,0 +1,80 @@
```
==== Orange Pi as a Game Pad =========================
_______ _____________ ________ _________
__ __ \ ___ __ \__(_) ___ __ \_____ ______ /
_ / / / __ /_/ /_ / __ /_/ / __ `/ __ /
/ /_/ / _ ____/_ / _ ____// /_/ // /_/ /
\____/ /_/ /_/ /_/ \__,_/ \__,_/
```
# What?
This is a project to use Orange Pi One as a gamepad.
You can connect your own arcade controller to the Pi's GPIO,
and allow Linux to recognize it as a joystick (e.g., /dev/js0).
Also, the project includes a USB Gadget API driver
to expose the controller to PC as a USB gamepad.
You may be able to run it on other Orange Pi series
or Raspberry Pi Zero (W) with small code modifications.
# GPIO pin assign (an example)
This is an exmplae pin assign for Hori Fighting Stick EX (Xbox 360).
You can modify source code to customize it.
| | | | |
|:---:|:-:|:-:|:----:|
|3.3V |1 |2 |5V |
|BACK |3 |4 |5V |
|START|5 |6 |GND |
|UP |7 |8 |RB |
|GND |9 |10 |LB |
|DOWN |11 |12 |(PD14)|
|LEFT |13 |14 |GND |
|RIGHT|15 |16 |(PC4) |
|3.3V |17 |18 |(PC7) |
|(PC0)|19 |20 |GND |
|(PC1)|21 |22 |Xbox |
|(PC2)|23 |24 |(PC3) |
|GND |25 |26 |(PA21)|
|A |27 |28 |(PA18)|
|B |29 |30 |GND |
|X |31 |32 |(PG8) |
|Y |33 |34 |GND |
|RT |35 |36 |(PG9) |
|LT |37 |38 |(PG6) |
|GND |39 |40 |(PG7) |
# Hardware
```
Button/Stick circuit
___ ... GPIO pin (w/ internal pull-up)
|
\
\
|
__|__
///// GND
```
# Install
On Armbian, or Retrorange Pi 3,
```
% cd /opt
% git clone https://github.com/toyoshim/opipad.git
% cd opipad
% make
% cat rc.local.example >> /etc/rc.local
```
On Armbian for Orange Pi Zero, you will need to disable other USB Gadget modules, such as g_serial.
You can disable it by commenting it out in /etc/modules.
If the system does not have /lib/modules/3.4.113-sub8i/build (maybe happen on Retrorange Pi 3),
you need to create a symlink from /usr/src/linux-headers-3.4.113-sun8i to compile drivers.
# How to use
Once the applications are built, and the hardware is set up, it just works after the next reboot.
Pressing Xbox button will switch the running mode. The first mode is local controller mode,
and the second one is USB gamepad mode.