1 #if !defined(__HIDUNIVERSAL_H__)
2 #define __HIDUNIVERSAL_H__
18 uint16_t GetHidClassDescrLen(uint8_t type, uint8_t num);
25 uint8_t bmInterface : 3;
27 uint8_t bmProtocol : 2;
37 uint32_t qNextPollTime;
41 static const uint16_t constBuffLen = 64;
42 uint8_t prevBuf[constBuffLen];
45 HIDInterface* FindInterface(uint8_t iface, uint8_t alt, uint8_t proto);
47 void ZeroMemory(uint8_t len, uint8_t *buf);
48 bool BuffersIdentical(uint8_t len, uint8_t *buf1, uint8_t *buf2);
49 void SaveBuffer(uint8_t len, uint8_t *src, uint8_t *dest);
74 virtual uint8_t
Init(uint8_t parent, uint8_t port,
bool lowspeed);
76 virtual uint8_t
Poll();
90 #endif // __HIDUNIVERSAL_H__
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
virtual uint8_t Release()
virtual uint8_t OnInitSuccessful()
virtual void ParseHIDData(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)
virtual HIDReportParser * GetReportParser(uint8_t id)
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
#define MAX_REPORT_PARSERS
virtual uint8_t GetAddress()
static const uint8_t totalEndpoints
#define HID_MAX_HID_CLASS_DESCRIPTORS
static const uint8_t maxEpPerInterface
virtual bool SetReportParser(uint8_t id, HIDReportParser *prs)
static const uint8_t maxHidInterfaces