dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
USB standard types and definitions

USB Standard types and definitions. More...

Data Structures

struct  usb_device_desc
 
struct  usb_configuration_desc
 
struct  usb_interface_association_desc
 
struct  usb_interface_desc
 
struct  usb_hid_desc
 
struct  usb_endpoint_desc
 
struct  usb_setup_request
 
struct  usb_cdc_header_func_desc
 
struct  usb_cdc_callmgmt_func_desc
 
struct  usb_cdc_acm_func_desc
 
struct  usb_cdc_union_func_desc
 
struct  usb_string_langid
 
struct  usb_cdc_line_coding
 
struct  usb_cdc_serial_state_report
 

Macros

#define htousbs(v)   (v)
 
#define htousbl(v)   (v)
 
#define USB_EP_IN(ep)   ((uint8_t) (0x80 | ((ep) & 0xF)))
 
#define USB_EP_OUT(ep)   ((uint8_t) (0x00 | ((ep) & 0xF)))
 
#define HID_ITEM_TYPE_MAIN   0x0
 
#define HID_ITEM_TYPE_GLOBAL   0x1
 
#define HID_ITEM_TYPE_LOCAL   0x2
 
#define HID_ITEM_TYPE_RSVD   0x3
 
#define HID_TAG_GLOBAL_USAGE_PAGE   0x0 /* 0b0000 */
 
#define HID_TAG_GLOBAL_LOGICAL_MIN   0x1 /* 0b0001 */
 
#define HID_TAG_GLOBAL_LOGICAL_MAX   0x2 /* 0b0010 */
 
#define HID_TAG_GLOBAL_PHYS_MIN   0x3 /* 0b0011 */
 
#define HID_TAG_GLOBAL_PHYS_MAX   0x4 /* 0b0100 */
 
#define HID_TAG_GLOBAL_UNIT_EXP   0x5 /* 0b0101 */
 
#define HID_TAG_GLOBAL_UNIT   0x6 /* 0b0110 */
 
#define HID_TAG_GLOBAL_REPORT_SIZE   0x7 /* 0b0111 */
 
#define HID_TAG_GLOBAL_REPORT_ID   0x8 /* 0b1000 */
 
#define HID_TAG_GLOBAL_REPORT_CNT   0x9 /* 0b1001 */
 
#define HID_TAG_GLOBAL_PUSH   0xA /* 0b1010 */
 
#define HID_TAG_GLOBAL_POP   0xB /* 0b1011 */
 
#define HID_TAG_MAIN_INPUT   0x8 /* 0b1000 */
 
#define HID_TAG_MAIN_OUTPUT   0x9 /* 0b1001 */
 
#define HID_TAG_MAIN_COLLECTION   0xA /* 0b1010 */
 
#define HID_TAG_MAIN_FEATURE   0xB /* 0b1011 */
 
#define HID_TAG_MAIN_ENDCOLLECTION   0xC /* 0b1100 */
 
#define HID_TAG_LOCAL_USAGE   0x0 /* 0b0000 */
 
#define HID_TAG_LOCAL_USAGE_MIN   0x1 /* 0b0001 */
 
#define HID_TAG_LOCAL_USAGE_MAX   0x2 /* 0b0010 */
 
#define HID_TAG_LOCAL_DESIG_INDEX   0x3 /* 0b0011 */
 
#define HID_TAG_LOCAL_DESIG_MIN   0x4 /* 0b0100 */
 
#define HID_TAG_LOCAL_DESIG_MAX   0x5 /* 0b0101 */
 
#define HID_TAG_LOCAL_STRING_INDEX   0x7 /* 0b0111 */
 
#define HID_TAG_LOCAL_STRING_MIN   0x8 /* 0b1000 */
 
#define HID_TAG_LOCAL_STRING_MAX   0x9 /* 0b1001 */
 
#define HID_TAG_LOCAL_DELIMITER   0xA /* 0b1010 */
 
#define HID_TAG_RSVD   0xF /* 0b1111 */
 
#define HID_ITEM_SIZE_0   0
 
#define HID_ITEM_SIZE_1   1
 
#define HID_ITEM_SIZE_2   2
 
#define HID_ITEM_SIZE_4   3 /* Yes, 4 bytes is represented with a size field = 3 */
 
#define HID_SHORT_ITEM(tag, type, size)
 
#define HID_LONG_ITEM   HID_SHORT_ITEM(HID_TAG_RSVD, HID_ITEM_TYPE_RSVD, HID_ITEM_SIZE_2)
 
#define HID_MAIN_ITEM_0(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_MAIN, HID_ITEM_SIZE_0)
 
#define HID_MAIN_ITEM_1(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_MAIN, HID_ITEM_SIZE_1)
 
#define HID_MAIN_ITEM_2(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_MAIN, HID_ITEM_SIZE_2)
 
#define HID_MAIN_ITEM_4(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_MAIN, HID_ITEM_SIZE_4)
 
#define HID_GLOBAL_ITEM_0(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_GLOBAL, HID_ITEM_SIZE_0)
 
#define HID_GLOBAL_ITEM_1(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_GLOBAL, HID_ITEM_SIZE_1)
 
#define HID_GLOBAL_ITEM_2(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_GLOBAL, HID_ITEM_SIZE_2)
 
#define HID_GLOBAL_ITEM_4(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_GLOBAL, HID_ITEM_SIZE_4)
 
#define HID_LOCAL_ITEM_0(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_LOCAL, HID_ITEM_SIZE_0)
 
#define HID_LOCAL_ITEM_1(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_LOCAL, HID_ITEM_SIZE_1)
 
#define HID_LOCAL_ITEM_2(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_LOCAL, HID_ITEM_SIZE_2)
 
#define HID_LOCAL_ITEM_4(tag)   HID_SHORT_ITEM((tag), HID_ITEM_TYPE_LOCAL, HID_ITEM_SIZE_4)
 
#define USB_REQ_TYPE_STANDARD   0x00
 
#define USB_REQ_TYPE_CLASS   0x20
 
#define USB_REQ_TYPE_VENDOR   0x40
 
#define USB_REQ_TYPE_MASK   0x60
 
#define USB_REQ_RECIPIENT_DEVICE   0x00
 
#define USB_REQ_RECIPIENT_INTERFACE   0x01
 
#define USB_REQ_RECIPIENT_ENDPOINT   0x02
 
#define USB_REQ_RECIPIENT_MASK   0x03
 
#define USB_LANGID_ENGLISH_US   0x0409
 
#define USB_OP_DEVICE_VER(board_id, board_mode)
 

Enumerations

enum  usb_desc_types
 
enum  usb_interface_class
 
enum  usb_cdc_desc_subtypes
 
enum  usb_ep_attr
 
enum  usb_standard_requests {
  USB_REQ_GET_STATUS = 0x00, USB_REQ_CLEAR_FEATURE = 0x01, USB_REQ_SET_FEATURE = 0x03, USB_REQ_SET_ADDRESS = 0x05,
  USB_REQ_GET_DESCRIPTOR = 0x06, USB_REQ_SET_DESCRIPTOR = 0x07, USB_REQ_GET_CONFIGURATION = 0x08, USB_REQ_SET_CONFIGURATION = 0x09,
  USB_REQ_GET_INTERFACE = 0x0A, USB_REQ_SET_INTERFACE = 0x0B, USB_REQ_SYNCH_FRAME = 0x0C
}
 
enum  usb_hid_requests {
  USB_HID_REQ_GET_REPORT = 0x01, USB_HID_REQ_GET_IDLE = 0x02, USB_HID_REQ_GET_PROTOCOL = 0x03, USB_HID_REQ_SET_REPORT = 0x09,
  USB_HID_REQ_SET_IDLE = 0x0A, USB_HID_REQ_SET_PROTOCOL = 0x0B
}
 
enum  usb_cdc_requests { USB_CDC_REQ_SET_LINE_CODING = 0x20, USB_CDC_REQ_GET_LINE_CODING = 0x21, USB_CDC_REQ_SET_CONTROL_LINE_STATE = 0x22 }
 
enum  usb_cdc_line_coding_stop
 
enum  usb_cdc_line_coding_parity
 
enum  usb_cdc_notification
 
enum  usb_op_board_ids
 
enum  usb_op_board_modes
 

Functions

enum usb_desc_types __attribute__ ((packed))
 

Variables

 USB_DESC_TYPE_DEVICE = 0x01
 
 USB_DESC_TYPE_CONFIGURATION = 0x02
 
 USB_DESC_TYPE_STRING = 0x03
 
 USB_DESC_TYPE_INTERFACE = 0x04
 
 USB_DESC_TYPE_ENDPOINT = 0x05
 
 USB_DESC_TYPE_IAD = 0x0B
 
 USB_DESC_TYPE_HID = 0x21
 
 USB_DESC_TYPE_REPORT = 0x22
 
 USB_DESC_TYPE_CLASS_SPECIFIC = 0x24
 
 USB_INTERFACE_CLASS_CDC = 0x02
 
 USB_INTERFACE_CLASS_HID = 0x03
 
 USB_INTERFACE_CLASS_DATA = 0x0A
 
 USB_CDC_DESC_SUBTYPE_HEADER = 0x00
 
 USB_CDC_DESC_SUBTYPE_CALLMGMT = 0x01
 
 USB_CDC_DESC_SUBTYPE_ABSTRACT_CTRL = 0x02
 
 USB_CDC_DESC_SUBTYPE_UNION = 0x06
 
 USB_EP_ATTR_TT_CONTROL = 0x00
 
 USB_EP_ATTR_TT_ISOCHRONOUS = 0x01
 
 USB_EP_ATTR_TT_BULK = 0x02
 
 USB_EP_ATTR_TT_INTERRUPT = 0x03
 
uint8_t usb_device_desc::bLength
 
uint8_t usb_device_desc::bDescriptorType
 
uint16_t usb_device_desc::bcdUSB
 
uint8_t usb_device_desc::bDeviceClass
 
uint8_t usb_device_desc::bDeviceSubClass
 
uint8_t usb_device_desc::bDeviceProtocol
 
uint8_t usb_device_desc::bMaxPacketSize0
 
uint16_t usb_device_desc::idVendor
 
uint16_t usb_device_desc::idProduct
 
uint16_t usb_device_desc::bcdDevice
 
uint8_t usb_device_desc::iManufacturer
 
uint8_t usb_device_desc::iProduct
 
uint8_t usb_device_desc::iSerialNumber
 
uint8_t usb_device_desc::bNumConfigurations
 
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 usb_configuration_desc::bLength
 
uint8_t usb_configuration_desc::bDescriptorType
 
uint16_t usb_configuration_desc::wTotalLength
 
uint8_t usb_configuration_desc::bNumInterfaces
 
uint8_t usb_configuration_desc::bConfigurationValue
 
uint8_t usb_configuration_desc::iConfiguration
 
uint8_t usb_configuration_desc::bmAttributes
 
uint8_t usb_configuration_desc::bMaxPower
 
uint16_t wTotalLength
 
uint8_t bNumInterfaces
 
uint8_t bConfigurationValue
 
uint8_t iConfiguration
 
uint8_t bmAttributes
 
uint8_t bMaxPower
 
uint8_t usb_interface_association_desc::bLength
 
uint8_t usb_interface_association_desc::bDescriptorType
 
uint8_t usb_interface_association_desc::bFirstInterface
 
uint8_t usb_interface_association_desc::bInterfaceCount
 
uint8_t usb_interface_association_desc::bFunctionClass
 
uint8_t usb_interface_association_desc::bFunctionSubClass
 
uint8_t usb_interface_association_desc::bFunctionProtocol
 
uint8_t usb_interface_association_desc::iInterface
 
uint8_t bFirstInterface
 
uint8_t bInterfaceCount
 
uint8_t bFunctionClass
 
uint8_t bFunctionSubClass
 
uint8_t bFunctionProtocol
 
uint8_t iInterface
 
uint8_t usb_interface_desc::bLength
 
uint8_t usb_interface_desc::bDescriptorType
 
uint8_t usb_interface_desc::bInterfaceNumber
 
uint8_t usb_interface_desc::bAlternateSetting
 
uint8_t usb_interface_desc::bNumEndpoints
 
uint8_t usb_interface_desc::bInterfaceClass
 
uint8_t usb_interface_desc::bInterfaceSubClass
 
uint8_t usb_interface_desc::nInterfaceProtocol
 
uint8_t usb_interface_desc::iInterface
 
uint8_t bInterfaceNumber
 
uint8_t bAlternateSetting
 
uint8_t bNumEndpoints
 
uint8_t bInterfaceClass
 
uint8_t bInterfaceSubClass
 
uint8_t nInterfaceProtocol
 
uint8_t usb_hid_desc::bLength
 
uint8_t usb_hid_desc::bDescriptorType
 
uint16_t usb_hid_desc::bcdHID
 
uint8_t usb_hid_desc::bCountryCode
 
uint8_t usb_hid_desc::bNumDescriptors
 
uint8_t usb_hid_desc::bClassDescriptorType
 
uint16_t usb_hid_desc::wItemLength
 
uint16_t bcdHID
 
uint8_t bCountryCode
 
uint8_t bNumDescriptors
 
uint8_t bClassDescriptorType
 
uint16_t wItemLength
 
uint8_t usb_endpoint_desc::bLength
 
uint8_t usb_endpoint_desc::bDescriptorType
 
uint8_t usb_endpoint_desc::bEndpointAddress
 
uint8_t usb_endpoint_desc::bmAttributes
 
uint16_t usb_endpoint_desc::wMaxPacketSize
 
uint8_t usb_endpoint_desc::bInterval
 
uint8_t bEndpointAddress
 
uint16_t wMaxPacketSize
 
uint8_t bInterval
 
uint8_t usb_setup_request::bmRequestType
 
uint8_t usb_setup_request::bRequest
 
uint16_t usb_setup_request::wValue
 
uint16_t usb_setup_request::wIndex
 
uint16_t usb_setup_request::wLength
 
uint8_t bmRequestType
 
uint8_t bRequest
 
uint16_t wValue
 
uint16_t wIndex
 
uint16_t wLength
 
enum usb_standard_requests __attribute__
 
uint8_t usb_cdc_header_func_desc::bLength
 
uint8_t usb_cdc_header_func_desc::bDescriptorType
 
uint8_t usb_cdc_header_func_desc::bDescriptorSubType
 
uint16_t usb_cdc_header_func_desc::bcdCDC
 
uint8_t bDescriptorSubType
 
uint16_t bcdCDC
 
uint8_t usb_cdc_callmgmt_func_desc::bLength
 
uint8_t usb_cdc_callmgmt_func_desc::bDescriptorType
 
uint8_t usb_cdc_callmgmt_func_desc::bDescriptorSubType
 
uint8_t usb_cdc_callmgmt_func_desc::bmCapabilities
 
uint8_t usb_cdc_callmgmt_func_desc::bDataInterface
 
uint8_t bmCapabilities
 
uint8_t bDataInterface
 
uint8_t usb_cdc_acm_func_desc::bLength
 
uint8_t usb_cdc_acm_func_desc::bDescriptorType
 
uint8_t usb_cdc_acm_func_desc::bDescriptorSubType
 
uint8_t usb_cdc_acm_func_desc::bmCapabilities
 
uint8_t usb_cdc_union_func_desc::bLength
 
uint8_t usb_cdc_union_func_desc::bDescriptorType
 
uint8_t usb_cdc_union_func_desc::bDescriptorSubType
 
uint8_t usb_cdc_union_func_desc::bMasterInterface
 
uint8_t usb_cdc_union_func_desc::bSlaveInterface
 
uint8_t bMasterInterface
 
uint8_t bSlaveInterface
 
uint8_t usb_string_langid::bLength
 
uint8_t usb_string_langid::bDescriptorType
 
uint16_t usb_string_langid::bLangID
 
uint16_t bLangID
 
uint32_t usb_cdc_line_coding::dwDTERate
 
uint8_t usb_cdc_line_coding::bCharFormat
 
uint8_t usb_cdc_line_coding::bParityType
 
uint8_t usb_cdc_line_coding::bDataBits
 
uint32_t dwDTERate
 
uint8_t bCharFormat
 
uint8_t bParityType
 
uint8_t bDataBits
 
 USB_CDC_LINE_CODING_STOP_1 = 0
 
 USB_CDC_LINE_CODING_STOP_1_5 = 1
 
 USB_CDC_LINE_CODING_STOP_2 = 2
 
 USB_CDC_LINE_CODING_PARITY_NONE = 0
 
 USB_CDC_LINE_CODING_PARITY_ODD = 1
 
 USB_CDC_LINE_CODING_PARITY_EVEN = 2
 
 USB_CDC_LINE_CODING_PARITY_MARK = 3
 
 USB_CDC_LINE_CODING_PARITY_SPACE = 4
 
uint8_t usb_cdc_serial_state_report::bmRequestType
 
uint8_t usb_cdc_serial_state_report::bNotification
 
uint16_t usb_cdc_serial_state_report::wValue
 
uint16_t usb_cdc_serial_state_report::wIndex
 
uint16_t usb_cdc_serial_state_report::wLength
 
uint16_t usb_cdc_serial_state_report::bmUartState
 
uint8_t bNotification
 
uint16_t bmUartState
 
 USB_CDC_NOTIFICATION_SERIAL_STATE = 0x20
 
 USB_OP_BOARD_ID_OPENPILOT_MAIN = 1
 
 USB_OP_BOARD_ID_PIPXTREME = 3
 
 USB_OP_BOARD_ID_COPTERCONTROL = 4
 
 USB_OP_BOARD_ID_REVOLUTION = 5
 
 USB_OP_BOARD_ID_OSD = 6
 
 USB_OP_BOARD_MODE_BL = 1
 
 USB_OP_BOARD_MODE_FW = 2
 
 USB_OP_BOARD_MODE_UP = 3
 

Detailed Description

USB Standard types and definitions.

Macro Definition Documentation

#define HID_GLOBAL_ITEM_0 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_GLOBAL, HID_ITEM_SIZE_0)

Definition at line 140 of file pios_usb_defs.h.

#define HID_GLOBAL_ITEM_1 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_GLOBAL, HID_ITEM_SIZE_1)

Definition at line 141 of file pios_usb_defs.h.

#define HID_GLOBAL_ITEM_2 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_GLOBAL, HID_ITEM_SIZE_2)

Definition at line 142 of file pios_usb_defs.h.

#define HID_GLOBAL_ITEM_4 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_GLOBAL, HID_ITEM_SIZE_4)

Definition at line 143 of file pios_usb_defs.h.

#define HID_ITEM_SIZE_0   0

Definition at line 122 of file pios_usb_defs.h.

#define HID_ITEM_SIZE_1   1

Definition at line 123 of file pios_usb_defs.h.

#define HID_ITEM_SIZE_2   2

Definition at line 124 of file pios_usb_defs.h.

#define HID_ITEM_SIZE_4   3 /* Yes, 4 bytes is represented with a size field = 3 */

Definition at line 125 of file pios_usb_defs.h.

#define HID_ITEM_TYPE_GLOBAL   0x1

Definition at line 85 of file pios_usb_defs.h.

#define HID_ITEM_TYPE_LOCAL   0x2

Definition at line 86 of file pios_usb_defs.h.

#define HID_ITEM_TYPE_MAIN   0x0

Definition at line 84 of file pios_usb_defs.h.

#define HID_ITEM_TYPE_RSVD   0x3

Definition at line 87 of file pios_usb_defs.h.

#define HID_LOCAL_ITEM_0 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_LOCAL, HID_ITEM_SIZE_0)

Definition at line 145 of file pios_usb_defs.h.

#define HID_LOCAL_ITEM_1 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_LOCAL, HID_ITEM_SIZE_1)

Definition at line 146 of file pios_usb_defs.h.

#define HID_LOCAL_ITEM_2 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_LOCAL, HID_ITEM_SIZE_2)

Definition at line 147 of file pios_usb_defs.h.

#define HID_LOCAL_ITEM_4 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_LOCAL, HID_ITEM_SIZE_4)

Definition at line 148 of file pios_usb_defs.h.

Definition at line 133 of file pios_usb_defs.h.

#define HID_MAIN_ITEM_0 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_MAIN, HID_ITEM_SIZE_0)

Definition at line 135 of file pios_usb_defs.h.

#define HID_MAIN_ITEM_1 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_MAIN, HID_ITEM_SIZE_1)

Definition at line 136 of file pios_usb_defs.h.

#define HID_MAIN_ITEM_2 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_MAIN, HID_ITEM_SIZE_2)

Definition at line 137 of file pios_usb_defs.h.

#define HID_MAIN_ITEM_4 (   tag)    HID_SHORT_ITEM((tag), HID_ITEM_TYPE_MAIN, HID_ITEM_SIZE_4)

Definition at line 138 of file pios_usb_defs.h.

#define HID_SHORT_ITEM (   tag,
  type,
  size 
)
Value:
(\
(((tag) & 0xF) << 4) | \
(((type) & 0x3) << 2) | \
(((size) & 0x3) << 0))
uint8_t type

Definition at line 127 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_LOGICAL_MAX   0x2 /* 0b0010 */

Definition at line 91 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_LOGICAL_MIN   0x1 /* 0b0001 */

Definition at line 90 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_PHYS_MAX   0x4 /* 0b0100 */

Definition at line 93 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_PHYS_MIN   0x3 /* 0b0011 */

Definition at line 92 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_POP   0xB /* 0b1011 */

Definition at line 100 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_PUSH   0xA /* 0b1010 */

Definition at line 99 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_REPORT_CNT   0x9 /* 0b1001 */

Definition at line 98 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_REPORT_ID   0x8 /* 0b1000 */

Definition at line 97 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_REPORT_SIZE   0x7 /* 0b0111 */

Definition at line 96 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_UNIT   0x6 /* 0b0110 */

Definition at line 95 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_UNIT_EXP   0x5 /* 0b0101 */

Definition at line 94 of file pios_usb_defs.h.

#define HID_TAG_GLOBAL_USAGE_PAGE   0x0 /* 0b0000 */

Definition at line 89 of file pios_usb_defs.h.

#define HID_TAG_LOCAL_DELIMITER   0xA /* 0b1010 */

Definition at line 118 of file pios_usb_defs.h.

#define HID_TAG_LOCAL_DESIG_INDEX   0x3 /* 0b0011 */

Definition at line 111 of file pios_usb_defs.h.

#define HID_TAG_LOCAL_DESIG_MAX   0x5 /* 0b0101 */

Definition at line 113 of file pios_usb_defs.h.

#define HID_TAG_LOCAL_DESIG_MIN   0x4 /* 0b0100 */

Definition at line 112 of file pios_usb_defs.h.

#define HID_TAG_LOCAL_STRING_INDEX   0x7 /* 0b0111 */

Definition at line 115 of file pios_usb_defs.h.

#define HID_TAG_LOCAL_STRING_MAX   0x9 /* 0b1001 */

Definition at line 117 of file pios_usb_defs.h.

#define HID_TAG_LOCAL_STRING_MIN   0x8 /* 0b1000 */

Definition at line 116 of file pios_usb_defs.h.

#define HID_TAG_LOCAL_USAGE   0x0 /* 0b0000 */

Definition at line 108 of file pios_usb_defs.h.

#define HID_TAG_LOCAL_USAGE_MAX   0x2 /* 0b0010 */

Definition at line 110 of file pios_usb_defs.h.

#define HID_TAG_LOCAL_USAGE_MIN   0x1 /* 0b0001 */

Definition at line 109 of file pios_usb_defs.h.

#define HID_TAG_MAIN_COLLECTION   0xA /* 0b1010 */

Definition at line 104 of file pios_usb_defs.h.

#define HID_TAG_MAIN_ENDCOLLECTION   0xC /* 0b1100 */

Definition at line 106 of file pios_usb_defs.h.

#define HID_TAG_MAIN_FEATURE   0xB /* 0b1011 */

Definition at line 105 of file pios_usb_defs.h.

#define HID_TAG_MAIN_INPUT   0x8 /* 0b1000 */

Definition at line 102 of file pios_usb_defs.h.

#define HID_TAG_MAIN_OUTPUT   0x9 /* 0b1001 */

Definition at line 103 of file pios_usb_defs.h.

#define HID_TAG_RSVD   0xF /* 0b1111 */

Definition at line 120 of file pios_usb_defs.h.

#define htousbl (   v)    (v)

Definition at line 78 of file pios_usb_defs.h.

#define htousbs (   v)    (v)

Definition at line 77 of file pios_usb_defs.h.

#define USB_EP_IN (   ep)    ((uint8_t) (0x80 | ((ep) & 0xF)))

Definition at line 81 of file pios_usb_defs.h.

#define USB_EP_OUT (   ep)    ((uint8_t) (0x00 | ((ep) & 0xF)))

Definition at line 82 of file pios_usb_defs.h.

#define USB_LANGID_ENGLISH_US   0x0409

Definition at line 301 of file pios_usb_defs.h.

#define USB_OP_DEVICE_VER (   board_id,
  board_mode 
)
Value:
(\
((board_id & 0xFF) << 8) | \
((board_mode & 0xFF) << 0))

Definition at line 359 of file pios_usb_defs.h.

#define USB_REQ_RECIPIENT_DEVICE   0x00

Definition at line 233 of file pios_usb_defs.h.

#define USB_REQ_RECIPIENT_ENDPOINT   0x02

Definition at line 235 of file pios_usb_defs.h.

#define USB_REQ_RECIPIENT_INTERFACE   0x01

Definition at line 234 of file pios_usb_defs.h.

#define USB_REQ_RECIPIENT_MASK   0x03

Definition at line 236 of file pios_usb_defs.h.

#define USB_REQ_TYPE_CLASS   0x20

Definition at line 229 of file pios_usb_defs.h.

#define USB_REQ_TYPE_MASK   0x60

Definition at line 231 of file pios_usb_defs.h.

#define USB_REQ_TYPE_STANDARD   0x00

Definition at line 228 of file pios_usb_defs.h.

#define USB_REQ_TYPE_VENDOR   0x40

Definition at line 230 of file pios_usb_defs.h.

Enumeration Type Documentation

Definition at line 52 of file pios_usb_defs.h.

Definition at line 322 of file pios_usb_defs.h.

Definition at line 316 of file pios_usb_defs.h.

Definition at line 339 of file pios_usb_defs.h.

Enumerator
USB_CDC_REQ_SET_LINE_CODING 
USB_CDC_REQ_GET_LINE_CODING 
USB_CDC_REQ_SET_CONTROL_LINE_STATE 

Definition at line 264 of file pios_usb_defs.h.

Definition at line 34 of file pios_usb_defs.h.

Definition at line 59 of file pios_usb_defs.h.

Enumerator
USB_HID_REQ_GET_REPORT 
USB_HID_REQ_GET_IDLE 
USB_HID_REQ_GET_PROTOCOL 
USB_HID_REQ_SET_REPORT 
USB_HID_REQ_SET_IDLE 
USB_HID_REQ_SET_PROTOCOL 

Definition at line 254 of file pios_usb_defs.h.

Definition at line 46 of file pios_usb_defs.h.

Definition at line 343 of file pios_usb_defs.h.

Definition at line 353 of file pios_usb_defs.h.

Enumerator
USB_REQ_GET_STATUS 
USB_REQ_CLEAR_FEATURE 
USB_REQ_SET_FEATURE 
USB_REQ_SET_ADDRESS 
USB_REQ_GET_DESCRIPTOR 
USB_REQ_SET_DESCRIPTOR 
USB_REQ_GET_CONFIGURATION 
USB_REQ_SET_CONFIGURATION 
USB_REQ_GET_INTERFACE 
USB_REQ_SET_INTERFACE 
USB_REQ_SYNCH_FRAME 

Definition at line 238 of file pios_usb_defs.h.

Function Documentation

enum usb_desc_types __attribute__ ( (packed)  )

Definition at line 38 of file serial_4way.h.

Variable Documentation

uint8_t bAlternateSetting

Definition at line 44 of file pios_usb_defs.h.

uint8_t usb_interface_desc::bAlternateSetting

Definition at line 193 of file pios_usb_defs.h.

uint16_t bcdCDC

Definition at line 44 of file pios_usb_defs.h.

uint16_t usb_cdc_header_func_desc::bcdCDC

Definition at line 275 of file pios_usb_defs.h.

uint16_t bcdDevice

Definition at line 50 of file pios_usb_defs.h.

uint16_t usb_device_desc::bcdDevice

Definition at line 160 of file pios_usb_defs.h.

uint16_t bcdHID

Definition at line 43 of file pios_usb_defs.h.

uint16_t usb_hid_desc::bcdHID

Definition at line 204 of file pios_usb_defs.h.

uint16_t bcdUSB

Definition at line 43 of file pios_usb_defs.h.

uint16_t usb_device_desc::bcdUSB

Definition at line 153 of file pios_usb_defs.h.

uint8_t bCharFormat

Definition at line 42 of file pios_usb_defs.h.

uint8_t usb_cdc_line_coding::bCharFormat

Definition at line 311 of file pios_usb_defs.h.

uint8_t bClassDescriptorType

Definition at line 46 of file pios_usb_defs.h.

uint8_t usb_hid_desc::bClassDescriptorType

Definition at line 207 of file pios_usb_defs.h.

uint8_t bConfigurationValue

Definition at line 45 of file pios_usb_defs.h.

uint8_t usb_configuration_desc::bConfigurationValue

Definition at line 172 of file pios_usb_defs.h.

uint8_t bCountryCode

Definition at line 44 of file pios_usb_defs.h.

uint8_t usb_hid_desc::bCountryCode

Definition at line 205 of file pios_usb_defs.h.

uint8_t bDataBits

Definition at line 44 of file pios_usb_defs.h.

uint8_t usb_cdc_line_coding::bDataBits

Definition at line 313 of file pios_usb_defs.h.

uint8_t bDataInterface

Definition at line 45 of file pios_usb_defs.h.

uint8_t usb_cdc_callmgmt_func_desc::bDataInterface

Definition at line 283 of file pios_usb_defs.h.

uint8_t bDescriptorSubType

Definition at line 43 of file pios_usb_defs.h.

uint8_t usb_cdc_header_func_desc::bDescriptorSubType

Definition at line 274 of file pios_usb_defs.h.

uint8_t usb_cdc_callmgmt_func_desc::bDescriptorSubType

Definition at line 281 of file pios_usb_defs.h.

uint8_t usb_cdc_acm_func_desc::bDescriptorSubType

Definition at line 289 of file pios_usb_defs.h.

uint8_t usb_cdc_union_func_desc::bDescriptorSubType

Definition at line 296 of file pios_usb_defs.h.

uint8_t bDescriptorType

Definition at line 42 of file pios_usb_defs.h.

uint8_t usb_device_desc::bDescriptorType

Definition at line 152 of file pios_usb_defs.h.

uint8_t usb_configuration_desc::bDescriptorType

Definition at line 169 of file pios_usb_defs.h.

uint8_t usb_interface_association_desc::bDescriptorType

Definition at line 180 of file pios_usb_defs.h.

uint8_t usb_interface_desc::bDescriptorType

Definition at line 191 of file pios_usb_defs.h.

uint8_t usb_hid_desc::bDescriptorType

Definition at line 203 of file pios_usb_defs.h.

uint8_t usb_endpoint_desc::bDescriptorType

Definition at line 213 of file pios_usb_defs.h.

uint8_t usb_cdc_header_func_desc::bDescriptorType

Definition at line 273 of file pios_usb_defs.h.

uint8_t usb_cdc_callmgmt_func_desc::bDescriptorType

Definition at line 280 of file pios_usb_defs.h.

uint8_t usb_cdc_acm_func_desc::bDescriptorType

Definition at line 288 of file pios_usb_defs.h.

uint8_t usb_cdc_union_func_desc::bDescriptorType

Definition at line 295 of file pios_usb_defs.h.

uint8_t usb_string_langid::bDescriptorType

Definition at line 305 of file pios_usb_defs.h.

uint8_t bDeviceClass

Definition at line 44 of file pios_usb_defs.h.

uint8_t usb_device_desc::bDeviceClass

Definition at line 154 of file pios_usb_defs.h.

uint8_t bDeviceProtocol

Definition at line 46 of file pios_usb_defs.h.

uint8_t usb_device_desc::bDeviceProtocol

Definition at line 156 of file pios_usb_defs.h.

uint8_t bDeviceSubClass

Definition at line 45 of file pios_usb_defs.h.

uint8_t usb_device_desc::bDeviceSubClass

Definition at line 155 of file pios_usb_defs.h.

uint8_t bEndpointAddress

Definition at line 43 of file pios_usb_defs.h.

uint8_t usb_endpoint_desc::bEndpointAddress

Definition at line 214 of file pios_usb_defs.h.

uint8_t bFirstInterface

Definition at line 43 of file pios_usb_defs.h.

uint8_t usb_interface_association_desc::bFirstInterface

Definition at line 181 of file pios_usb_defs.h.

uint8_t bFunctionClass

Definition at line 45 of file pios_usb_defs.h.

uint8_t usb_interface_association_desc::bFunctionClass

Definition at line 183 of file pios_usb_defs.h.

uint8_t bFunctionProtocol

Definition at line 47 of file pios_usb_defs.h.

uint8_t usb_interface_association_desc::bFunctionProtocol

Definition at line 185 of file pios_usb_defs.h.

uint8_t bFunctionSubClass

Definition at line 46 of file pios_usb_defs.h.

uint8_t usb_interface_association_desc::bFunctionSubClass

Definition at line 184 of file pios_usb_defs.h.

uint8_t bInterfaceClass

Definition at line 46 of file pios_usb_defs.h.

uint8_t usb_interface_desc::bInterfaceClass

Definition at line 195 of file pios_usb_defs.h.

uint8_t bInterfaceCount

Definition at line 44 of file pios_usb_defs.h.

uint8_t usb_interface_association_desc::bInterfaceCount

Definition at line 182 of file pios_usb_defs.h.

uint8_t bInterfaceNumber

Definition at line 43 of file pios_usb_defs.h.

uint8_t usb_interface_desc::bInterfaceNumber

Definition at line 192 of file pios_usb_defs.h.

uint8_t bInterfaceSubClass

Definition at line 47 of file pios_usb_defs.h.

uint8_t usb_interface_desc::bInterfaceSubClass

Definition at line 196 of file pios_usb_defs.h.

uint8_t bInterval

Definition at line 46 of file pios_usb_defs.h.

uint8_t usb_endpoint_desc::bInterval

Definition at line 217 of file pios_usb_defs.h.

uint16_t bLangID

Definition at line 43 of file pios_usb_defs.h.

uint16_t usb_string_langid::bLangID

Definition at line 306 of file pios_usb_defs.h.

uint8_t bLength

Definition at line 41 of file pios_usb_defs.h.

uint8_t usb_device_desc::bLength

Definition at line 151 of file pios_usb_defs.h.

uint8_t usb_configuration_desc::bLength

Definition at line 168 of file pios_usb_defs.h.

uint8_t usb_interface_association_desc::bLength

Definition at line 179 of file pios_usb_defs.h.

uint8_t usb_interface_desc::bLength

Definition at line 190 of file pios_usb_defs.h.

uint8_t usb_hid_desc::bLength

Definition at line 202 of file pios_usb_defs.h.

uint8_t usb_endpoint_desc::bLength

Definition at line 212 of file pios_usb_defs.h.

uint8_t usb_cdc_header_func_desc::bLength

Definition at line 272 of file pios_usb_defs.h.

uint8_t usb_cdc_callmgmt_func_desc::bLength

Definition at line 279 of file pios_usb_defs.h.

uint8_t usb_cdc_acm_func_desc::bLength

Definition at line 287 of file pios_usb_defs.h.

uint8_t usb_cdc_union_func_desc::bLength

Definition at line 294 of file pios_usb_defs.h.

uint8_t usb_string_langid::bLength

Definition at line 304 of file pios_usb_defs.h.

uint8_t bMasterInterface

Definition at line 44 of file pios_usb_defs.h.

uint8_t usb_cdc_union_func_desc::bMasterInterface

Definition at line 297 of file pios_usb_defs.h.

uint8_t bmAttributes

Definition at line 47 of file pios_usb_defs.h.

uint8_t usb_configuration_desc::bmAttributes

Definition at line 174 of file pios_usb_defs.h.

uint8_t usb_endpoint_desc::bmAttributes

Definition at line 215 of file pios_usb_defs.h.

uint8_t bMaxPacketSize0

Definition at line 47 of file pios_usb_defs.h.

uint8_t usb_device_desc::bMaxPacketSize0

Definition at line 157 of file pios_usb_defs.h.

uint8_t bMaxPower

Definition at line 48 of file pios_usb_defs.h.

uint8_t usb_configuration_desc::bMaxPower

Definition at line 175 of file pios_usb_defs.h.

uint8_t bmCapabilities

Definition at line 44 of file pios_usb_defs.h.

uint8_t usb_cdc_callmgmt_func_desc::bmCapabilities

Definition at line 282 of file pios_usb_defs.h.

uint8_t usb_cdc_acm_func_desc::bmCapabilities

Definition at line 290 of file pios_usb_defs.h.

uint8_t bmRequestType

Definition at line 41 of file pios_usb_defs.h.

uint8_t usb_setup_request::bmRequestType

Definition at line 221 of file pios_usb_defs.h.

uint8_t usb_cdc_serial_state_report::bmRequestType

Definition at line 331 of file pios_usb_defs.h.

uint16_t bmUartState

Definition at line 46 of file pios_usb_defs.h.

uint16_t usb_cdc_serial_state_report::bmUartState

Definition at line 336 of file pios_usb_defs.h.

uint8_t bNotification

Definition at line 42 of file pios_usb_defs.h.

uint8_t usb_cdc_serial_state_report::bNotification

Definition at line 332 of file pios_usb_defs.h.

uint8_t bNumConfigurations

Definition at line 54 of file pios_usb_defs.h.

uint8_t usb_device_desc::bNumConfigurations

Definition at line 164 of file pios_usb_defs.h.

uint8_t bNumDescriptors

Definition at line 45 of file pios_usb_defs.h.

uint8_t usb_hid_desc::bNumDescriptors

Definition at line 206 of file pios_usb_defs.h.

uint8_t bNumEndpoints

Definition at line 45 of file pios_usb_defs.h.

uint8_t usb_interface_desc::bNumEndpoints

Definition at line 194 of file pios_usb_defs.h.

uint8_t bNumInterfaces

Definition at line 44 of file pios_usb_defs.h.

uint8_t usb_configuration_desc::bNumInterfaces

Definition at line 171 of file pios_usb_defs.h.

uint8_t bParityType

Definition at line 43 of file pios_usb_defs.h.

uint8_t usb_cdc_line_coding::bParityType

Definition at line 312 of file pios_usb_defs.h.

uint8_t bRequest

Definition at line 42 of file pios_usb_defs.h.

uint8_t usb_setup_request::bRequest

Definition at line 222 of file pios_usb_defs.h.

uint8_t bSlaveInterface

Definition at line 45 of file pios_usb_defs.h.

uint8_t usb_cdc_union_func_desc::bSlaveInterface

Definition at line 298 of file pios_usb_defs.h.

uint32_t dwDTERate

Definition at line 41 of file pios_usb_defs.h.

uint32_t usb_cdc_line_coding::dwDTERate

Definition at line 310 of file pios_usb_defs.h.

uint8_t iConfiguration

Definition at line 46 of file pios_usb_defs.h.

uint8_t usb_configuration_desc::iConfiguration

Definition at line 173 of file pios_usb_defs.h.

uint16_t idProduct

Definition at line 49 of file pios_usb_defs.h.

uint16_t usb_device_desc::idProduct

Definition at line 159 of file pios_usb_defs.h.

uint16_t idVendor

Definition at line 48 of file pios_usb_defs.h.

uint16_t usb_device_desc::idVendor

Definition at line 158 of file pios_usb_defs.h.

uint8_t iInterface

Definition at line 48 of file pios_usb_defs.h.

uint8_t usb_interface_association_desc::iInterface

Definition at line 186 of file pios_usb_defs.h.

uint8_t usb_interface_desc::iInterface

Definition at line 198 of file pios_usb_defs.h.

uint8_t iManufacturer

Definition at line 51 of file pios_usb_defs.h.

uint8_t usb_device_desc::iManufacturer

Definition at line 161 of file pios_usb_defs.h.

uint8_t iProduct

Definition at line 52 of file pios_usb_defs.h.

uint8_t usb_device_desc::iProduct

Definition at line 162 of file pios_usb_defs.h.

uint8_t iSerialNumber

Definition at line 53 of file pios_usb_defs.h.

uint8_t usb_device_desc::iSerialNumber

Definition at line 163 of file pios_usb_defs.h.

uint8_t nInterfaceProtocol

Definition at line 48 of file pios_usb_defs.h.

uint8_t usb_interface_desc::nInterfaceProtocol

Definition at line 197 of file pios_usb_defs.h.

USB_CDC_DESC_SUBTYPE_ABSTRACT_CTRL = 0x02

Definition at line 43 of file pios_usb_defs.h.

USB_CDC_DESC_SUBTYPE_CALLMGMT = 0x01

Definition at line 42 of file pios_usb_defs.h.

USB_CDC_DESC_SUBTYPE_HEADER = 0x00

Definition at line 41 of file pios_usb_defs.h.

USB_CDC_DESC_SUBTYPE_UNION = 0x06

Definition at line 44 of file pios_usb_defs.h.

USB_CDC_LINE_CODING_PARITY_EVEN = 2

Definition at line 43 of file pios_usb_defs.h.

USB_CDC_LINE_CODING_PARITY_MARK = 3

Definition at line 44 of file pios_usb_defs.h.

USB_CDC_LINE_CODING_PARITY_NONE = 0

Definition at line 41 of file pios_usb_defs.h.

USB_CDC_LINE_CODING_PARITY_ODD = 1

Definition at line 42 of file pios_usb_defs.h.

USB_CDC_LINE_CODING_PARITY_SPACE = 4

Definition at line 45 of file pios_usb_defs.h.

USB_CDC_LINE_CODING_STOP_1 = 0

Definition at line 41 of file pios_usb_defs.h.

USB_CDC_LINE_CODING_STOP_1_5 = 1

Definition at line 42 of file pios_usb_defs.h.

USB_CDC_LINE_CODING_STOP_2 = 2

Definition at line 43 of file pios_usb_defs.h.

USB_CDC_NOTIFICATION_SERIAL_STATE = 0x20

Definition at line 41 of file pios_usb_defs.h.

USB_DESC_TYPE_CLASS_SPECIFIC = 0x24

Definition at line 49 of file pios_usb_defs.h.

USB_DESC_TYPE_CONFIGURATION = 0x02

Definition at line 42 of file pios_usb_defs.h.

USB_DESC_TYPE_DEVICE = 0x01

Definition at line 41 of file pios_usb_defs.h.

USB_DESC_TYPE_ENDPOINT = 0x05

Definition at line 45 of file pios_usb_defs.h.

USB_DESC_TYPE_HID = 0x21

Definition at line 47 of file pios_usb_defs.h.

USB_DESC_TYPE_IAD = 0x0B

Definition at line 46 of file pios_usb_defs.h.

USB_DESC_TYPE_INTERFACE = 0x04

Definition at line 44 of file pios_usb_defs.h.

USB_DESC_TYPE_REPORT = 0x22

Definition at line 48 of file pios_usb_defs.h.

USB_DESC_TYPE_STRING = 0x03

Definition at line 43 of file pios_usb_defs.h.

USB_EP_ATTR_TT_BULK = 0x02

Definition at line 43 of file pios_usb_defs.h.

USB_EP_ATTR_TT_CONTROL = 0x00

Definition at line 41 of file pios_usb_defs.h.

USB_EP_ATTR_TT_INTERRUPT = 0x03

Definition at line 44 of file pios_usb_defs.h.

USB_EP_ATTR_TT_ISOCHRONOUS = 0x01

Definition at line 42 of file pios_usb_defs.h.

USB_INTERFACE_CLASS_CDC = 0x02

Definition at line 41 of file pios_usb_defs.h.

USB_INTERFACE_CLASS_DATA = 0x0A

Definition at line 43 of file pios_usb_defs.h.

USB_INTERFACE_CLASS_HID = 0x03

Definition at line 42 of file pios_usb_defs.h.

USB_OP_BOARD_ID_COPTERCONTROL = 4

Definition at line 45 of file pios_usb_defs.h.

USB_OP_BOARD_ID_OPENPILOT_MAIN = 1

Definition at line 42 of file pios_usb_defs.h.

USB_OP_BOARD_ID_OSD = 6

Definition at line 47 of file pios_usb_defs.h.

USB_OP_BOARD_ID_PIPXTREME = 3

Definition at line 44 of file pios_usb_defs.h.

USB_OP_BOARD_ID_REVOLUTION = 5

Definition at line 46 of file pios_usb_defs.h.

USB_OP_BOARD_MODE_BL = 1

Definition at line 41 of file pios_usb_defs.h.

USB_OP_BOARD_MODE_FW = 2

Definition at line 42 of file pios_usb_defs.h.

USB_OP_BOARD_MODE_UP = 3

Definition at line 43 of file pios_usb_defs.h.

uint16_t wIndex

Definition at line 44 of file pios_usb_defs.h.

uint16_t usb_setup_request::wIndex

Definition at line 224 of file pios_usb_defs.h.

uint16_t usb_cdc_serial_state_report::wIndex

Definition at line 334 of file pios_usb_defs.h.

uint16_t wItemLength

Definition at line 47 of file pios_usb_defs.h.

uint16_t usb_hid_desc::wItemLength

Definition at line 208 of file pios_usb_defs.h.

uint16_t wLength

Definition at line 45 of file pios_usb_defs.h.

uint16_t usb_setup_request::wLength

Definition at line 225 of file pios_usb_defs.h.

uint16_t usb_cdc_serial_state_report::wLength

Definition at line 335 of file pios_usb_defs.h.

uint16_t wMaxPacketSize

Definition at line 45 of file pios_usb_defs.h.

uint16_t usb_endpoint_desc::wMaxPacketSize

Definition at line 216 of file pios_usb_defs.h.

uint16_t wTotalLength

Definition at line 43 of file pios_usb_defs.h.

uint16_t usb_configuration_desc::wTotalLength

Definition at line 170 of file pios_usb_defs.h.

uint16_t wValue

Definition at line 43 of file pios_usb_defs.h.

uint16_t usb_setup_request::wValue

Definition at line 223 of file pios_usb_defs.h.

uint16_t usb_cdc_serial_state_report::wValue

Definition at line 333 of file pios_usb_defs.h.