George Cochrane
/
DrumMachine
very preliminary code, pins clearly havent been chosen yet!
trigger.cpp
- Committer:
- gcme93
- Date:
- 2013-07-02
- Revision:
- 0:438bb4b2ba51
- Child:
- 1:0404e9aa397f
File content as of revision 0:438bb4b2ba51:
#include "mbed.h" #include "TextLCD.h" #include "trigger.h" unsigned int period; unsigned int periododd; unsigned int periodeven; void process(void) { Kick = (KICK==1)? 1:0; Snare = (SNARE==1)? 1:0; HHOpen = (HHOPEN==1)? 1:0; HHClosed = (HHCLOSED==1)? 1:0; HiTom = (HITOM==1)? 1:0; LoTom = (LOTOM==1)? 1:0; Clap = (CLAP==1)? 1:0; Block = (BLOCK==1)? 1:0; wait_ms(pulse); Kick=0; Snare=0; HHOpen=0; HHClosed=0; HiTom=0; LoTom=0; Clap=0; Block=0; } void trigger() { period = 60000/tempo; periododd = (300+swing)*period/300; periodeven = (300-swing)*period/300; switch (beat) { case 1: Beat1=1; wait_ms(1); process(); wait_ms(periododd-1-pulse); Beat1=0; case 2: Beat2=1; wait_ms(1); process(); wait_ms(periodeven-1-pulse); Beat2=0; case 3: Beat3=1; wait_ms(1); process(); wait_ms(periododd-1-pulse); Beat3=0; case 4: Beat4=1; wait_ms(1); process(); wait_ms(periodeven-1-pulse); Beat4=0; case 5: Beat5=1; wait_ms(1); process(); wait_ms(periododd-1-pulse); Beat5=0; case 6: Beat6=1; wait_ms(1); process(); wait_ms(periodeven-1-pulse); Beat6=0; case 7: if (threetime==0) { Beat7=1; wait_ms(1); process(); wait_ms(periododd-1-pulse); Beat7=0; } else {}; case 8: if (threetime==0) { Beat8=1; wait_ms(1); process(); wait_ms(periodeven-1-pulse); Beat8=0; } else {}; } }