MassStorage.txt 3.24 KB
Newer Older
1
2
3
4
5
6
7
/** \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
8
9
10
 *
 *  \section SSec_Compat Demo Compatibility:
 *
11
12
13
14
15
16
 *  The following list indicates what microcontrollers are compatible with this demo.
 *
 *  - Series 7 USB AVRs
 *  - Series 6 USB AVRs
 *  - Series 4 USB AVRs
 *  - Series 2 USB AVRs
17
 *
18
19
20
 *  \section SSec_Info USB Information:
 *
 *  The following table gives a rundown of the USB utilization of this demo.
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 *
 *  <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>
47
48
49
50
51
52
53
54
 *
 *  \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).
 *  
55
56
 *  On start-up the system will automatically enumerate and function as an
 *  external mass storage device with two LUNs (separate disks) which may
57
58
59
60
61
62
63
64
65
66
67
68
69
 *  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.
 *
70
71
72
73
74
 *  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.
 *
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
 *  \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>
92
 */