RT-AICHIPV3-sample
データ構造 | マクロ定義 | 関数 | 変数
usb.h ファイル
被依存関係図:

[ソースコード]

データ構造

union  __attribute__
 
union  _REQUEST_TYPE
 
struct  _REQUEST_TYPE::_BM
 
struct  _BM
 
struct  _USB_SETUP_PACKET
 
struct  _USB_DEVICE_DESCRIPTOR
 
struct  _USB_DEVICE_QUALIFIER_DESCRIPTOR
 
struct  _USB_CONFIGURATION_DESCRIPTOR
 
struct  _USB_INTERFACE_DESCRIPTOR
 
struct  _USB_ENDPOINT_DESCRIPTOR
 
struct  _USB_STRING_DESCRIPTOR
 
struct  _USB_COMMON_DESCRIPTOR
 

マクロ定義

#define REQUEST_HOST_TO_DEVICE   0
 
#define REQUEST_DEVICE_TO_HOST   1
 
#define REQUEST_STANDARD   0
 
#define REQUEST_CLASS   1
 
#define REQUEST_VENDOR   2
 
#define REQUEST_RESERVED   3
 
#define REQUEST_TO_DEVICE   0
 
#define REQUEST_TO_INTERFACE   1
 
#define REQUEST_TO_ENDPOINT   2
 
#define REQUEST_TO_OTHER   3
 
#define USB_REQUEST_GET_STATUS   0
 
#define USB_REQUEST_CLEAR_FEATURE   1
 
#define USB_REQUEST_SET_FEATURE   3
 
#define USB_REQUEST_SET_ADDRESS   5
 
#define USB_REQUEST_GET_DESCRIPTOR   6
 
#define USB_REQUEST_SET_DESCRIPTOR   7
 
#define USB_REQUEST_GET_CONFIGURATION   8
 
#define USB_REQUEST_SET_CONFIGURATION   9
 
#define USB_REQUEST_GET_INTERFACE   10
 
#define USB_REQUEST_SET_INTERFACE   11
 
#define USB_REQUEST_SYNC_FRAME   12
 
#define USB_GETSTATUS_SELF_POWERED   0x01
 
#define USB_GETSTATUS_REMOTE_WAKEUP   0x02
 
#define USB_GETSTATUS_ENDPOINT_STALL   0x01
 
#define USB_FEATURE_ENDPOINT_STALL   0
 
#define USB_FEATURE_REMOTE_WAKEUP   1
 
#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_DESCRIPTOR_TYPE   6
 
#define USB_OTHER_SPEED_CONFIG_DESCRIPTOR_TYPE   7
 
#define USB_INTERFACE_POWER_DESCRIPTOR_TYPE   8
 
#define USB_OTG_DESCRIPTOR_TYPE   9
 
#define USB_DEBUG_DESCRIPTOR_TYPE   10
 
#define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE   11
 
#define USB_DEVICE_CLASS_RESERVED   0x00
 
#define USB_DEVICE_CLASS_AUDIO   0x01
 
#define USB_DEVICE_CLASS_COMMUNICATIONS   0x02
 
#define USB_DEVICE_CLASS_HUMAN_INTERFACE   0x03
 
#define USB_DEVICE_CLASS_MONITOR   0x04
 
#define USB_DEVICE_CLASS_PHYSICAL_INTERFACE   0x05
 
#define USB_DEVICE_CLASS_POWER   0x06
 
#define USB_DEVICE_CLASS_PRINTER   0x07
 
#define USB_DEVICE_CLASS_STORAGE   0x08
 
#define USB_DEVICE_CLASS_HUB   0x09
 
#define USB_DEVICE_CLASS_MISCELLANEOUS   0xEF
 
#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_ENDPOINT_DIRECTION_MASK   0x80
 
#define USB_ENDPOINT_OUT(addr)   ((addr) | 0x00)
 
#define USB_ENDPOINT_IN(addr)   ((addr) | 0x80)
 
#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 USB_ENDPOINT_SYNC_MASK   0x0C
 
#define USB_ENDPOINT_SYNC_NO_SYNCHRONIZATION   0x00
 
#define USB_ENDPOINT_SYNC_ASYNCHRONOUS   0x04
 
#define USB_ENDPOINT_SYNC_ADAPTIVE   0x08
 
#define USB_ENDPOINT_SYNC_SYNCHRONOUS   0x0C
 
#define USB_ENDPOINT_USAGE_MASK   0x30
 
#define USB_ENDPOINT_USAGE_DATA   0x00
 
#define USB_ENDPOINT_USAGE_FEEDBACK   0x10
 
#define USB_ENDPOINT_USAGE_IMPLICIT_FEEDBACK   0x20
 
#define USB_ENDPOINT_USAGE_RESERVED   0x30
 

関数

union _REQUEST_TYPE __attribute__ ((packed)) REQUEST_TYPE
 

変数

typedef __attribute__
 
uint8_t L
 
uint8_t H
 
uint8_t Recipient
 
uint8_t Type
 
uint8_t Dir
 
uint8_t B
 
REQUEST_TYPE bmRequestType
 
uint8_t bRequest
 
WORD_BYTE wValue
 
WORD_BYTE wIndex
 
uint16_t wLength
 
uint8_t bLength
 
uint8_t bDescriptorType
 
uint16_t bcdUSB
 
uint8_t bDeviceClass
 
uint8_t bDeviceSubClass
 
uint8_t bDeviceProtocol
 
uint8_t bMaxPacketSize0
 
uint16_t idVendor
 
uint16_t idProduct
 
uint16_t bcdDevice
 
uint8_t iManufacturer
 
uint8_t iProduct
 
uint8_t iSerialNumber
 
uint8_t bNumConfigurations
 
uint8_t bReserved
 
uint16_t wTotalLength
 
uint8_t bNumInterfaces
 
uint8_t bConfigurationValue
 
uint8_t iConfiguration
 
uint8_t bmAttributes
 
uint8_t bMaxPower
 
uint8_t bInterfaceNumber
 
uint8_t bAlternateSetting
 
uint8_t bNumEndpoints
 
uint8_t bInterfaceClass
 
uint8_t bInterfaceSubClass
 
uint8_t bInterfaceProtocol
 
uint8_t iInterface
 
uint8_t bEndpointAddress
 
uint16_t wMaxPacketSize
 
uint8_t bInterval
 
uint16_t bString
 

マクロ定義詳解

◆ REQUEST_CLASS

#define REQUEST_CLASS   1

◆ REQUEST_DEVICE_TO_HOST

#define REQUEST_DEVICE_TO_HOST   1

◆ REQUEST_HOST_TO_DEVICE

#define REQUEST_HOST_TO_DEVICE   0

◆ REQUEST_RESERVED

#define REQUEST_RESERVED   3

◆ REQUEST_STANDARD

#define REQUEST_STANDARD   0

◆ REQUEST_TO_DEVICE

#define REQUEST_TO_DEVICE   0

◆ REQUEST_TO_ENDPOINT

#define REQUEST_TO_ENDPOINT   2

◆ REQUEST_TO_INTERFACE

#define REQUEST_TO_INTERFACE   1

◆ REQUEST_TO_OTHER

#define REQUEST_TO_OTHER   3

◆ REQUEST_VENDOR

#define REQUEST_VENDOR   2

◆ USB_CONFIG_BUS_POWERED

#define USB_CONFIG_BUS_POWERED   0x80

◆ 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_DEBUG_DESCRIPTOR_TYPE

#define USB_DEBUG_DESCRIPTOR_TYPE   10

◆ USB_DEVICE_CLASS_AUDIO

#define USB_DEVICE_CLASS_AUDIO   0x01

◆ USB_DEVICE_CLASS_COMMUNICATIONS

#define USB_DEVICE_CLASS_COMMUNICATIONS   0x02

◆ USB_DEVICE_CLASS_HUB

#define USB_DEVICE_CLASS_HUB   0x09

◆ USB_DEVICE_CLASS_HUMAN_INTERFACE

#define USB_DEVICE_CLASS_HUMAN_INTERFACE   0x03

◆ USB_DEVICE_CLASS_MISCELLANEOUS

#define USB_DEVICE_CLASS_MISCELLANEOUS   0xEF

◆ USB_DEVICE_CLASS_MONITOR

#define USB_DEVICE_CLASS_MONITOR   0x04

◆ USB_DEVICE_CLASS_PHYSICAL_INTERFACE

#define USB_DEVICE_CLASS_PHYSICAL_INTERFACE   0x05

◆ USB_DEVICE_CLASS_POWER

#define USB_DEVICE_CLASS_POWER   0x06

◆ USB_DEVICE_CLASS_PRINTER

#define USB_DEVICE_CLASS_PRINTER   0x07

◆ USB_DEVICE_CLASS_RESERVED

#define USB_DEVICE_CLASS_RESERVED   0x00

◆ 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_DESCRIPTOR_TYPE

#define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE   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_SYNC_ADAPTIVE

#define USB_ENDPOINT_SYNC_ADAPTIVE   0x08

◆ USB_ENDPOINT_SYNC_ASYNCHRONOUS

#define USB_ENDPOINT_SYNC_ASYNCHRONOUS   0x04

◆ USB_ENDPOINT_SYNC_MASK

#define USB_ENDPOINT_SYNC_MASK   0x0C

◆ USB_ENDPOINT_SYNC_NO_SYNCHRONIZATION

#define USB_ENDPOINT_SYNC_NO_SYNCHRONIZATION   0x00

◆ USB_ENDPOINT_SYNC_SYNCHRONOUS

#define USB_ENDPOINT_SYNC_SYNCHRONOUS   0x0C

◆ 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_ENDPOINT_USAGE_DATA

#define USB_ENDPOINT_USAGE_DATA   0x00

◆ USB_ENDPOINT_USAGE_FEEDBACK

#define USB_ENDPOINT_USAGE_FEEDBACK   0x10

◆ USB_ENDPOINT_USAGE_IMPLICIT_FEEDBACK

#define USB_ENDPOINT_USAGE_IMPLICIT_FEEDBACK   0x20

◆ USB_ENDPOINT_USAGE_MASK

#define USB_ENDPOINT_USAGE_MASK   0x30

◆ USB_ENDPOINT_USAGE_RESERVED

#define USB_ENDPOINT_USAGE_RESERVED   0x30

◆ USB_FEATURE_ENDPOINT_STALL

#define USB_FEATURE_ENDPOINT_STALL   0

◆ USB_FEATURE_REMOTE_WAKEUP

#define USB_FEATURE_REMOTE_WAKEUP   1

◆ USB_GETSTATUS_ENDPOINT_STALL

#define USB_GETSTATUS_ENDPOINT_STALL   0x01

◆ USB_GETSTATUS_REMOTE_WAKEUP

#define USB_GETSTATUS_REMOTE_WAKEUP   0x02

◆ USB_GETSTATUS_SELF_POWERED

#define USB_GETSTATUS_SELF_POWERED   0x01

◆ USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE

#define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE   11

◆ USB_INTERFACE_DESCRIPTOR_TYPE

#define USB_INTERFACE_DESCRIPTOR_TYPE   4

◆ USB_INTERFACE_POWER_DESCRIPTOR_TYPE

#define USB_INTERFACE_POWER_DESCRIPTOR_TYPE   8

◆ USB_OTG_DESCRIPTOR_TYPE

#define USB_OTG_DESCRIPTOR_TYPE   9

◆ USB_OTHER_SPEED_CONFIG_DESCRIPTOR_TYPE

#define USB_OTHER_SPEED_CONFIG_DESCRIPTOR_TYPE   7

◆ USB_REQUEST_CLEAR_FEATURE

#define USB_REQUEST_CLEAR_FEATURE   1

◆ USB_REQUEST_GET_CONFIGURATION

#define USB_REQUEST_GET_CONFIGURATION   8

◆ USB_REQUEST_GET_DESCRIPTOR

#define USB_REQUEST_GET_DESCRIPTOR   6

◆ USB_REQUEST_GET_INTERFACE

#define USB_REQUEST_GET_INTERFACE   10

◆ USB_REQUEST_GET_STATUS

#define USB_REQUEST_GET_STATUS   0

◆ USB_REQUEST_SET_ADDRESS

#define USB_REQUEST_SET_ADDRESS   5

◆ USB_REQUEST_SET_CONFIGURATION

#define USB_REQUEST_SET_CONFIGURATION   9

◆ USB_REQUEST_SET_DESCRIPTOR

#define USB_REQUEST_SET_DESCRIPTOR   7

◆ USB_REQUEST_SET_FEATURE

#define USB_REQUEST_SET_FEATURE   3

◆ USB_REQUEST_SET_INTERFACE

#define USB_REQUEST_SET_INTERFACE   11

◆ USB_REQUEST_SYNC_FRAME

#define USB_REQUEST_SYNC_FRAME   12

◆ USB_STRING_DESCRIPTOR_TYPE

#define USB_STRING_DESCRIPTOR_TYPE   3

関数詳解

◆ __attribute__()

union _REQUEST_TYPE __attribute__ ( (packed)  )

変数詳解

◆ __attribute__

◆ B

◆ bAlternateSetting

uint8_t bAlternateSetting

◆ bcdDevice

uint16_t bcdDevice

◆ bcdUSB

uint16_t bcdUSB

◆ bConfigurationValue

uint8_t bConfigurationValue

◆ bDescriptorType

uint8_t bDescriptorType

◆ bDeviceClass

uint8_t bDeviceClass

◆ bDeviceProtocol

uint8_t bDeviceProtocol

◆ bDeviceSubClass

uint8_t bDeviceSubClass

◆ bEndpointAddress

uint8_t bEndpointAddress

◆ bInterfaceClass

uint8_t bInterfaceClass

◆ bInterfaceNumber

uint8_t bInterfaceNumber

◆ bInterfaceProtocol

uint8_t bInterfaceProtocol

◆ bInterfaceSubClass

uint8_t bInterfaceSubClass

◆ bInterval

uint8_t bInterval

◆ bLength

uint8_t bLength

◆ bmAttributes

uint8_t bmAttributes

◆ bMaxPacketSize0

uint8_t bMaxPacketSize0

◆ bMaxPower

uint8_t bMaxPower

◆ bmRequestType

REQUEST_TYPE bmRequestType

◆ bNumConfigurations

uint8_t bNumConfigurations

◆ bNumEndpoints

uint8_t bNumEndpoints

◆ bNumInterfaces

uint8_t bNumInterfaces

◆ bRequest

uint8_t bRequest

◆ bReserved

uint8_t bReserved

◆ bString

uint16_t bString

◆ Dir

uint8_t Dir

◆ H

◆ iConfiguration

uint8_t iConfiguration

◆ idProduct

uint16_t idProduct

◆ idVendor

uint16_t idVendor

◆ iInterface

uint8_t iInterface

◆ iManufacturer

uint8_t iManufacturer

◆ iProduct

uint8_t iProduct

◆ iSerialNumber

uint8_t iSerialNumber

◆ L

◆ Recipient

uint8_t Recipient

◆ Type

uint8_t Type

◆ wIndex

WORD_BYTE wIndex

◆ wLength

uint16_t wLength

◆ wMaxPacketSize

uint16_t wMaxPacketSize

◆ wTotalLength

uint16_t wTotalLength

◆ wValue

WORD_BYTE wValue