Control Surface
1.1.1
MIDI Control Surface library for Arduino
src
MIDI_Interfaces
USBMIDI
USBMIDI_Teensy3.ipp
Go to the documentation of this file.
1
#include "
USBMIDI.hpp
"
2
3
#include <
AH/Teensy/TeensyUSBTypes.hpp
>
4
5
#ifdef TEENSY_MIDIUSB_ENABLED
6
7
#include <string.h>
8
#include <usb_midi.h>
9
10
BEGIN_CS_NAMESPACE
11
12
namespace
USBMIDI
{
13
14
MIDIUSBPacket_t
read
() {
15
MIDIUSBPacket_t
packet;
16
uint32_t msg = usb_midi_read_message();
17
static_assert(
sizeof
(msg) ==
sizeof
(packet.data),
"incorrect packet size"
);
18
memcpy(packet.data, &msg,
sizeof
(packet.data));
19
return
packet;
20
}
21
22
void
write
(uint8_t cn, uint8_t cin, uint8_t d0, uint8_t d1, uint8_t d2) {
23
usb_midi_write_packed((cn << 4) | cin |
// CN|CIN
24
(d0 << 8) |
// status
25
(d1 << 16) |
// data 1
26
(d2 << 24));
// data 2
27
}
28
29
void
flush
() {}
30
31
}
// namespace USBMIDI
32
33
END_CS_NAMESPACE
34
35
#endif
USBMIDI
Definition:
USBMIDI.hpp:6
USBMIDI.hpp
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition:
Settings/NamespaceSettings.hpp:9
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition:
Settings/NamespaceSettings.hpp:10
TeensyUSBTypes.hpp
USBMIDI::flush
void flush()
Definition:
USBMIDI_MIDIUSB.ipp:24
USBMIDI::MIDIUSBPacket_t
AH::Array< uint8_t, 4 > MIDIUSBPacket_t
Definition:
USBMIDI.hpp:8
USBMIDI::read
MIDIUSBPacket_t read()
Definition:
USBMIDI_MIDIUSB.ipp:8
USBMIDI::write
void write(uint8_t cn, uint8_t cin, uint8_t d0, uint8_t d1, uint8_t d2)
Definition:
USBMIDI_MIDIUSB.ipp:14
Generated by
1.8.16