27 #if !defined(_USBH_MIDI_H_) 32 #define MIDI_MAX_ENDPOINTS 5 //endpoint 0, bulk_IN(MIDI), bulk_OUT(MIDI), bulk_IN(VSP), bulk_OUT(VSP) 33 #define USB_SUBCLASS_MIDISTREAMING 3 34 #define DESC_BUFF_SIZE 256 35 #define MIDI_EVENT_PACKET_SIZE 64 36 #define MIDI_MAX_SYSEX_SIZE 256 75 uint8_t
RecvData(uint16_t *bytes_rcvd, uint8_t *dataptr);
76 uint8_t
RecvData(uint8_t *outBuf,
bool isRaw=
false);
78 uint8_t
SendData(uint8_t *dataptr, uint8_t nCable=0);
80 uint8_t
SendSysEx(uint8_t *dataptr, uint16_t datasize, uint8_t nCable=0);
82 uint8_t
SendRawData(uint16_t bytes_send, uint8_t *dataptr);
84 inline uint8_t
RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr) {
return RecvData(bytes_rcvd, dataptr); };
88 virtual uint8_t
Init(uint8_t parent, uint8_t port,
bool lowspeed);
92 #endif //_USBH_MIDI_H_ uint8_t SendSysEx(uint8_t *dataptr, uint16_t datasize, uint8_t nCable=0)
static const uint8_t epDataInIndexVSP
uint8_t bTransferTypeMask
uint8_t RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr)
uint8_t RecvData(uint16_t *bytes_rcvd, uint8_t *dataptr)
virtual uint8_t GetAddress()
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
uint8_t SendRawData(uint16_t bytes_send, uint8_t *dataptr)
uint16_t countSysExDataSize(uint8_t *dataptr)
static const uint8_t epDataOutIndexVSP
void setupDeviceSpecific()
#define USB_STATE_RUNNING
virtual uint8_t Release()
uint8_t RecvRawData(uint8_t *outBuf)
static const uint8_t epDataInIndex
#define MIDI_EVENT_PACKET_SIZE
uint8_t lookupMsgSize(uint8_t midiMsg, uint8_t cin=0)
uint8_t recvBuf[MIDI_EVENT_PACKET_SIZE]
uint8_t getUsbTaskState(void)
EpInfo epInfo[MIDI_MAX_ENDPOINTS]
uint8_t RcvData(uint8_t *outBuf)
uint8_t extractSysExData(uint8_t *p, uint8_t *buf)
uint8_t SendData(uint8_t *dataptr, uint8_t nCable=0)
static const uint8_t epDataOutIndex
#define MIDI_MAX_ENDPOINTS
uint8_t parseConfigDescr(uint8_t addr, uint8_t conf)