Data Structures | |
struct | USB_Request_Header_t |
Defines | |
#define | CONTROL_REQTYPE_DIRECTION 0x80 |
#define | CONTROL_REQTYPE_TYPE 0x60 |
#define | CONTROL_REQTYPE_RECIPIENT 0x1F |
#define | REQDIR_HOSTTODEVICE (0 << 7) |
#define | REQDIR_DEVICETOHOST (1 << 7) |
#define | REQTYPE_STANDARD (0 << 5) |
#define | REQTYPE_CLASS (1 << 5) |
#define | REQTYPE_VENDOR (2 << 5) |
#define | REQREC_DEVICE (0 << 0) |
#define | REQREC_INTERFACE (1 << 0) |
#define | REQREC_ENDPOINT (2 << 0) |
#define | REQREC_OTHER (3 << 0) |
#define | FEATURE_ENDPOINT_HALT 0x00 |
#define | FEATURE_REMOTE_WAKEUP 0x01 |
Enumerations | |
enum | USB_Control_Request_t { REQ_GetStatus = 0, REQ_ClearFeature = 1, REQ_SetFeature = 3, REQ_SetAddress = 5, REQ_GetDescriptor = 6, REQ_SetDescriptor = 7, REQ_GetConfiguration = 8, REQ_SetConfiguration = 9, REQ_GetInterface = 10, REQ_SetInterface = 11, REQ_SynchFrame = 12 } |
#define CONTROL_REQTYPE_DIRECTION 0x80 |
Mask for the request type parameter, to indicate the direction of the request data (Host to Device or Device to Host). The result of this mask should then be compared to the request direction masks.
#define CONTROL_REQTYPE_RECIPIENT 0x1F |
Mask for the request type parameter, to indicate the recipient of the request (Standard, Class or Vendor Specific). The result of this mask should then be compared to the request recipient masks.
#define CONTROL_REQTYPE_TYPE 0x60 |
Mask for the request type parameter, to indicate the type of request (Device, Class or Vendor Specific). The result of this mask should then be compared to the request type masks.
#define FEATURE_ENDPOINT_HALT 0x00 |
Feature indicator for Clear Feature or Set Feature commands. When used in a Clear Feature request this indicates that an endpoint (whose address is given elsewhere in the request should have its stall condition cleared. If used in a similar manner inside a Set Feature request, this stalls an endpoint.
#define FEATURE_REMOTE_WAKEUP 0x01 |
Feature indicator for Clear Feature or Set Feature commands. When used in a Clear Feature request this indicates that the remote wakeup enabled device should not issue remote wakeup requests until further notice. If used in a similar manner inside a Set Feature request, this re-enabled the remote wakeup feature on the device.
#define REQDIR_DEVICETOHOST (1 << 7) |
Request data direction mask, indicating that the request data will flow from device to host.
#define REQDIR_HOSTTODEVICE (0 << 7) |
Request data direction mask, indicating that the request data will flow from host to device.
#define REQREC_DEVICE (0 << 0) |
Request recipient mask, indicating that the request is to be issued to the device as a whole.
#define REQREC_ENDPOINT (2 << 0) |
Request recipient mask, indicating that the request is to be issued to an endpoint in the currently selected configuration.
#define REQREC_INTERFACE (1 << 0) |
Request recipient mask, indicating that the request is to be issued to an interface in the currently selected configuration.
#define REQREC_OTHER (3 << 0) |
Request recipient mask, indicating that the request is to be issued to an unspecified element in the currently selected configuration.
#define REQTYPE_CLASS (1 << 5) |
Request type mask, indicating that the request is a class-specific request.
#define REQTYPE_STANDARD (0 << 5) |
Request type mask, indicating that the request is a standard request.
#define REQTYPE_VENDOR (2 << 5) |
Request type mask, indicating that the request is a vendor specific request.
Enumeration for the various standard request commands. These commands are applicable when the request type is REQTYPE_STANDARD (with the exception of REQ_GetDescriptor, which is always handled regardless of the request type value).
REQ_GetStatus | Implemented in the library for device, endpoint and interface recipients. Passed to the user application for other recipients via the USB_UnhandledControlPacket() event when received in device mode. |
REQ_ClearFeature | Implemented in the library for device, endpoint and interface recipients. Passed to the user application for other recipients via the USB_UnhandledControlPacket() event when received in device mode. |
REQ_SetFeature | Implemented in the library for device, endpoint and interface recipients. Passed to the user application for other recipients via the USB_UnhandledControlPacket() event when received in device mode. |
REQ_SetAddress | Implemented in the library for the device recipient. Passed to the user application for other recipients via the USB_UnhandledControlPacket() event when received in device mode. |
REQ_GetDescriptor | Implemented in the library for all recipients and all request types. |
REQ_SetDescriptor | Not implemented in the library, passed to the user application via the USB_UnhandledControlPacket() event when received in device mode. |
REQ_GetConfiguration | Implemented in the library for the device recipient. Passed to the user application for other recipients via the USB_UnhandledControlPacket() event when received in device mode. |
REQ_SetConfiguration | Implemented in the library for the device recipient. Passed to the user application for other recipients via the USB_UnhandledControlPacket() event when received in device mode. |
REQ_GetInterface | Not implemented in the library, passed to the user application via the USB_UnhandledControlPacket() event when received in device mode. |
REQ_SetInterface | Not implemented in the library, passed to the user application via the USB_UnhandledControlPacket() event when received in device mode. |
REQ_SynchFrame | Not implemented in the library, passed to the user application via the USB_UnhandledControlPacket() event when received in device mode. |