33 #define REQUEST_HOST_TO_DEVICE 0
34 #define REQUEST_DEVICE_TO_HOST 1
37 #define REQUEST_STANDARD 0
38 #define REQUEST_CLASS 1
39 #define REQUEST_VENDOR 2
40 #define REQUEST_RESERVED 3
43 #define REQUEST_TO_DEVICE 0
44 #define REQUEST_TO_INTERFACE 1
45 #define REQUEST_TO_ENDPOINT 2
46 #define REQUEST_TO_OTHER 3
59 #define USB_REQUEST_GET_STATUS 0
60 #define USB_REQUEST_CLEAR_FEATURE 1
61 #define USB_REQUEST_SET_FEATURE 3
62 #define USB_REQUEST_SET_ADDRESS 5
63 #define USB_REQUEST_GET_DESCRIPTOR 6
64 #define USB_REQUEST_SET_DESCRIPTOR 7
65 #define USB_REQUEST_GET_CONFIGURATION 8
66 #define USB_REQUEST_SET_CONFIGURATION 9
67 #define USB_REQUEST_GET_INTERFACE 10
68 #define USB_REQUEST_SET_INTERFACE 11
69 #define USB_REQUEST_SYNC_FRAME 12
72 #define USB_GETSTATUS_SELF_POWERED 0x01
73 #define USB_GETSTATUS_REMOTE_WAKEUP 0x02
74 #define USB_GETSTATUS_ENDPOINT_STALL 0x01
77 #define USB_FEATURE_ENDPOINT_STALL 0
78 #define USB_FEATURE_REMOTE_WAKEUP 1
91 #define USB_DEVICE_DESCRIPTOR_TYPE 1
92 #define USB_CONFIGURATION_DESCRIPTOR_TYPE 2
93 #define USB_STRING_DESCRIPTOR_TYPE 3
94 #define USB_INTERFACE_DESCRIPTOR_TYPE 4
95 #define USB_ENDPOINT_DESCRIPTOR_TYPE 5
96 #define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE 6
97 #define USB_OTHER_SPEED_CONFIG_DESCRIPTOR_TYPE 7
98 #define USB_INTERFACE_POWER_DESCRIPTOR_TYPE 8
99 #define USB_OTG_DESCRIPTOR_TYPE 9
100 #define USB_DEBUG_DESCRIPTOR_TYPE 10
101 #define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE 11
104 #define USB_DEVICE_CLASS_RESERVED 0x00
105 #define USB_DEVICE_CLASS_AUDIO 0x01
106 #define USB_DEVICE_CLASS_COMMUNICATIONS 0x02
107 #define USB_DEVICE_CLASS_HUMAN_INTERFACE 0x03
108 #define USB_DEVICE_CLASS_MONITOR 0x04
109 #define USB_DEVICE_CLASS_PHYSICAL_INTERFACE 0x05
110 #define USB_DEVICE_CLASS_POWER 0x06
111 #define USB_DEVICE_CLASS_PRINTER 0x07
112 #define USB_DEVICE_CLASS_STORAGE 0x08
113 #define USB_DEVICE_CLASS_HUB 0x09
114 #define USB_DEVICE_CLASS_MISCELLANEOUS 0xEF
115 #define USB_DEVICE_CLASS_VENDOR_SPECIFIC 0xFF
118 #define USB_CONFIG_POWERED_MASK 0x40
119 #define USB_CONFIG_BUS_POWERED 0x80
120 #define USB_CONFIG_SELF_POWERED 0xC0
121 #define USB_CONFIG_REMOTE_WAKEUP 0x20
124 #define USB_CONFIG_POWER_MA(mA) ((mA)/2)
127 #define USB_ENDPOINT_DIRECTION_MASK 0x80
128 #define USB_ENDPOINT_OUT(addr) ((addr) | 0x00)
129 #define USB_ENDPOINT_IN(addr) ((addr) | 0x80)
132 #define USB_ENDPOINT_TYPE_MASK 0x03
133 #define USB_ENDPOINT_TYPE_CONTROL 0x00
134 #define USB_ENDPOINT_TYPE_ISOCHRONOUS 0x01
135 #define USB_ENDPOINT_TYPE_BULK 0x02
136 #define USB_ENDPOINT_TYPE_INTERRUPT 0x03
137 #define USB_ENDPOINT_SYNC_MASK 0x0C
138 #define USB_ENDPOINT_SYNC_NO_SYNCHRONIZATION 0x00
139 #define USB_ENDPOINT_SYNC_ASYNCHRONOUS 0x04
140 #define USB_ENDPOINT_SYNC_ADAPTIVE 0x08
141 #define USB_ENDPOINT_SYNC_SYNCHRONOUS 0x0C
142 #define USB_ENDPOINT_USAGE_MASK 0x30
143 #define USB_ENDPOINT_USAGE_DATA 0x00
144 #define USB_ENDPOINT_USAGE_FEEDBACK 0x10
145 #define USB_ENDPOINT_USAGE_IMPLICIT_FEEDBACK 0x20
146 #define USB_ENDPOINT_USAGE_RESERVED 0x30
uint16_t bcdDevice
Definition: usb.h:159
uint8_t bDeviceSubClass
Definition: usb.h:172
uint8_t bDeviceClass
Definition: usb.h:171
uint8_t bLength
Definition: usb.h:181
uint8_t bDescriptorType
Definition: usb.h:182
uint16_t wMaxPacketSize
Definition: usb.h:210
uint8_t bInterfaceSubClass
Definition: usb.h:199
uint16_t bcdUSB
Definition: usb.h:170
uint16_t bString
Definition: usb.h:63
uint8_t bMaxPacketSize0
Definition: usb.h:156
WORD_BYTE wValue
Definition: usb.h:84
uint8_t Type
Definition: usb.h:52
uint8_t iSerialNumber
Definition: usb.h:162
uint8_t bLength
Definition: usb.h:216
uint8_t bAlternateSetting
Definition: usb.h:196
uint8_t iInterface
Definition: usb.h:201
uint8_t iConfiguration
Definition: usb.h:186
REQUEST_TYPE bmRequestType
Definition: usb.h:82
uint8_t bLength
Definition: usb.h:223
uint16_t idVendor
Definition: usb.h:157
uint8_t bmAttributes
Definition: usb.h:187
struct _REQUEST_TYPE::_BM __attribute__((packed)) BM
uint8_t H
Definition: usb.h:26
uint16_t idProduct
Definition: usb.h:158
uint8_t bDescriptorType
Definition: usb.h:169
uint8_t iManufacturer
Definition: usb.h:160
uint8_t Recipient
Definition: usb.h:51
uint8_t bEndpointAddress
Definition: usb.h:208
uint8_t bDescriptorType
Definition: usb.h:207
uint8_t bDescriptorType
Definition: usb.h:151
uint8_t bLength
Definition: usb.h:193
uint8_t bNumConfigurations
Definition: usb.h:175
unsigned char uint8_t
Definition: type.h:27
uint8_t bNumEndpoints
Definition: usb.h:197
uint8_t bInterfaceClass
Definition: usb.h:198
uint16_t bcdUSB
Definition: usb.h:152
uint8_t bmAttributes
Definition: usb.h:209
uint8_t bConfigurationValue
Definition: usb.h:185
uint8_t bDeviceClass
Definition: usb.h:153
uint8_t bDescriptorType
Definition: usb.h:224
uint8_t bLength
Definition: usb.h:168
uint8_t bDeviceProtocol
Definition: usb.h:173
uint8_t L
Definition: usb.h:25
uint8_t bRequest
Definition: usb.h:83
uint8_t bLength
Definition: usb.h:206
uint8_t bNumConfigurations
Definition: usb.h:163
uint8_t bLength
Definition: usb.h:150
uint8_t bDeviceSubClass
Definition: usb.h:154
uint16_t wTotalLength
Definition: usb.h:183
uint8_t bInterfaceProtocol
Definition: usb.h:200
unsigned short int uint16_t
Definition: type.h:28
WORD_BYTE wIndex
Definition: usb.h:85
uint8_t bInterval
Definition: usb.h:211
uint8_t bDescriptorType
Definition: usb.h:194
uint8_t bMaxPower
Definition: usb.h:188
typedef __attribute__
Definition: cr_startup_lpc13xx.c:254
uint8_t bReserved
Definition: usb.h:176
uint8_t iProduct
Definition: usb.h:161
uint8_t bMaxPacketSize0
Definition: usb.h:174
uint8_t B
Definition: usb.h:55
uint8_t bNumInterfaces
Definition: usb.h:184
uint8_t bDeviceProtocol
Definition: usb.h:155
uint16_t W
Definition: usb.h:24
uint8_t bInterfaceNumber
Definition: usb.h:195
uint16_t wLength
Definition: usb.h:86
uint8_t bDescriptorType
Definition: usb.h:217
uint8_t Dir
Definition: usb.h:53