George Cochrane
/
DrumMachine
very preliminary code, pins clearly havent been chosen yet!
main.cpp@0:438bb4b2ba51, 2013-07-02 (annotated)
- Committer:
- gcme93
- Date:
- Tue Jul 02 09:16:17 2013 +0000
- Revision:
- 0:438bb4b2ba51
- Child:
- 1:0404e9aa397f
Full Code (threetime, doubletime, enable, screen output); NO fill; NO alternate; NO user input
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gcme93 | 0:438bb4b2ba51 | 1 | #include "mbed.h" |
gcme93 | 0:438bb4b2ba51 | 2 | #include "readknobs.h" |
gcme93 | 0:438bb4b2ba51 | 3 | #include "trigger.h" |
gcme93 | 0:438bb4b2ba51 | 4 | |
gcme93 | 0:438bb4b2ba51 | 5 | //Analog Ins |
gcme93 | 0:438bb4b2ba51 | 6 | AnalogIn tmp(PTC2); //Tempo Potentiometer |
gcme93 | 0:438bb4b2ba51 | 7 | AnalogIn sw(PTC2); //Swing Potentiometer |
gcme93 | 0:438bb4b2ba51 | 8 | AnalogIn fill(PTC2); //Fill Potentiometer |
gcme93 | 0:438bb4b2ba51 | 9 | |
gcme93 | 0:438bb4b2ba51 | 10 | //Outputs to Drum Noises |
gcme93 | 0:438bb4b2ba51 | 11 | DigitalOut Kick(PTC6); |
gcme93 | 0:438bb4b2ba51 | 12 | DigitalOut Snare(PTC10); |
gcme93 | 0:438bb4b2ba51 | 13 | DigitalOut HHOpen(PTC11); |
gcme93 | 0:438bb4b2ba51 | 14 | DigitalOut HHClosed(PTC6); |
gcme93 | 0:438bb4b2ba51 | 15 | DigitalOut HiTom(PTC10); |
gcme93 | 0:438bb4b2ba51 | 16 | DigitalOut LoTom(PTC11); |
gcme93 | 0:438bb4b2ba51 | 17 | DigitalOut Clap(PTC10); |
gcme93 | 0:438bb4b2ba51 | 18 | DigitalOut Block(PTC11); |
gcme93 | 0:438bb4b2ba51 | 19 | |
gcme93 | 0:438bb4b2ba51 | 20 | //Detectors |
gcme93 | 0:438bb4b2ba51 | 21 | DigitalIn doubletime(PTC2); //Doubles the tempo |
gcme93 | 0:438bb4b2ba51 | 22 | DigitalIn enable(PTC2); //The GO switch |
gcme93 | 0:438bb4b2ba51 | 23 | DigitalIn threetime(PTC2); //Causes only first 6 beats to play |
gcme93 | 0:438bb4b2ba51 | 24 | DigitalIn KICK(PTC6); |
gcme93 | 0:438bb4b2ba51 | 25 | DigitalIn SNARE(PTC10); |
gcme93 | 0:438bb4b2ba51 | 26 | DigitalIn HHOPEN(PTC11); |
gcme93 | 0:438bb4b2ba51 | 27 | DigitalIn HHCLOSED(PTC6); |
gcme93 | 0:438bb4b2ba51 | 28 | DigitalIn HITOM(PTC10); |
gcme93 | 0:438bb4b2ba51 | 29 | DigitalIn LOTOM(PTC11); |
gcme93 | 0:438bb4b2ba51 | 30 | DigitalIn CLAP(PTC10); |
gcme93 | 0:438bb4b2ba51 | 31 | DigitalIn BLOCK(PTC23); |
gcme93 | 0:438bb4b2ba51 | 32 | |
gcme93 | 0:438bb4b2ba51 | 33 | //Beats |
gcme93 | 0:438bb4b2ba51 | 34 | DigitalOut Beat1(PTC2); |
gcme93 | 0:438bb4b2ba51 | 35 | DigitalOut Beat2(PTC2); |
gcme93 | 0:438bb4b2ba51 | 36 | DigitalOut Beat3(PTC2); |
gcme93 | 0:438bb4b2ba51 | 37 | DigitalOut Beat4(PTC2); |
gcme93 | 0:438bb4b2ba51 | 38 | DigitalOut Beat5(PTC2); |
gcme93 | 0:438bb4b2ba51 | 39 | DigitalOut Beat6(PTC2); |
gcme93 | 0:438bb4b2ba51 | 40 | DigitalOut Beat7(PTC2); |
gcme93 | 0:438bb4b2ba51 | 41 | DigitalOut Beat8(PTC2); |
gcme93 | 0:438bb4b2ba51 | 42 | |
gcme93 | 0:438bb4b2ba51 | 43 | int pulse = 4; //Pulse length in ms |
gcme93 | 0:438bb4b2ba51 | 44 | int mintempo = 60; //Minimum (normal time) tempo |
gcme93 | 0:438bb4b2ba51 | 45 | int maxtempo = 130; //Maximum (non doubletime) tempo |
gcme93 | 0:438bb4b2ba51 | 46 | int tempo; |
gcme93 | 0:438bb4b2ba51 | 47 | int swing; |
gcme93 | 0:438bb4b2ba51 | 48 | int beat; |
gcme93 | 0:438bb4b2ba51 | 49 | |
gcme93 | 0:438bb4b2ba51 | 50 | |
gcme93 | 0:438bb4b2ba51 | 51 | int main() |
gcme93 | 0:438bb4b2ba51 | 52 | { |
gcme93 | 0:438bb4b2ba51 | 53 | |
gcme93 | 0:438bb4b2ba51 | 54 | while (1) |
gcme93 | 0:438bb4b2ba51 | 55 | { |
gcme93 | 0:438bb4b2ba51 | 56 | readknobs(); |
gcme93 | 0:438bb4b2ba51 | 57 | while (enable==1) |
gcme93 | 0:438bb4b2ba51 | 58 | { |
gcme93 | 0:438bb4b2ba51 | 59 | beat=0; |
gcme93 | 0:438bb4b2ba51 | 60 | |
gcme93 | 0:438bb4b2ba51 | 61 | |
gcme93 | 0:438bb4b2ba51 | 62 | while (beat++ < 8) |
gcme93 | 0:438bb4b2ba51 | 63 | { |
gcme93 | 0:438bb4b2ba51 | 64 | |
gcme93 | 0:438bb4b2ba51 | 65 | readknobs(); |
gcme93 | 0:438bb4b2ba51 | 66 | trigger(); |
gcme93 | 0:438bb4b2ba51 | 67 | |
gcme93 | 0:438bb4b2ba51 | 68 | } |
gcme93 | 0:438bb4b2ba51 | 69 | |
gcme93 | 0:438bb4b2ba51 | 70 | } |
gcme93 | 0:438bb4b2ba51 | 71 | } |
gcme93 | 0:438bb4b2ba51 | 72 | |
gcme93 | 0:438bb4b2ba51 | 73 | } |
gcme93 | 0:438bb4b2ba51 | 74 |