Giter Club home page Giter Club logo

full-gc-controller's Introduction

Full-GC-Controller

Unlike other GC controller projects, this project focuses on making the Arduino act as a robust controller (instead of simply reading a controller)

Intro

This project is meant to make the Arduino output Gamecube controller signals rather than the more common applications of reading from a GC controller.

Ultimately, my plan is to make the Arduino record inputs from a GC controller then replay them with precise timing, for use in particularly Sm4sh Wii U. This feature may or may not end up in this repo, but ultimately I'll be making a more extensive Sm4sh controller utilizing this library in a different repo once this project works well.

Note that this project initially used the Arduino Due, but due to various reasons, the Arduino Uno is now being used. Thus, the "Legacy (Due) Code" contains the deprecated (and not fully functional) Due code that may be visited at some point in the future.

Goals

  • Arduino is able to read commands from a console (such as probing for controller or request for data)
  • Arduino is able to send a properly formatted of data as requested (ie, all the buttons feedback)
  • Code is packaged into an "easy" to use library (or at least functions) for reading and sending data. Includes easy way to read and write single bits as well as send entire controller commands with ease (ie, without delving into the library at all)
  • Code is robust and works well with as many minimized timing glitches as possible, with as little timing hardcoding/assembly as possible
  • Stretch goal: Be able to easily record inputs from a controller (so the Arduino will be able to act as a console)
  • Stretch goal: Be able to fairly easily (with as little complex "user"-level code as possible) have the Arduino output fairly complex GC controller sequences

Tools used

Noted here in case my setup doesn't work with other applications. If you notice a case where the setup doesn't work, please let me know by creating an issue!

Current Status: WIP/Not yet done or even satisfactory

Please visit the readme within the "Current (Uno) Code" folder for a more up to date and better description.

Side Notes

If anyone would like to port the code to Due or otherwise help make the code more universal (such as by simply pointing out a more universal yet still all together correct method of doing something), I would highly appreciate it!


Readme Todos

  • Add description of circuit plus how to recreate it (eg, plus pull-up resistor console vs controller)
  • Add description of communication protocol from my perspective
  • Add useful sources
  • Probably create a wiki very soon instead and move much of this over there

full-gc-controller's People

Contributors

mdragon159 avatar

Stargazers

Trevor Rudolph avatar

Watchers

Trevor Rudolph avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.