|
@ -174,14 +174,14 @@ bool udi_msc_trans_block(bool b_read, uint8_t * block, iram_size_t block_size, |
|
|
/**
|
|
|
/**
|
|
|
* \page udi_msc_quickstart Quick start guide for USB device Mass Storage module (UDI MSC) |
|
|
* \page udi_msc_quickstart Quick start guide for USB device Mass Storage module (UDI MSC) |
|
|
* |
|
|
* |
|
|
* This is the quick start guide for the \ref udi_msc_group |
|
|
* This is the quick start guide for the \ref udi_msc_group |
|
|
* "USB device interface MSC module (UDI MSC)" with step-by-step instructions on |
|
|
* "USB device interface MSC module (UDI MSC)" with step-by-step instructions on |
|
|
* how to configure and use the modules in a selection of use cases. |
|
|
* how to configure and use the modules in a selection of use cases. |
|
|
* |
|
|
* |
|
|
* The use cases contain several code fragments. The code fragments in the |
|
|
* The use cases contain several code fragments. The code fragments in the |
|
|
* steps for setup can be copied into a custom initialization function, while |
|
|
* steps for setup can be copied into a custom initialization function, while |
|
|
* the steps for usage can be copied into, e.g., the main application function. |
|
|
* the steps for usage can be copied into, e.g., the main application function. |
|
|
* |
|
|
* |
|
|
* \section udi_msc_basic_use_case Basic use case |
|
|
* \section udi_msc_basic_use_case Basic use case |
|
|
* In this basic use case, the "USB MSC (Single Interface Device)" module is used. |
|
|
* In this basic use case, the "USB MSC (Single Interface Device)" module is used. |
|
|
* The "USB MSC (Composite Device)" module usage is described in \ref udi_msc_use_cases |
|
|
* The "USB MSC (Composite Device)" module usage is described in \ref udi_msc_use_cases |
|
@ -246,7 +246,7 @@ bool udi_msc_trans_block(bool b_read, uint8_t * block, iram_size_t block_size, |
|
|
* - \code #define UDI_MSC_ENABLE_EXT() my_callback_msc_enable() |
|
|
* - \code #define UDI_MSC_ENABLE_EXT() my_callback_msc_enable() |
|
|
extern bool my_callback_msc_enable(void); \endcode |
|
|
extern bool my_callback_msc_enable(void); \endcode |
|
|
* \note After the device enumeration (detecting and identifying USB devices), |
|
|
* \note After the device enumeration (detecting and identifying USB devices), |
|
|
* the USB host starts the device configuration. When the USB MSC interface |
|
|
* the USB host starts the device configuration. When the USB MSC interface |
|
|
* from the device is accepted by the host, the USB host enables this interface and the |
|
|
* from the device is accepted by the host, the USB host enables this interface and the |
|
|
* UDI_MSC_ENABLE_EXT() callback function is called and return true. |
|
|
* UDI_MSC_ENABLE_EXT() callback function is called and return true. |
|
|
* Thus, when this event is received, the tasks which call |
|
|
* Thus, when this event is received, the tasks which call |
|
@ -256,7 +256,7 @@ bool udi_msc_trans_block(bool b_read, uint8_t * block, iram_size_t block_size, |
|
|
* \note When the USB device is unplugged or is reset by the USB host, the USB |
|
|
* \note When the USB device is unplugged or is reset by the USB host, the USB |
|
|
* interface is disabled and the UDI_MSC_DISABLE_EXT() callback function |
|
|
* interface is disabled and the UDI_MSC_DISABLE_EXT() callback function |
|
|
* is called. Thus, it is recommended to disable the task which is called udi_msc_process_trans(). |
|
|
* is called. Thus, it is recommended to disable the task which is called udi_msc_process_trans(). |
|
|
* -# The MSC is automatically linked with memory control access component |
|
|
* -# The MSC is automatically linked with memory control access component |
|
|
* which provides the memories interfaces. However, the memory data transfers |
|
|
* which provides the memories interfaces. However, the memory data transfers |
|
|
* must be done outside USB interrupt routine. This is done in the MSC process |
|
|
* must be done outside USB interrupt routine. This is done in the MSC process |
|
|
* ("udi_msc_process_trans()") called by main loop: |
|
|
* ("udi_msc_process_trans()") called by main loop: |
|
@ -288,7 +288,7 @@ bool udi_msc_trans_block(bool b_read, uint8_t * block, iram_size_t block_size, |
|
|
* In this use case, the "USB MSC (Composite Device)" module is used to |
|
|
* In this use case, the "USB MSC (Composite Device)" module is used to |
|
|
* create a USB composite device. Thus, this USB module can be associated with |
|
|
* create a USB composite device. Thus, this USB module can be associated with |
|
|
* another "Composite Device" module, like "USB HID Mouse (Composite Device)". |
|
|
* another "Composite Device" module, like "USB HID Mouse (Composite Device)". |
|
|
* |
|
|
* |
|
|
* Also, you can refer to application note |
|
|
* Also, you can refer to application note |
|
|
* <A href="http://www.atmel.com/dyn/resources/prod_documents/doc8445.pdf"> |
|
|
* <A href="http://www.atmel.com/dyn/resources/prod_documents/doc8445.pdf"> |
|
|
* AVR4902 ASF - USB Composite Device</A>. |
|
|
* AVR4902 ASF - USB Composite Device</A>. |
|
|