131 p->lowspeed = lowspeed;
180 p->lowspeed = lowspeed;
311 Notify(
PSTR(
"\r\n EndpointXtract(): Not adding HID interface because we already have "), 0x80);
313 Notify(
PSTR(
" interfaces and can't hold more. "), 0x80);
332 Notify(
PSTR(
"\r\n EndpointXtract(): Not adding endpoint info because we already have "), 0x80);
334 Notify(
PSTR(
" endpoints and can't hold more. "), 0x80);
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
#define USB_ERROR_EPINFO_IS_NULL
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
#define USB_NAK_MAX_POWER
virtual void FreeAddress(uint8_t addr)=0
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset)
virtual uint8_t OnInitSuccessful()
HIDReportParser * GetReportParser(uint8_t id)
static const uint16_t constBuffLen
HIDInterface hidInterfaces[maxHidInterfaces]
EpInfo epInfo[totalEndpoints]
HIDInterface * FindInterface(uint8_t iface, uint8_t alt, uint8_t proto)
struct HIDComposite::ReportParser rptParsers[MAX_REPORT_PARSERS]
uint8_t SndRpt(uint16_t nbytes, uint8_t *dataptr)
HID_CLASS_DESCRIPTOR_LEN_AND_TYPE descrInfo[HID_MAX_HID_CLASS_DESCRIPTORS]
bool SetReportParser(uint8_t id, HIDReportParser *prs)
void ZeroMemory(uint8_t len, uint8_t *buf)
uint16_t GetHidClassDescrLen(uint8_t type, uint8_t num)
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
virtual void ParseHIDData(USBHID *hid, uint8_t ep, bool is_rpt_id, uint8_t len, uint8_t *buf)
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
virtual bool SelectInterface(uint8_t iface, uint8_t proto)=0
static const uint8_t totalEndpoints
static const uint8_t maxHidInterfaces
static const uint8_t epInterruptInIndex
static const uint8_t maxEpPerInterface
uint8_t SetIdle(uint8_t iface, uint8_t reportID, uint8_t duration)
static const uint8_t epInterruptOutIndex
AddressPool & GetAddressPool()
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data, uint8_t bInterval=0)
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
#define CP_MASK_COMPARE_CLASS
#define USBTRACE3(s, r, l)
#define NotifyFailSetConfDescr(...)
#define NotifyFailGetConfDescr(...)
#define NotifyFailSetDevTblEntry(...)
#define NotifyFailGetDevDescr(...)
uint16_t wDescriptorLength
uint8_t epIndex[maxEpPerInterface+1]
#define bmUSB_TRANSFER_TYPE
#define USB_TRANSFER_TYPE_INTERRUPT
#define HID_MAX_HID_CLASS_DESCRIPTORS
#define MAX_REPORT_PARSERS