USBController.h File Reference

Go to the source code of this file.

Macros

Endpoint Direction Masks
#define ENDPOINT_DIR_MASK   0x80
 
#define ENDPOINT_DIR_OUT   0x00
 
#define ENDPOINT_DIR_IN   0x80
 
Endpoint/Pipe Type Masks
#define EP_TYPE_MASK   0x03
 
#define EP_TYPE_CONTROL   0x00
 
#define EP_TYPE_ISOCHRONOUS   0x01
 
#define EP_TYPE_BULK   0x02
 
#define EP_TYPE_INTERRUPT   0x03
 
#define EP_SYNC_TYPE_NO_SYNC   0
 
#define EP_SYNC_TYPE_ASYN   1
 
#define EP_SYNC_TYPE_ADAPTIVE   2
 
#define EP_SYNC_TYPE_SYNC   3
 
#define EP_USAGE_TYPE_DATA   0
 
#define EP_USAGE_TYPE_FEEDBACK   1
 
#define EP_USAGE_TYPE_FEEDBACK_DATA   2
 
#define EP_USAGE_TYPE_RSV   3
 

Macro Definition Documentation

◆ ENDPOINT_DIR_MASK

#define ENDPOINT_DIR_MASK   0x80

Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's direction for comparing with the ENDPOINT_DIR_* masks.

◆ ENDPOINT_DIR_OUT

#define ENDPOINT_DIR_OUT   0x00

Endpoint address direction mask for an OUT direction (Host to Device) endpoint. This may be ORed with the index of the address within a device to obtain the full endpoint address.

◆ ENDPOINT_DIR_IN

#define ENDPOINT_DIR_IN   0x80

Endpoint address direction mask for an IN direction (Device to Host) endpoint. This may be ORed with the index of the address within a device to obtain the full endpoint address.

◆ EP_TYPE_MASK

#define EP_TYPE_MASK   0x03

Mask for determining the type of an endpoint from an endpoint descriptor. This should then be compared with the EP_TYPE_* masks to determine the exact type of the endpoint.

◆ EP_TYPE_CONTROL

#define EP_TYPE_CONTROL   0x00

Mask for a CONTROL type endpoint or pipe.

Note
See Group_EndpointManagement and Group_PipeManagement for endpoint/pipe functions.

◆ EP_TYPE_ISOCHRONOUS

#define EP_TYPE_ISOCHRONOUS   0x01

Mask for an ISOCHRONOUS type endpoint or pipe.

Note
See Group_EndpointManagement and Group_PipeManagement for endpoint/pipe functions.

◆ EP_TYPE_BULK

#define EP_TYPE_BULK   0x02

Mask for a BULK type endpoint or pipe.

Note
See Group_EndpointManagement and Group_PipeManagement for endpoint/pipe functions.

◆ EP_TYPE_INTERRUPT

#define EP_TYPE_INTERRUPT   0x03

Mask for an INTERRUPT type endpoint or pipe.

Note
See Group_EndpointManagement and Group_PipeManagement for endpoint/pipe functions.

◆ EP_SYNC_TYPE_NO_SYNC

#define EP_SYNC_TYPE_NO_SYNC   0

If Isochronous endpoint, Bits 3..2 = Synchronisation Type (Iso Mode) 00 = No Synchonisation 01 = Asynchronous 10 = Adaptive 11 = Synchronous Bits 5..4 = Usage Type (Iso Mode) 00 = Data Endpoint 01 = Feedback Endpoint 10 = Explicit Feedback Data Endpoint 11 = Reserved

◆ EP_SYNC_TYPE_ASYN

#define EP_SYNC_TYPE_ASYN   1

◆ EP_SYNC_TYPE_ADAPTIVE

#define EP_SYNC_TYPE_ADAPTIVE   2

◆ EP_SYNC_TYPE_SYNC

#define EP_SYNC_TYPE_SYNC   3

◆ EP_USAGE_TYPE_DATA

#define EP_USAGE_TYPE_DATA   0

◆ EP_USAGE_TYPE_FEEDBACK

#define EP_USAGE_TYPE_FEEDBACK   1

◆ EP_USAGE_TYPE_FEEDBACK_DATA

#define EP_USAGE_TYPE_FEEDBACK_DATA   2

◆ EP_USAGE_TYPE_RSV

#define EP_USAGE_TYPE_RSV   3