EmbedEd
/
mbed_theremin
xypad theremin for LPC1768
main.cpp@2:c5eeaf1c8e69, 2016-03-14 (annotated)
- 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?
User | Revision | Line number | New 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 |