xypad theremin for LPC1768

Dependencies:   MODDMA mbed

Committer:
exopiped
Date:
Mon Mar 14 23:43:44 2016 +0000
Revision:
2:c5eeaf1c8e69
Parent:
0:8ee38453bad9
touch screen driver glitches removed; debug statements commented out

Who changed what in which revision?

UserRevisionLine numberNew contents of line
exopiped 0:8ee38453bad9 1 /*
exopiped 0:8ee38453bad9 2 * main.cpp
exopiped 0:8ee38453bad9 3 * Sending digital note waveforms out the onboard DAC
exopiped 0:8ee38453bad9 4 * in responses to touches on an XY pad(resistive touchscreen)
exopiped 0:8ee38453bad9 5 * X changes audio volume.. Y changes audio frequency
exopiped 0:8ee38453bad9 6 * Varies from forty Hz to 1047 Hz (C6)
exopiped 0:8ee38453bad9 7 */
exopiped 0:8ee38453bad9 8 #include "mbed.h"
exopiped 0:8ee38453bad9 9 #include "debug.h"
exopiped 0:8ee38453bad9 10 #include "dma.h"
exopiped 0:8ee38453bad9 11 #include "wave.h"
exopiped 0:8ee38453bad9 12 #include "note.h"
exopiped 0:8ee38453bad9 13 #include "jswitch.h"
exopiped 0:8ee38453bad9 14 #include "touch.h"
exopiped 0:8ee38453bad9 15 #include "envlp.h"
exopiped 0:8ee38453bad9 16
exopiped 0:8ee38453bad9 17 int main(void)
exopiped 0:8ee38453bad9 18 {
exopiped 0:8ee38453bad9 19 js_init(); // initialize joystick
exopiped 0:8ee38453bad9 20 envlp_init(); // initialize envelope parameters
exopiped 0:8ee38453bad9 21 wave_init(); // starts with default wave type
exopiped 0:8ee38453bad9 22 touch_init(); // initialize touchscreen controller
exopiped 0:8ee38453bad9 23 note_init(); // initialize note production
exopiped 0:8ee38453bad9 24
exopiped 0:8ee38453bad9 25 while (1==1) {
exopiped 0:8ee38453bad9 26 js_debounce(); // debounce joystick
exopiped 0:8ee38453bad9 27 envlp_update(); // update envelope parameters
exopiped 0:8ee38453bad9 28 wave_update(); // update waveform choice
exopiped 0:8ee38453bad9 29 note_update(); // update note or start a new one
exopiped 0:8ee38453bad9 30 wait_ms(2); // lower limit on loop timing
exopiped 0:8ee38453bad9 31 }
exopiped 0:8ee38453bad9 32 }
exopiped 0:8ee38453bad9 33