Skip to content
This repository has been archived by the owner on Nov 4, 2022. It is now read-only.

Latest commit

 

History

History
78 lines (62 loc) · 3.09 KB

README.md

File metadata and controls

78 lines (62 loc) · 3.09 KB

What's this?

This is a controller for the videogame Stepmania. You need an Arduino-compatible board to run this software. You may also need a board, see the instructions below to build one yourself.

Unfortunately not all Arduino boards are supported at the moment. Only the Arduno Leonardo is suitable for this software right now. You need to connect your Arduino to your computer via standard USB cable, using the defaul port on the Arduino. This controller will act as a keyboard. Stepmania works well with keyboard inputs. There are only four inputs: Arrow Key Up, Down, Left and Right.

NOTE: This board will act as a keyboard even with other programs, so if you leave the board connected to your computer when other programs are running you may get undesidered inputs (only the four arrow keys), and it might conflict with your existing keyboard.

Building your board

To build your board you need:

  • An Arduno Leonardo
  • Either Aluminium or Steel foils. You need eight of the same size, approximatively square
  • Some foarm rubber, thickness = 3mm
  • Wood, many wood
  • Tools (glue, nails, hummer, skewdrivers...)

TODO: Complete this section

Connections: Connect each one of the lower foil to the ground, then all together to the Arduino ground. Connect the Up key to pin number 8, Down to the 9, Left to the 10, and Right to 11. You are done! Now you can the USB cable of your Arduino to the computer and upload the software (see section below)

Compiling

Before doing anything you need avr-gcc to compile and avrdude to install. They are both provided with the arduino package from the repo of your OS, or you can manually install only the packages avr-gcc and avrdude. Follow the man pages to install both the packages. You need to include the path of their binary executable in your $PATH variable.

To compile and upload on the board run make & make install

When uploading you'll be requested to press and release the reset button on your board. When you get the request press and release the release button, then press any key on your computer. Wait some time the upload finishes. When appears a green message you are done. You can now enjoy your new stepmania controller!

N.B. Uploading may not work on all computer.

Troubleshooting:

Customize your settings.h file to increase/decrease sensibility.

TODO:

Ordered by priority

  1. Timer Utils function, to interact easily with timers
  2. Flexible Timer time measurment
  3. Keypress/Keyrelease event dialing
  4. All the USB stuff, this will re-use many of the Arduino code
  • Get a working USB communication
  • Send the correct key event on keypress/keyrelease
  • Remove dead/unuseful code
  1. Tests & bugfix (to configure timing proprerly before going on)
  2. Dynamic Sensibility Adjust
  3. Debouncing, & Debouncing settings
  4. Add a description to this readme
  5. Smart discharge (i.e. using another timer)
  6. Makefile for all platforms
  7. Enrich Troubleshooting section
  8. Support for more boards (Arduino Uno, etc...)