USB Communication Device Class (CDC) protocol definitions. More...
#include "compiler.h"

Go to the source code of this file.
Classes | |
| struct | usb_cdc_acm_desc_t | 
| CDC ACM Functional Descriptor.  More... | |
| struct | usb_cdc_call_mgmt_desc_t | 
| CDC Call Management Functional Descriptor.  More... | |
| struct | usb_cdc_control_signal_t | 
| Control signal structure.  More... | |
| struct | usb_cdc_hdr_desc_t | 
| CDC Header Functional Descriptor.  More... | |
| struct | usb_cdc_line_coding_t | 
| Line Coding structure.  More... | |
| struct | usb_cdc_notify_msg_t | 
| struct | usb_cdc_notify_serial_state_t | 
| Hardware handshake support (cdc spec 1.1 chapter 6.3.5)  More... | |
| struct | usb_cdc_union_desc_t | 
| CDC Union Functional Descriptor.  More... | |
Macros | |
Possible values of class  | |
| #define | CDC_CLASS_DEVICE 0x02 | 
| USB Communication Device Class.  More... | |
| #define | CDC_CLASS_COMM 0x02 | 
| CDC Communication Class Interface.  More... | |
| #define | CDC_CLASS_DATA 0x0A | 
| CDC Data Class Interface.  More... | |
USB CDC Subclass IDs  | |
| #define | CDC_SUBCLASS_DLCM 0x01 | 
| Direct Line Control Model.  More... | |
| #define | CDC_SUBCLASS_ACM 0x02 | 
| Abstract Control Model.  More... | |
| #define | CDC_SUBCLASS_TCM 0x03 | 
| Telephone Control Model.  More... | |
| #define | CDC_SUBCLASS_MCCM 0x04 | 
| Multi-Channel Control Model.  More... | |
| #define | CDC_SUBCLASS_CCM 0x05 | 
| CAPI Control Model.  More... | |
| #define | CDC_SUBCLASS_ETH 0x06 | 
| Ethernet Networking Control Model.  More... | |
| #define | CDC_SUBCLASS_ATM 0x07 | 
| ATM Networking Control Model.  More... | |
USB CDC Communication Interface Protocol IDs  | |
| #define | CDC_PROTOCOL_V25TER 0x01 | 
| Common AT commands.  More... | |
USB CDC Data Interface Protocol IDs  | |
| #define | CDC_PROTOCOL_I430 0x30 | 
| ISDN BRI.  More... | |
| #define | CDC_PROTOCOL_HDLC 0x31 | 
| HDLC.  More... | |
| #define | CDC_PROTOCOL_TRANS 0x32 | 
| Transparent.  More... | |
| #define | CDC_PROTOCOL_Q921M 0x50 | 
| Q.921 management protocol.  More... | |
| #define | CDC_PROTOCOL_Q921 0x51 | 
| Q.931 [sic] Data link protocol.  More... | |
| #define | CDC_PROTOCOL_Q921TM 0x52 | 
| Q.921 TEI-multiplexor.  More... | |
| #define | CDC_PROTOCOL_V42BIS 0x90 | 
| Data compression procedures.  More... | |
| #define | CDC_PROTOCOL_Q931 0x91 | 
| Euro-ISDN protocol control.  More... | |
| #define | CDC_PROTOCOL_V120 0x92 | 
| V.24 rate adaption to ISDN.  More... | |
| #define | CDC_PROTOCOL_CAPI20 0x93 | 
| CAPI Commands.  More... | |
| #define | CDC_PROTOCOL_HOST 0xFD | 
| Host based driver.  More... | |
| #define | CDC_PROTOCOL_PUFD 0xFE | 
| Describes the Protocol Unit Functional Descriptors [sic] on Communication Class Interface.  More... | |
USB CDC Functional Descriptor Types  | |
| #define | CDC_CS_INTERFACE 0x24 | 
| Interface Functional Descriptor.  More... | |
| #define | CDC_CS_ENDPOINT 0x25 | 
| Endpoint Functional Descriptor.  More... | |
USB CDC Functional Descriptor Subtypes  | |
| #define | CDC_SCS_HEADER 0x00 | 
| Header Functional Descriptor.  More... | |
| #define | CDC_SCS_CALL_MGMT 0x01 | 
| Call Management.  More... | |
| #define | CDC_SCS_ACM 0x02 | 
| Abstract Control Management.  More... | |
| #define | CDC_SCS_UNION 0x06 | 
| Union Functional Descriptor.  More... | |
USB CDC Request IDs  | |
| #define | USB_REQ_CDC_SEND_ENCAPSULATED_COMMAND 0x00 | 
| #define | USB_REQ_CDC_GET_ENCAPSULATED_RESPONSE 0x01 | 
| #define | USB_REQ_CDC_SET_COMM_FEATURE 0x02 | 
| #define | USB_REQ_CDC_GET_COMM_FEATURE 0x03 | 
| #define | USB_REQ_CDC_CLEAR_COMM_FEATURE 0x04 | 
| #define | USB_REQ_CDC_SET_AUX_LINE_STATE 0x10 | 
| #define | USB_REQ_CDC_SET_HOOK_STATE 0x11 | 
| #define | USB_REQ_CDC_PULSE_SETUP 0x12 | 
| #define | USB_REQ_CDC_SEND_PULSE 0x13 | 
| #define | USB_REQ_CDC_SET_PULSE_TIME 0x14 | 
| #define | USB_REQ_CDC_RING_AUX_JACK 0x15 | 
| #define | USB_REQ_CDC_SET_LINE_CODING 0x20 | 
| #define | USB_REQ_CDC_GET_LINE_CODING 0x21 | 
| #define | USB_REQ_CDC_SET_CONTROL_LINE_STATE 0x22 | 
| #define | USB_REQ_CDC_SEND_BREAK 0x23 | 
| #define | USB_REQ_CDC_SET_RINGER_PARMS 0x30 | 
| #define | USB_REQ_CDC_GET_RINGER_PARMS 0x31 | 
| #define | USB_REQ_CDC_SET_OPERATION_PARMS 0x32 | 
| #define | USB_REQ_CDC_GET_OPERATION_PARMS 0x33 | 
| #define | USB_REQ_CDC_SET_LINE_PARMS 0x34 | 
| #define | USB_REQ_CDC_GET_LINE_PARMS 0x35 | 
| #define | USB_REQ_CDC_DIAL_DIGITS 0x36 | 
| #define | USB_REQ_CDC_SET_UNIT_PARAMETER 0x37 | 
| #define | USB_REQ_CDC_GET_UNIT_PARAMETER 0x38 | 
| #define | USB_REQ_CDC_CLEAR_UNIT_PARAMETER 0x39 | 
| #define | USB_REQ_CDC_GET_PROFILE 0x3A | 
| #define | USB_REQ_CDC_SET_ETHERNET_MULTICAST_FILTERS 0x40 | 
| #define | USB_REQ_CDC_SET_ETHERNET_POWER_MANAGEMENT_PATTERNFILTER 0x41 | 
| #define | USB_REQ_CDC_GET_ETHERNET_POWER_MANAGEMENT_PATTERNFILTER 0x42 | 
| #define | USB_REQ_CDC_SET_ETHERNET_PACKET_FILTER 0x43 | 
| #define | USB_REQ_CDC_GET_ETHERNET_STATISTIC 0x44 | 
| #define | USB_REQ_CDC_SET_ATM_DATA_FORMAT 0x50 | 
| #define | USB_REQ_CDC_GET_ATM_DEVICE_STATISTICS 0x51 | 
| #define | USB_REQ_CDC_SET_ATM_DEFAULT_VC 0x52 | 
| #define | USB_REQ_CDC_GET_ATM_VC_STATISTICS 0x53 | 
| #define | USB_REQ_CDC_NOTIFY_RING_DETECT 0x09 | 
| #define | USB_REQ_CDC_NOTIFY_SERIAL_STATE 0x20 | 
| #define | USB_REQ_CDC_NOTIFY_CALL_STATE_CHANGE 0x28 | 
| #define | USB_REQ_CDC_NOTIFY_LINE_STATE_CHANGE 0x29 | 
USB CDC Call Management Capabilities  | |
| #define | CDC_CALL_MGMT_SUPPORTED (1 << 0) | 
| Device handles call management itself.  More... | |
| #define | CDC_CALL_MGMT_OVER_DCI (1 << 1) | 
| Device can send/receive call management info over a Data Class interface.  More... | |
USB CDC ACM Capabilities  | |
| #define | CDC_ACM_SUPPORT_FEATURE_REQUESTS (1 << 0) | 
| #define | CDC_ACM_SUPPORT_LINE_REQUESTS (1 << 1) | 
| #define | CDC_ACM_SUPPORT_SENDBREAK_REQUESTS (1 << 2) | 
| Device supports the request Send_Break.  More... | |
| #define | CDC_ACM_SUPPORT_NOTIFY_REQUESTS (1 << 3) | 
| Device supports the notification Network_Connection.  More... | |
Possible values in usb_cdc_control_signal_t  | |
| #define | CDC_CTRL_SIGNAL_ACTIVATE_CARRIER (1 << 1) | 
| #define | CDC_CTRL_SIGNAL_DTE_PRESENT (1 << 0) | 
Possible values in usb_cdc_notify_serial_state_t  | |
| #define | CDC_SERIAL_STATE_DCD CPU_TO_LE16((1<<0)) | 
| #define | CDC_SERIAL_STATE_DSR CPU_TO_LE16((1<<1)) | 
| #define | CDC_SERIAL_STATE_BREAK CPU_TO_LE16((1<<2)) | 
| #define | CDC_SERIAL_STATE_RING CPU_TO_LE16((1<<3)) | 
| #define | CDC_SERIAL_STATE_FRAMING CPU_TO_LE16((1<<4)) | 
| #define | CDC_SERIAL_STATE_PARITY CPU_TO_LE16((1<<5)) | 
| #define | CDC_SERIAL_STATE_OVERRUN CPU_TO_LE16((1<<6)) | 
Enumerations | |
USB CDC line coding  | |
| enum | cdc_char_format { CDC_STOP_BITS_1 = 0, CDC_STOP_BITS_1_5 = 1, CDC_STOP_BITS_2 = 2 } | 
| Possible values of bCharFormat.  More... | |
| enum | cdc_parity {  CDC_PAR_NONE = 0, CDC_PAR_ODD = 1, CDC_PAR_EVEN = 2, CDC_PAR_MARK = 3, CDC_PAR_SPACE = 4 }  | 
| Possible values of bParityType.  More... | |
USB Communication Device Class (CDC) protocol definitions.
Copyright (c) 2009-2018 Microchip Technology Inc. and its subsidiaries.
Definition in file usb_protocol_cdc.h.
| #define CDC_CTRL_SIGNAL_ACTIVATE_CARRIER (1 << 1) | 
Carrier control for half duplex modems. This signal corresponds to V.24 signal 105 and RS-232 signal RTS. The device ignores the value of this bit when operating in full duplex mode.
Definition at line 262 of file usb_protocol_cdc.h.
| #define CDC_CTRL_SIGNAL_DTE_PRESENT (1 << 0) | 
Indicates to DCE if DTE is present or not. This signal corresponds to V.24 signal 108/2 and RS-232 signal DTR.
Definition at line 265 of file usb_protocol_cdc.h.
| #define CDC_SERIAL_STATE_BREAK CPU_TO_LE16((1<<2)) | 
Definition at line 294 of file usb_protocol_cdc.h.
| #define CDC_SERIAL_STATE_DCD CPU_TO_LE16((1<<0)) | 
Definition at line 292 of file usb_protocol_cdc.h.
| #define CDC_SERIAL_STATE_DSR CPU_TO_LE16((1<<1)) | 
Definition at line 293 of file usb_protocol_cdc.h.
| #define CDC_SERIAL_STATE_FRAMING CPU_TO_LE16((1<<4)) | 
Definition at line 296 of file usb_protocol_cdc.h.
| #define CDC_SERIAL_STATE_OVERRUN CPU_TO_LE16((1<<6)) | 
Definition at line 298 of file usb_protocol_cdc.h.
| #define CDC_SERIAL_STATE_PARITY CPU_TO_LE16((1<<5)) | 
Definition at line 297 of file usb_protocol_cdc.h.
| #define CDC_SERIAL_STATE_RING CPU_TO_LE16((1<<3)) | 
Definition at line 295 of file usb_protocol_cdc.h.
| enum cdc_char_format | 
Possible values of bCharFormat.
| Enumerator | |
|---|---|
| CDC_STOP_BITS_1 | 1 stop bit  | 
| CDC_STOP_BITS_1_5 | 1.5 stop bits  | 
| CDC_STOP_BITS_2 | 2 stop bits  | 
Definition at line 232 of file usb_protocol_cdc.h.
| enum cdc_parity | 
Possible values of bParityType.
| Enumerator | |
|---|---|
| CDC_PAR_NONE | No parity.  | 
| CDC_PAR_ODD | Odd parity.  | 
| CDC_PAR_EVEN | Even parity.  | 
| CDC_PAR_MARK | Parity forced to 0 (space)  | 
| CDC_PAR_SPACE | Parity forced to 1 (mark)  | 
Definition at line 238 of file usb_protocol_cdc.h.