George Cochrane
/
DrumMachine
very preliminary code, pins clearly havent been chosen yet!
Diff: main.cpp
- Revision:
- 0:438bb4b2ba51
- Child:
- 1:0404e9aa397f
diff -r 000000000000 -r 438bb4b2ba51 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Jul 02 09:16:17 2013 +0000 @@ -0,0 +1,74 @@ +#include "mbed.h" +#include "readknobs.h" +#include "trigger.h" + +//Analog Ins +AnalogIn tmp(PTC2); //Tempo Potentiometer +AnalogIn sw(PTC2); //Swing Potentiometer +AnalogIn fill(PTC2); //Fill Potentiometer + +//Outputs to Drum Noises +DigitalOut Kick(PTC6); +DigitalOut Snare(PTC10); +DigitalOut HHOpen(PTC11); +DigitalOut HHClosed(PTC6); +DigitalOut HiTom(PTC10); +DigitalOut LoTom(PTC11); +DigitalOut Clap(PTC10); +DigitalOut Block(PTC11); + +//Detectors +DigitalIn doubletime(PTC2); //Doubles the tempo +DigitalIn enable(PTC2); //The GO switch +DigitalIn threetime(PTC2); //Causes only first 6 beats to play +DigitalIn KICK(PTC6); +DigitalIn SNARE(PTC10); +DigitalIn HHOPEN(PTC11); +DigitalIn HHCLOSED(PTC6); +DigitalIn HITOM(PTC10); +DigitalIn LOTOM(PTC11); +DigitalIn CLAP(PTC10); +DigitalIn BLOCK(PTC23); + +//Beats +DigitalOut Beat1(PTC2); +DigitalOut Beat2(PTC2); +DigitalOut Beat3(PTC2); +DigitalOut Beat4(PTC2); +DigitalOut Beat5(PTC2); +DigitalOut Beat6(PTC2); +DigitalOut Beat7(PTC2); +DigitalOut Beat8(PTC2); + +int pulse = 4; //Pulse length in ms +int mintempo = 60; //Minimum (normal time) tempo +int maxtempo = 130; //Maximum (non doubletime) tempo +int tempo; +int swing; +int beat; + + +int main() +{ + + while (1) + { + readknobs(); + while (enable==1) + { + beat=0; + + + while (beat++ < 8) + { + + readknobs(); + trigger(); + + } + + } + } + +} + \ No newline at end of file