very preliminary code, pins clearly havent been chosen yet!

Dependencies:   TextLCD mbed

main.cpp

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

File content as of revision 1:0404e9aa397f:

#include "mbed.h"
#include "readknobs.h"
#include "trigger.h"
#include "TextLCD.h"

TextLCD lcd(PTA1, PTA2, PTA4, PTA5, PTC8, PTC9, TextLCD::LCD20x4); // rs, e, d4-d7

//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);

//GLOBAL Variables
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();
    wait_ms(10);
    while (enable==1)
    {
    beat=0;
   
        
        while (beat++ < 8)
        {
       
        readknobs();
        trigger();
        
        }
        
    }    
    }
    
}