very preliminary code, pins clearly havent been chosen yet!

Dependencies:   TextLCD mbed

trigger.cpp

Committer:
gcme93
Date:
2013-07-02
Revision:
1:0404e9aa397f
Parent:
0:438bb4b2ba51

File content as of revision 1:0404e9aa397f:

#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
            {};
}
}