Control Surface
disable-pipes
MIDI Control Surface library for Arduino
src
MIDI_Interfaces
USBMIDI
USBMIDI_RP2040.hpp
Go to the documentation of this file.
1
#include <
AH/Containers/Array.hpp
>
2
#include <Settings/NamespaceSettings.hpp>
3
4
#include "
mbed-m0/PluggableUSBMIDI.hpp
"
5
6
BEGIN_CS_NAMESPACE
7
8
struct
RP2040_USBDeviceMIDIBackend
{
9
using
MIDIUSBPacket_t
=
AH::Array<uint8_t, 4>
;
10
MIDIUSBPacket_t
read
() {
return
u32_to_bytes
(
backend
.
read
()); }
11
void
write
(
MIDIUSBPacket_t
data) {
backend
.
write
(
bytes_to_u32
(data)); }
12
void
sendNow
() {
backend
.
send_now
(); }
13
bool
preferImmediateSend
() {
return
false
; }
// TODO
14
15
PluggableUSBMIDI
backend
;
16
};
17
18
END_CS_NAMESPACE
Array.hpp
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition:
Settings/NamespaceSettings.hpp:10
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition:
Settings/NamespaceSettings.hpp:9
u32_to_bytes
AH::Array< uint8_t, 4 > u32_to_bytes(uint32_t u)
Definition:
USBMIDI.hpp:9
bytes_to_u32
uint32_t bytes_to_u32(uint8_t b0, uint8_t b1, uint8_t b2, uint8_t b3)
Definition:
USBMIDI.hpp:18
PluggableUSBMIDI
Definition:
mbed-m0/PluggableUSBMIDI.hpp:18
PluggableUSBMIDI::read
uint32_t read()
Try reading a 4-byte MIDI USB message.
PluggableUSBMIDI::send_now
void send_now()
Try sending the buffered data now.
PluggableUSBMIDI::write
void write(uint32_t msg)
Send a MIDI USB message.
PluggableUSBMIDI.hpp
AH::Array< uint8_t, 4 >
RP2040_USBDeviceMIDIBackend
Definition:
USBMIDI_RP2040.hpp:8
RP2040_USBDeviceMIDIBackend::sendNow
void sendNow()
Definition:
USBMIDI_RP2040.hpp:12
RP2040_USBDeviceMIDIBackend::read
MIDIUSBPacket_t read()
Definition:
USBMIDI_RP2040.hpp:10
RP2040_USBDeviceMIDIBackend::write
void write(MIDIUSBPacket_t data)
Definition:
USBMIDI_RP2040.hpp:11
RP2040_USBDeviceMIDIBackend::preferImmediateSend
bool preferImmediateSend()
Definition:
USBMIDI_RP2040.hpp:13
RP2040_USBDeviceMIDIBackend::backend
PluggableUSBMIDI backend
Definition:
USBMIDI_RP2040.hpp:15
Generated by
1.9.4