RT-USB-THP  0
USB出力温湿気圧センサモジュールのサンプルプログラムに関する説明
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
 

マクロ定義詳解

#define REQUEST_CLASS   1
#define REQUEST_DEVICE_TO_HOST   1
#define REQUEST_HOST_TO_DEVICE   0
#define REQUEST_RESERVED   3
#define REQUEST_STANDARD   0
#define REQUEST_TO_DEVICE   0
#define REQUEST_TO_ENDPOINT   2
#define REQUEST_TO_INTERFACE   1
#define REQUEST_TO_OTHER   3
#define REQUEST_VENDOR   2
#define USB_CONFIG_BUS_POWERED   0x80
#define USB_CONFIG_POWER_MA (   mA)    ((mA)/2)
#define USB_CONFIG_POWERED_MASK   0x40
#define USB_CONFIG_REMOTE_WAKEUP   0x20
#define USB_CONFIG_SELF_POWERED   0xC0
#define USB_CONFIGURATION_DESCRIPTOR_TYPE   2
#define USB_DEBUG_DESCRIPTOR_TYPE   10
#define USB_DEVICE_CLASS_AUDIO   0x01
#define USB_DEVICE_CLASS_COMMUNICATIONS   0x02
#define USB_DEVICE_CLASS_HUB   0x09
#define USB_DEVICE_CLASS_HUMAN_INTERFACE   0x03
#define USB_DEVICE_CLASS_MISCELLANEOUS   0xEF
#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_RESERVED   0x00
#define USB_DEVICE_CLASS_STORAGE   0x08
#define USB_DEVICE_CLASS_VENDOR_SPECIFIC   0xFF
#define USB_DEVICE_DESCRIPTOR_TYPE   1
#define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE   6
#define USB_ENDPOINT_DESCRIPTOR_TYPE   5
#define USB_ENDPOINT_DIRECTION_MASK   0x80
#define USB_ENDPOINT_IN (   addr)    ((addr) | 0x80)
#define USB_ENDPOINT_OUT (   addr)    ((addr) | 0x00)
#define USB_ENDPOINT_SYNC_ADAPTIVE   0x08
#define USB_ENDPOINT_SYNC_ASYNCHRONOUS   0x04
#define USB_ENDPOINT_SYNC_MASK   0x0C
#define USB_ENDPOINT_SYNC_NO_SYNCHRONIZATION   0x00
#define USB_ENDPOINT_SYNC_SYNCHRONOUS   0x0C
#define USB_ENDPOINT_TYPE_BULK   0x02
#define USB_ENDPOINT_TYPE_CONTROL   0x00
#define USB_ENDPOINT_TYPE_INTERRUPT   0x03
#define USB_ENDPOINT_TYPE_ISOCHRONOUS   0x01
#define USB_ENDPOINT_TYPE_MASK   0x03
#define USB_ENDPOINT_USAGE_DATA   0x00
#define USB_ENDPOINT_USAGE_FEEDBACK   0x10
#define USB_ENDPOINT_USAGE_IMPLICIT_FEEDBACK   0x20
#define USB_ENDPOINT_USAGE_MASK   0x30
#define USB_ENDPOINT_USAGE_RESERVED   0x30
#define USB_FEATURE_ENDPOINT_STALL   0
#define USB_FEATURE_REMOTE_WAKEUP   1
#define USB_GETSTATUS_ENDPOINT_STALL   0x01
#define USB_GETSTATUS_REMOTE_WAKEUP   0x02
#define USB_GETSTATUS_SELF_POWERED   0x01
#define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE   11
#define USB_INTERFACE_DESCRIPTOR_TYPE   4
#define USB_INTERFACE_POWER_DESCRIPTOR_TYPE   8
#define USB_OTG_DESCRIPTOR_TYPE   9
#define USB_OTHER_SPEED_CONFIG_DESCRIPTOR_TYPE   7
#define USB_REQUEST_CLEAR_FEATURE   1
#define USB_REQUEST_GET_CONFIGURATION   8
#define USB_REQUEST_GET_DESCRIPTOR   6
#define USB_REQUEST_GET_INTERFACE   10
#define USB_REQUEST_GET_STATUS   0
#define USB_REQUEST_SET_ADDRESS   5
#define USB_REQUEST_SET_CONFIGURATION   9
#define USB_REQUEST_SET_DESCRIPTOR   7
#define USB_REQUEST_SET_FEATURE   3
#define USB_REQUEST_SET_INTERFACE   11
#define USB_REQUEST_SYNC_FRAME   12
#define USB_STRING_DESCRIPTOR_TYPE   3

関数詳解

union _REQUEST_TYPE __attribute__ ( (packed)  )

変数詳解

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