mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-10 10:54:17 +00:00
Documented FAST_STREAM_TRANSFERS compile time option. Reduced the TCP window size for the RNDIS demos (Class and LowLevel) to make them compatible with the AT90USB64x.
98 lines
3.3 KiB
Plaintext
98 lines
3.3 KiB
Plaintext
/** \file
|
|
*
|
|
* This file contains special DoxyGen information for the generation of the main page and other special
|
|
* documentation pages. It is not a project source file.
|
|
*/
|
|
|
|
/** \mainpage Mass Storage Device Demo
|
|
*
|
|
* \section SSec_Compat Demo Compatibility:
|
|
*
|
|
* The following table indicates what microcontrollers are compatible with this demo.
|
|
*
|
|
* - AT90USB1287
|
|
* - AT90USB1286
|
|
* - AT90USB647
|
|
* - AT90USB646
|
|
* - ATMEGA32U6
|
|
* - ATMEGA32U4
|
|
* - ATMEGA16U4
|
|
* - AT90USB162
|
|
* - AT90USB82
|
|
*
|
|
* \section SSec_Info USB Information:
|
|
*
|
|
* The following table gives a rundown of the USB utilization of this demo.
|
|
*
|
|
* <table>
|
|
* <tr>
|
|
* <td><b>USB Mode:</b></td>
|
|
* <td>Device</td>
|
|
* </tr>
|
|
* <tr>
|
|
* <td><b>USB Class:</b></td>
|
|
* <td>Mass Storage Device</td>
|
|
* </tr>
|
|
* <tr>
|
|
* <td><b>USB Subclass:</b></td>
|
|
* <td>Bulk-Only Transport</td>
|
|
* </tr>
|
|
* <tr>
|
|
* <td><b>Relevant Standards:</b></td>
|
|
* <td>USBIF Mass Storage Standard</td>
|
|
* <td>USB Bulk-Only Transport Standard</td>
|
|
* <td>SCSI Primary Commands Specification</td>
|
|
* <td>SCSI Block Commands Specification</td>
|
|
* </tr>
|
|
* <tr>
|
|
* <td><b>Usable Speeds:</b></td>
|
|
* <td>Full Speed Mode</td>
|
|
* </tr>
|
|
* </table>
|
|
*
|
|
* \section SSec_Description Project Description:
|
|
*
|
|
* Dual LUN Mass Storage demonstration application. This gives a simple
|
|
* reference application for implementing a multiple LUN USB Mass Storage
|
|
* device using the basic USB UFI drivers in all modern OSes (i.e. no
|
|
* special drivers required).
|
|
*
|
|
* On start-up the system will automatically enumerate and function as an
|
|
* external mass storage device with two LUNs (separate disks) which may
|
|
* be formatted and used in the same manner as commercial USB Mass Storage
|
|
* devices.
|
|
*
|
|
* You will need to format the mass storage drives upon first run of this
|
|
* demonstration - as the device acts only as a data block transport between
|
|
* the host and the storage media, it does not matter what file system is used,
|
|
* as the data interpretation is performed by the host and not the USB device.
|
|
*
|
|
* This demo is not restricted to only two LUNs; by changing the TOTAL_LUNS
|
|
* value in MassStorageDualLUN.h, any number of LUNs can be used (from 1 to
|
|
* 255), with each LUN being allocated an equal portion of the available
|
|
* Dataflash memory.
|
|
*
|
|
* The USB control endpoint is managed entirely by the library using endpoint
|
|
* interrupts, as the INTERRUPT_CONTROL_ENDPOINT option is enabled. This allows for
|
|
* the host to reset the Mass Storage device state during long transfers without
|
|
* the need for complicated polling logic.
|
|
*
|
|
* \section SSec_Options Project Options
|
|
*
|
|
* The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
|
|
*
|
|
* <table>
|
|
* <tr>
|
|
* <td><b>Define Name:</b></td>
|
|
* <td><b>Location:</b></td>
|
|
* <td><b>Description:</b></td>
|
|
* </tr>
|
|
* <tr>
|
|
* <td>TOTAL_LUNS</td>
|
|
* <td>MassStorage.h</td>
|
|
* <td>Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive
|
|
* - this can be set to any positive non-zero amount.</td>
|
|
* </tr>
|
|
* </table>
|
|
*/
|