#include <MIDI_Interfaces/USBMIDI/LowLevel/BulkRX.hpp>
Receives Bulk packets (OUT for device mode, IN for host mode)
Definition at line 12 of file BulkRX.hpp.
Inheritance diagram for BulkRX< Derived, MessageTypeT, MaxPacketSizeV >:
Collaboration diagram for BulkRX< Derived, MessageTypeT, MaxPacketSizeV >:Classes | |
| struct | Reading |
| State for reading incoming USB data. More... | |
Public Types | |
| using | MessageType = MessageTypeT |
Public Member Functions | |
| bool | read (MessageType &message) |
| Try reading a single message. | |
Protected Member Functions | |
| void | reset (uint16_t packet_size=MaxPacketSize) |
| void | rx_start (void *data, uint32_t size)=delete |
| Start a USB transfer (from the main program). | |
| void | rx_start_isr (void *data, uint32_t size)=delete |
| Start a USB transfer (from the USB interrupt handler). | |
| void | rx_callback (uint32_t num_bytes_read) |
Private Types | |
| using | rbuffer_t = std::remove_reference_t<decltype(reading.buffers[0])> |
Private Attributes | |
| struct BulkRX::Reading | reading |
Static Private Attributes | |
| static constexpr uint16_t | MaxPacketSize = MaxPacketSizeV |
| static constexpr uint16_t | SizeReserved = MaxPacketSize + 1 |
| static constexpr uint16_t | NumRxPackets = MaxPacketSize == 64 ? 16 : 4 |
| static constexpr std::memory_order | mo_seq = std::memory_order_seq_cst |
| static constexpr std::memory_order | mo_rel = std::memory_order_release |
| static constexpr std::memory_order | mo_acq = std::memory_order_acquire |
| static constexpr std::memory_order | mo_rlx = std::memory_order_relaxed |
| static constexpr std::memory_order | mo_acq_rel = std::memory_order_acq_rel |
Definition at line 14 of file BulkRX.hpp.
Definition at line 56 of file BulkRX.hpp.
| bool read | ( | MessageType & | message | ) |
Try reading a single message.
|
protected |
Start a USB transfer (from the main program).
Start a USB transfer (from the USB interrupt handler).
|
staticconstexprprivate |
Definition at line 24 of file BulkRX.hpp.
|
staticconstexprprivate |
Definition at line 25 of file BulkRX.hpp.
|
staticconstexprprivate |
Definition at line 26 of file BulkRX.hpp.
|
staticconstexprprivate |
Definition at line 37 of file BulkRX.hpp.
|
staticconstexprprivate |
Definition at line 38 of file BulkRX.hpp.
|
staticconstexprprivate |
Definition at line 39 of file BulkRX.hpp.
|
staticconstexprprivate |
Definition at line 40 of file BulkRX.hpp.
|
staticconstexprprivate |
Definition at line 41 of file BulkRX.hpp.
|
private |