diff options
author | Christian Pointner <equinox@spreadspace.org> | 2014-11-03 18:44:28 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2014-11-03 18:44:28 +0100 |
commit | 782cbc3b912352be4d0ad5e58374fa9dff051a51 (patch) | |
tree | 7e42231674126cef423d51a611a9e1435352ad17 | |
parent | dos2unix (diff) |
implemented midi command for reset2bootloader
-rw-r--r-- | dolmetsch-ctl/dolmetsch-ctl.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/dolmetsch-ctl/dolmetsch-ctl.c b/dolmetsch-ctl/dolmetsch-ctl.c index bb56350..afc74b2 100644 --- a/dolmetsch-ctl/dolmetsch-ctl.c +++ b/dolmetsch-ctl/dolmetsch-ctl.c @@ -76,6 +76,7 @@ void EVENT_USB_Device_ControlRequest(void) #include "eventqueue.h" #define MIDI_COMMAND_CONTROL_CHANGE 0xB0 +#define MIDI_COMMAND_PROGRAM_CHANGE 0xC0 static void process_incoming_midi(void) { @@ -84,6 +85,12 @@ static void process_incoming_midi(void) uint8_t cmd = ReceivedMIDIEvent.Data1 & 0xF0; uint8_t note = ReceivedMIDIEvent.Data2; uint8_t value = ReceivedMIDIEvent.Data3 & 0x7F; + if(cmd == MIDI_COMMAND_PROGRAM_CHANGE) { + switch(note) { + case 127: reset2bootloader(); + } + continue; + } if((note >= KEYPAD_MIDI_NOTE_OFFSET && note < KEYPAD_MIDI_NOTE_OFFSET + KEYPAD_NUM_KEYS) || // KEYPAD note == KEYPAD_MIDI_NOTE_ALL) { if(cmd == MIDI_COMMAND_CONTROL_CHANGE) { |