31#define USB_TYPE_DESCRIPTOR_CDC 0x24
32#define USB_CDC_VERSION_BCD 0x0120
39#define USB_CDC_SUBCLASS_NONE 0x00
40#define USB_CDC_SUBCLASS_DLCM 0x01
41#define USB_CDC_SUBCLASS_ACM 0x02
42#define USB_CDC_SUBCLASS_TCM 0x03
43#define USB_CDC_SUBCLASS_MCCM 0x04
44#define USB_CDC_SUBCLASS_CCM 0x05
45#define USB_CDC_SUBCLASS_ENCM 0x06
46#define USB_CDC_SUBCLASS_ANCM 0x07
47#define USB_CDC_SUBCLASS_WHCM 0x08
48#define USB_CDC_SUBCLASS_DM 0x09
49#define USB_CDC_SUBCLASS_MDLM 0x0A
50#define USB_CDC_SUBCLASS_OBEX 0x0B
51#define USB_CDC_SUBCLASS_EEM 0x0C
52#define USB_CDC_SUBCLASS_NCM 0x0D
59#define USB_CDC_PROTOCOL_NONE 0x00
60#define USB_CDC_PROTOCOL_ITU 0x01
61#define USB_CDC_PROTOCOL_PCCA 0x02
62#define USB_CDC_PROTOCOL_PCCA_A 0x03
63#define USB_CDC_PROTOCOL_GSM 0x04
64#define USB_CDC_PROTOCOL_3GPP 0x05
65#define USB_CDC_PROTOCOL_CS 0x06
66#define USB_CDC_PROTOCOL_EEM 0x07
67#define USB_CDC_PROTOCOL_EXT 0xFE
68#define USB_CDC_PROTOCOL_VENDOR 0xFF
75#define USB_CDC_DESCR_SUBTYPE_FUNCTIONAL 0x00
77#define USB_CDC_DESCR_SUBTYPE_CALL_MGMT 0x01
79#define USB_CDC_DESCR_SUBTYPE_ACM 0x02
81#define USB_CDC_DESCR_SUBTYPE_UNION 0x06
82#define USB_CDC_DESCR_SUBTYPE_ETH_NET 0x0f
93#define USB_CDC_MGNT_REQUEST_SET_LINE_CODING (0x20)
98#define USB_CDC_MGNT_REQUEST_GET_LINE_CODING (0x21)
103#define USB_CDC_MGNT_REQUEST_SET_CONTROL_LINE_STATE (0x22)
108#define USB_CDC_MGNT_REQUEST_SET_ETH_MULTICAST_FILTER 0x40
113#define USB_CDC_MGNT_REQUEST_SET_ETH_PM_PATTERN_FILTER 0x41
118#define USB_CDC_MGNT_REQUEST_GET_ETH_PM_PATTERN_FILTER 0x42
123#define USB_CDC_MGNT_REQUEST_SET_ETH_PACKET_FILTER 0x43
128#define USB_CDC_MGNT_REQUEST_GET_ETH_STATISTICS 0x44
139#define USB_CDC_ACM_CONTROL_LINE_DTE (0x01)
144#define USB_CDC_ACM_CONTROL_LINE_CARRIER (0x02)
155#define USB_CDC_MGNT_NOTIF_NETWORK_CONNECTION 0x00
160#define USB_CDC_MGNT_NOTIF_RESPONSE_AVAILABLE 0x01
165#define USB_CDC_MGNT_NOTIF_AUX_JACK_HOOK_STATE 0x08
170#define USB_CDC_MGNT_NOTIF_RING_DETECT 0x09
175#define USB_CDC_MGNT_NOTIF_SERIAL_STATE 0x20
180#define USB_CDC_MGNT_NOTIF_CALL_STATE_CHANGE 0x28
185#define USB_CDC_MGNT_NOTIF_LINE_STATE_CHANGE 0x29
190#define USB_CDC_MGNT_NOTIF_CONN_SPEED_CHANGE 0x2A
199typedef struct __attribute__((packed)) {
215typedef struct __attribute__((packed)) {
227typedef struct __attribute__((packed)) {
237typedef struct __attribute__((packed)) {
250typedef struct __attribute__((packed)) {
263typedef struct __attribute__((packed)) {
278typedef struct __attribute__((packed)) {
285#define USB_CDC_ACM_CODING_STOP_BITS_1 0
286#define USB_CDC_ACM_CODING_STOP_BITS_1_5 1
287#define USB_CDC_ACM_CODING_STOP_BITS_2 2
289#define USB_CDC_ACM_CODING_PARITY_NONE 0
290#define USB_CDC_ACM_CODING_PARITY_ODD 1
291#define USB_CDC_ACM_CODING_PARITY_EVEN 2
292#define USB_CDC_ACM_CODING_PARITY_MARK 3
293#define USB_CDC_ACM_CODING_PARITY_SPACE 4
Definitions for USB protocol messages.
uint8_t subtype
Descriptor subtype (USB_CDC_DESCR_SUBTYPE_ACM)
uint8_t type
Descriptor type (USB_TYPE_DESCRIPTOR_CDC)
uint8_t length
Size of this descriptor.
uint8_t capabilities
Bitmap indicating the capabilities.
USB CDC call management functional descriptor.
uint8_t length
Size of this descriptor.
uint8_t capabilities
Supported capabilities.
uint8_t type
Descriptor type (USB_TYPE_DESCRIPTOR_CDC)
uint8_t data_if
Interface number used for the call management.
uint8_t subtype
Descriptor subtype (USB_CDC_DESCR_SUBTYPE_CALL_MGMT)
Generic USB CDC descriptor.
uint8_t subtype
Descriptor subtype (usb_cdc_subtype)
uint8_t length
Size of this descriptor.
uint8_t type
Descriptor type (USB_TYPE_DESCRIPTOR_CDC)
uint16_t bcd_cdc
CDC release number in bcd (USB_CDC_VERSION_BCD)
USB CDC ECM connection speed change notification.
uint32_t down
Downlink bit rate.
uint32_t up
Uplink bit rate.
usb_setup_t setup
Setup request header for the notification.
uint16_t maxsegmentsize
Maximum segment size of the interface.
uint8_t macaddress
Index of the string containing the ethernet MAC address.
uint8_t length
Size of this descriptor.
uint8_t subtype
Descriptor subtype (USB_CDC_DESCR_SUBTYPE_ETH_NET)
uint16_t numbermcfilters
Number of configurable multicast filters.
uint8_t numberpowerfilters
Number of pattern filters for host wake-up.
uint8_t type
Descriptor type (USB_TYPE_DESCRIPTOR_CDC)
uint32_t ethernetstatistics
Bitmap indicating the statistics caps.
uint8_t master_if
Master/controlling interface number.
uint8_t length
Size of this descriptor.
uint8_t slave_if
Slave/subordinate interface number.
uint8_t subtype
Descriptor subtype (USB_CDC_DESCR_SUBTYPE_UNION)
uint8_t type
Descriptor type (USB_TYPE_DESCRIPTOR_CDC)
USB CDC ACM line coding setup content.
uint8_t parity
Parity settings.
uint8_t format
Stop bits settings.
uint8_t databits
Number of data bits (5, 6, 7, 8 or 16)
uint32_t baud
Requested baud rate.
USB setup packet (USB 2.0 spec table 9-2)
Definition of global compile time configuration options.