diff --git a/MockBand.ino b/MockBand.ino index 3b3f96c..e3d6997 100644 --- a/MockBand.ino +++ b/MockBand.ino @@ -21,6 +21,17 @@ #define SAMPLES_PER_MS (SAMPLES_PER_FRAME / UPDATE_INTERVAL_MS) #define SILENCE_SAMPLES (SAMPLES_PER_MS * SILENCE_INTERVAL_MS) +#if USB_VID != 0x1bad +#error USB_VID must be set to 0x1bad +#endif + +#if USB_PID == 0x0004 +#define GUITAR +#elif USB_PID == 0x0005 +#define DRUM +#else +#error USB_PID must be set to 4 (Guitar) or 5 (Drum) +#endif InstrumentButtonState buttonState; diff --git a/README.md b/README.md index 72b39bb..a061525 100644 --- a/README.md +++ b/README.md @@ -32,10 +32,35 @@ I used the following: ![see standard.hh for pin connections](wii-rb-std.png) -For a drum kit, -orange is the kick pedal. -Strum and whammy are not wired. -If you are not using a whammy, -you should probably ground that pin. -I didn't, but you should. ;) +## Drum Kit + +On the drum kit, + +* Orange: kick pedal +* Solo Buttons: cymbals + +I think. I haven't been able to test this yet, +but the Clone Hero wiki leads me to believe this is how it works. + + +# Still To Do + + +* 2x kick: needs its own input pin. Maps to button 5. +* Drum pad modifier: looks like button 10 needs to be pressed when a drum pad is hit. +* Drum cymbal modifier: I don't see a problem with using the solo pins for this, but I may need to also send button 11. +* Hi Hat pedal: needs to be its own input pin. Looks like it maps to the second Y axis: the one I'm currently using to send frame rate. + +If I set this up correctly, it will use every input pin on the pro micro. + +Perhaps a smarter thing to do would be use the value of USB_PID +to re-use the orange solo pin as the hi hat pedal, +and the red solo pin as the 2x kick. + +The +[Clone Hero Drum Mapping Guide](https://wiki.clonehero.net/books/guitars-drums-controllers/page/drum-mapping-guide) +is super helpful. +I'll need to hunt down a copy of Wii Rock Band 3 +(or maybe The Beatles?) +in order to test this on an actual Wii. \ No newline at end of file