Microchip® Advanced Software Framework

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages

The following structures provide predefined USB interface descriptors.

It must be used to define the final USB descriptors.

Data Structures

struct  udi_hid_generic_desc_t
 Interface descriptor structure for HID generic. More...
 
struct  udi_hid_generic_report_desc_t
 Report descriptor for HID generic. More...
 

Macros

#define UDI_HID_GENERIC_DESC
 Content of HID generic interface descriptor for all speed. More...
 
#define UDI_HID_GENERIC_STRING_ID   0
 By default no string associated to this interface. More...
 

#define UDI_HID_GENERIC_DESC
Value:
{\
.iface.bLength = sizeof(usb_iface_desc_t),\
.iface.bDescriptorType = USB_DT_INTERFACE,\
.iface.bInterfaceNumber = UDI_HID_GENERIC_IFACE_NUMBER,\
.iface.bAlternateSetting = 0,\
.iface.bNumEndpoints = 2,\
.iface.bInterfaceClass = HID_CLASS,\
.iface.bInterfaceSubClass = HID_SUB_CLASS_NOBOOT,\
.iface.bInterfaceProtocol = HID_PROTOCOL_GENERIC,\
.iface.iInterface = UDI_HID_GENERIC_STRING_ID,\
.hid.bLength = sizeof(usb_hid_descriptor_t),\
.hid.bDescriptorType = USB_DT_HID,\
.hid.bcdHID = LE16(USB_HID_BDC_V1_11),\
.hid.bCountryCode = USB_HID_NO_COUNTRY_CODE,\
.hid.bNumDescriptors = USB_HID_NUM_DESC,\
.hid.bRDescriptorType = USB_DT_HID_REPORT,\
.hid.wDescriptorLength = LE16(sizeof(udi_hid_generic_report_desc_t)),\
.ep_in.bLength = sizeof(usb_ep_desc_t),\
.ep_in.bDescriptorType = USB_DT_ENDPOINT,\
.ep_in.bEndpointAddress = UDI_HID_GENERIC_EP_IN,\
.ep_in.bmAttributes = USB_EP_TYPE_INTERRUPT,\
.ep_in.wMaxPacketSize = LE16(UDI_HID_GENERIC_EP_SIZE),\
.ep_in.bInterval = 4,\
.ep_out.bLength = sizeof(usb_ep_desc_t),\
.ep_out.bDescriptorType = USB_DT_ENDPOINT,\
.ep_out.bEndpointAddress = UDI_HID_GENERIC_EP_OUT,\
.ep_out.bmAttributes = USB_EP_TYPE_INTERRUPT,\
.ep_out.wMaxPacketSize = LE16(UDI_HID_GENERIC_EP_SIZE),\
.ep_out.bInterval = 4,\
}
Report descriptor for HID generic.
Definition: udi_hid_generic.h:76
HID Descriptor.
Definition: usb_protocol_hid.h:116
#define UDI_HID_GENERIC_EP_IN
Definition: udi_hid_generic_conf.h:59
#define LE16(x)
Definition: compiler.h:1105
#define HID_CLASS
Definition: usb_ids.h:129
#define USB_HID_NUM_DESC
Numeric expression specifying the number of class descriptors Note: Always at least one i...
Definition: usb_protocol_hid.h:143
Definition: usb_protocol_hid.h:86
Definition: usb_protocol.h:194
#define HID_SUB_CLASS_NOBOOT
Interface subclass NO support BOOT protocol.
Definition: usb_protocol_hid.h:58
Definition: usb_protocol.h:193
#define UDI_HID_GENERIC_STRING_ID
By default no string associated to this interface.
Definition: udi_hid_generic.h:83
#define HID_PROTOCOL_GENERIC
Protocol generic standard.
Definition: usb_protocol_hid.h:66
#define USB_HID_NO_COUNTRY_CODE
Definition: usb_protocol_hid.h:147
Standard USB interface descriptor structure.
Definition: usb_protocol.h:446
#define UDI_HID_GENERIC_EP_OUT
Endpoint number used by HID generic interface.
Definition: udi_hid_generic_conf.h:58
Definition: usb_protocol_hid.h:87
#define USB_HID_BDC_V1_11
Numeric expression identifying the HID Class Specification release (here V1.11)
Definition: usb_protocol_hid.h:140
Standard USB endpoint descriptor structure.
Definition: usb_protocol.h:461
Definition: usb_protocol.h:252
#define UDI_HID_GENERIC_IFACE_NUMBER
Interface number.
Definition: udi_hid_generic_conf.h:62

Content of HID generic interface descriptor for all speed.

#define UDI_HID_GENERIC_STRING_ID   0

By default no string associated to this interface.