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 | cdc_rx_buffer_t |
|
CDC ACM rx transfer buffer.
More...
|
|
| struct | app_usbd_cdc_acm_ctx_t |
|
CDC ACM class context.
More...
|
|
Macros |
|
| #define | APP_USBD_CDC_ACM_DEFAULT_INTERVAL 0x10 |
|
Default interval value for comm endpoint IN.
|
|
| #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 (user_event_handler,comm_ifc,comm_ein,data_ifc,data_ein,data_eout,cdc_protocol,ep_list) |
|
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,user_ev_handler,comm_ifc,data_ifc,comm_ein,data_ein,data_eout,cdc_protocol) |
|
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 DATA subclass IN endpoint. epout_data DATA 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.
| #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, | |
| user_ev_handler, | |||
| comm_ifc, | |||
| data_ifc, | |||
| comm_ein, | |||
| data_ein, | |||
| data_eout, | |||
| cdc_protocol | |||
| ) |
Value:
static
uint8_t
CONCAT_2
(instance_name, _ep) = { \
(APP_USBD_EXTRACT_INTERVAL_FLAG(comm_ein) ? APP_USBD_EXTRACT_INTERVAL_VALUE(comm_ein) \
APP_USBD_CLASS_INST_GLOBAL_DEF( \
instance_name, \
app_usbd_cdc_acm, \
APP_USBD_CDC_ACM_CONFIG
(comm_ifc, comm_ein, data_ifc, data_ein, data_eout), \
(
APP_USBD_CDC_ACM_INST_CONFIG
(user_ev_handler, \
comm_ifc, \
comm_ein, \
data_ifc, \
data_ein, \
data_eout, \
cdc_protocol, \
&
CONCAT_2
(instance_name, _ep))) \
)
Global definition of app_usbd_cdc_acm_t class.
- Parameters
-
instance_name Name of global instance. user_ev_handler User event handler. comm_ifc Interface number of cdc_acm control. data_ifc Interface number of cdc_acm DATA. comm_ein COMM subclass IN endpoint. data_ein DATA subclass IN endpoint. data_eout DATA subclass OUT endpoint. cdc_protocol CDC protocol app_usbd_cdc_comm_protocol_t
| #define APP_USBD_CDC_ACM_INST_CONFIG | ( | user_event_handler, | |
| comm_ifc, | |||
| comm_ein, | |||
| data_ifc, | |||
| data_ein, | |||
| data_eout, | |||
| cdc_protocol, | |||
| ep_list | |||
| ) |
Value:
.inst = { \
.user_ev_handler = user_event_handler, \
.comm_interface = comm_ifc, \
.comm_epin = comm_ifc, \
.data_interface = data_ifc, \
.data_epin = data_ein, \
.data_epout = data_eout, \
.protocol = cdc_protocol, \
.p_ep_interval = ep_list \
}
Configures cdc_acm class instance.
- Parameters
-
user_event_handler User event handler. comm_ifc Interface number of cdc_acm control. comm_ein COMM subclass IN endpoint. data_ifc Interface number of cdc_acm DATA. data_ein DATA subclass IN endpoint. data_eout DATA subclass OUT endpoint. cdc_protocol CDC protocol. ep_list List of endpoints and intervals
| #define APP_USBD_CDC_ACM_INSTANCE_SPECIFIC_DEC app_usbd_cdc_acm_inst_t inst; |
Specific class constant data for cdc_acm class.
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.