aboutsummaryrefslogtreecommitdiffstats
path: root/tmk_core/protocol/chibios/usb_main.c
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2020-02-04 18:28:47 -0800
committerGitHub <noreply@github.com>2020-02-04 18:28:47 -0800
commit0010d0c45e4aba8225249e230b3d23337e8378f4 (patch)
tree1e948e820ede77f6582fec85dc9195acc0fe270f /tmk_core/protocol/chibios/usb_main.c
parent8a749a7a8e0c47488b19bb92ac5b35bc60f66dd8 (diff)
downloadfirmware-0010d0c45e4aba8225249e230b3d23337e8378f4.tar.gz
firmware-0010d0c45e4aba8225249e230b3d23337e8378f4.tar.bz2
firmware-0010d0c45e4aba8225249e230b3d23337e8378f4.zip
Add Midi Endpoint task to ChibiOS main (#8071)
Diffstat (limited to 'tmk_core/protocol/chibios/usb_main.c')
-rw-r--r--tmk_core/protocol/chibios/usb_main.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c
index dd701f661..d5eeffcbe 100644
--- a/tmk_core/protocol/chibios/usb_main.c
+++ b/tmk_core/protocol/chibios/usb_main.c
@@ -833,7 +833,17 @@ bool recv_midi_packet(MIDI_EventPacket_t *const event) {
size_t size = chnReadTimeout(&drivers.midi_driver.driver, (uint8_t *)event, sizeof(MIDI_EventPacket_t), TIME_IMMEDIATE);
return size == sizeof(MIDI_EventPacket_t);
}
-
+void midi_ep_task(void) {
+ uint8_t buffer[MIDI_STREAM_EPSIZE];
+ size_t size = 0;
+ do {
+ size_t size = chnReadTimeout(&drivers.midi_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE);
+ if (size > 0) {
+ MIDI_EventPacket_t event;
+ recv_midi_packet(&event);
+ }
+ } while (size > 0);
+}
#endif
#ifdef VIRTSER_ENABLE