/
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 |
---|---|
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
- 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 |
---|---|---|---|---|
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) | ![]() | ![]() | ![]() |
Related content
USBD_ACM_SerialCfgAdd
USBD_ACM_SerialCfgAdd
More like this
USBD_ACM_SerialRx
USBD_ACM_SerialRx
More like this
USBD_ACM_SerialTx
USBD_ACM_SerialTx
More like this
USBD_ACM_SerialInit
USBD_ACM_SerialInit
More like this
USBD_ACM_SerialLineCtrlGet
USBD_ACM_SerialLineCtrlGet
More like this
USBD_ACM_SerialLineCtrlReg
USBD_ACM_SerialLineCtrlReg
More like this