Simple USB-MIDI foot controller
Dependencies: PinDetect USBDevice_STM32F103 mbed-STM32F103C8T6
midiswitch.h@6:2f804d29cbb0, 2017-08-04 (annotated)
- Committer:
- SpotlightKid
- Date:
- Fri Aug 04 03:44:19 2017 +0200
- Revision:
- 6:2f804d29cbb0
- Parent:
- 3:8b8cb5392fa0
- Child:
- 8:75c5ec68765e
Remove serial stuff from midiswitch class
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
SpotlightKid |
3:8b8cb5392fa0 | 1 | #ifndef MIDISWITCH_H |
SpotlightKid |
3:8b8cb5392fa0 | 2 | #define MIDISWITCH_H |
SpotlightKid |
3:8b8cb5392fa0 | 3 | |
SpotlightKid |
3:8b8cb5392fa0 | 4 | #include "mbed.h" |
SpotlightKid |
3:8b8cb5392fa0 | 5 | #include "mbed_events.h" |
SpotlightKid |
3:8b8cb5392fa0 | 6 | #include "PinDetect.h" |
SpotlightKid |
3:8b8cb5392fa0 | 7 | #include "USBMIDI.h" |
SpotlightKid |
3:8b8cb5392fa0 | 8 | |
SpotlightKid |
6:2f804d29cbb0 | 9 | |
SpotlightKid |
3:8b8cb5392fa0 | 10 | typedef struct SwitchConfig { |
SpotlightKid |
3:8b8cb5392fa0 | 11 | PinName pin; |
SpotlightKid |
3:8b8cb5392fa0 | 12 | uint8_t channel; |
SpotlightKid |
3:8b8cb5392fa0 | 13 | uint8_t control; |
SpotlightKid |
3:8b8cb5392fa0 | 14 | uint8_t on_value; |
SpotlightKid |
3:8b8cb5392fa0 | 15 | uint8_t off_value; |
SpotlightKid |
3:8b8cb5392fa0 | 16 | } SwitchConfig; |
SpotlightKid |
3:8b8cb5392fa0 | 17 | |
SpotlightKid |
3:8b8cb5392fa0 | 18 | typedef void (*MIDI_CB)(MIDIMessage); |
SpotlightKid |
3:8b8cb5392fa0 | 19 | |
SpotlightKid |
3:8b8cb5392fa0 | 20 | class SwitchHandler { |
SpotlightKid |
3:8b8cb5392fa0 | 21 | public: |
SpotlightKid |
3:8b8cb5392fa0 | 22 | SwitchHandler(EventQueue * queue, MIDI_CB cb, SwitchConfig * sw); |
SpotlightKid |
3:8b8cb5392fa0 | 23 | void handle_pressed(void); |
SpotlightKid |
3:8b8cb5392fa0 | 24 | void handle_released(void); |
SpotlightKid |
3:8b8cb5392fa0 | 25 | private: |
SpotlightKid |
3:8b8cb5392fa0 | 26 | EventQueue * queue; |
SpotlightKid |
3:8b8cb5392fa0 | 27 | MIDI_CB write_cb; |
SpotlightKid |
3:8b8cb5392fa0 | 28 | PinDetect btn; |
SpotlightKid |
3:8b8cb5392fa0 | 29 | uint8_t control, channel, on_value, off_value; |
SpotlightKid |
3:8b8cb5392fa0 | 30 | }; |
SpotlightKid |
3:8b8cb5392fa0 | 31 | |
SpotlightKid |
3:8b8cb5392fa0 | 32 | #endif /* MIDISWITCH_H */ |