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_BUFFER_CNT 2 |
|
Number of block buffers.
More...
|
|
| #define | APP_USBD_MSC_BUFFER_NAME (instance_name) CONCAT_2 (instance_name, _block) |
|
Create the name of the block buffer.
More...
|
|
| #define | APP_USBD_MSC_BLKDEVS_NAME (instance_name) CONCAT_2 (instance_name, _blkdevs) |
|
Create the name of the block device list.
More...
|
|
| #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 (p_devs,devs_cnt,p_buff,block_size,block_cnt,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_DATA_IN , APP_USBD_MSC_STATE_DATA_OUT , APP_USBD_MSC_STATE_CSW , APP_USBD_MSC_STATE_UNSUPPORTED , APP_USBD_MSC_STATE_CBW_INVALID , APP_USBD_MSC_STATE_DEVICE_ERROR } |
|
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_BLKDEVS_NAME | ( | instance_name | ) | CONCAT_2 (instance_name, _blkdevs) |
Create the name of the block device list.
- Parameters
-
instance_name The name of the MSC instance
- Returns
- The name of the block device list
| #define APP_USBD_MSC_BUFFER_CNT 2 |
Number of block buffers.
Number of buffers used for the transfer. The library is designed to work with double buffering. Not tested with other configuration.
| #define APP_USBD_MSC_BUFFER_NAME | ( | instance_name | ) | CONCAT_2 (instance_name, _block) |
Create the name of the block buffer.
- Parameters
-
instance_name The name of the MSC instance
- Returns
- The name of the block buffer used with the instance
| #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, | |
| ... | |||
| ) |
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 | |||
| ) |
Global definition of mass storage class instance.
| #define APP_USBD_MSC_INST_CONFIG | ( | p_devs, | |
| devs_cnt, | |||
| p_buff, | |||
| block_size, | |||
| block_cnt, | |||
| user_event_handler | |||
| ) |
Configures MSC instance.
- Parameters
-
p_devs Block devices list that is array of pointers of nrf_block_dev_t type. devs_cnt Number of block devices connected. p_buff Block buffer. block_size Total size of the single block in the buffer. block_cnt Number of available block buffers. 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.
| Enumerator | |
|---|---|
| APP_USBD_MSC_STATE_DISABLED |
Internal module state DISABLED |
| APP_USBD_MSC_STATE_IDLE |
Internal module state IDLE |
| APP_USBD_MSC_STATE_CBW |
Internal module state CBW |
| APP_USBD_MSC_STATE_CMD_IN |
Internal module state CMD_IN |
| APP_USBD_MSC_STATE_DATA_IN |
Internal module state DATA_IN |
| APP_USBD_MSC_STATE_DATA_OUT |
Internal module state DATA_OUT |
| APP_USBD_MSC_STATE_CSW |
Internal module state CSW |
| APP_USBD_MSC_STATE_UNSUPPORTED |
Internal module state UNSUPPORTED |
| APP_USBD_MSC_STATE_CBW_INVALID |
Endpoint is stalled until the command APP_USBD_MSC_REQ_BULK_RESET |
| APP_USBD_MSC_STATE_DEVICE_ERROR |
Endpoint is stalled and it is required to send PE error when clearing |