From ad68475348a6fd7b716bb22bddf793fc75401db6 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 3 Nov 2014 18:44:28 +0100 Subject: implemented midi command for reset2bootloader --- dolmetsch-ctl/dolmetsch-ctl.c | 7 +++++++ 1 file changed, 7 insertions(+) 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) { -- cgit v1.2.3