Classes | Macros | Fonctions | Variables
Référence du fichier USBCore.h

Classes

struct  ConfigDescriptor
 
struct  InterfaceDescriptor
 
struct  EndpointDescriptor
 
struct  IADDescriptor
 
struct  CDCCSInterfaceDescriptor
 
struct  CDCCSInterfaceDescriptor4
 
struct  CMFunctionalDescriptor
 
struct  ACMFunctionalDescriptor
 
struct  CDCDescriptor
 
struct  MSCDescriptor
 

Macros

#define GET_STATUS   0
 
#define CLEAR_FEATURE   1
 
#define SET_FEATURE   3
 
#define SET_ADDRESS   5
 
#define GET_DESCRIPTOR   6
 
#define SET_DESCRIPTOR   7
 
#define GET_CONFIGURATION   8
 
#define SET_CONFIGURATION   9
 
#define GET_INTERFACE   10
 
#define SET_INTERFACE   11
 
#define USB_ENDPOINT_DIRECTION_MASK   0x80
 
#define USB_ENDPOINT_OUT(addr)   ((addr) | 0x00)
 
#define USB_ENDPOINT_IN(addr)   ((addr) | 0x80)
 
#define USB_ENDPOINTS   7
 
#define USB_ENDPOINT_TYPE_MASK   0x03
 
#define USB_ENDPOINT_TYPE_CONTROL   0x00
 
#define USB_ENDPOINT_TYPE_ISOCHRONOUS   0x01
 
#define USB_ENDPOINT_TYPE_BULK   0x02
 
#define USB_ENDPOINT_TYPE_INTERRUPT   0x03
 
#define REQUEST_HOSTTODEVICE   0x00
 
#define REQUEST_DEVICETOHOST   0x80
 
#define REQUEST_DIRECTION   0x80
 
#define REQUEST_STANDARD   0x00
 
#define REQUEST_CLASS   0x20
 
#define REQUEST_VENDOR   0x40
 
#define REQUEST_TYPE   0x60
 
#define REQUEST_DEVICE   0x00
 
#define REQUEST_INTERFACE   0x01
 
#define REQUEST_ENDPOINT   0x02
 
#define REQUEST_OTHER   0x03
 
#define REQUEST_RECIPIENT   0x1F
 
#define REQUEST_DEVICETOHOST_CLASS_INTERFACE   (REQUEST_DEVICETOHOST | REQUEST_CLASS | REQUEST_INTERFACE)
 
#define REQUEST_HOSTTODEVICE_CLASS_INTERFACE   (REQUEST_HOSTTODEVICE | REQUEST_CLASS | REQUEST_INTERFACE)
 
#define REQUEST_DEVICETOHOST_STANDARD_INTERFACE   (REQUEST_DEVICETOHOST | REQUEST_STANDARD | REQUEST_INTERFACE)
 
#define CDC_SET_LINE_CODING   0x20
 
#define CDC_GET_LINE_CODING   0x21
 
#define CDC_SET_CONTROL_LINE_STATE   0x22
 
#define CDC_SEND_BREAK   0x23
 
#define MSC_RESET   0xFF
 
#define MSC_GET_MAX_LUN   0xFE
 
#define USB_DEVICE_DESCRIPTOR_TYPE   1
 
#define USB_CONFIGURATION_DESCRIPTOR_TYPE   2
 
#define USB_STRING_DESCRIPTOR_TYPE   3
 
#define USB_INTERFACE_DESCRIPTOR_TYPE   4
 
#define USB_ENDPOINT_DESCRIPTOR_TYPE   5
 
#define USB_DEVICE_QUALIFIER   6
 
#define USB_OTHER_SPEED_CONFIGURATION   7
 
#define USB_DEVICE_CLASS_COMMUNICATIONS   0x02
 
#define USB_DEVICE_CLASS_HUMAN_INTERFACE   0x03
 
#define USB_DEVICE_CLASS_STORAGE   0x08
 
#define USB_DEVICE_CLASS_VENDOR_SPECIFIC   0xFF
 
#define USB_CONFIG_POWERED_MASK   0x40
 
#define USB_CONFIG_BUS_POWERED   0x80
 
#define USB_CONFIG_SELF_POWERED   0xC0
 
#define USB_CONFIG_REMOTE_WAKEUP   0x20
 
#define USB_CONFIG_POWER_MA(mA)   ((mA)/2)
 
#define USB_CONFIG_POWER   (500)
 
#define CDC_V1_10   0x0110
 
#define CDC_COMMUNICATION_INTERFACE_CLASS   0x02
 
#define CDC_CALL_MANAGEMENT   0x01
 
#define CDC_ABSTRACT_CONTROL_MODEL   0x02
 
#define CDC_HEADER   0x00
 
#define CDC_ABSTRACT_CONTROL_MANAGEMENT   0x02
 
#define CDC_UNION   0x06
 
#define CDC_CS_INTERFACE   0x24
 
#define CDC_CS_ENDPOINT   0x25
 
#define CDC_DATA_INTERFACE_CLASS   0x0A
 
#define MSC_SUBCLASS_SCSI   0x06
 
#define MSC_PROTOCOL_BULK_ONLY   0x50
 
#define D_DEVICE(_class, _subClass, _proto, _packetSize0, _vid, _pid, _version, _im, _ip, _is, _configs)   { 18, 1, 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs }
 
#define D_CONFIG(_totalLength, _interfaces)   { 9, 2, _totalLength,_interfaces, 1, 0, USB_CONFIG_BUS_POWERED | USB_CONFIG_REMOTE_WAKEUP, USB_CONFIG_POWER_MA(USB_CONFIG_POWER) }
 
#define D_INTERFACE(_n, _numEndpoints, _class, _subClass, _protocol)   { 9, 4, _n, 0, _numEndpoints, _class,_subClass, _protocol, 0 }
 
#define D_ENDPOINT(_addr, _attr, _packetSize, _interval)   { 7, 5, _addr,_attr,_packetSize, _interval }
 
#define D_IAD(_firstInterface, _count, _class, _subClass, _protocol)   { 8, 11, _firstInterface, _count, _class, _subClass, _protocol, 0 }
 
#define D_CDCCS(_subtype, _d0, _d1)   { 5, 0x24, _subtype, _d0, _d1 }
 
#define D_CDCCS4(_subtype, _d0)   { 4, 0x24, _subtype, _d0 }
 

Fonctions

 _Pragma ("pack(1)") typedef struct
 

Variables

 DeviceDescriptor
 

Documentation des macros

◆ CDC_ABSTRACT_CONTROL_MANAGEMENT

#define CDC_ABSTRACT_CONTROL_MANAGEMENT   0x02

◆ CDC_ABSTRACT_CONTROL_MODEL

#define CDC_ABSTRACT_CONTROL_MODEL   0x02

◆ CDC_CALL_MANAGEMENT

#define CDC_CALL_MANAGEMENT   0x01

◆ CDC_COMMUNICATION_INTERFACE_CLASS

#define CDC_COMMUNICATION_INTERFACE_CLASS   0x02

◆ CDC_CS_ENDPOINT

#define CDC_CS_ENDPOINT   0x25

◆ CDC_CS_INTERFACE

#define CDC_CS_INTERFACE   0x24

◆ CDC_DATA_INTERFACE_CLASS

#define CDC_DATA_INTERFACE_CLASS   0x0A

◆ CDC_GET_LINE_CODING

#define CDC_GET_LINE_CODING   0x21

◆ CDC_HEADER

#define CDC_HEADER   0x00

◆ CDC_SEND_BREAK

#define CDC_SEND_BREAK   0x23

◆ CDC_SET_CONTROL_LINE_STATE

#define CDC_SET_CONTROL_LINE_STATE   0x22

◆ CDC_SET_LINE_CODING

#define CDC_SET_LINE_CODING   0x20

◆ CDC_UNION

#define CDC_UNION   0x06

◆ CDC_V1_10

#define CDC_V1_10   0x0110

◆ CLEAR_FEATURE

#define CLEAR_FEATURE   1

◆ D_CDCCS

#define D_CDCCS (   _subtype,
  _d0,
  _d1 
)    { 5, 0x24, _subtype, _d0, _d1 }

◆ D_CDCCS4

#define D_CDCCS4 (   _subtype,
  _d0 
)    { 4, 0x24, _subtype, _d0 }

◆ D_CONFIG

#define D_CONFIG (   _totalLength,
  _interfaces 
)    { 9, 2, _totalLength,_interfaces, 1, 0, USB_CONFIG_BUS_POWERED | USB_CONFIG_REMOTE_WAKEUP, USB_CONFIG_POWER_MA(USB_CONFIG_POWER) }

◆ D_DEVICE

#define D_DEVICE (   _class,
  _subClass,
  _proto,
  _packetSize0,
  _vid,
  _pid,
  _version,
  _im,
  _ip,
  _is,
  _configs 
)    { 18, 1, 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs }

◆ D_ENDPOINT

#define D_ENDPOINT (   _addr,
  _attr,
  _packetSize,
  _interval 
)    { 7, 5, _addr,_attr,_packetSize, _interval }

◆ D_IAD

#define D_IAD (   _firstInterface,
  _count,
  _class,
  _subClass,
  _protocol 
)    { 8, 11, _firstInterface, _count, _class, _subClass, _protocol, 0 }

◆ D_INTERFACE

#define D_INTERFACE (   _n,
  _numEndpoints,
  _class,
  _subClass,
  _protocol 
)    { 9, 4, _n, 0, _numEndpoints, _class,_subClass, _protocol, 0 }

◆ GET_CONFIGURATION

#define GET_CONFIGURATION   8

◆ GET_DESCRIPTOR

#define GET_DESCRIPTOR   6

◆ GET_INTERFACE

#define GET_INTERFACE   10

◆ GET_STATUS

#define GET_STATUS   0

◆ MSC_GET_MAX_LUN

#define MSC_GET_MAX_LUN   0xFE

◆ MSC_PROTOCOL_BULK_ONLY

#define MSC_PROTOCOL_BULK_ONLY   0x50

◆ MSC_RESET

#define MSC_RESET   0xFF

◆ MSC_SUBCLASS_SCSI

#define MSC_SUBCLASS_SCSI   0x06

◆ REQUEST_CLASS

#define REQUEST_CLASS   0x20

◆ REQUEST_DEVICE

#define REQUEST_DEVICE   0x00

◆ REQUEST_DEVICETOHOST

#define REQUEST_DEVICETOHOST   0x80

◆ REQUEST_DEVICETOHOST_CLASS_INTERFACE

#define REQUEST_DEVICETOHOST_CLASS_INTERFACE   (REQUEST_DEVICETOHOST | REQUEST_CLASS | REQUEST_INTERFACE)

◆ REQUEST_DEVICETOHOST_STANDARD_INTERFACE

#define REQUEST_DEVICETOHOST_STANDARD_INTERFACE   (REQUEST_DEVICETOHOST | REQUEST_STANDARD | REQUEST_INTERFACE)

◆ REQUEST_DIRECTION

#define REQUEST_DIRECTION   0x80

◆ REQUEST_ENDPOINT

#define REQUEST_ENDPOINT   0x02

◆ REQUEST_HOSTTODEVICE

#define REQUEST_HOSTTODEVICE   0x00

◆ REQUEST_HOSTTODEVICE_CLASS_INTERFACE

#define REQUEST_HOSTTODEVICE_CLASS_INTERFACE   (REQUEST_HOSTTODEVICE | REQUEST_CLASS | REQUEST_INTERFACE)

◆ REQUEST_INTERFACE

#define REQUEST_INTERFACE   0x01

◆ REQUEST_OTHER

#define REQUEST_OTHER   0x03

◆ REQUEST_RECIPIENT

#define REQUEST_RECIPIENT   0x1F

◆ REQUEST_STANDARD

#define REQUEST_STANDARD   0x00

◆ REQUEST_TYPE

#define REQUEST_TYPE   0x60

◆ REQUEST_VENDOR

#define REQUEST_VENDOR   0x40

◆ SET_ADDRESS

#define SET_ADDRESS   5

◆ SET_CONFIGURATION

#define SET_CONFIGURATION   9

◆ SET_DESCRIPTOR

#define SET_DESCRIPTOR   7

◆ SET_FEATURE

#define SET_FEATURE   3

◆ SET_INTERFACE

#define SET_INTERFACE   11

◆ USB_CONFIG_BUS_POWERED

#define USB_CONFIG_BUS_POWERED   0x80

◆ USB_CONFIG_POWER

#define USB_CONFIG_POWER   (500)

◆ USB_CONFIG_POWER_MA

#define USB_CONFIG_POWER_MA (   mA)    ((mA)/2)

◆ USB_CONFIG_POWERED_MASK

#define USB_CONFIG_POWERED_MASK   0x40

◆ USB_CONFIG_REMOTE_WAKEUP

#define USB_CONFIG_REMOTE_WAKEUP   0x20

◆ USB_CONFIG_SELF_POWERED

#define USB_CONFIG_SELF_POWERED   0xC0

◆ USB_CONFIGURATION_DESCRIPTOR_TYPE

#define USB_CONFIGURATION_DESCRIPTOR_TYPE   2

◆ USB_DEVICE_CLASS_COMMUNICATIONS

#define USB_DEVICE_CLASS_COMMUNICATIONS   0x02

◆ USB_DEVICE_CLASS_HUMAN_INTERFACE

#define USB_DEVICE_CLASS_HUMAN_INTERFACE   0x03

◆ USB_DEVICE_CLASS_STORAGE

#define USB_DEVICE_CLASS_STORAGE   0x08

◆ USB_DEVICE_CLASS_VENDOR_SPECIFIC

#define USB_DEVICE_CLASS_VENDOR_SPECIFIC   0xFF

◆ USB_DEVICE_DESCRIPTOR_TYPE

#define USB_DEVICE_DESCRIPTOR_TYPE   1

◆ USB_DEVICE_QUALIFIER

#define USB_DEVICE_QUALIFIER   6

◆ USB_ENDPOINT_DESCRIPTOR_TYPE

#define USB_ENDPOINT_DESCRIPTOR_TYPE   5

◆ USB_ENDPOINT_DIRECTION_MASK

#define USB_ENDPOINT_DIRECTION_MASK   0x80

◆ USB_ENDPOINT_IN

#define USB_ENDPOINT_IN (   addr)    ((addr) | 0x80)

◆ USB_ENDPOINT_OUT

#define USB_ENDPOINT_OUT (   addr)    ((addr) | 0x00)

◆ USB_ENDPOINT_TYPE_BULK

#define USB_ENDPOINT_TYPE_BULK   0x02

◆ USB_ENDPOINT_TYPE_CONTROL

#define USB_ENDPOINT_TYPE_CONTROL   0x00

◆ USB_ENDPOINT_TYPE_INTERRUPT

#define USB_ENDPOINT_TYPE_INTERRUPT   0x03

◆ USB_ENDPOINT_TYPE_ISOCHRONOUS

#define USB_ENDPOINT_TYPE_ISOCHRONOUS   0x01

◆ USB_ENDPOINT_TYPE_MASK

#define USB_ENDPOINT_TYPE_MASK   0x03

◆ USB_ENDPOINTS

#define USB_ENDPOINTS   7

◆ USB_INTERFACE_DESCRIPTOR_TYPE

#define USB_INTERFACE_DESCRIPTOR_TYPE   4

◆ USB_OTHER_SPEED_CONFIGURATION

#define USB_OTHER_SPEED_CONFIGURATION   7

◆ USB_STRING_DESCRIPTOR_TYPE

#define USB_STRING_DESCRIPTOR_TYPE   3

Documentation des fonctions

◆ _Pragma()

_Pragma ( "pack(1)"  )

Documentation des variables

◆ DeviceDescriptor

DeviceDescriptor