nRF52840 only: Internals of the USB MSC class. More...
Data Structures |
|
| struct | app_usbd_msc_inst_t |
|
MSC part of class instance data.
More...
|
|
| struct | app_usbd_msc_ctx_t |
|
MSC context.
More...
|
|
Macros |
|
| #define | APP_USBD_MSC_MINIMAL_SERIAL_STRING_SIZE (12 + 1) |
|
Minimal serial string descriptor length.
|
|
| #define | APP_USBD_MSC_CONFIG (iface, endpoints) ((iface, BRACKET_EXTRACT (endpoints))) |
|
MSC configuration macro.
More...
|
|
| #define | APP_USBD_MSC_INSTANCE_SPECIFIC_DEC app_usbd_msc_inst_t inst; |
|
Specific class constant data for MSC.
More...
|
|
| #define | APP_USBD_MSC_INST_CONFIG (descriptors, block_devs, block_buff, user_event_handler) |
|
Configures MSC instance.
More...
|
|
| #define | APP_USBD_MSC_DATA_SPECIFIC_DEC app_usbd_msc_ctx_t ctx; |
|
Specific class data for MSC.
More...
|
|
| #define | APP_USBD_MSC_DSC_CONFIG (interface_number,...) |
|
MSC descriptors config macro.
More...
|
|
| #define | APP_USBD_MSC_GLOBAL_DEF_INTERNAL (instance_name,interface_number,user_ev_handler,endpoint_list,blockdev_list,workbuffer_size) |
|
Global definition of mass storage class instance.
More...
|
|
Typedefs |
|
| typedef void(* | app_usbd_msc_user_ev_handler_t )( app_usbd_class_inst_t const *p_inst, enum app_usbd_msc_user_event_e event) |
|
User event handler.
More...
|
|
Enumerations |
|
| enum |
app_usbd_msc_state_t
{
APP_USBD_MSC_STATE_DISABLED , APP_USBD_MSC_STATE_IDLE , APP_USBD_MSC_STATE_CBW , APP_USBD_MSC_STATE_CMD_IN , APP_USBD_MSC_STATE_CMD_OUT , APP_USBD_MSC_STATE_DATA_IN , APP_USBD_MSC_STATE_DATA_OUT , APP_USBD_MSC_STATE_DATA_OUT_WAIT , APP_USBD_MSC_STATE_CSW , APP_USBD_MSC_STATE_UNSUPPORTED } |
|
Internal module state.
More...
|
|
Functions |
|
| APP_USBD_CLASS_FORWARD (app_usbd_msc) | |
|
Forward declaration of Mass Storage Class type.
|
|
Variables |
|
| const app_usbd_class_methods_t | app_usbd_msc_class_methods |
|
Public MSC class interface.
|
|
Detailed Description
nRF52840 only: Internals of the USB MSC class.
Macro Definition Documentation
| #define APP_USBD_MSC_CONFIG | ( | iface, | |
| endpoints | |||
| ) | ((iface, BRACKET_EXTRACT (endpoints))) |
MSC configuration macro.
Used by APP_USBD_MSC_GLOBAL_DEF
- Parameters
-
iface Interface number endpoints Endpoint list
| #define APP_USBD_MSC_DATA_SPECIFIC_DEC app_usbd_msc_ctx_t ctx; |
Specific class data for MSC.
| #define APP_USBD_MSC_DSC_CONFIG | ( | interface_number, | |
| ... | |||
| ) |
Value:
{ \
APP_USBD_MSC_INTERFACE_DSC(interface_number, \
APP_USBD_MSC_EP_DSC(
GET_VA_ARG_1
(__VA_ARGS__), \
GET_VA_ARG_1
(
GET_ARGS_AFTER_1
(__VA_ARGS__)), \
64) \
}
MSC descriptors config macro.
- Parameters
-
interface_number Interface number ... Extracted endpoint list
| #define APP_USBD_MSC_GLOBAL_DEF_INTERNAL | ( | instance_name, | |
| interface_number, | |||
| user_ev_handler, | |||
| endpoint_list, | |||
| blockdev_list, | |||
| workbuffer_size | |||
| ) |
Value:
APP_USBD_MSC_DSC_CONFIG(interface_number,
BRACKET_EXTRACT
(endpoint_list)); \
{
BRACKET_EXTRACT
(blockdev_list) }; \
static uint32_t
CONCAT_2
(instance_name, _block)[2 *(workbuffer_size) /
sizeof
(uint32_t)]; \
APP_USBD_CLASS_INST_GLOBAL_DEF( \
instance_name, \
app_usbd_msc, \
APP_USBD_MSC_CONFIG
(interface_number, endpoint_list), \
(
APP_USBD_MSC_INST_CONFIG
(
CONCAT_2
(instance_name, _dsc), \
CONCAT_2
(instance_name, _blkdevs), \
CONCAT_2
(instance_name, _block), \
user_ev_handler)) \
)
Global definition of mass storage class instance.
| #define APP_USBD_MSC_INST_CONFIG | ( | descriptors, | |
| block_devs, | |||
| block_buff, | |||
| user_event_handler | |||
| ) |
Value:
.inst = { \
.p_raw_desc = descriptors, \
.raw_desc_size =
sizeof
(descriptors), \
.pp_block_devs = block_devs, \
.block_devs_count = ARRAY_SIZE(block_devs), \
.p_block_buff = block_buff, \
.block_buff_size =
sizeof
(block_buff) / 2, \
.user_ev_handler = user_event_handler, \
}
Configures MSC instance.
- Parameters
-
descriptors Mass storage class descriptors (raw table) block_devs Block devices list block_buff Block buffer user_event_handler User event handler
| #define APP_USBD_MSC_INSTANCE_SPECIFIC_DEC app_usbd_msc_inst_t inst; |
Specific class constant data for MSC.
Typedef Documentation
| typedef void(* app_usbd_msc_user_ev_handler_t)( app_usbd_class_inst_t const *p_inst, enum app_usbd_msc_user_event_e event) |
User event handler.
- Parameters
-
[in] p_inst Class instance [in] event User event
Enumeration Type Documentation
| enum app_usbd_msc_state_t |
Internal module state.