tinyusb  0.4
Click here to lend your support to tinyusb donation and make a donation at pledgie.com
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages

Data Structures

struct  cdc_desc_func_header_t
 Header Functional Descriptor (Communication Interface) More...
 
struct  cdc_desc_func_union_t
 Union Functional Descriptor (Communication Interface) More...
 
struct  cdc_desc_func_country_selection_t
 Country Selection Functional Descriptor (Communication Interface) More...
 
struct  cdc_desc_func_call_management_t
 Call Management Functional Descriptor. More...
 
struct  cdc_acm_capability_t
 
struct  cdc_desc_func_abstract_control_management_t
 Abstract Control Management Functional Descriptor. More...
 
struct  cdc_desc_func_direct_line_management_t
 Direct Line Management Functional Descriptor. More...
 
struct  cdc_desc_func_telephone_ringer_t
 Telephone Ringer Functional Descriptor. More...
 
struct  cdc_desc_func_telephone_operational_modes_t
 Telephone Operational Modes Functional Descriptor. More...
 
struct  cdc_desc_func_telephone_call_state_reporting_capabilities_t
 Telephone Call and Line State Reporting Capabilities Descriptor. More...
 
struct  cdc_line_coding_t
 
struct  cdc_line_control_state_t
 

Macros

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

Enumerations

enum  cdc_pipeid_t { CDC_PIPE_NOTIFICATION, CDC_PIPE_DATA_IN, CDC_PIPE_DATA_OUT, CDC_PIPE_ERROR }
 CDC Pipe ID, used to indicate which pipe the API is addressing to (Notification, Out, In) More...
 
enum  cdc_comm_sublcass_type_t {
  CDC_COMM_SUBCLASS_DIRECT_LINE_CONTROL_MODEL = 0x01, CDC_COMM_SUBCLASS_ABSTRACT_CONTROL_MODEL, CDC_COMM_SUBCLASS_TELEPHONE_CONTROL_MODEL, CDC_COMM_SUBCLASS_MULTICHANNEL_CONTROL_MODEL,
  CDC_COMM_SUBCLASS_CAPI_CONTROL_MODEL, CDC_COMM_SUBCLASS_ETHERNET_NETWORKING_CONTROL_MODEL, CDC_COMM_SUBCLASS_ATM_NETWORKING_CONTROL_MODEL, CDC_COMM_SUBCLASS_WIRELESS_HANDSET_CONTROL_MODEL,
  CDC_COMM_SUBCLASS_DEVICE_MANAGEMENT, CDC_COMM_SUBCLASS_MOBILE_DIRECT_LINE_MODEL, CDC_COMM_SUBCLASS_OBEX, CDC_COMM_SUBCLASS_ETHERNET_EMULATION_MODEL
}
 Communication Interface Subclass Codes. More...
 
enum  cdc_comm_protocol_type_t {
  CDC_COMM_PROTOCOL_ATCOMMAND = 0x01, CDC_COMM_PROTOCOL_ATCOMMAND_PCCA_101, CDC_COMM_PROTOCOL_ATCOMMAND_PCCA_101_AND_ANNEXO, CDC_COMM_PROTOCOL_ATCOMMAND_GSM_707,
  CDC_COMM_PROTOCOL_ATCOMMAND_3GPP_27007, CDC_COMM_PROTOCOL_ATCOMMAND_CDMA, CDC_COMM_PROTOCOL_ETHERNET_EMULATION_MODEL
}
 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
}
 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
}
 Data Interface Protocol Codes. More...
 
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_notification_request_t {
  NETWORK_CONNECTION = 0x00, RESPONSE_AVAILABLE = 0x01, AUX_JACK_HOOK_STATE = 0x08, RING_DETECT = 0x09,
  SERIAL_STATE = 0x20, CALL_STATE_CHANGE = 0x28, LINE_STATE_CHANGE = 0x29, CONNECTION_SPEED_CHANGE = 0x2A,
  MDLM_SEMANTIC_MODEL_NOTIFICATION = 0x40
}
 Communication Interface Management Element Notification Codes. More...
 

Functions

 STATIC_ASSERT (sizeof(cdc_acm_capability_t)==1,"mostly problem with compiler")
 
static uint8_t cdc_functional_desc_typeof (uint8_t const *p_desc) ATTR_PURE ATTR_ALWAYS_INLINE
 
 STATIC_ASSERT (sizeof(cdc_line_coding_t)==7,"size is not correct")
 
 STATIC_ASSERT (sizeof(cdc_line_control_state_t)==2,"size is not correct")
 

Detailed Description

Macro Definition Documentation

#define cdc_desc_func_country_selection_n_t (   no_country)
Value:
ATTR_PACKED_STRUCT(struct) {\
uint8_t bLength ;\
uint8_t bDescriptorType ;\
uint8_t bDescriptorSubType ;\
uint8_t iCountryCodeRelDate ;\
uint16_t wCountryCode[no_country] ;\
}

Definition at line 254 of file cdc.h.

#define cdc_desc_func_union_n_t (   no_slave)
Value:
ATTR_PACKED_STRUCT(struct) { \
uint8_t bLength ;\
uint8_t bDescriptorType ;\
uint8_t bDescriptorSubType ;\
uint8_t bControlInterface ;\
uint8_t bSubordinateInterface[no_slave] ;\
}

Definition at line 236 of file cdc.h.

Enumeration Type Documentation

Communication Interface Protocol Codes.

Enumerator
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.

Definition at line 85 of file cdc.h.

Communication Interface Subclass Codes.

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_NETWORKING_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].

Definition at line 69 of file cdc.h.

Data Interface Protocol Codes.

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.

Definition at line 132 of file cdc.h.

Communication Interface SubType Descriptor.

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.

Definition at line 97 of file cdc.h.

Communication Interface Management Element Request Codes.

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.

Definition at line 151 of file cdc.h.

Communication Interface Management Element Notification Codes.

Enumerator
NETWORK_CONNECTION 

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

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.

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.

Definition at line 201 of file cdc.h.

CDC Pipe ID, used to indicate which pipe the API is addressing to (Notification, Out, In)

Enumerator
CDC_PIPE_NOTIFICATION 

Notification pipe.

CDC_PIPE_DATA_IN 

Data in pipe.

CDC_PIPE_DATA_OUT 

Data out pipe.

CDC_PIPE_ERROR 

Invalid Pipe ID.

Definition at line 58 of file cdc.h.