USB CDC ACM internals

nRF5 SDK v12.2.0

nRF52840 only: Internals of the USB ACM class implementation. More...

Data Structures

struct app_usbd_cdc_acm_inst_t
CDC ACM class part of class instance data. More...
struct app_usbd_cdc_acm_notify_t
CDC ACM serial state class notify. More...
struct app_usbd_cdc_acm_req_t
CDC ACM class specific request handled via control endpoint. More...
struct app_usbd_cdc_acm_ctx_t
CDC ACM class context. More...

Macros

#define APP_USBD_CDC_ACM_CONFIG (iface_comm, epin_comm, iface_data, epin_data, epout_data)
CDC ACM class configuration macro. More...
#define APP_USBD_CDC_ACM_INSTANCE_SPECIFIC_DEC app_usbd_cdc_acm_inst_t inst;
Specific class constant data for cdc_acm class. More...
#define APP_USBD_CDC_ACM_INST_CONFIG (descriptors, user_event_handler)
Configures cdc_acm class instance. More...
#define APP_USBD_CDC_ACM_DATA_SPECIFIC_DEC app_usbd_cdc_acm_ctx_t ctx;
Specific class data for cdc_acm class. More...
#define APP_USBD_CDC_ACM_DSC_CONFIG (interface_number,...)
CDC ACM class descriptors config macro. More...
#define APP_USBD_CDC_ACM_GLOBAL_DEF_INTERNAL (instance_name,interfaces_configs,user_ev_handler,raw_descriptors)
Global definition of app_usbd_cdc_acm_t class. More...

Typedefs

typedef void(* app_usbd_cdc_acm_user_ev_handler_t )( app_usbd_class_inst_t const *p_inst, enum app_usbd_cdc_acm_user_event_e event)
User event handler. More...

Functions

APP_USBD_CLASS_FORWARD (app_usbd_cdc_acm)
Forward declaration of type defined by APP_USBD_CLASS_TYPEDEF in cdc_acm class.

Variables

const app_usbd_class_methods_t app_usbd_cdc_acm_class_methods
Public cdc_acm class interface.

Detailed Description

nRF52840 only: Internals of the USB ACM class implementation.

Macro Definition Documentation

#define APP_USBD_CDC_ACM_CONFIG ( iface_comm,
epin_comm,
iface_data,
epin_data,
epout_data
)
Value:
((iface_comm, epin_comm), \
(iface_data, epin_data, epout_data))

CDC ACM class configuration macro.

Used by APP_USBD_CDC_ACM_GLOBAL_DEF

Parameters
iface_comm Interface number of cdc_acm control
epin_comm COMM subclass IN endpoint
iface_data Interface number of cdc_acm DATA
epin_data COMM subclass IN endpoint
epout_data COMM subclass OUT endpoint
#define APP_USBD_CDC_ACM_DATA_SPECIFIC_DEC app_usbd_cdc_acm_ctx_t ctx;

Specific class data for cdc_acm class.

app_usbd_cdc_acm_ctx_t

#define APP_USBD_CDC_ACM_DSC_CONFIG ( interface_number,
...
)
Value:
{ \
APP_USBD_CDC_ACM_INTERFACE_DSC(interface_number, \
0, \
0, \
APP_USBD_CDC_ACM_SUBCLASS_CDC_ACMCONTROL) \
}

CDC ACM class descriptors config macro.

Parameters
interface_number Interface number
... Extracted endpoint list
#define APP_USBD_CDC_ACM_GLOBAL_DEF_INTERNAL ( instance_name,
interfaces_configs,
user_ev_handler,
raw_descriptors
)
Value:
instance_name, \
app_usbd_cdc_acm, \
interfaces_configs, \
( APP_USBD_CDC_ACM_INST_CONFIG (raw_descriptors, user_ev_handler)) \
)

Global definition of app_usbd_cdc_acm_t class.

#define APP_USBD_CDC_ACM_INST_CONFIG ( descriptors,
user_event_handler
)
Value:
.inst = { \
.p_raw_desc = descriptors, \
.raw_desc_size = sizeof (descriptors), \
.user_ev_handler = user_event_handler, \
}

Configures cdc_acm class instance.

Parameters
descriptors Mass storage class descriptors (raw table)
user_event_handler User event handler
#define APP_USBD_CDC_ACM_INSTANCE_SPECIFIC_DEC app_usbd_cdc_acm_inst_t inst;

Specific class constant data for cdc_acm class.

app_usbd_cdc_acm_inst_t

Typedef Documentation

typedef void(* app_usbd_cdc_acm_user_ev_handler_t)( app_usbd_class_inst_t const *p_inst, enum app_usbd_cdc_acm_user_event_e event)

User event handler.

Parameters
[in] p_inst Class instance
[in] event User event