very preliminary code, pins clearly havent been chosen yet!

Dependencies:   TextLCD mbed

Committer:
gcme93
Date:
Tue Jul 02 17:50:52 2013 +0000
Revision:
1:0404e9aa397f
Parent:
0:438bb4b2ba51
Very preliminary code, pins clearly not chosen yet!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gcme93 0:438bb4b2ba51 1 #include "mbed.h"
gcme93 0:438bb4b2ba51 2 #include "TextLCD.h"
gcme93 0:438bb4b2ba51 3 #include "trigger.h"
gcme93 0:438bb4b2ba51 4
gcme93 0:438bb4b2ba51 5 unsigned int period;
gcme93 0:438bb4b2ba51 6 unsigned int periododd;
gcme93 0:438bb4b2ba51 7 unsigned int periodeven;
gcme93 0:438bb4b2ba51 8
gcme93 1:0404e9aa397f 9
gcme93 0:438bb4b2ba51 10 void process(void)
gcme93 0:438bb4b2ba51 11 {
gcme93 0:438bb4b2ba51 12 Kick = (KICK==1)? 1:0;
gcme93 0:438bb4b2ba51 13 Snare = (SNARE==1)? 1:0;
gcme93 0:438bb4b2ba51 14 HHOpen = (HHOPEN==1)? 1:0;
gcme93 0:438bb4b2ba51 15 HHClosed = (HHCLOSED==1)? 1:0;
gcme93 0:438bb4b2ba51 16 HiTom = (HITOM==1)? 1:0;
gcme93 0:438bb4b2ba51 17 LoTom = (LOTOM==1)? 1:0;
gcme93 0:438bb4b2ba51 18 Clap = (CLAP==1)? 1:0;
gcme93 0:438bb4b2ba51 19 Block = (BLOCK==1)? 1:0;
gcme93 0:438bb4b2ba51 20
gcme93 0:438bb4b2ba51 21 wait_ms(pulse);
gcme93 0:438bb4b2ba51 22
gcme93 0:438bb4b2ba51 23 Kick=0;
gcme93 0:438bb4b2ba51 24 Snare=0;
gcme93 0:438bb4b2ba51 25 HHOpen=0;
gcme93 0:438bb4b2ba51 26 HHClosed=0;
gcme93 0:438bb4b2ba51 27 HiTom=0;
gcme93 0:438bb4b2ba51 28 LoTom=0;
gcme93 0:438bb4b2ba51 29 Clap=0;
gcme93 0:438bb4b2ba51 30 Block=0;
gcme93 0:438bb4b2ba51 31 }
gcme93 0:438bb4b2ba51 32
gcme93 0:438bb4b2ba51 33 void trigger()
gcme93 0:438bb4b2ba51 34 {
gcme93 0:438bb4b2ba51 35 period = 60000/tempo;
gcme93 0:438bb4b2ba51 36 periododd = (300+swing)*period/300;
gcme93 0:438bb4b2ba51 37 periodeven = (300-swing)*period/300;
gcme93 0:438bb4b2ba51 38
gcme93 0:438bb4b2ba51 39 switch (beat)
gcme93 0:438bb4b2ba51 40 {
gcme93 0:438bb4b2ba51 41 case 1: Beat1=1;
gcme93 0:438bb4b2ba51 42 wait_ms(1);
gcme93 0:438bb4b2ba51 43 process();
gcme93 0:438bb4b2ba51 44 wait_ms(periododd-1-pulse);
gcme93 0:438bb4b2ba51 45 Beat1=0;
gcme93 0:438bb4b2ba51 46 case 2: Beat2=1;
gcme93 0:438bb4b2ba51 47 wait_ms(1);
gcme93 0:438bb4b2ba51 48 process();
gcme93 0:438bb4b2ba51 49 wait_ms(periodeven-1-pulse);
gcme93 0:438bb4b2ba51 50 Beat2=0;
gcme93 0:438bb4b2ba51 51 case 3: Beat3=1;
gcme93 0:438bb4b2ba51 52 wait_ms(1);
gcme93 0:438bb4b2ba51 53 process();
gcme93 0:438bb4b2ba51 54 wait_ms(periododd-1-pulse);
gcme93 0:438bb4b2ba51 55 Beat3=0;
gcme93 0:438bb4b2ba51 56 case 4: Beat4=1;
gcme93 0:438bb4b2ba51 57 wait_ms(1);
gcme93 0:438bb4b2ba51 58 process();
gcme93 0:438bb4b2ba51 59 wait_ms(periodeven-1-pulse);
gcme93 0:438bb4b2ba51 60 Beat4=0;
gcme93 0:438bb4b2ba51 61 case 5: Beat5=1;
gcme93 0:438bb4b2ba51 62 wait_ms(1);
gcme93 0:438bb4b2ba51 63 process();
gcme93 0:438bb4b2ba51 64 wait_ms(periododd-1-pulse);
gcme93 0:438bb4b2ba51 65 Beat5=0;
gcme93 0:438bb4b2ba51 66 case 6: Beat6=1;
gcme93 0:438bb4b2ba51 67 wait_ms(1);
gcme93 0:438bb4b2ba51 68 process();
gcme93 0:438bb4b2ba51 69 wait_ms(periodeven-1-pulse);
gcme93 0:438bb4b2ba51 70 Beat6=0;
gcme93 0:438bb4b2ba51 71 case 7: if (threetime==0)
gcme93 0:438bb4b2ba51 72 {
gcme93 0:438bb4b2ba51 73 Beat7=1;
gcme93 0:438bb4b2ba51 74 wait_ms(1);
gcme93 0:438bb4b2ba51 75 process();
gcme93 0:438bb4b2ba51 76 wait_ms(periododd-1-pulse);
gcme93 0:438bb4b2ba51 77 Beat7=0;
gcme93 0:438bb4b2ba51 78 }
gcme93 0:438bb4b2ba51 79 else
gcme93 0:438bb4b2ba51 80 {};
gcme93 0:438bb4b2ba51 81 case 8: if (threetime==0)
gcme93 0:438bb4b2ba51 82 {
gcme93 0:438bb4b2ba51 83 Beat8=1;
gcme93 0:438bb4b2ba51 84 wait_ms(1);
gcme93 0:438bb4b2ba51 85 process();
gcme93 0:438bb4b2ba51 86 wait_ms(periodeven-1-pulse);
gcme93 0:438bb4b2ba51 87 Beat8=0;
gcme93 0:438bb4b2ba51 88 }
gcme93 0:438bb4b2ba51 89 else
gcme93 0:438bb4b2ba51 90 {};
gcme93 0:438bb4b2ba51 91 }
gcme93 0:438bb4b2ba51 92 }