@si14/si-usbd
usbd Namespace Reference

Classes

class  UsbControlEndpoint
 USB control endpoint implementation class. More...
 
class  UsbDevice
 USB device base class. More...
 
class  UsbEndpoint
 USB endpoint base class. More...
 
class  UsbInterface
 USB interface base class. More...
 

Enumerations

enum  RequestRecipient { DEVICE = 0, INTERFACE = 1, ENDPOINT = 2, OTHER = 3 }
 
enum  RequestType { STANDARD = 0, CLASS = 1, VENDOR = 2 }
 
enum  RequestDirection { OUT = 0, IN = 1 }
 
enum  StringDescriptorID { MANUFACTURER = 1, PRODUCT = 2, SERIAL = 3, INTERFACE_BASE = 4 }
 
enum  EndpointTransferType { CONTROL = 0, ISOCHRONOUS = 1, BULK = 2, INTERRUPT = 3 }
 
enum  EndpointSynchronizationType { NO_SYNCHRONIZATION = 0, ASYNCHRONOUS = 1, ADAPTIVE = 2, SYNCHRONOUS = 3 }
 
enum  EndpointUsageType { DATA = 0, FEEDBACK = 1, IMPLICIT_FEEDBACK = 2 }
 

Functions

struct __attribute__ ((packed)) SetupData
 
void zeromem (void *mem, int length)
 

Variables

const int MAX_ENDPOINTS = 8
 
const int STD_REQUEST_GET_STATUS = 0x00
 
const int STD_REQUEST_SET_ADDRESS = 0x05
 
const int STD_REQUEST_GET_DESCRIPTOR = 0x06
 
const int STD_REQUEST_GET_CONFIGURATION = 0x08
 
const int STD_REQUEST_SET_CONFIGURATION = 0x09
 
const int DESCRIPTOR_TYPE_DEVICE = 0x01
 
const int DESCRIPTOR_TYPE_CONFIGURATION = 0x02
 
const int DESCRIPTOR_TYPE_STRING = 0x03
 
const int DESCRIPTOR_TYPE_INTERFACE = 0x04
 
const int DESCRIPTOR_TYPE_ENDPOINT = 0x05
 

Enumeration Type Documentation

◆ EndpointSynchronizationType

Enumerator
NO_SYNCHRONIZATION 
ASYNCHRONOUS 
ADAPTIVE 
SYNCHRONOUS 

◆ EndpointTransferType

Enumerator
CONTROL 
ISOCHRONOUS 
BULK 
INTERRUPT 

◆ EndpointUsageType

Enumerator
DATA 
FEEDBACK 
IMPLICIT_FEEDBACK 

◆ RequestDirection

Enumerator
OUT 
IN 

◆ RequestRecipient

Enumerator
DEVICE 
INTERFACE 
ENDPOINT 
OTHER 

◆ RequestType

Enumerator
STANDARD 
CLASS 
VENDOR 

◆ StringDescriptorID

Enumerator
MANUFACTURER 
PRODUCT 
SERIAL 
INTERFACE_BASE 

Function Documentation

◆ __attribute__()

struct usbd::__attribute__ ( (packed)  )

◆ zeromem()

void usbd::zeromem ( void *  mem,
int  length 
)

Variable Documentation

◆ DESCRIPTOR_TYPE_CONFIGURATION

const int usbd::DESCRIPTOR_TYPE_CONFIGURATION = 0x02

◆ DESCRIPTOR_TYPE_DEVICE

const int usbd::DESCRIPTOR_TYPE_DEVICE = 0x01

◆ DESCRIPTOR_TYPE_ENDPOINT

const int usbd::DESCRIPTOR_TYPE_ENDPOINT = 0x05

◆ DESCRIPTOR_TYPE_INTERFACE

const int usbd::DESCRIPTOR_TYPE_INTERFACE = 0x04

◆ DESCRIPTOR_TYPE_STRING

const int usbd::DESCRIPTOR_TYPE_STRING = 0x03

◆ MAX_ENDPOINTS

const int usbd::MAX_ENDPOINTS = 8

◆ STD_REQUEST_GET_CONFIGURATION

const int usbd::STD_REQUEST_GET_CONFIGURATION = 0x08

◆ STD_REQUEST_GET_DESCRIPTOR

const int usbd::STD_REQUEST_GET_DESCRIPTOR = 0x06

◆ STD_REQUEST_GET_STATUS

const int usbd::STD_REQUEST_GET_STATUS = 0x00

◆ STD_REQUEST_SET_ADDRESS

const int usbd::STD_REQUEST_SET_ADDRESS = 0x05

◆ STD_REQUEST_SET_CONFIGURATION

const int usbd::STD_REQUEST_SET_CONFIGURATION = 0x09