mikroSDK Reference Manual

Data Structures

struct  TU_ATTR_PACKED
 AUDIO Channel Cluster Descriptor (4.1) More...
 

Macros

#define cdc_desc_func_union_n_t(no_slave)
 
#define cdc_desc_func_country_selection_n_t(no_country)
 

Typedefs

typedef TU_ATTR_PACKED_BEGIN TU_ATTR_BIT_FIELD_ORDER_BEGIN struct TU_ATTR_PACKED cdc_desc_func_header_t
 Header Functional Descriptor (Communication Interface)
 
typedef struct TU_ATTR_PACKED cdc_desc_func_union_t
 Union Functional Descriptor (Communication Interface)
 
typedef struct TU_ATTR_PACKED cdc_desc_func_country_selection_t
 Country Selection Functional Descriptor (Communication Interface)
 
typedef struct TU_ATTR_PACKED cdc_desc_func_call_management_t
 Call Management Functional Descriptor.
 
typedef struct TU_ATTR_PACKED cdc_acm_capability_t
 
typedef struct TU_ATTR_PACKED cdc_desc_func_acm_t
 
typedef struct TU_ATTR_PACKED cdc_desc_func_direct_line_management_t
 Direct Line Management Functional Descriptor.
 
typedef struct TU_ATTR_PACKED cdc_desc_func_telephone_ringer_t
 Telephone Ringer Functional Descriptor.
 
typedef struct TU_ATTR_PACKED cdc_desc_func_telephone_operational_modes_t
 Telephone Operational Modes Functional Descriptor.
 
typedef struct TU_ATTR_PACKED cdc_desc_func_telephone_call_state_reporting_capabilities_t
 Telephone Call and Line State Reporting Capabilities Descriptor.
 
typedef struct TU_ATTR_PACKED cdc_line_coding_t
 
typedef struct TU_ATTR_PACKED cdc_line_control_state_t
 

Enumerations

enum  cdc_comm_sublcass_type_t {
  CDC_COMM_SUBCLASS_DIRECT_LINE_CONTROL_MODEL = 0x01 , CDC_COMM_SUBCLASS_ABSTRACT_CONTROL_MODEL = 0x02 , CDC_COMM_SUBCLASS_TELEPHONE_CONTROL_MODEL = 0x03 , CDC_COMM_SUBCLASS_MULTICHANNEL_CONTROL_MODEL = 0x04 ,
  CDC_COMM_SUBCLASS_CAPI_CONTROL_MODEL = 0x05 , CDC_COMM_SUBCLASS_ETHERNET_CONTROL_MODEL = 0x06 , CDC_COMM_SUBCLASS_ATM_NETWORKING_CONTROL_MODEL = 0x07 , CDC_COMM_SUBCLASS_WIRELESS_HANDSET_CONTROL_MODEL = 0x08 ,
  CDC_COMM_SUBCLASS_DEVICE_MANAGEMENT = 0x09 , CDC_COMM_SUBCLASS_MOBILE_DIRECT_LINE_MODEL = 0x0A , CDC_COMM_SUBCLASS_OBEX = 0x0B , CDC_COMM_SUBCLASS_ETHERNET_EMULATION_MODEL = 0x0C ,
  CDC_COMM_SUBCLASS_NETWORK_CONTROL_MODEL = 0x0D
}
 Communication Interface Subclass Codes. More...
 
enum  cdc_comm_protocol_type_t {
  CDC_COMM_PROTOCOL_NONE = 0x00 , CDC_COMM_PROTOCOL_ATCOMMAND = 0x01 , CDC_COMM_PROTOCOL_ATCOMMAND_PCCA_101 = 0x02 , CDC_COMM_PROTOCOL_ATCOMMAND_PCCA_101_AND_ANNEXO = 0x03 ,
  CDC_COMM_PROTOCOL_ATCOMMAND_GSM_707 = 0x04 , CDC_COMM_PROTOCOL_ATCOMMAND_3GPP_27007 = 0x05 , CDC_COMM_PROTOCOL_ATCOMMAND_CDMA = 0x06 , CDC_COMM_PROTOCOL_ETHERNET_EMULATION_MODEL = 0x07
}
 Communication Interface Protocol Codes. More...
 
enum  cdc_func_desc_type_t {
  CDC_FUNC_DESC_HEADER = 0x00 , CDC_FUNC_DESC_CALL_MANAGEMENT = 0x01 , CDC_FUNC_DESC_ABSTRACT_CONTROL_MANAGEMENT = 0x02 , CDC_FUNC_DESC_DIRECT_LINE_MANAGEMENT = 0x03 ,
  CDC_FUNC_DESC_TELEPHONE_RINGER = 0x04 , CDC_FUNC_DESC_TELEPHONE_CALL_AND_LINE_STATE_REPORTING_CAPACITY = 0x05 , CDC_FUNC_DESC_UNION = 0x06 , CDC_FUNC_DESC_COUNTRY_SELECTION = 0x07 ,
  CDC_FUNC_DESC_TELEPHONE_OPERATIONAL_MODES = 0x08 , CDC_FUNC_DESC_USB_TERMINAL = 0x09 , CDC_FUNC_DESC_NETWORK_CHANNEL_TERMINAL = 0x0A , CDC_FUNC_DESC_PROTOCOL_UNIT = 0x0B ,
  CDC_FUNC_DESC_EXTENSION_UNIT = 0x0C , CDC_FUNC_DESC_MULTICHANEL_MANAGEMENT = 0x0D , CDC_FUNC_DESC_CAPI_CONTROL_MANAGEMENT = 0x0E , CDC_FUNC_DESC_ETHERNET_NETWORKING = 0x0F ,
  CDC_FUNC_DESC_ATM_NETWORKING = 0x10 , CDC_FUNC_DESC_WIRELESS_HANDSET_CONTROL_MODEL = 0x11 , CDC_FUNC_DESC_MOBILE_DIRECT_LINE_MODEL = 0x12 , CDC_FUNC_DESC_MOBILE_DIRECT_LINE_MODEL_DETAIL = 0x13 ,
  CDC_FUNC_DESC_DEVICE_MANAGEMENT_MODEL = 0x14 , CDC_FUNC_DESC_OBEX = 0x15 , CDC_FUNC_DESC_COMMAND_SET = 0x16 , CDC_FUNC_DESC_COMMAND_SET_DETAIL = 0x17 ,
  CDC_FUNC_DESC_TELEPHONE_CONTROL_MODEL = 0x18 , CDC_FUNC_DESC_OBEX_SERVICE_IDENTIFIER = 0x19 , CDC_FUNC_DESC_NCM = 0x1A
}
 Communication Interface SubType Descriptor. More...
 
enum  cdc_data_protocol_type_t {
  CDC_DATA_PROTOCOL_ISDN_BRI = 0x30 , CDC_DATA_PROTOCOL_HDLC = 0x31 , CDC_DATA_PROTOCOL_TRANSPARENT = 0x32 , CDC_DATA_PROTOCOL_Q921_MANAGEMENT = 0x50 ,
  CDC_DATA_PROTOCOL_Q921_DATA_LINK = 0x51 , CDC_DATA_PROTOCOL_Q921_TEI_MULTIPLEXOR = 0x52 , CDC_DATA_PROTOCOL_V42BIS_DATA_COMPRESSION = 0x90 , CDC_DATA_PROTOCOL_EURO_ISDN = 0x91 ,
  CDC_DATA_PROTOCOL_V24_RATE_ADAPTION_TO_ISDN = 0x92 , CDC_DATA_PROTOCOL_CAPI_COMMAND = 0x93 , CDC_DATA_PROTOCOL_HOST_BASED_DRIVER = 0xFD , CDC_DATA_PROTOCOL_IN_PROTOCOL_UNIT_FUNCTIONAL_DESCRIPTOR = 0xFE
}
 
enum  cdc_management_request_t {
  CDC_REQUEST_SEND_ENCAPSULATED_COMMAND = 0x00 , CDC_REQUEST_GET_ENCAPSULATED_RESPONSE = 0x01 , CDC_REQUEST_SET_COMM_FEATURE = 0x02 , CDC_REQUEST_GET_COMM_FEATURE = 0x03 ,
  CDC_REQUEST_CLEAR_COMM_FEATURE = 0x04 , CDC_REQUEST_SET_AUX_LINE_STATE = 0x10 , CDC_REQUEST_SET_HOOK_STATE = 0x11 , CDC_REQUEST_PULSE_SETUP = 0x12 ,
  CDC_REQUEST_SEND_PULSE = 0x13 , CDC_REQUEST_SET_PULSE_TIME = 0x14 , CDC_REQUEST_RING_AUX_JACK = 0x15 , CDC_REQUEST_SET_LINE_CODING = 0x20 ,
  CDC_REQUEST_GET_LINE_CODING = 0x21 , CDC_REQUEST_SET_CONTROL_LINE_STATE = 0x22 , CDC_REQUEST_SEND_BREAK = 0x23 , CDC_REQUEST_SET_RINGER_PARMS = 0x30 ,
  CDC_REQUEST_GET_RINGER_PARMS = 0x31 , CDC_REQUEST_SET_OPERATION_PARMS = 0x32 , CDC_REQUEST_GET_OPERATION_PARMS = 0x33 , CDC_REQUEST_SET_LINE_PARMS = 0x34 ,
  CDC_REQUEST_GET_LINE_PARMS = 0x35 , CDC_REQUEST_DIAL_DIGITS = 0x36 , CDC_REQUEST_SET_UNIT_PARAMETER = 0x37 , CDC_REQUEST_GET_UNIT_PARAMETER = 0x38 ,
  CDC_REQUEST_CLEAR_UNIT_PARAMETER = 0x39 , CDC_REQUEST_GET_PROFILE = 0x3A , CDC_REQUEST_SET_ETHERNET_MULTICAST_FILTERS = 0x40 , CDC_REQUEST_SET_ETHERNET_POWER_MANAGEMENT_PATTERN_FILTER = 0x41 ,
  CDC_REQUEST_GET_ETHERNET_POWER_MANAGEMENT_PATTERN_FILTER = 0x42 , CDC_REQUEST_SET_ETHERNET_PACKET_FILTER = 0x43 , CDC_REQUEST_GET_ETHERNET_STATISTIC = 0x44 , CDC_REQUEST_SET_ATM_DATA_FORMAT = 0x50 ,
  CDC_REQUEST_GET_ATM_DEVICE_STATISTICS = 0x51 , CDC_REQUEST_SET_ATM_DEFAULT_VC = 0x52 , CDC_REQUEST_GET_ATM_VC_STATISTICS = 0x53 , CDC_REQUEST_MDLM_SEMANTIC_MODEL = 0x60
}
 Communication Interface Management Element Request Codes. More...
 
enum  { CDC_CONTROL_LINE_STATE_DTR = 0x01 , CDC_CONTROL_LINE_STATE_RTS = 0x02 }
 
enum  { CDC_LINE_CONDING_STOP_BITS_1 = 0 , CDC_LINE_CONDING_STOP_BITS_1_5 = 1 , CDC_LINE_CONDING_STOP_BITS_2 = 2 }
 
enum  {
  CDC_LINE_CODING_PARITY_NONE = 0 , CDC_LINE_CODING_PARITY_ODD = 1 , CDC_LINE_CODING_PARITY_EVEN = 2 , CDC_LINE_CODING_PARITY_MARK = 3 ,
  CDC_LINE_CODING_PARITY_SPACE = 4
}
 
enum  cdc_notification_request_t {
  CDC_NOTIF_NETWORK_CONNECTION = 0x00 , CDC_NOTIF_RESPONSE_AVAILABLE = 0x01 , CDC_NOTIF_AUX_JACK_HOOK_STATE = 0x08 , CDC_NOTIF_RING_DETECT = 0x09 ,
  CDC_NOTIF_SERIAL_STATE = 0x20 , CDC_NOTIF_CALL_STATE_CHANGE = 0x28 , CDC_NOTIF_LINE_STATE_CHANGE = 0x29 , CDC_NOTIF_CONNECTION_SPEED_CHANGE = 0x2A ,
  CDC_NOTIF_MDLM_SEMANTIC_MODEL_NOTIFICATION = 0x40
}
 6.3 Notification Codes More...
 

Functions list

 TU_VERIFY_STATIC (sizeof(cdc_acm_capability_t)==1, "mostly problem with compiler")
 
 TU_VERIFY_STATIC (sizeof(cdc_line_coding_t)==7, "size is not correct")
 

Macro Definition Documentation

◆ cdc_desc_func_country_selection_n_t

#define cdc_desc_func_country_selection_n_t ( no_country)
Value:
struct TU_ATTR_PACKED { \
uint8_t bLength ;\
uint8_t bDescriptorType ;\
uint8_t bDescriptorSubType ;\
uint16_t wCountryCode[no_country] ;\
}
uint8_t iCountryCodeRelDate
Index of a string giving the release date for the implemented ISO 3166 Country Codes.
Definition cdc.h:267
uint8_t bDescriptorSubType
Descriptor SubType. Value: AUDIO_CS_AC_INTERFACE_HEADER.
Definition audio.h:658
uint16_t wCountryCode
Country code in the format as defined in [ISO3166], release date as specified inoffset 3 for the firs...
Definition cdc.h:268
uint8_t bDescriptorType
Descriptor Type. Value: TUSB_DESC_CS_INTERFACE.
Definition audio.h:657
uint8_t bLength
Size of this descriptor in bytes: 9.
Definition audio.h:656
AUDIO Channel Cluster Descriptor (4.1)
Definition audio.h:647

◆ cdc_desc_func_union_n_t

#define cdc_desc_func_union_n_t ( no_slave)
Value:
struct TU_ATTR_PACKED { \
uint8_t bLength ;\
uint8_t bDescriptorType ;\
uint8_t bDescriptorSubType ;\
uint8_t bControlInterface ;\
uint8_t bSubordinateInterface[no_slave] ;\
}
uint8_t bControlInterface
Interface number of Communication Interface.
Definition cdc.h:248
uint8_t bSubordinateInterface
Array of Interface number of Data Interface.
Definition cdc.h:249

Typedef Documentation

◆ cdc_desc_func_acm_t

Abstract Control Management Functional Descriptor This functional descriptor describes the commands supported by by the Communications Class interface with SubClass code of CDC_COMM_SUBCLASS_ABSTRACT_CONTROL_MODEL

◆ cdc_desc_func_call_management_t

This functional descriptor describes the processing of calls for the Communications Class interface.

◆ cdc_desc_func_direct_line_management_t

This functional descriptor describes the commands supported by the Communications Class interface with SubClass code of CDC_FUNC_DESC_DIRECT_LINE_MANAGEMENT

◆ cdc_desc_func_telephone_call_state_reporting_capabilities_t

The Telephone Call and Line State Reporting Capabilities functional descriptor describes the abilities of a telephone device to report optional call and line states.

◆ cdc_desc_func_telephone_operational_modes_t

The Telephone Operational Modes functional descriptor describes the operational modes supported by the Communications Class interface, with the SubClass code of CDC_COMM_SUBCLASS_TELEPHONE_CONTROL_MODEL

◆ cdc_desc_func_telephone_ringer_t

The Telephone Ringer functional descriptor describes the ringer capabilities supported by the Communications Class interface, with the SubClass code of CDC_COMM_SUBCLASS_TELEPHONE_CONTROL_MODEL

Enumeration Type Documentation

◆ cdc_comm_protocol_type_t

Enumerator
CDC_COMM_PROTOCOL_NONE 

No specific protocol.

CDC_COMM_PROTOCOL_ATCOMMAND 

AT Commands: V.250 etc.

CDC_COMM_PROTOCOL_ATCOMMAND_PCCA_101 

AT Commands defined by PCCA-101.

CDC_COMM_PROTOCOL_ATCOMMAND_PCCA_101_AND_ANNEXO 

AT Commands defined by PCCA-101 & Annex O.

CDC_COMM_PROTOCOL_ATCOMMAND_GSM_707 

AT Commands defined by GSM 07.07.

CDC_COMM_PROTOCOL_ATCOMMAND_3GPP_27007 

AT Commands defined by 3GPP 27.007.

CDC_COMM_PROTOCOL_ATCOMMAND_CDMA 

AT Commands defined by TIA for CDMA.

CDC_COMM_PROTOCOL_ETHERNET_EMULATION_MODEL 

Ethernet Emulation Model.

◆ cdc_comm_sublcass_type_t

Enumerator
CDC_COMM_SUBCLASS_DIRECT_LINE_CONTROL_MODEL 

Direct Line Control Model [USBPSTN1.2].

CDC_COMM_SUBCLASS_ABSTRACT_CONTROL_MODEL 

Abstract Control Model [USBPSTN1.2].

CDC_COMM_SUBCLASS_TELEPHONE_CONTROL_MODEL 

Telephone Control Model [USBPSTN1.2].

CDC_COMM_SUBCLASS_MULTICHANNEL_CONTROL_MODEL 

Multi-Channel Control Model [USBISDN1.2].

CDC_COMM_SUBCLASS_CAPI_CONTROL_MODEL 

CAPI Control Model [USBISDN1.2].

CDC_COMM_SUBCLASS_ETHERNET_CONTROL_MODEL 

Ethernet Networking Control Model [USBECM1.2].

CDC_COMM_SUBCLASS_ATM_NETWORKING_CONTROL_MODEL 

ATM Networking Control Model [USBATM1.2].

CDC_COMM_SUBCLASS_WIRELESS_HANDSET_CONTROL_MODEL 

Wireless Handset Control Model [USBWMC1.1].

CDC_COMM_SUBCLASS_DEVICE_MANAGEMENT 

Device Management [USBWMC1.1].

CDC_COMM_SUBCLASS_MOBILE_DIRECT_LINE_MODEL 

Mobile Direct Line Model [USBWMC1.1].

CDC_COMM_SUBCLASS_OBEX 

OBEX [USBWMC1.1].

CDC_COMM_SUBCLASS_ETHERNET_EMULATION_MODEL 

Ethernet Emulation Model [USBEEM1.0].

CDC_COMM_SUBCLASS_NETWORK_CONTROL_MODEL 

Network Control Model [USBNCM1.0].

◆ cdc_data_protocol_type_t

Enumerator
CDC_DATA_PROTOCOL_ISDN_BRI 

Physical interface protocol for ISDN BRI.

CDC_DATA_PROTOCOL_HDLC 

HDLC.

CDC_DATA_PROTOCOL_TRANSPARENT 

Transparent.

CDC_DATA_PROTOCOL_Q921_MANAGEMENT 

Management protocol for Q.921 data link protocol.

CDC_DATA_PROTOCOL_Q921_DATA_LINK 

Data link protocol for Q.931.

CDC_DATA_PROTOCOL_Q921_TEI_MULTIPLEXOR 

TEI-multiplexor for Q.921 data link protocol.

CDC_DATA_PROTOCOL_V42BIS_DATA_COMPRESSION 

Data compression procedures.

CDC_DATA_PROTOCOL_EURO_ISDN 

Euro-ISDN protocol control.

CDC_DATA_PROTOCOL_V24_RATE_ADAPTION_TO_ISDN 

V.24 rate adaptation to ISDN.

CDC_DATA_PROTOCOL_CAPI_COMMAND 

CAPI Commands.

CDC_DATA_PROTOCOL_HOST_BASED_DRIVER 

Host based driver. Note: This protocol code should only be used in messages between host and device to identify the host driver portion of a protocol stack.

CDC_DATA_PROTOCOL_IN_PROTOCOL_UNIT_FUNCTIONAL_DESCRIPTOR 

The protocol(s) are described using a ProtocolUnit Functional Descriptors on Communications Class Interface.

◆ cdc_func_desc_type_t

Enumerator
CDC_FUNC_DESC_HEADER 

Header Functional Descriptor, which marks the beginning of the concatenated set of functional descriptors for the interface.

CDC_FUNC_DESC_CALL_MANAGEMENT 

Call Management Functional Descriptor.

CDC_FUNC_DESC_ABSTRACT_CONTROL_MANAGEMENT 

Abstract Control Management Functional Descriptor.

CDC_FUNC_DESC_DIRECT_LINE_MANAGEMENT 

Direct Line Management Functional Descriptor.

CDC_FUNC_DESC_TELEPHONE_RINGER 

Telephone Ringer Functional Descriptor.

CDC_FUNC_DESC_TELEPHONE_CALL_AND_LINE_STATE_REPORTING_CAPACITY 

Telephone Call and Line State Reporting Capabilities Functional Descriptor.

CDC_FUNC_DESC_UNION 

Union Functional Descriptor.

CDC_FUNC_DESC_COUNTRY_SELECTION 

Country Selection Functional Descriptor.

CDC_FUNC_DESC_TELEPHONE_OPERATIONAL_MODES 

Telephone Operational ModesFunctional Descriptor.

CDC_FUNC_DESC_USB_TERMINAL 

USB Terminal Functional Descriptor.

CDC_FUNC_DESC_NETWORK_CHANNEL_TERMINAL 

Network Channel Terminal Descriptor.

CDC_FUNC_DESC_PROTOCOL_UNIT 

Protocol Unit Functional Descriptor.

CDC_FUNC_DESC_EXTENSION_UNIT 

Extension Unit Functional Descriptor.

CDC_FUNC_DESC_MULTICHANEL_MANAGEMENT 

Multi-Channel Management Functional Descriptor.

CDC_FUNC_DESC_CAPI_CONTROL_MANAGEMENT 

CAPI Control Management Functional Descriptor.

CDC_FUNC_DESC_ETHERNET_NETWORKING 

Ethernet Networking Functional Descriptor.

CDC_FUNC_DESC_ATM_NETWORKING 

ATM Networking Functional Descriptor.

CDC_FUNC_DESC_WIRELESS_HANDSET_CONTROL_MODEL 

Wireless Handset Control Model Functional Descriptor.

CDC_FUNC_DESC_MOBILE_DIRECT_LINE_MODEL 

Mobile Direct Line Model Functional Descriptor.

CDC_FUNC_DESC_MOBILE_DIRECT_LINE_MODEL_DETAIL 

MDLM Detail Functional Descriptor.

CDC_FUNC_DESC_DEVICE_MANAGEMENT_MODEL 

Device Management Model Functional Descriptor.

CDC_FUNC_DESC_OBEX 

OBEX Functional Descriptor.

CDC_FUNC_DESC_COMMAND_SET 

Command Set Functional Descriptor.

CDC_FUNC_DESC_COMMAND_SET_DETAIL 

Command Set Detail Functional Descriptor.

CDC_FUNC_DESC_TELEPHONE_CONTROL_MODEL 

Telephone Control Model Functional Descriptor.

CDC_FUNC_DESC_OBEX_SERVICE_IDENTIFIER 

OBEX Service Identifier Functional Descriptor.

CDC_FUNC_DESC_NCM 

NCM Functional Descriptor.

◆ cdc_management_request_t

Enumerator
CDC_REQUEST_SEND_ENCAPSULATED_COMMAND 

is used to issue a command in the format of the supported control protocol of the Communications Class interface

CDC_REQUEST_GET_ENCAPSULATED_RESPONSE 

is used to request a response in the format of the supported control protocol of the Communications Class interface.

◆ cdc_notification_request_t

Enumerator
CDC_NOTIF_NETWORK_CONNECTION 

This notification allows the device to notify the host about network connection status.

CDC_NOTIF_RESPONSE_AVAILABLE 

This notification allows the device to notify the hostthat a response is available. This response can be retrieved with a subsequent CDC_REQUEST_GET_ENCAPSULATED_RESPONSE request.

CDC_NOTIF_CONNECTION_SPEED_CHANGE 

This notification allows the device to inform the host-networking driver that a change in either the upstream or the downstream bit rate of the connection has occurred.