USBD_ACM_SerialAdd

USBD_ACM_SerialAdd

Description

Add a new CDC ACM serial emulation instance.

Files

usbd_acm_serial.h/usbd_acm_serial.c

Prototype

CPU_INT08U USBD_ACM_SerialAdd (CPU_INT16U line_state_interval, CPU_INT16U call_mgmt_capabilities, USBD_ERR *p_err);

 

Arguments

line_state_interval

Polling interval in frames or microframes for line state notification. The value must be a power of 2.

call_mgmt_capabilities

Call Management Capabilities bitmap. OR'ed of the following flags:

State event

Description

State event

Description

USBD_ACM_SERIAL_CALL_MGMT_DEV

Device handles call management itself

USBD_ACM_SERIAL_CALL_MGMT_DATA_CCI_DCI

Device can send/receive call management information over a Data Class interface

p_err

Pointer to variable that will receive the return error code from this function.

USBD_ERR_NONE

USBD_ERR_ALLOC

USBD_ERR_INVALID_ARG

Returned Value

CDC ACM serial emulation subclass instance number, if no errors.

USBD_ACM_SERIAL_NBR_NONE, otherwise.

Callers

Application.

Notes / Warnings

  1. Depending on the operating system (Windows, Linux or Mac OS X), not all the possible flags combinations are supported. This table shows the different combinations and the support by each major operating system (OS):

Flags Combination

Windows

Linux

Mac OS X

Note

Flags Combination

Windows

Linux

Mac OS X

Note

USBD_ACM_SERIAL_CALL_MGMT_DEV

 

USBD_ACM_SERIAL_CALL_MGMT_DATA_CCI_DCI

If USBD_ACM_SERIAL_CALL_MGMT_DEV is not set, USBD_ACM_SERIAL_CALL_MGMT_DATA_CCI_DCI alone is ignored by the OS

(USBD_ACM_SERIAL_CALL_MGMT_DEV |
USBD_ACM_SERIAL_CALL_MGMT_DATA_CCI_DCI)