Difference between revisions of "Unit USBCDC"

From Ultibo.org
Jump to: navigation, search
Line 12: Line 12:
 
----
 
----
  
''To be documented''
+
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''CDC specific constants''' <code> USB_CDC_*_TYPE </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Class specific descriptor types (See: USB Class Definitions for Communications Devices 1.2)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>USB_CDC_HEADER_TYPE = $00;</code>
 +
| Header Functional Descriptor
 +
|-
 +
| <code>USB_CDC_CALL_MANAGEMENT_TYPE = $01;</code>
 +
| Call Management Functional Descriptor
 +
|-
 +
| <code>USB_CDC_ACM_TYPE = $02;</code>
 +
| Abstract Control Management Functional Descriptor
 +
|-
 +
| <code>USB_CDC_DLM_TYPE = $03;</code>
 +
| Direct Line Management Functional Descriptor
 +
|-
 +
| <code>USB_CDC_RINGER_TYPE = $04;</code>
 +
| Telephone Ringer Functional Descriptor
 +
|-
 +
| <code>USB_CDC_CALL_LINE_TYPE = $05;</code>
 +
| Telephone Call and Line State Reporting Capabilities Functional Descriptor
 +
|-
 +
| <code>USB_CDC_UNION_TYPE = $06;</code>
 +
| Union Functional Descriptor
 +
|-
 +
| <code>USB_CDC_COUNTRY_TYPE = $07;</code>
 +
| Country Selection Functional Descriptor
 +
|-
 +
| <code>USB_CDC_TOM_TYPE = $08;</code>
 +
| Telephone Operational Modes Functional Descriptor
 +
|-
 +
| <code>USB_CDC_USB_TERMINAL_TYPE = $09;</code>
 +
| USB Terminal Functional Descriptor
 +
|-
 +
| <code>USB_CDC_NETWORK_TERMINAL_TYPE = $0a;</code>
 +
| Network Channel Terminal Descriptor
 +
|-
 +
| <code>USB_CDC_PROTOCOL_TYPE = $0b;</code>
 +
| Protocol Unit Functional Descriptor
 +
|-
 +
| <code>USB_CDC_EXTENSION_TYPE = $0c;</code>
 +
| Extension Unit Functional Descriptor
 +
|-
 +
| <code>USB_CDC_MCCM_TYPE = $0d;</code>
 +
| Multi-Channel Management Functional Descriptor
 +
|-
 +
| <code>USB_CDC_CCM_TYPE = $0e;</code>
 +
| CAPI Control Management Functional Descriptor
 +
|-
 +
| <code>USB_CDC_ETHERNET_TYPE = $0f;</code>
 +
| Ethernet Networking Functional Descriptor
 +
|-
 +
| <code>USB_CDC_ATM_TYPE = $10;</code>
 +
| ATM Networking Functional Descriptor
 +
|-
 +
| <code>USB_CDC_WHCM_TYPE = $11;</code>
 +
| Wireless Handset Control Model Functional Descriptor
 +
|-
 +
| <code>USB_CDC_MDLM_TYPE = $12;</code>
 +
| Mobile Direct Line Model Functional Descriptor
 +
|-
 +
| <code>USB_CDC_MDLM_DETAIL_TYPE = $13;</code>
 +
| MDLM Detail Functional Descriptor
 +
|-
 +
| <code>USB_CDC_DMM_TYPE = $14;</code>
 +
| Device Management Model Functional Descriptor
 +
|-
 +
| <code>USB_CDC_OBEX_TYPE = $15;</code>
 +
| OBEX Functional Descriptor
 +
|-
 +
| <code>USB_CDC_TCM_TYPE = $18;</code>
 +
| Telephone Control Model Functional Descriptor
 +
|-
 +
| <code>USB_CDC_NCM_TYPE = $1a;</code>
 +
| NCM Functional Descriptor
 +
|-
 +
| <code>USB_CDC_MBIM_TYPE = $1b;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_MBIM_EXTENDED_TYPE = $1c;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''CDC call management capabilities''' <code> USB_CDC_CALL_MGMT_CAP_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Call Management Capabilities (See: Section 5.2.3.2 of USB Class Definitions for Communications Devices 1.2)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>USB_CDC_CALL_MGMT_CAP_CALL_MGMT = $01;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>USB_CDC_CALL_MGMT_CAP_DATA_INTF = $02;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br /> 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''CDC abstract control model capabilities''' <code> USB_CDC_ACM_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Abstract Control Model Capabilities (See: Section 5.2.3.3 of USB Class Definitions for Communications Devices 1.2)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>USB_CDC_ACM_COMM_FEATURE = $01;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>USB_CDC_ACM_CAP_LINE = $02;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_ACM_CAP_BRK = $04;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_ACM_CAP_NOTIFY = $08;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''CDC class specific control requests''' <code> USB_CDC_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Class specific Control Requests (See: Section 6.2 of USB Class Definitions for Communications Devices 1.2)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>USB_CDC_SEND_ENCAPSULATED_COMMAND = $00;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>USB_CDC_GET_ENCAPSULATED_RESPONSE = $01;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_REQ_SET_LINE_CODING = $20;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_REQ_GET_LINE_CODING = $21;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_REQ_SET_CONTROL_LINE_STATE = $22;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_REQ_SEND_BREAK = $23;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_SET_ETHERNET_MULTICAST_FILTERS = $40;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_SET_ETHERNET_PM_PATTERN_FILTER = $41;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_GET_ETHERNET_PM_PATTERN_FILTER = $42;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_SET_ETHERNET_PACKET_FILTER = $43;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_GET_ETHERNET_STATISTIC = $44;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_GET_NTB_PARAMETERS = $80;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_GET_NET_ADDRESS = $81;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_SET_NET_ADDRESS = $82;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_GET_NTB_FORMAT = $83;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_SET_NTB_FORMAT = $84;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_GET_NTB_INPUT_SIZE = $85;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_SET_NTB_INPUT_SIZE = $86;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_GET_MAX_DATAGRAM_SIZE = $87;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_SET_MAX_DATAGRAM_SIZE = $88;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_GET_CRC_MODE = $89;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_SET_CRC_MODE = $8a;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''CDC get/set line coding bCharFormat''' <code> USB_CDC_*_STOP_BITS </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Get/Set Line Coding bCharFormat (See: Section 6.3.11 of USB Communications Class Subclass Specification for PSTN Devices 1.2)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>USB_CDC_1_STOP_BITS = 0;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>USB_CDC_1_5_STOP_BITS = 1;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_2_STOP_BITS = 2;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''CDC get/set line coding bParityType''' <code> USB_CDC_*_PARITY </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Get/Set Line Coding bParityType (See: Section 6.3.11 of USB Communications Class Subclass Specification for PSTN Devices 1.2)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>USB_CDC_NO_PARITY = 0;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>USB_CDC_ODD_PARITY = 1;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_EVEN_PARITY = 2;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_MARK_PARITY = 3;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_SPACE_PARITY = 4;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''CDC set control line state wValue''' <code> USB_CDC_ACM_CTRL_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Set Control Line State wValue (See: Section 6.3.12 of USB Communications Class Subclass Specification for PSTN Devices 1.2)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>USB_CDC_ACM_CTRL_DTR = $01;</code>
 +
| Indicates to DCE if DTE is present or not. This signal corresponds to V.24 signal 108/2 and RS-232 signal DTR.
 +
|-
 +
| <code>USB_CDC_ACM_CTRL_RTS = $02;</code>
 +
| Carrier control for half duplex modems. This signal corresponds to V.24 signal 105 and RS-232 signal RTS.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''CDC set ethernet packet filter wValue''' <code> USB_CDC_PACKET_TYPE_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Set Ethernet Packet Filter wValue (See: Section 6.2.4 of USB Communications Class Subclass Specification for Ethernet Control Model Devices 1.2)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>USB_CDC_PACKET_TYPE_PROMISCUOUS = (1 shl 0);</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_PACKET_TYPE_ALL_MULTICAST = (1 shl 1);</code>
 +
| No filter
 +
|-
 +
| <code>USB_CDC_PACKET_TYPE_DIRECTED = (1 shl 2);</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_PACKET_TYPE_BROADCAST = (1 shl 3);</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_PACKET_TYPE_MULTICAST = (1 shl 4);</code>
 +
| Filtered
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''CDC class specific notifications''' <code> USB_CDC_NOTIFY_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Class Specific Notifications (See: Section 6.3 of USB Class Definitions for Communications Devices 1.2)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>USB_CDC_NOTIFY_NETWORK_CONNECTION = $00;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>USB_CDC_NOTIFY_RESPONSE_AVAILABLE = $01;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_NOTIFY_SERIAL_STATE = $20;</code>
 +
| &nbsp;
 +
|-
 +
| <code>USB_CDC_NOTIFY_SPEED_CHANGE = $2a;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''CDC serial state notification data''' <code> USB_CDC_ACM_CTRL_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Serial State Notification Data (See: Section 6.5.4 of USB Communications Class Subclass Specification for PSTN Devices 1.2)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>USB_CDC_ACM_CTRL_DCD = $01;</code>
 +
| State of receiver carrier detection mechanism of device. This signal corresponds to V.24 signal 109 and RS-232 signal DCD.
 +
|-
 +
| <code>USB_CDC_ACM_CTRL_DSR = $02;</code>
 +
| State of transmission carrier. This signal corresponds to V.24 signal 106 and RS-232 signal DSR.
 +
|-
 +
| <code>USB_CDC_ACM_CTRL_BRK = $04;</code>
 +
| State of break detection mechanism of the device
 +
|-
 +
| <code>USB_CDC_ACM_CTRL_RI = $08;</code>
 +
| State of ring signal detection of the device
 +
|-
 +
| <code>USB_CDC_ACM_CTRL_FRAMING = $10;</code>
 +
| A framing error has occurred
 +
|-
 +
| <code>USB_CDC_ACM_CTRL_PARITY = $20;</code>
 +
| A parity error has occurred
 +
|-
 +
| <code>USB_CDC_ACM_CTRL_OVERRUN = $40;</code>
 +
| Received data has been discarded due to overrun in the device
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|<code>USB_CDC_ACM_CTRL_CONTROL_MASK = USB_CDC_ACM_CTRL_DCD or USB_CDC_ACM_CTRL_DSR or USB_CDC_ACM_CTRL_RI;</code>
 +
|-
 +
|colspan="2"|<code>USB_CDC_ACM_CTRL_TRANSIENT_MASK = USB_CDC_ACM_CTRL_BRK or USB_CDC_ACM_CTRL_FRAMING or USB_CDC_ACM_CTRL_PARITY or USB_CDC_ACM_CTRL_OVERRUN;</code>
 +
|-
 +
|}
 +
</div></div>
 +
<br />
  
 
=== Type definitions ===
 
=== Type definitions ===

Revision as of 06:13, 9 September 2021

Return to Unit Reference


Description


Ultibo USB CDC Interface unit

The USB Communications Device Class (CDC) standard defines the protocol for communicating with a range of network adapters, modems and ISDN devices. This unit provides common definitions and structures used in conjunction with CDC devices.

Constants



CDC specific constants USB_CDC_*_TYPE
Class specific descriptor types (See: USB Class Definitions for Communications Devices 1.2)
 
USB_CDC_HEADER_TYPE = $00; Header Functional Descriptor
USB_CDC_CALL_MANAGEMENT_TYPE = $01; Call Management Functional Descriptor
USB_CDC_ACM_TYPE = $02; Abstract Control Management Functional Descriptor
USB_CDC_DLM_TYPE = $03; Direct Line Management Functional Descriptor
USB_CDC_RINGER_TYPE = $04; Telephone Ringer Functional Descriptor
USB_CDC_CALL_LINE_TYPE = $05; Telephone Call and Line State Reporting Capabilities Functional Descriptor
USB_CDC_UNION_TYPE = $06; Union Functional Descriptor
USB_CDC_COUNTRY_TYPE = $07; Country Selection Functional Descriptor
USB_CDC_TOM_TYPE = $08; Telephone Operational Modes Functional Descriptor
USB_CDC_USB_TERMINAL_TYPE = $09; USB Terminal Functional Descriptor
USB_CDC_NETWORK_TERMINAL_TYPE = $0a; Network Channel Terminal Descriptor
USB_CDC_PROTOCOL_TYPE = $0b; Protocol Unit Functional Descriptor
USB_CDC_EXTENSION_TYPE = $0c; Extension Unit Functional Descriptor
USB_CDC_MCCM_TYPE = $0d; Multi-Channel Management Functional Descriptor
USB_CDC_CCM_TYPE = $0e; CAPI Control Management Functional Descriptor
USB_CDC_ETHERNET_TYPE = $0f; Ethernet Networking Functional Descriptor
USB_CDC_ATM_TYPE = $10; ATM Networking Functional Descriptor
USB_CDC_WHCM_TYPE = $11; Wireless Handset Control Model Functional Descriptor
USB_CDC_MDLM_TYPE = $12; Mobile Direct Line Model Functional Descriptor
USB_CDC_MDLM_DETAIL_TYPE = $13; MDLM Detail Functional Descriptor
USB_CDC_DMM_TYPE = $14; Device Management Model Functional Descriptor
USB_CDC_OBEX_TYPE = $15; OBEX Functional Descriptor
USB_CDC_TCM_TYPE = $18; Telephone Control Model Functional Descriptor
USB_CDC_NCM_TYPE = $1a; NCM Functional Descriptor
USB_CDC_MBIM_TYPE = $1b;  
USB_CDC_MBIM_EXTENDED_TYPE = $1c;  


CDC call management capabilities USB_CDC_CALL_MGMT_CAP_*
Call Management Capabilities (See: Section 5.2.3.2 of USB Class Definitions for Communications Devices 1.2)
 
USB_CDC_CALL_MGMT_CAP_CALL_MGMT = $01;  
USB_CDC_CALL_MGMT_CAP_DATA_INTF = $02;  


CDC abstract control model capabilities USB_CDC_ACM_*
Abstract Control Model Capabilities (See: Section 5.2.3.3 of USB Class Definitions for Communications Devices 1.2)
 
USB_CDC_ACM_COMM_FEATURE = $01;  
USB_CDC_ACM_CAP_LINE = $02;  
USB_CDC_ACM_CAP_BRK = $04;  
USB_CDC_ACM_CAP_NOTIFY = $08;  


CDC class specific control requests USB_CDC_*
Class specific Control Requests (See: Section 6.2 of USB Class Definitions for Communications Devices 1.2)
 
USB_CDC_SEND_ENCAPSULATED_COMMAND = $00;  
USB_CDC_GET_ENCAPSULATED_RESPONSE = $01;  
USB_CDC_REQ_SET_LINE_CODING = $20;  
USB_CDC_REQ_GET_LINE_CODING = $21;  
USB_CDC_REQ_SET_CONTROL_LINE_STATE = $22;  
USB_CDC_REQ_SEND_BREAK = $23;  
USB_CDC_SET_ETHERNET_MULTICAST_FILTERS = $40;  
USB_CDC_SET_ETHERNET_PM_PATTERN_FILTER = $41;  
USB_CDC_GET_ETHERNET_PM_PATTERN_FILTER = $42;  
USB_CDC_SET_ETHERNET_PACKET_FILTER = $43;  
USB_CDC_GET_ETHERNET_STATISTIC = $44;  
USB_CDC_GET_NTB_PARAMETERS = $80;  
USB_CDC_GET_NET_ADDRESS = $81;  
USB_CDC_SET_NET_ADDRESS = $82;  
USB_CDC_GET_NTB_FORMAT = $83;  
USB_CDC_SET_NTB_FORMAT = $84;  
USB_CDC_GET_NTB_INPUT_SIZE = $85;  
USB_CDC_SET_NTB_INPUT_SIZE = $86;  
USB_CDC_GET_MAX_DATAGRAM_SIZE = $87;  
USB_CDC_SET_MAX_DATAGRAM_SIZE = $88;  
USB_CDC_GET_CRC_MODE = $89;  
USB_CDC_SET_CRC_MODE = $8a;  


CDC get/set line coding bCharFormat USB_CDC_*_STOP_BITS
Get/Set Line Coding bCharFormat (See: Section 6.3.11 of USB Communications Class Subclass Specification for PSTN Devices 1.2)
 
USB_CDC_1_STOP_BITS = 0;  
USB_CDC_1_5_STOP_BITS = 1;  
USB_CDC_2_STOP_BITS = 2;  


CDC get/set line coding bParityType USB_CDC_*_PARITY
Get/Set Line Coding bParityType (See: Section 6.3.11 of USB Communications Class Subclass Specification for PSTN Devices 1.2)
 
USB_CDC_NO_PARITY = 0;  
USB_CDC_ODD_PARITY = 1;  
USB_CDC_EVEN_PARITY = 2;  
USB_CDC_MARK_PARITY = 3;  
USB_CDC_SPACE_PARITY = 4;  


CDC set control line state wValue USB_CDC_ACM_CTRL_*
Set Control Line State wValue (See: Section 6.3.12 of USB Communications Class Subclass Specification for PSTN Devices 1.2)
 
USB_CDC_ACM_CTRL_DTR = $01; Indicates to DCE if DTE is present or not. This signal corresponds to V.24 signal 108/2 and RS-232 signal DTR.
USB_CDC_ACM_CTRL_RTS = $02; Carrier control for half duplex modems. This signal corresponds to V.24 signal 105 and RS-232 signal RTS.


CDC set ethernet packet filter wValue USB_CDC_PACKET_TYPE_*
Set Ethernet Packet Filter wValue (See: Section 6.2.4 of USB Communications Class Subclass Specification for Ethernet Control Model Devices 1.2)
 
USB_CDC_PACKET_TYPE_PROMISCUOUS = (1 shl 0);  
USB_CDC_PACKET_TYPE_ALL_MULTICAST = (1 shl 1); No filter
USB_CDC_PACKET_TYPE_DIRECTED = (1 shl 2);  
USB_CDC_PACKET_TYPE_BROADCAST = (1 shl 3);  
USB_CDC_PACKET_TYPE_MULTICAST = (1 shl 4); Filtered


CDC class specific notifications USB_CDC_NOTIFY_*
Class Specific Notifications (See: Section 6.3 of USB Class Definitions for Communications Devices 1.2)
 
USB_CDC_NOTIFY_NETWORK_CONNECTION = $00;  
USB_CDC_NOTIFY_RESPONSE_AVAILABLE = $01;  
USB_CDC_NOTIFY_SERIAL_STATE = $20;  
USB_CDC_NOTIFY_SPEED_CHANGE = $2a;  


CDC serial state notification data USB_CDC_ACM_CTRL_*
Serial State Notification Data (See: Section 6.5.4 of USB Communications Class Subclass Specification for PSTN Devices 1.2)
 
USB_CDC_ACM_CTRL_DCD = $01; State of receiver carrier detection mechanism of device. This signal corresponds to V.24 signal 109 and RS-232 signal DCD.
USB_CDC_ACM_CTRL_DSR = $02; State of transmission carrier. This signal corresponds to V.24 signal 106 and RS-232 signal DSR.
USB_CDC_ACM_CTRL_BRK = $04; State of break detection mechanism of the device
USB_CDC_ACM_CTRL_RI = $08; State of ring signal detection of the device
USB_CDC_ACM_CTRL_FRAMING = $10; A framing error has occurred
USB_CDC_ACM_CTRL_PARITY = $20; A parity error has occurred
USB_CDC_ACM_CTRL_OVERRUN = $40; Received data has been discarded due to overrun in the device
 
USB_CDC_ACM_CTRL_CONTROL_MASK = USB_CDC_ACM_CTRL_DCD or USB_CDC_ACM_CTRL_DSR or USB_CDC_ACM_CTRL_RI;
USB_CDC_ACM_CTRL_TRANSIENT_MASK = USB_CDC_ACM_CTRL_BRK or USB_CDC_ACM_CTRL_FRAMING or USB_CDC_ACM_CTRL_PARITY or USB_CDC_ACM_CTRL_OVERRUN;


Type definitions


To be documented

Public variables


None defined

Function declarations


To be documented


Return to Unit Reference