42 .bDeviceSubClass = 0x02,
43 .bDeviceProtocol = 0x01,
44 .bMaxPacketSize0 = 64,
51 .bNumConfigurations = 1,
124 .bConfigurationValue = 1,
126 .bmAttributes = 0xC0,
132 .bFirstInterface = 0,
133 .bInterfaceCount = 2,
136 .bFunctionProtocol = 1,
142 .bInterfaceNumber = 0,
143 .bAlternateSetting = 0,
147 .nInterfaceProtocol = 1,
160 .bmCapabilities = 0x00,
167 .bmCapabilities = 0x02,
173 .bMasterInterface = 0,
174 .bSlaveInterface = 1,
187 .bInterfaceNumber = 1,
188 .bAlternateSetting = 0,
191 .bInterfaceSubClass = 0,
192 .nInterfaceProtocol = 0,
214 .bInterfaceNumber = 2,
215 .bAlternateSetting = 0,
218 .bInterfaceSubClass = 0,
219 .nInterfaceProtocol = 0,
227 .bNumDescriptors = 1,
USB_CDC_DESC_SUBTYPE_ABSTRACT_CTRL
static const struct usb_device_desc device_desc
#define HID_TAG_GLOBAL_REPORT_ID
int32_t PIOS_USB_DESC_HID_CDC_Init(void)
struct usb_cdc_header_func_desc cdc_header
struct usb_endpoint_desc hid_out
#define PIOS_USB_BOARD_VENDOR_ID
USB_DESC_TYPE_CLASS_SPECIFIC
struct usb_configuration_desc config
APIs for PIOS_USBHOOK layer.
#define HID_TAG_LOCAL_USAGE
static const uint8_t hid_report_desc[]
#define HID_TAG_GLOBAL_LOGICAL_MAX
struct usb_endpoint_desc hid_in
USB HID layer functions header.
USB_CDC_DESC_SUBTYPE_HEADER
Defines the API to set up the HID + CDC USB descriptor config.
#define PIOS_USB_BOARD_DEVICE_VER
struct usb_endpoint_desc cdc_in
#define PIOS_USB_BOARD_CDC_MGMT_LENGTH
struct usb_interface_desc cdc_control_if
#define HID_LOCAL_ITEM_1(tag)
USB_CDC_DESC_SUBTYPE_CALLMGMT
#define HID_TAG_MAIN_INPUT
#define HID_TAG_GLOBAL_REPORT_SIZE
USB_DESC_TYPE_CONFIGURATION
struct usb_endpoint_desc cdc_mgmt_in
struct usb_config_hid_cdc __attribute__((packed))
USB_CDC_DESC_SUBTYPE_UNION
#define HID_GLOBAL_ITEM_2(tag)
void PIOS_USBHOOK_RegisterConfig(uint8_t config_id, const uint8_t *desc, uint16_t desc_size)
#define PIOS_USB_BOARD_PRODUCT_ID
#define HID_TAG_GLOBAL_LOGICAL_MIN
struct usb_interface_association_desc iad
#define HID_GLOBAL_ITEM_1(tag)
struct usb_endpoint_desc cdc_out
void PIOS_USBHOOK_RegisterDevice(const uint8_t *desc, uint16_t desc_size)
#define HID_TAG_MAIN_COLLECTION
#define PIOS_USB_BOARD_HID_DATA_LENGTH
void PIOS_USB_HID_RegisterHidReport(const uint8_t *desc, uint16_t length)
#define HID_TAG_MAIN_OUTPUT
struct usb_cdc_union_func_desc cdc_union
#define HID_MAIN_ITEM_1(tag)
struct usb_cdc_acm_func_desc cdc_acm
void PIOS_USB_HID_RegisterHidDescriptor(const uint8_t *desc, uint16_t length)
struct usb_interface_desc cdc_data_if
#define PIOS_USB_BOARD_CDC_DATA_LENGTH
#define HID_TAG_GLOBAL_REPORT_CNT
#define HID_TAG_MAIN_ENDCOLLECTION
#define HID_TAG_GLOBAL_USAGE_PAGE
#define HID_MAIN_ITEM_0(tag)
struct usb_cdc_callmgmt_func_desc cdc_callmgmt
struct usb_interface_desc hid_if
static const struct usb_config_hid_cdc config_hid_cdc