Chris Arndt / Mbed OS STM32F103_USBMIDI_Switchbox

Dependencies:   PinDetect USBDevice_STM32F103 mbed-STM32F103C8T6

Committer:
SpotlightKid
Date:
Fri Aug 04 03:15:52 2017 +0200
Revision:
3:8b8cb5392fa0
Child:
6:2f804d29cbb0
New event queue based version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
SpotlightKid 3:8b8cb5392fa0 1 #include "midiswitch.h"
SpotlightKid 3:8b8cb5392fa0 2
SpotlightKid 3:8b8cb5392fa0 3 SwitchHandler::SwitchHandler(EventQueue * queue, MIDI_CB cb, SwitchConfig * sw) :
SpotlightKid 3:8b8cb5392fa0 4 queue(queue), write_cb(cb), btn(sw->pin), control(sw->control), channel(sw->channel), on_value(sw->on_value), off_value(sw->off_value) {
SpotlightKid 3:8b8cb5392fa0 5 btn.attach_asserted(this, &SwitchHandler::handle_pressed);
SpotlightKid 3:8b8cb5392fa0 6 btn.attach_deasserted(this, &SwitchHandler::handle_released);
SpotlightKid 3:8b8cb5392fa0 7 btn.setSampleFrequency();
SpotlightKid 3:8b8cb5392fa0 8 #ifndef NDEBUG
SpotlightKid 3:8b8cb5392fa0 9 serial = NULL;
SpotlightKid 3:8b8cb5392fa0 10 #endif
SpotlightKid 3:8b8cb5392fa0 11 };
SpotlightKid 3:8b8cb5392fa0 12
SpotlightKid 3:8b8cb5392fa0 13 void SwitchHandler::handle_pressed(void) {
SpotlightKid 3:8b8cb5392fa0 14 #ifndef NDEBUG
SpotlightKid 3:8b8cb5392fa0 15 serial->printf("Switch pressed: control=%d channel=%d value=%d\r\n", control, channel, on_value);
SpotlightKid 3:8b8cb5392fa0 16 #endif
SpotlightKid 3:8b8cb5392fa0 17 queue->call(write_cb, MIDIMessage::ControlChange((int) control, (int) on_value, (int) (channel - 1)));
SpotlightKid 3:8b8cb5392fa0 18 };
SpotlightKid 3:8b8cb5392fa0 19
SpotlightKid 3:8b8cb5392fa0 20 void SwitchHandler::handle_released(void) {
SpotlightKid 3:8b8cb5392fa0 21 #ifndef NDEBUG
SpotlightKid 3:8b8cb5392fa0 22 serial->printf("Switch released: control=%d channel=%d value=%d\r\n", control, channel, off_value);
SpotlightKid 3:8b8cb5392fa0 23 #endif
SpotlightKid 3:8b8cb5392fa0 24 queue->call(write_cb, MIDIMessage::ControlChange((int) control, (int) off_value, (int) (channel - 1)));
SpotlightKid 3:8b8cb5392fa0 25 };