Go to the documentation of this file.
18 #if !defined(__HIDCOMPOSITE_H__)
19 #define __HIDCOMPOSITE_H__
80 virtual void ParseHIDData(
USBHID *hid __attribute__((unused)), uint8_t ep __attribute__((unused)),
bool is_rpt_id __attribute__((unused)), uint8_t len __attribute__((unused)), uint8_t *buf __attribute__((unused))) {
91 uint8_t
Init(uint8_t parent, uint8_t port,
bool lowspeed);
107 uint8_t
SndRpt(uint16_t nbytes, uint8_t *dataptr);
113 #endif // __HIDCOMPOSITE_H__
HIDReportParser * GetReportParser(uint8_t id)
HIDInterface * FindInterface(uint8_t iface, uint8_t alt, uint8_t proto)
uint8_t epIndex[maxEpPerInterface+1]
HIDReportParser * rptParser
uint16_t GetHidClassDescrLen(uint8_t type, uint8_t num)
#define MAX_REPORT_PARSERS
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
virtual uint8_t OnInitSuccessful()
#define HID_MAX_HID_CLASS_DESCRIPTORS
HID_CLASS_DESCRIPTOR_LEN_AND_TYPE descrInfo[HID_MAX_HID_CLASS_DESCRIPTORS]
static const uint8_t maxHidInterfaces
static const uint8_t totalEndpoints
struct HIDComposite::ReportParser rptParsers[MAX_REPORT_PARSERS]
void ZeroMemory(uint8_t len, uint8_t *buf)
EpInfo epInfo[totalEndpoints]
static const uint16_t constBuffLen
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
uint8_t SndRpt(uint16_t nbytes, uint8_t *dataptr)
virtual bool SelectInterface(uint8_t iface, uint8_t proto)=0
virtual uint8_t GetAddress()
HIDInterface hidInterfaces[maxHidInterfaces]
virtual void ParseHIDData(USBHID *hid, uint8_t ep, bool is_rpt_id, uint8_t len, uint8_t *buf)
static const uint8_t maxEpPerInterface
bool SetReportParser(uint8_t id, HIDReportParser *prs)