USB Host Shield 2.0
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
USBH_MIDI Class Reference

#include <usbh_midi.h>

Inheritance diagram for USBH_MIDI:
Inheritance graph
[legend]
Collaboration diagram for USBH_MIDI:
Collaboration graph
[legend]

Public Member Functions

 USBH_MIDI (USB *p)
 
 operator bool ()
 
uint16_t idVendor ()
 
uint16_t idProduct ()
 
uint8_t RecvData (uint16_t *bytes_rcvd, uint8_t *dataptr)
 
uint8_t RecvData (uint8_t *outBuf, bool isRaw=false)
 
uint8_t RecvRawData (uint8_t *outBuf)
 
uint8_t SendData (uint8_t *dataptr, uint8_t nCable=0)
 
uint8_t SendRawData (uint16_t bytes_send, uint8_t *dataptr)
 
uint8_t lookupMsgSize (uint8_t midiMsg, uint8_t cin=0)
 
uint8_t SendSysEx (uint8_t *dataptr, uint16_t datasize, uint8_t nCable=0)
 
uint8_t extractSysExData (uint8_t *p, uint8_t *buf)
 
uint8_t RcvData (uint16_t *bytes_rcvd, uint8_t *dataptr)
 
uint8_t RcvData (uint8_t *outBuf)
 
virtual uint8_t Init (uint8_t parent, uint8_t port, bool lowspeed)
 
virtual uint8_t Release ()
 
virtual uint8_t GetAddress ()
 
void attachOnInit (void(*funcOnInit)(void))
 
void attachOnRelease (void(*funcOnRelease)(void))
 
- Public Member Functions inherited from USBDeviceConfig
virtual uint8_t ConfigureDevice (uint8_t parent, uint8_t port, bool lowspeed)
 
virtual uint8_t Poll ()
 
virtual void ResetHubPort (uint8_t port)
 
virtual bool VIDPIDOK (uint16_t vid, uint16_t pid)
 
virtual bool DEVCLASSOK (uint8_t klass)
 
virtual bool DEVSUBCLASSOK (uint8_t subklass)
 

Protected Member Functions

uint16_t countSysExDataSize (uint8_t *dataptr)
 
void setupDeviceSpecific ()
 
uint8_t convertStatus2Cin (uint8_t status)
 
uint8_t getMsgSizeFromCin (uint8_t cin)
 
bool EndpointXtract (uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
 

Protected Attributes

USBpUsb
 
uint8_t bAddress
 
bool bPollEnable
 
uint16_t pid
 
uint16_t vid
 
uint8_t bTransferTypeMask
 
EpInfo epInfo [MIDI_MAX_ENDPOINTS]
 
uint8_t recvBuf [MIDI_EVENT_PACKET_SIZE]
 
uint8_t readPtr
 

Static Protected Attributes

static const uint8_t epDataInIndex = 1
 
static const uint8_t epDataOutIndex = 2
 

Detailed Description

This class implements support for a MIDI device.

Definition at line 80 of file usbh_midi.h.

Constructor & Destructor Documentation

◆ USBH_MIDI()

USBH_MIDI::USBH_MIDI ( USB p)

Definition at line 85 of file usbh_midi.cpp.

Member Function Documentation

◆ countSysExDataSize()

uint16_t USBH_MIDI::countSysExDataSize ( uint8_t *  dataptr)
protected

Definition at line 443 of file usbh_midi.cpp.

◆ setupDeviceSpecific()

void USBH_MIDI::setupDeviceSpecific ( )
protected

Definition at line 291 of file usbh_midi.cpp.

◆ convertStatus2Cin()

uint8_t USBH_MIDI::convertStatus2Cin ( uint8_t  status)
inlineprotected

Definition at line 100 of file usbh_midi.h.

◆ getMsgSizeFromCin()

uint8_t USBH_MIDI::getMsgSizeFromCin ( uint8_t  cin)
inlineprotected

Definition at line 103 of file usbh_midi.h.

◆ EndpointXtract()

bool USBH_MIDI::EndpointXtract ( uint8_t  conf,
uint8_t  iface,
uint8_t  alt,
uint8_t  proto,
const USB_ENDPOINT_DESCRIPTOR ep 
)
protectedvirtual

Reimplemented from UsbMidiConfigXtracter.

Definition at line 668 of file usbh_midi.cpp.

◆ operator bool()

USBH_MIDI::operator bool ( )
inline

Definition at line 116 of file usbh_midi.h.

◆ idVendor()

uint16_t USBH_MIDI::idVendor ( )
inline

Definition at line 117 of file usbh_midi.h.

◆ idProduct()

uint16_t USBH_MIDI::idProduct ( )
inline

Definition at line 118 of file usbh_midi.h.

◆ RecvData() [1/2]

uint8_t USBH_MIDI::RecvData ( uint16_t *  bytes_rcvd,
uint8_t *  dataptr 
)

Definition at line 314 of file usbh_midi.cpp.

◆ RecvData() [2/2]

uint8_t USBH_MIDI::RecvData ( uint8_t *  outBuf,
bool  isRaw = false 
)

Definition at line 330 of file usbh_midi.cpp.

◆ RecvRawData()

uint8_t USBH_MIDI::RecvRawData ( uint8_t *  outBuf)
inline

Definition at line 122 of file usbh_midi.h.

◆ SendData()

uint8_t USBH_MIDI::SendData ( uint8_t *  dataptr,
uint8_t  nCable = 0 
)

Definition at line 372 of file usbh_midi.cpp.

◆ SendRawData()

uint8_t USBH_MIDI::SendRawData ( uint16_t  bytes_send,
uint8_t *  dataptr 
)
inline

Definition at line 124 of file usbh_midi.h.

◆ lookupMsgSize()

uint8_t USBH_MIDI::lookupMsgSize ( uint8_t  midiMsg,
uint8_t  cin = 0 
)

Definition at line 434 of file usbh_midi.cpp.

◆ SendSysEx()

uint8_t USBH_MIDI::SendSysEx ( uint8_t *  dataptr,
uint16_t  datasize,
uint8_t  nCable = 0 
)

Definition at line 465 of file usbh_midi.cpp.

◆ extractSysExData()

uint8_t USBH_MIDI::extractSysExData ( uint8_t *  p,
uint8_t *  buf 
)

Definition at line 522 of file usbh_midi.cpp.

◆ RcvData() [1/2]

uint8_t USBH_MIDI::RcvData ( uint16_t *  bytes_rcvd,
uint8_t *  dataptr 
)
inline

Definition at line 129 of file usbh_midi.h.

◆ RcvData() [2/2]

uint8_t USBH_MIDI::RcvData ( uint8_t *  outBuf)
inline

Definition at line 130 of file usbh_midi.h.

◆ Init()

uint8_t USBH_MIDI::Init ( uint8_t  parent,
uint8_t  port,
bool  lowspeed 
)
virtual

Reimplemented from USBDeviceConfig.

Definition at line 103 of file usbh_midi.cpp.

◆ Release()

uint8_t USBH_MIDI::Release ( )
virtual

Reimplemented from USBDeviceConfig.

Definition at line 277 of file usbh_midi.cpp.

◆ GetAddress()

virtual uint8_t USBH_MIDI::GetAddress ( )
inlinevirtual

Reimplemented from USBDeviceConfig.

Definition at line 135 of file usbh_midi.h.

◆ attachOnInit()

void USBH_MIDI::attachOnInit ( void(*)(void)  funcOnInit)
inline

Definition at line 137 of file usbh_midi.h.

◆ attachOnRelease()

void USBH_MIDI::attachOnRelease ( void(*)(void)  funcOnRelease)
inline

Definition at line 141 of file usbh_midi.h.

Member Data Documentation

◆ epDataInIndex

const uint8_t USBH_MIDI::epDataInIndex = 1
staticprotected

Definition at line 83 of file usbh_midi.h.

◆ epDataOutIndex

const uint8_t USBH_MIDI::epDataOutIndex = 2
staticprotected

Definition at line 84 of file usbh_midi.h.

◆ pUsb

USB* USBH_MIDI::pUsb
protected

Definition at line 87 of file usbh_midi.h.

◆ bAddress

uint8_t USBH_MIDI::bAddress
protected

Definition at line 88 of file usbh_midi.h.

◆ bPollEnable

bool USBH_MIDI::bPollEnable
protected

Definition at line 89 of file usbh_midi.h.

◆ pid

uint16_t USBH_MIDI::pid
protected

Definition at line 90 of file usbh_midi.h.

◆ vid

uint16_t USBH_MIDI::vid
protected

Definition at line 90 of file usbh_midi.h.

◆ bTransferTypeMask

uint8_t USBH_MIDI::bTransferTypeMask
protected

Definition at line 91 of file usbh_midi.h.

◆ epInfo

EpInfo USBH_MIDI::epInfo[MIDI_MAX_ENDPOINTS]
protected

Definition at line 93 of file usbh_midi.h.

◆ recvBuf

uint8_t USBH_MIDI::recvBuf[MIDI_EVENT_PACKET_SIZE]
protected

Definition at line 95 of file usbh_midi.h.

◆ readPtr

uint8_t USBH_MIDI::readPtr
protected

Definition at line 96 of file usbh_midi.h.


The documentation for this class was generated from the following files: