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 "readknobs.h"
gcme93 0:438bb4b2ba51 4
gcme93 1:0404e9aa397f 5 //Declare necessary variables
gcme93 0:438bb4b2ba51 6 extern int tempo;
gcme93 0:438bb4b2ba51 7 extern int swing;
gcme93 0:438bb4b2ba51 8 extern int mintempo;
gcme93 0:438bb4b2ba51 9 extern int maxtempo;
gcme93 0:438bb4b2ba51 10
gcme93 1:0404e9aa397f 11 void readknobs() //Function Definition
gcme93 0:438bb4b2ba51 12 {
gcme93 0:438bb4b2ba51 13
gcme93 0:438bb4b2ba51 14 // SWING CALCULATION
gcme93 0:438bb4b2ba51 15
gcme93 1:0404e9aa397f 16 int a = sw.read() * 10; //Make the analog read an integer from 0-10
gcme93 0:438bb4b2ba51 17
gcme93 1:0404e9aa397f 18 switch (a) //Segmented solution to each case
gcme93 0:438bb4b2ba51 19 {
gcme93 0:438bb4b2ba51 20 case 0: swing = -150;
gcme93 0:438bb4b2ba51 21 case 1: swing = -150;
gcme93 0:438bb4b2ba51 22 case 2: swing = -100;
gcme93 0:438bb4b2ba51 23 case 3: swing = -60;
gcme93 1:0404e9aa397f 24 case 4: //
gcme93 1:0404e9aa397f 25 case 5: // Note, plenty of 0 swing to prevent accidental swing
gcme93 1:0404e9aa397f 26 case 6: swing = 0; //
gcme93 0:438bb4b2ba51 27 case 7: swing = 60;
gcme93 0:438bb4b2ba51 28 case 8: swing = 100;
gcme93 0:438bb4b2ba51 29 case 9: swing = 100;
gcme93 0:438bb4b2ba51 30 case 10: swing = 150;
gcme93 0:438bb4b2ba51 31 }
gcme93 0:438bb4b2ba51 32
gcme93 0:438bb4b2ba51 33 // TEMPO CALCULATION
gcme93 0:438bb4b2ba51 34
gcme93 1:0404e9aa397f 35 tempo = mintempo + (maxtempo-mintempo)*tmp.read_u16() / 65535; //Tempo as the analog read percentage multiplied by tempo range
gcme93 0:438bb4b2ba51 36
gcme93 1:0404e9aa397f 37 tempo = (doubletime) ? 2*tempo : tempo; //Double the tempo if doubletime==1
gcme93 0:438bb4b2ba51 38
gcme93 0:438bb4b2ba51 39 // DISPLAY INFO
gcme93 1:0404e9aa397f 40 char signature[]="x/4";
gcme93 1:0404e9aa397f 41 if (threetime==0)
gcme93 1:0404e9aa397f 42 {
gcme93 1:0404e9aa397f 43 signature[0]= '4';
gcme93 1:0404e9aa397f 44 }
gcme93 1:0404e9aa397f 45 else
gcme93 1:0404e9aa397f 46 {
gcme93 1:0404e9aa397f 47 signature[0]= '3';
gcme93 1:0404e9aa397f 48 }
gcme93 1:0404e9aa397f 49
gcme93 0:438bb4b2ba51 50 char percentage = 37;
gcme93 0:438bb4b2ba51 51
gcme93 0:438bb4b2ba51 52 lcd.cls();
gcme93 0:438bb4b2ba51 53 lcd.locate(0,0);
gcme93 0:438bb4b2ba51 54 lcd.printf("%d bpm", tempo);
gcme93 0:438bb4b2ba51 55 lcd.locate(1,0);
gcme93 0:438bb4b2ba51 56 lcd.printf("Swing: %d %c", swing, percentage);
gcme93 0:438bb4b2ba51 57 lcd.locate(2,0);
gcme93 0:438bb4b2ba51 58 lcd.printf("TimeSig: %s", signature);
gcme93 0:438bb4b2ba51 59 }