Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator 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_multi_touch_desc_t
 Interface descriptor structure for HID multi-touch. More...
 
struct  udi_hid_multi_touch_report_desc_t
 Report descriptor for HID multi-touch. More...
 

Macros

#define UDI_HID_MULTI_TOUCH_DESC
 Content of HID multi-touch interface descriptor for all speed. More...
 
#define UDI_HID_MULTI_TOUCH_STRING_ID   0
 By default no string associated to this interface. More...
 
#define UDI_HID_REPORT_ID_FEATURE   3
 
#define UDI_HID_REPORT_ID_MAX_COUNT   2
 
#define UDI_HID_REPORT_ID_MTOUCH   1
 

#define UDI_HID_MULTI_TOUCH_DESC
Value:
{\
.iface.bLength = sizeof(usb_iface_desc_t),\
.iface.bDescriptorType = USB_DT_INTERFACE,\
.iface.bInterfaceNumber = UDI_HID_MULTI_TOUCH_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_MULTI_TOUCH_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_multi_touch_report_desc_t)),\
.ep_in.bLength = sizeof(usb_ep_desc_t),\
.ep_in.bDescriptorType = USB_DT_ENDPOINT,\
.ep_in.bEndpointAddress = UDI_HID_MULTI_TOUCH_EP_IN,\
.ep_in.bmAttributes = USB_EP_TYPE_INTERRUPT,\
.ep_in.wMaxPacketSize = LE16(UDI_HID_MTOUCH_EP_SIZE),\
.ep_in.bInterval = 10,\
.ep_out.bLength = sizeof(usb_ep_desc_t),\
.ep_out.bDescriptorType = USB_DT_ENDPOINT,\
.ep_out.bEndpointAddress = UDI_HID_MULTI_TOUCH_EP_OUT,\
.ep_out.bmAttributes = USB_EP_TYPE_INTERRUPT,\
.ep_out.wMaxPacketSize = LE16(UDI_HID_MTOUCH_EP_SIZE),\
.ep_out.bInterval = 10,\
}
HID Descriptor.
Definition: usb_protocol_hid.h:116
Report descriptor for HID multi-touch.
Definition: udi_hid_multitouch.h:76
#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
#define UDI_HID_MULTI_TOUCH_STRING_ID
By default no string associated to this interface.
Definition: udi_hid_multitouch.h:83
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 HID_PROTOCOL_GENERIC
Protocol generic standard.
Definition: usb_protocol_hid.h:66
#define USB_HID_NO_COUNTRY_CODE
Definition: usb_protocol_hid.h:147
#define HID_CLASS
Definition: usb_protocol_hid.h:52
Standard USB interface descriptor structure.
Definition: usb_protocol.h:446
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
#define UDI_HID_MULTI_TOUCH_EP_IN
Definition: udi_hid_multitouch_conf.h:59
Standard USB endpoint descriptor structure.
Definition: usb_protocol.h:461
#define LE16(x)
Definition: compiler.h:773
Definition: usb_protocol.h:252
#define UDI_HID_MULTI_TOUCH_IFACE_NUMBER
Interface number.
Definition: udi_hid_multitouch_conf.h:62
#define UDI_HID_MULTI_TOUCH_EP_OUT
Endpoint number used by HID multi-touch interface.
Definition: udi_hid_multitouch_conf.h:58

Content of HID multi-touch interface descriptor for all speed.

#define UDI_HID_MULTI_TOUCH_STRING_ID   0

By default no string associated to this interface.

#define UDI_HID_REPORT_ID_FEATURE   3
#define UDI_HID_REPORT_ID_MAX_COUNT   2
#define UDI_HID_REPORT_ID_MTOUCH   1