Control Surface pin-t-adl
MIDI Control Surface library for Arduino
Classes
TeensyHostMIDI.hpp File Reference
#include <USBHost_t36.h>
#include <atomic>
#include <chrono>
#include <tuple>
#include <Settings/NamespaceSettings.hpp>
#include "TeensyHostMIDI.ipp"
+ Include dependency graph for TeensyHostMIDI.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TeensyHostMIDI< MaxPacketSize >
 Teensy USB Host MIDI driver. More...
 
struct  TeensyHostMIDI< MaxPacketSize >::Reading
 State for reading incoming USB-MIDI data. More...
 
struct  TeensyHostMIDI< MaxPacketSize >::Reading::Buffer
 
struct  TeensyHostMIDI< MaxPacketSize >::Writing
 State for writing outgoing USB-MIDI data. More...
 
struct  TeensyHostMIDI< MaxPacketSize >::Writing::Buffer
 

Class Documentation

◆ TeensyHostMIDI::Reading

struct TeensyHostMIDI::Reading
+ Collaboration diagram for TeensyHostMIDI< MaxPacketSize >::Reading:
Class Members
struct Buffer buffers[NumRxPackets]
atomic< uint32_t > available
atomic< uint32_t > read_idx
atomic< uint32_t > write_idx
atomic< bool > reading

◆ TeensyHostMIDI::Reading::Buffer

struct TeensyHostMIDI::Reading::Buffer
+ Collaboration diagram for TeensyHostMIDI< MaxPacketSize >::Reading::Buffer:
Class Members
uint32_t size
uint32_t index
uint8_t buffer[PacketSize]

◆ TeensyHostMIDI::Writing

struct TeensyHostMIDI::Writing
+ Collaboration diagram for TeensyHostMIDI< MaxPacketSize >::Writing:
Class Members
struct Buffer buffers[2]
atomic< uint32_t > active_writebuffer
atomic< Buffer * > sending
atomic< Buffer * > send_timeout
microseconds timeout_duration
microseconds error_timeout_duration
uint32_t errors

◆ TeensyHostMIDI::Writing::Buffer

struct TeensyHostMIDI::Writing::Buffer
+ Collaboration diagram for TeensyHostMIDI< MaxPacketSize >::Writing::Buffer:
Class Members
atomic< uint32_t > size
atomic< bool > ready_to_send
uint8_t buffer[PacketSize]