USB Device CDC API#

USB Device CDC API.

Modules#

sl_usbd_cdc_subclass_driver_t

Typedefs#

typedef void(*
sl_usbd_cdc_async_function_t)(uint8_t class_nbr, void *p_buf, uint32_t buf_len, uint32_t xfer_len, void *p_callback_arg, sl_status_t status)

Async comm callback.

Functions#

sl_status_t

FUNCTION PROTOTYPES.

sl_status_t
sl_usbd_cdc_create_instance(uint8_t subclass, sl_usbd_cdc_subclass_driver_t *p_subclass_drv, void *p_subclass_arg, uint8_t protocol, bool notify_en, uint16_t notify_interval, uint8_t *p_class_nbr)

Add a new instance of the CDC class.

sl_status_t
sl_usbd_cdc_add_to_configuration(uint8_t class_nbr, uint8_t config_nbr)

Add a CDC instance into the USB device configuration.

sl_status_t
sl_usbd_cdc_is_enabled(uint8_t class_nbr, bool *p_enabled)

Get the CDC class enable state.

sl_status_t
sl_usbd_cdc_add_data_interface(uint8_t class_nbr, bool isoc_en, uint8_t protocol, uint8_t *p_if_nbr)

Add a data interface class to the CDC communication interface class.

sl_status_t
sl_usbd_cdc_read_data(uint8_t class_nbr, uint8_t data_if_nbr, uint8_t *p_buf, uint32_t buf_len, uint16_t timeout, uint32_t *p_xfer_len)

Receive data on the CDC data interface.

sl_status_t
sl_usbd_cdc_read_data_async(uint8_t class_nbr, uint8_t data_if_nbr, uint8_t *p_buf, uint32_t buf_len, sl_usbd_cdc_async_function_t async_fnct, void *p_async_arg)

Receive data on the CDC data interface asynchronously.

sl_status_t
sl_usbd_cdc_write_data(uint8_t class_nbr, uint8_t data_if_nbr, uint8_t *p_buf, uint32_t buf_len, uint16_t timeout, uint32_t *p_xfer_len)

Send data on the CDC data interface.

sl_status_t
sl_usbd_cdc_write_data_async(uint8_t class_nbr, uint8_t data_if_nbr, uint8_t *p_buf, uint32_t buf_len, sl_usbd_cdc_async_function_t async_fnct, void *p_async_arg)

Send data on the CDC data interface asynchronously.

sl_status_t
sl_usbd_cdc_notify_host(uint8_t class_nbr, uint8_t notification, uint16_t value, uint8_t *p_buf, uint16_t data_len, bool *p_result)

Send a communication interface class notification to the host.

Macros#

#define
#define

COMMUNICATIONS CLASS SUBCLASS CODES DEFINES.

#define

COMMUNICATION CLASS PROTOCOL CODES DEFINES.

#define

DATA INTERFACE CLASS PROTOCOL CODES DEFINES.

#define

MANAGEMENT ELEMENTS REQUESTS DEFINES.

#define

CDC FUNCTIONAL DESCRIPTOR TYPE DEFINES.

#define

CDC FUNCTIONAL DESCRIPTOR SUBTYPE DEFINES.

#define

CDC NOTIFICATION DEFINES.

Typedef Documentation#

sl_usbd_cdc_async_function_t#

typedef void(* sl_usbd_cdc_async_function_t) (uint8_t class_nbr, void *p_buf, uint32_t buf_len, uint32_t xfer_len, void *p_callback_arg, sl_status_t status) )(uint8_t class_nbr, void *p_buf, uint32_t buf_len, uint32_t xfer_len, void *p_callback_arg, sl_status_t status)

Async comm callback.


Function Documentation#

sl_usbd_cdc_init#

sl_status_t sl_usbd_cdc_init (void )

FUNCTION PROTOTYPES.

Parameters
TypeDirectionArgument NameDescription
voidN/A

CDC FUNCTIONS

Initializes CDC class.

Returns

  • Returns SL_STATUS_OK on success or another SL_STATUS code on failure.


sl_usbd_cdc_create_instance#

sl_status_t sl_usbd_cdc_create_instance (uint8_t subclass, sl_usbd_cdc_subclass_driver_t * p_subclass_drv, void * p_subclass_arg, uint8_t protocol, bool notify_en, uint16_t notify_interval, uint8_t * p_class_nbr)

Add a new instance of the CDC class.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Asubclass

Communication class subclass subcode (see Note #1).

sl_usbd_cdc_subclass_driver_t *N/Ap_subclass_drv

Pointer to the CDC subclass driver.

void *N/Ap_subclass_arg

Pointer to the CDC subclass driver argument.

uint8_tN/Aprotocol

Communication class protocol code.

boolN/Anotify_en

Notification enabled : true Enable CDC class notifications. false Disable CDC class notifications.

uint16_tN/Anotify_interval

Notification interval in milliseconds (must be a power of 2).

uint8_t *N/Ap_class_nbr

Pointer to a variable that will receive class instance number. The variable is set to CDC class instance number if no errors are returned., otherwise it is set to SL_USBD_CDC_NBR_NONE.

Returns

  • Returns SL_STATUS_OK on success or another SL_STATUS code on failure.

Note

  • (1) Communication class subclass codes are defined in 'sl_usbd_class_cdc.h' 'SL_USBD_CDC_SUBCLASS_XXXX'.


sl_usbd_cdc_add_to_configuration#

sl_status_t sl_usbd_cdc_add_to_configuration (uint8_t class_nbr, uint8_t config_nbr)

Add a CDC instance into the USB device configuration.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aclass_nbr

Class instance number.

uint8_tN/Aconfig_nbr

Configuration index to which to add the new CDC class interface.

Returns

  • Returns SL_STATUS_OK on success or another SL_STATUS code on failure.


sl_usbd_cdc_is_enabled#

sl_status_t sl_usbd_cdc_is_enabled (uint8_t class_nbr, bool * p_enabled)

Get the CDC class enable state.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aclass_nbr

Class instance number.

bool *N/Ap_enabled

Pointer to a boolean variable that will receive enable state. The variable is set to true if CDC class is enabled. The variable is set to false if CDC class is not enabled.

Returns

  • Returns SL_STATUS_OK on success or another SL_STATUS code on failure.


sl_usbd_cdc_add_data_interface#

sl_status_t sl_usbd_cdc_add_data_interface (uint8_t class_nbr, bool isoc_en, uint8_t protocol, uint8_t * p_if_nbr)

Add a data interface class to the CDC communication interface class.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aclass_nbr

Class instance number.

boolN/Aisoc_en

Data interface isochronous enable (see Note #1) :

  • true Data interface uses isochronous EPs.

  • false Data interface uses bulk EPs.

uint8_tN/Aprotocol

Data interface protocol code.

uint8_t *N/Ap_if_nbr

Pointer to a variable that will receive data interface number.

Returns

  • Returns SL_STATUS_OK on success or another SL_STATUS code on failure.

Note

  • (1) The value of 'isoc_en' must be false. Isochronous EPs are not supported.


sl_usbd_cdc_read_data#

sl_status_t sl_usbd_cdc_read_data (uint8_t class_nbr, uint8_t data_if_nbr, uint8_t * p_buf, uint32_t buf_len, uint16_t timeout, uint32_t * p_xfer_len)

Receive data on the CDC data interface.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aclass_nbr

Class instance number.

uint8_tN/Adata_if_nbr

CDC data interface number.

uint8_t *N/Ap_buf

Pointer to the destination buffer to receive data.

uint32_tN/Abuf_len

Number of octets to receive.

uint16_tN/Atimeout

Timeout in milliseconds.

uint32_t *N/Ap_xfer_len

Pointer to a variable that will receive transfer length. If no errors are returned, the variable is set to number of octets received, otherwise it is set to 0.

Returns

  • Returns SL_STATUS_OK on success or another SL_STATUS code on failure.


sl_usbd_cdc_read_data_async#

sl_status_t sl_usbd_cdc_read_data_async (uint8_t class_nbr, uint8_t data_if_nbr, uint8_t * p_buf, uint32_t buf_len, sl_usbd_cdc_async_function_t async_fnct, void * p_async_arg)

Receive data on the CDC data interface asynchronously.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aclass_nbr

Class instance number.

uint8_tN/Adata_if_nbr

CDC data interface number.

uint8_t *N/Ap_buf

Pointer to the destination buffer to receive data.

uint32_tN/Abuf_len

Number of octets to receive.

sl_usbd_cdc_async_function_tN/Aasync_fnct

Function that will be invoked upon completion of receive operation.

void *N/Ap_async_arg

Pointer to the argument that will be passed as parameter of 'async_fnct'.

Returns

  • Returns SL_STATUS_OK on success or another SL_STATUS code on failure.


sl_usbd_cdc_write_data#

sl_status_t sl_usbd_cdc_write_data (uint8_t class_nbr, uint8_t data_if_nbr, uint8_t * p_buf, uint32_t buf_len, uint16_t timeout, uint32_t * p_xfer_len)

Send data on the CDC data interface.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aclass_nbr

Class instance number.

uint8_tN/Adata_if_nbr

CDC data interface number.

uint8_t *N/Ap_buf

Pointer to the buffer of data that will be transmitted.

uint32_tN/Abuf_len

Number of octets to transmit.

uint16_tN/Atimeout

Timeout in milliseconds.

uint32_t *N/Ap_xfer_len

Pointer to a variable that will receive transfer length. If no errors are returned, the variable is set to number of octets transmitted, otherwise it is set to 0.

Returns

  • Returns SL_STATUS_OK on success or another SL_STATUS code on failure.


sl_usbd_cdc_write_data_async#

sl_status_t sl_usbd_cdc_write_data_async (uint8_t class_nbr, uint8_t data_if_nbr, uint8_t * p_buf, uint32_t buf_len, sl_usbd_cdc_async_function_t async_fnct, void * p_async_arg)

Send data on the CDC data interface asynchronously.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aclass_nbr

Class instance number.

uint8_tN/Adata_if_nbr

CDC data interface number.

uint8_t *N/Ap_buf

Pointer to the buffer of data that will be transmitted.

uint32_tN/Abuf_len

Number of octets to transmit.

sl_usbd_cdc_async_function_tN/Aasync_fnct

Function that will be invoked upon completion of transfer operation.

void *N/Ap_async_arg

Pointer to the argument that will be passed as parameter of 'async_fnct'.

Returns

  • Returns SL_STATUS_OK on success or another SL_STATUS code on failure.


sl_usbd_cdc_notify_host#

sl_status_t sl_usbd_cdc_notify_host (uint8_t class_nbr, uint8_t notification, uint16_t value, uint8_t * p_buf, uint16_t data_len, bool * p_result)

Send a communication interface class notification to the host.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aclass_nbr

Class instance number.

uint8_tN/Anotification

Notification code.

uint16_tN/Avalue

Notification value.

uint8_t *N/Ap_buf

Pointer to the notification buffer (see Note #1).

uint16_tN/Adata_len

Length of the data portion of the notification.

bool *N/Ap_result

Pointer to a boolean variable that will receive the result of the operation. The variable is set to true if no errors are encountered, otherwise it is set to false.

Returns

  • Returns SL_STATUS_OK on success or another SL_STATUS code on failure.

Note

  • (1) The notification buffer MUST contain space for the notification header 'SL_USBD_CDC_NOTIFICATION_HEADER' plus the variable-length data portion.


Macro Definition Documentation#

SL_USBD_CDC_NBR_NONE#

#define SL_USBD_CDC_NBR_NONE
Value:
255u

MODULE.

INCLUDE FILES DEFINES CDC INVALID INSTANCE NUMBERS DEFINES


SL_USBD_CDC_DATA_IF_NBR_NONE#

#define SL_USBD_CDC_DATA_IF_NBR_NONE
Value:
255u

SL_USBD_CDC_SUBCLASS_RSVD#

#define SL_USBD_CDC_SUBCLASS_RSVD
Value:
0x00u

COMMUNICATIONS CLASS SUBCLASS CODES DEFINES.

Note(s) : (1) Communication class subclass codes are defined in table 4 from the CDC specification revision 1.2.


SL_USBD_CDC_SUBCLASS_DLCM#

#define SL_USBD_CDC_SUBCLASS_DLCM
Value:
0x01u

SL_USBD_CDC_SUBCLASS_ACM#

#define SL_USBD_CDC_SUBCLASS_ACM
Value:
0x02u

SL_USBD_CDC_SUBCLASS_TCM#

#define SL_USBD_CDC_SUBCLASS_TCM
Value:
0x03u

SL_USBD_CDC_SUBCLASS_MCCM#

#define SL_USBD_CDC_SUBCLASS_MCCM
Value:
0x04u

SL_USBD_CDC_SUBCLASS_CAPICM#

#define SL_USBD_CDC_SUBCLASS_CAPICM
Value:
0x05u

SL_USBD_CDC_SUBCLASS_ENCM#

#define SL_USBD_CDC_SUBCLASS_ENCM
Value:
0x06u

SL_USBD_CDC_SUBCLASS_ATM#

#define SL_USBD_CDC_SUBCLASS_ATM
Value:
0x07u

SL_USBD_CDC_SUBCLASS_WHCM#

#define SL_USBD_CDC_SUBCLASS_WHCM
Value:
0x08u

SL_USBD_CDC_SUBCLASS_DEV_MGMT#

#define SL_USBD_CDC_SUBCLASS_DEV_MGMT
Value:
0x09u

SL_USBD_CDC_SUBCLASS_MDLM#

#define SL_USBD_CDC_SUBCLASS_MDLM
Value:
0x0Au

SL_USBD_CDC_SUBCLASS_OBEX#

#define SL_USBD_CDC_SUBCLASS_OBEX
Value:
0x0Bu

SL_USBD_CDC_SUBCLASS_EEM#

#define SL_USBD_CDC_SUBCLASS_EEM
Value:
0x0Cu

SL_USBD_CDC_SUBCLASS_NCM#

#define SL_USBD_CDC_SUBCLASS_NCM
Value:
0x0Du

SL_USBD_CDC_SUBCLASS_VENDOR#

#define SL_USBD_CDC_SUBCLASS_VENDOR
Value:
0xFEu

SL_USBD_CDC_COMM_PROTOCOL_NONE#

#define SL_USBD_CDC_COMM_PROTOCOL_NONE
Value:
0x00u

COMMUNICATION CLASS PROTOCOL CODES DEFINES.

Note(s) : (1) Communication class protocol codes are defined in table 5 from the CDC specification revision 1.2.


SL_USBD_CDC_COMM_PROTOCOL_AT_V250#

#define SL_USBD_CDC_COMM_PROTOCOL_AT_V250
Value:
0x01u

SL_USBD_CDC_COMM_PROTOCOL_AT_PCCA_101#

#define SL_USBD_CDC_COMM_PROTOCOL_AT_PCCA_101
Value:
0x02u

SL_USBD_CDC_COMM_PROTOCOL_AT_PCCA_101_ANNEX#

#define SL_USBD_CDC_COMM_PROTOCOL_AT_PCCA_101_ANNEX
Value:
0x03u

SL_USBD_CDC_COMM_PROTOCOL_AT_GSM_7_07#

#define SL_USBD_CDC_COMM_PROTOCOL_AT_GSM_7_07
Value:
0x04u

SL_USBD_CDC_COMM_PROTOCOL_AT_3GPP_27_07#

#define SL_USBD_CDC_COMM_PROTOCOL_AT_3GPP_27_07
Value:
0x05u

SL_USBD_CDC_COMM_PROTOCOL_AT_TIA_CDMA#

#define SL_USBD_CDC_COMM_PROTOCOL_AT_TIA_CDMA
Value:
0x06u

SL_USBD_CDC_COMM_PROTOCOL_EEM#

#define SL_USBD_CDC_COMM_PROTOCOL_EEM
Value:
0x07u

SL_USBD_CDC_COMM_PROTOCOL_EXT#

#define SL_USBD_CDC_COMM_PROTOCOL_EXT
Value:
0xFEu

SL_USBD_CDC_COMM_PROTOCOL_VENDOR#

#define SL_USBD_CDC_COMM_PROTOCOL_VENDOR
Value:
0xFFu

SL_USBD_CDC_DATA_PROTOCOL_NONE#

#define SL_USBD_CDC_DATA_PROTOCOL_NONE
Value:
0x00u

DATA INTERFACE CLASS PROTOCOL CODES DEFINES.

Note(s) : (1) Data interface class protocol codes are defined in table 7 from the CDC specification revision 1.2.


SL_USBD_CDC_DATA_PROTOCOL_NTB#

#define SL_USBD_CDC_DATA_PROTOCOL_NTB
Value:
0x01u

SL_USBD_CDC_DATA_PROTOCOL_PHY#

#define SL_USBD_CDC_DATA_PROTOCOL_PHY
Value:
0x30u

SL_USBD_CDC_DATA_PROTOCOL_HDLC#

#define SL_USBD_CDC_DATA_PROTOCOL_HDLC
Value:
0x31u

SL_USBD_CDC_DATA_PROTOCOL_TRANS#

#define SL_USBD_CDC_DATA_PROTOCOL_TRANS
Value:
0x32u

SL_USBD_CDC_DATA_PROTOCOL_Q921M#

#define SL_USBD_CDC_DATA_PROTOCOL_Q921M
Value:
0x50u

SL_USBD_CDC_DATA_PROTOCOL_Q921#

#define SL_USBD_CDC_DATA_PROTOCOL_Q921
Value:
0x51u

SL_USBD_CDC_DATA_PROTOCOL_Q921TM#

#define SL_USBD_CDC_DATA_PROTOCOL_Q921TM
Value:
0x52u

SL_USBD_CDC_DATA_PROTOCOL_COMPRES#

#define SL_USBD_CDC_DATA_PROTOCOL_COMPRES
Value:
0x90u

SL_USBD_CDC_DATA_PROTOCOL_Q9131#

#define SL_USBD_CDC_DATA_PROTOCOL_Q9131
Value:
0x91u

SL_USBD_CDC_DATA_PROTOCOL_V24#

#define SL_USBD_CDC_DATA_PROTOCOL_V24
Value:
0x92u

SL_USBD_CDC_DATA_PROTOCOL_CAPI#

#define SL_USBD_CDC_DATA_PROTOCOL_CAPI
Value:
0x93u

SL_USBD_CDC_DATA_PROTOCOL_HOST#

#define SL_USBD_CDC_DATA_PROTOCOL_HOST
Value:
0xFDu

SL_USBD_CDC_DATA_PROTOCOL_CDC#

#define SL_USBD_CDC_DATA_PROTOCOL_CDC
Value:
0xFEu

SL_USBD_CDC_DATA_PROTOCOL_VENDOR#

#define SL_USBD_CDC_DATA_PROTOCOL_VENDOR
Value:
0xFFu

SL_USBD_CDC_REQ_SEND_ENCAP_COMM#

#define SL_USBD_CDC_REQ_SEND_ENCAP_COMM
Value:
0x00u

MANAGEMENT ELEMENTS REQUESTS DEFINES.

Note(s) : (1) Management elements requests are defined in table 19 from the CDC specification revision 1.2.


SL_USBD_CDC_REQ_GET_ENCAP_RESP#

#define SL_USBD_CDC_REQ_GET_ENCAP_RESP
Value:
0x01u

SL_USBD_CDC_REQ_SET_COMM_FEATURE#

#define SL_USBD_CDC_REQ_SET_COMM_FEATURE
Value:
0x02u

SL_USBD_CDC_REQ_GET_COMM_FEATURE#

#define SL_USBD_CDC_REQ_GET_COMM_FEATURE
Value:
0x03u

SL_USBD_CDC_REQ_CLR_COMM_FEATURE#

#define SL_USBD_CDC_REQ_CLR_COMM_FEATURE
Value:
0x04u

SL_USBD_CDC_REQ_SET_AUX_LINE_STATE#

#define SL_USBD_CDC_REQ_SET_AUX_LINE_STATE
Value:
0x10u

SL_USBD_CDC_REQ_SET_HOOK_STATE#

#define SL_USBD_CDC_REQ_SET_HOOK_STATE
Value:
0x11u

SL_USBD_CDC_REQ_PULSE_SETUP#

#define SL_USBD_CDC_REQ_PULSE_SETUP
Value:
0x12u

SL_USBD_CDC_REQ_SEND_PULSE#

#define SL_USBD_CDC_REQ_SEND_PULSE
Value:
0x13u

SL_USBD_CDC_REQ_SET_PULSE_TIME#

#define SL_USBD_CDC_REQ_SET_PULSE_TIME
Value:
0x14u

SL_USBD_CDC_REQ_RING_AUX_JACK#

#define SL_USBD_CDC_REQ_RING_AUX_JACK
Value:
0x15u

SL_USBD_CDC_REQ_SET_LINE_CODING#

#define SL_USBD_CDC_REQ_SET_LINE_CODING
Value:
0x20u

SL_USBD_CDC_REQ_GET_LINE_CODING#

#define SL_USBD_CDC_REQ_GET_LINE_CODING
Value:
0x21u

SL_USBD_CDC_REQ_SET_CTRL_LINE_STATE#

#define SL_USBD_CDC_REQ_SET_CTRL_LINE_STATE
Value:
0x22u

SL_USBD_CDC_REQ_SEND_BREAK#

#define SL_USBD_CDC_REQ_SEND_BREAK
Value:
0x23u

SL_USBD_CDC_REQ_SET_RINGER_PAARMS#

#define SL_USBD_CDC_REQ_SET_RINGER_PAARMS
Value:
0x30u

SL_USBD_CDC_REQ_GET_RINGER_PARAMS#

#define SL_USBD_CDC_REQ_GET_RINGER_PARAMS
Value:
0x31u

SL_USBD_CDC_REQ_SET_OPERATION_PARAMS#

#define SL_USBD_CDC_REQ_SET_OPERATION_PARAMS
Value:
0x32u

SL_USBD_CDC_REQ_GET_OPERATION_PARAMS#

#define SL_USBD_CDC_REQ_GET_OPERATION_PARAMS
Value:
0x33u

SL_USBD_CDC_REQ_SET_LINE_PARAMS#

#define SL_USBD_CDC_REQ_SET_LINE_PARAMS
Value:
0x34u

SL_USBD_CDC_REQ_GET_LINE_PARAMS#

#define SL_USBD_CDC_REQ_GET_LINE_PARAMS
Value:
0x35u

SL_USBD_CDC_REQ_DIAL_DIGITS#

#define SL_USBD_CDC_REQ_DIAL_DIGITS
Value:
0x36u

SL_USBD_CDC_REQ_SET_UNIT_PARAM#

#define SL_USBD_CDC_REQ_SET_UNIT_PARAM
Value:
0x37u

SL_USBD_CDC_REQ_GET_UNIT_PARAM#

#define SL_USBD_CDC_REQ_GET_UNIT_PARAM
Value:
0x38u

SL_USBD_CDC_REQ_CLR_UNUT_PARAM#

#define SL_USBD_CDC_REQ_CLR_UNUT_PARAM
Value:
0x39u

SL_USBD_CDC_REQ_GET_PROFILE#

#define SL_USBD_CDC_REQ_GET_PROFILE
Value:
0x3Au

SL_USBD_CDC_REQ_SET_ETHER_MULTI_FILTER#

#define SL_USBD_CDC_REQ_SET_ETHER_MULTI_FILTER
Value:
0x40u

SL_USBD_CDC_REQ_SET_ETHER_PWR_MGT_FILTER#

#define SL_USBD_CDC_REQ_SET_ETHER_PWR_MGT_FILTER
Value:
0x41u

SL_USBD_CDC_REQ_GET_ETHER_PWR_MGT_FILTER#

#define SL_USBD_CDC_REQ_GET_ETHER_PWR_MGT_FILTER
Value:
0x42u

SL_USBD_CDC_REQ_SET_ETHER_PKT_FILTER#

#define SL_USBD_CDC_REQ_SET_ETHER_PKT_FILTER
Value:
0x43u

SL_USBD_CDC_REQ_GET_ETHER_STAT#

#define SL_USBD_CDC_REQ_GET_ETHER_STAT
Value:
0x44u

SL_USBD_CDC_REQ_SET_ATM_DATA_FMT#

#define SL_USBD_CDC_REQ_SET_ATM_DATA_FMT
Value:
0x50u

SL_USBD_CDC_REQ_GET_ATM_DATA_FMT#

#define SL_USBD_CDC_REQ_GET_ATM_DATA_FMT
Value:
0x51u

SL_USBD_CDC_REQ_GET_ATM_DEV_STAT#

#define SL_USBD_CDC_REQ_GET_ATM_DEV_STAT
Value:
0x52u

SL_USBD_CDC_REQ_SET_ATM_DFLT_VC#

#define SL_USBD_CDC_REQ_SET_ATM_DFLT_VC
Value:
0x53u

SL_USBD_CDC_REQ_GET_ATM_VC_STAT#

#define SL_USBD_CDC_REQ_GET_ATM_VC_STAT
Value:
0x54u

SL_USBD_CDC_REQ_GET_NTB_PARAM2#

#define SL_USBD_CDC_REQ_GET_NTB_PARAM2
Value:
0x80u

SL_USBD_CDC_REQ_GET_NET_ADDR#

#define SL_USBD_CDC_REQ_GET_NET_ADDR
Value:
0x81u

SL_USBD_CDC_REQ_SET_NET_ADDR#

#define SL_USBD_CDC_REQ_SET_NET_ADDR
Value:
0x82u

SL_USBD_CDC_REQ_GET_NTB_FMT#

#define SL_USBD_CDC_REQ_GET_NTB_FMT
Value:
0x83u

SL_USBD_CDC_REQ_SET_NTB_FMT#

#define SL_USBD_CDC_REQ_SET_NTB_FMT
Value:
0x84u

SL_USBD_CDC_REQ_GET_NTB_INPUT_SIZE#

#define SL_USBD_CDC_REQ_GET_NTB_INPUT_SIZE
Value:
0x85u

SL_USBD_CDC_REQ_SET_NTB_INPUT_SIZE#

#define SL_USBD_CDC_REQ_SET_NTB_INPUT_SIZE
Value:
0x86u

SL_USBD_CDC_REQ_GET_MAX_DATAGRAM_SIZE#

#define SL_USBD_CDC_REQ_GET_MAX_DATAGRAM_SIZE
Value:
0x87u

SL_USBD_CDC_REQ_SET_MAX_DATAGRAM_SIZE#

#define SL_USBD_CDC_REQ_SET_MAX_DATAGRAM_SIZE
Value:
0x88u

SL_USBD_CDC_REQ_GET_CRC_MODE#

#define SL_USBD_CDC_REQ_GET_CRC_MODE
Value:
0x89u

SL_USBD_CDC_REQ_SET_CRC_MODE#

#define SL_USBD_CDC_REQ_SET_CRC_MODE
Value:
0x8Au

SL_USBD_CDC_DESC_TYPE_CS_IF#

#define SL_USBD_CDC_DESC_TYPE_CS_IF
Value:
0x24u

CDC FUNCTIONAL DESCRIPTOR TYPE DEFINES.

Note(s) : (1) Functional descriptors types are defined in table 12 from the CDC specification revision 1.2.


SL_USBD_CDC_DESC_TYPE_CS_EP#

#define SL_USBD_CDC_DESC_TYPE_CS_EP
Value:
0x25u

SL_USBD_CDC_DESC_SUBTYPE_HEADER#

#define SL_USBD_CDC_DESC_SUBTYPE_HEADER
Value:
0x00u

CDC FUNCTIONAL DESCRIPTOR SUBTYPE DEFINES.

Note(s) : (1) Functional descriptors subtypes are defined in table 13 from the CDC specification revision 1.2.


SL_USBD_CDC_DESC_SUBTYPE_CALL_MGMT#

#define SL_USBD_CDC_DESC_SUBTYPE_CALL_MGMT
Value:
0x01u

SL_USBD_CDC_DESC_SUBTYPE_ACM#

#define SL_USBD_CDC_DESC_SUBTYPE_ACM
Value:
0x02u

SL_USBD_CDC_DESC_SUBTYPE_DLM#

#define SL_USBD_CDC_DESC_SUBTYPE_DLM
Value:
0x03u

SL_USBD_CDC_DESC_SUBTYPE_TEL_RINGER#

#define SL_USBD_CDC_DESC_SUBTYPE_TEL_RINGER
Value:
0x04u

SL_USBD_CDC_DESC_SUBTYPE_TEL_CALL_LINE#

#define SL_USBD_CDC_DESC_SUBTYPE_TEL_CALL_LINE
Value:
0x05u

SL_USBD_CDC_DESC_SUBTYPE_UNION#

#define SL_USBD_CDC_DESC_SUBTYPE_UNION
Value:
0x06u

SL_USBD_CDC_DESC_SUBTYPE_COUNTRY_SEL#

#define SL_USBD_CDC_DESC_SUBTYPE_COUNTRY_SEL
Value:
0x07u

SL_USBD_CDC_DESC_SUBTYPE_TEL_OPERA#

#define SL_USBD_CDC_DESC_SUBTYPE_TEL_OPERA
Value:
0x08u

SL_USBD_CDC_DESC_SUBTYPE_USB_TERM#

#define SL_USBD_CDC_DESC_SUBTYPE_USB_TERM
Value:
0x09u

SL_USBD_CDC_DESC_SUBTYPE_NET_CH_TERM#

#define SL_USBD_CDC_DESC_SUBTYPE_NET_CH_TERM
Value:
0x0Au

SL_USBD_CDC_DESC_SUBTYPE_PROTOCOL_UNIT#

#define SL_USBD_CDC_DESC_SUBTYPE_PROTOCOL_UNIT
Value:
0x0Bu

SL_USBD_CDC_DESC_SUBTYPE_EXT_UNIT#

#define SL_USBD_CDC_DESC_SUBTYPE_EXT_UNIT
Value:
0x0Cu

SL_USBD_CDC_DESC_SUBTYPE_MULTI_CH_MGMT#

#define SL_USBD_CDC_DESC_SUBTYPE_MULTI_CH_MGMT
Value:
0x0Du

SL_USBD_CDC_DESC_SUBTYPE_CAPI_CTRL#

#define SL_USBD_CDC_DESC_SUBTYPE_CAPI_CTRL
Value:
0x0Eu

SL_USBD_CDC_DESC_SUBTYPE_ETHER_NET#

#define SL_USBD_CDC_DESC_SUBTYPE_ETHER_NET
Value:
0x0Fu

SL_USBD_CDC_DESC_SUBTYPE_ATM_NET#

#define SL_USBD_CDC_DESC_SUBTYPE_ATM_NET
Value:
0x10u

SL_USBD_CDC_DESC_SUBTYPE_WIRELESS_CTRL#

#define SL_USBD_CDC_DESC_SUBTYPE_WIRELESS_CTRL
Value:
0x11u

SL_USBD_CDC_DESC_SUBTYPE_MOBILE#

#define SL_USBD_CDC_DESC_SUBTYPE_MOBILE
Value:
DLM              0x12u

SL_USBD_CDC_DESC_SUBTYPE_DETAIL#

#define SL_USBD_CDC_DESC_SUBTYPE_DETAIL
Value:
0x13u

SL_USBD_CDC_DESC_SUBTYPE_DEV_MGMT#

#define SL_USBD_CDC_DESC_SUBTYPE_DEV_MGMT
Value:
0x14u

SL_USBD_CDC_DESC_SUBTYPE_OBEX#

#define SL_USBD_CDC_DESC_SUBTYPE_OBEX
Value:
0x15u

SL_USBD_CDC_DESC_SUBTYPE_CMD_SET#

#define SL_USBD_CDC_DESC_SUBTYPE_CMD_SET
Value:
0x16u

SL_USBD_CDC_DESC_SUBTYPE_CMD_SET_DETAIL#

#define SL_USBD_CDC_DESC_SUBTYPE_CMD_SET_DETAIL
Value:
0x17u

SL_USBD_CDC_DESC_SUBTYPE_TCM#

#define SL_USBD_CDC_DESC_SUBTYPE_TCM
Value:
0x18u

SL_USBD_CDC_DESC_SUBTYPE_OBEX_SERV#

#define SL_USBD_CDC_DESC_SUBTYPE_OBEX_SERV
Value:
0x19u

SL_USBD_CDC_DESC_SUBTYPE_NCM#

#define SL_USBD_CDC_DESC_SUBTYPE_NCM
Value:
0x1Au

SL_USBD_CDC_DESC_SUBTYPE_VENDOR#

#define SL_USBD_CDC_DESC_SUBTYPE_VENDOR
Value:
0xFEu

SL_USBD_CDC_NOTIFICATION_HEADER#

#define SL_USBD_CDC_NOTIFICATION_HEADER
Value:
8u

CDC NOTIFICATION DEFINES.