Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: AverageAnalogIn BaseMachineUIController ExioBufferdController MCP23S17 PinDetect RotaryEncoder Sequence SequencerDisplay mbed-rtos mbed st7567LCD AT24C1024
main.cpp@0:f3abbd84d67f, 2016-11-06 (annotated)
- Committer:
- ryood
- Date:
- Sun Nov 06 22:14:03 2016 +0000
- Revision:
- 0:f3abbd84d67f
- Child:
- 1:46e088b12083
first commit
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| ryood | 0:f3abbd84d67f | 1 | /* |
| ryood | 0:f3abbd84d67f | 2 | * main.cpp |
| ryood | 0:f3abbd84d67f | 3 | * BaseMachineUIController Test |
| ryood | 0:f3abbd84d67f | 4 | * |
| ryood | 0:f3abbd84d67f | 5 | * mbed Rev 121 / mbed-rtos Rev 117 |
| ryood | 0:f3abbd84d67f | 6 | * |
| ryood | 0:f3abbd84d67f | 7 | * 2016.11.06 Created |
| ryood | 0:f3abbd84d67f | 8 | * |
| ryood | 0:f3abbd84d67f | 9 | */ |
| ryood | 0:f3abbd84d67f | 10 | |
| ryood | 0:f3abbd84d67f | 11 | #include "mbed.h" |
| ryood | 0:f3abbd84d67f | 12 | #include "rtos.h" |
| ryood | 0:f3abbd84d67f | 13 | |
| ryood | 0:f3abbd84d67f | 14 | #define UART_TRACE (0) |
| ryood | 0:f3abbd84d67f | 15 | #include "BaseMachineUIController.h" |
| ryood | 0:f3abbd84d67f | 16 | |
| ryood | 0:f3abbd84d67f | 17 | BaseMachineUIController UIController; |
| ryood | 0:f3abbd84d67f | 18 | |
| ryood | 0:f3abbd84d67f | 19 | uint8_t step = 0; |
| ryood | 0:f3abbd84d67f | 20 | int isStepChanged = false; |
| ryood | 0:f3abbd84d67f | 21 | bool isRunning = false; |
| ryood | 0:f3abbd84d67f | 22 | |
| ryood | 0:f3abbd84d67f | 23 | void stepUp(void const* args) |
| ryood | 0:f3abbd84d67f | 24 | { |
| ryood | 0:f3abbd84d67f | 25 | if (isRunning) { |
| ryood | 0:f3abbd84d67f | 26 | step++; |
| ryood | 0:f3abbd84d67f | 27 | if (step == 16) |
| ryood | 0:f3abbd84d67f | 28 | { |
| ryood | 0:f3abbd84d67f | 29 | step = 0; |
| ryood | 0:f3abbd84d67f | 30 | } |
| ryood | 0:f3abbd84d67f | 31 | UIController.setPlayingStep(step); |
| ryood | 0:f3abbd84d67f | 32 | } |
| ryood | 0:f3abbd84d67f | 33 | } |
| ryood | 0:f3abbd84d67f | 34 | |
| ryood | 0:f3abbd84d67f | 35 | int main() |
| ryood | 0:f3abbd84d67f | 36 | { |
| ryood | 0:f3abbd84d67f | 37 | #if (UART_TRACE) |
| ryood | 0:f3abbd84d67f | 38 | printf("*** BaseMachineUIController Test***\r\n"); |
| ryood | 0:f3abbd84d67f | 39 | #endif |
| ryood | 0:f3abbd84d67f | 40 | |
| ryood | 0:f3abbd84d67f | 41 | UIController.init(); |
| ryood | 0:f3abbd84d67f | 42 | |
| ryood | 0:f3abbd84d67f | 43 | RtosTimer stepTimer(stepUp, osTimerPeriodic, (void *)0); |
| ryood | 0:f3abbd84d67f | 44 | stepTimer.start(125); |
| ryood | 0:f3abbd84d67f | 45 | |
| ryood | 0:f3abbd84d67f | 46 | while (true) |
| ryood | 0:f3abbd84d67f | 47 | { |
| ryood | 0:f3abbd84d67f | 48 | UIController.update(); |
| ryood | 0:f3abbd84d67f | 49 | |
| ryood | 0:f3abbd84d67f | 50 | OscillatorParam osc; |
| ryood | 0:f3abbd84d67f | 51 | UIController.getOscillatorParam(&osc); |
| ryood | 0:f3abbd84d67f | 52 | |
| ryood | 0:f3abbd84d67f | 53 | FilterParam flt; |
| ryood | 0:f3abbd84d67f | 54 | UIController.getFilterParam(&flt); |
| ryood | 0:f3abbd84d67f | 55 | |
| ryood | 0:f3abbd84d67f | 56 | EnvelopeParam env; |
| ryood | 0:f3abbd84d67f | 57 | UIController.getEnvelopeParam(&env); |
| ryood | 0:f3abbd84d67f | 58 | |
| ryood | 0:f3abbd84d67f | 59 | isRunning = UIController.getIsRunning(); |
| ryood | 0:f3abbd84d67f | 60 | |
| ryood | 0:f3abbd84d67f | 61 | #if (UART_TRACE) |
| ryood | 0:f3abbd84d67f | 62 | printf("%d %d ", osc.waveShape, osc.pulseWidth); |
| ryood | 0:f3abbd84d67f | 63 | printf("%d %d ", flt.cutoff, flt.resonance); |
| ryood | 0:f3abbd84d67f | 64 | printf("%d %d %d %d %d ", env.level, env.length, env.duration, env.decay, env.sustain); |
| ryood | 0:f3abbd84d67f | 65 | printf("%d %d\r\n", UIController.getBpm(), UIController.getAccentLevel()); |
| ryood | 0:f3abbd84d67f | 66 | #endif |
| ryood | 0:f3abbd84d67f | 67 | } |
| ryood | 0:f3abbd84d67f | 68 | } |