Bluetooth Enabled Keyboard/Synthesizer

Dependencies:   4DGL-uLCD-SE SDFileSystem mbed-rtos mbed

Fork of 4180_Final_Design_Project by John Pinion

Committer:
Jake867
Date:
Sun May 01 22:51:18 2016 +0000
Revision:
26:d4000870deab
Parent:
24:3bd4e691ae59
Set

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jmpin 2:f06ba516b1ad 1 #include "mbed.h"
jmpin 2:f06ba516b1ad 2
jmpin 2:f06ba516b1ad 3 #define NUM_OCTAVE (7) // Number of octaves
jmpin 2:f06ba516b1ad 4 #define NUM_NOTE (7) // Number of notes in each octave
jmpin 2:f06ba516b1ad 5
jmpin 2:f06ba516b1ad 6 //Types of waveforms
jmpin 2:f06ba516b1ad 7
jmpin 2:f06ba516b1ad 8 enum WaveType{ sine, square, sawtooth};
jmpin 2:f06ba516b1ad 9
jmpin 8:f6699fd30737 10 #define PI 3.14159265
jmpin 8:f6699fd30737 11
jmpin 2:f06ba516b1ad 12 //Note Frequencies
jmpin 2:f06ba516b1ad 13 #define C1 (33)
jmpin 2:f06ba516b1ad 14 #define D1 (37)
jmpin 2:f06ba516b1ad 15 #define E1 (41)
jmpin 2:f06ba516b1ad 16 #define F1 (44)
jmpin 2:f06ba516b1ad 17 #define G1 (49)
jmpin 2:f06ba516b1ad 18 #define A1 (55)
jmpin 2:f06ba516b1ad 19 #define B1 (62)
jmpin 2:f06ba516b1ad 20
jmpin 2:f06ba516b1ad 21 #define C2 (65)
jmpin 2:f06ba516b1ad 22 #define D2 (73)
jmpin 2:f06ba516b1ad 23 #define E2 (82)
jmpin 2:f06ba516b1ad 24 #define F2 (87)
jmpin 2:f06ba516b1ad 25 #define G2 (98)
jmpin 2:f06ba516b1ad 26 #define A2 (110)
jmpin 2:f06ba516b1ad 27 #define B2 (125)
jmpin 2:f06ba516b1ad 28
jmpin 2:f06ba516b1ad 29 #define C3 (131)
jmpin 2:f06ba516b1ad 30 #define D3 (147)
jmpin 2:f06ba516b1ad 31 #define E3 (165)
jmpin 2:f06ba516b1ad 32 #define F3 (175)
jmpin 2:f06ba516b1ad 33 #define G3 (196)
jmpin 2:f06ba516b1ad 34 #define A3 (220)
jmpin 2:f06ba516b1ad 35 #define B3 (247)
jmpin 2:f06ba516b1ad 36
jmpin 2:f06ba516b1ad 37 #define C4 (262)
jmpin 2:f06ba516b1ad 38 #define D4 (294)
jmpin 2:f06ba516b1ad 39 #define E4 (330)
jmpin 2:f06ba516b1ad 40 #define F4 (349)
jmpin 2:f06ba516b1ad 41 #define G4 (392)
jmpin 2:f06ba516b1ad 42 #define A4 (440)
jmpin 2:f06ba516b1ad 43 #define B4 (494)
jmpin 2:f06ba516b1ad 44
jmpin 2:f06ba516b1ad 45 #define C5 (523)
jmpin 2:f06ba516b1ad 46 #define D5 (587)
jmpin 2:f06ba516b1ad 47 #define E5 (659)
jmpin 2:f06ba516b1ad 48 #define F5 (698)
jmpin 2:f06ba516b1ad 49 #define G5 (784)
jmpin 2:f06ba516b1ad 50 #define A5 (880)
jmpin 2:f06ba516b1ad 51 #define B5 (988)
jmpin 2:f06ba516b1ad 52
jmpin 2:f06ba516b1ad 53 #define C6 (1047)
jmpin 2:f06ba516b1ad 54 #define D6 (1175)
jmpin 2:f06ba516b1ad 55 #define E6 (1319)
jmpin 2:f06ba516b1ad 56 #define F6 (1397)
jmpin 2:f06ba516b1ad 57 #define G6 (1568)
jmpin 2:f06ba516b1ad 58 #define A6 (1760)
jmpin 2:f06ba516b1ad 59 #define B6 (1976)
jmpin 2:f06ba516b1ad 60
jmpin 2:f06ba516b1ad 61 #define C7 (2093)
jmpin 2:f06ba516b1ad 62 #define D7 (2349)
jmpin 2:f06ba516b1ad 63 #define E7 (2637)
jmpin 2:f06ba516b1ad 64 #define F7 (2794)
jmpin 2:f06ba516b1ad 65 #define G7 (3136)
jmpin 2:f06ba516b1ad 66 #define A7 (3520)
jmpin 2:f06ba516b1ad 67 #define B7 (3951)
jmpin 2:f06ba516b1ad 68
jmpin 2:f06ba516b1ad 69 // Key Bindings
jmpin 2:f06ba516b1ad 70
jmpin 3:3aba1d783730 71 #define C_NOTE_KEY 'Z'
jmpin 3:3aba1d783730 72 #define D_NOTE_KEY 'X'
jmpin 3:3aba1d783730 73 #define E_NOTE_KEY 'C'
jmpin 3:3aba1d783730 74 #define F_NOTE_KEY 'V'
jmpin 3:3aba1d783730 75 #define G_NOTE_KEY 'B'
jmpin 3:3aba1d783730 76 #define A_NOTE_KEY 'N'
jmpin 3:3aba1d783730 77 #define B_NOTE_KEY 'M'
jmpin 2:f06ba516b1ad 78 #define RAISE_OCTAVE_KEY 'O'
jmpin 2:f06ba516b1ad 79 #define LOWER_OCTAVE_KEY 'L'
jmpin 24:3bd4e691ae59 80 //#define RAISE_ATTACK_KEY 'Q'
jmpin 24:3bd4e691ae59 81 //#define LOWER_ATTACK_KEY 'A'
jmpin 24:3bd4e691ae59 82 //#define RAISE_DELAY_KEY 'W'
jmpin 24:3bd4e691ae59 83 //#define LOWER_DELAY_KEY 'S'
jmpin 24:3bd4e691ae59 84 #define RAISE_DURATION_KEY 'E'
jmpin 24:3bd4e691ae59 85 #define LOWER_DURATION_KEY 'D'
jmpin 24:3bd4e691ae59 86 #define RAISE_ADSR_KEY 'R'
jmpin 24:3bd4e691ae59 87 #define LOWER_ADSR_KEY 'F'
jmpin 2:f06ba516b1ad 88 #define CHANGE_WAVESHAPE_UP 'T'
jmpin 2:f06ba516b1ad 89 #define CHANGE_WAVESHAPE_DOWN 'G'