Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MassStorage.txt 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. /** \file
  2. *
  3. * This file contains special DoxyGen information for the generation of the main page and other special
  4. * documentation pages. It is not a project source file.
  5. */
  6. /** \mainpage Mass Storage Device Demo
  7. *
  8. * \section Sec_Compat Demo Compatibility:
  9. *
  10. * The following list indicates what microcontrollers are compatible with this demo.
  11. *
  12. * \li Series 7 USB AVRs (AT90USBxxx7)
  13. * \li Series 6 USB AVRs (AT90USBxxx6)
  14. * \li Series 4 USB AVRs (ATMEGAxxU4)
  15. * \li Series 2 USB AVRs (AT90USBxx2, ATMEGAxxU2)
  16. * \li Series AU XMEGA AVRs (ATXMEGAxxxAxU)
  17. * \li Series B XMEGA AVRs (ATXMEGAxxxBxU)
  18. * \li Series C XMEGA AVRs (ATXMEGAxxxCxU)
  19. *
  20. * \section Sec_Info USB Information:
  21. *
  22. * The following table gives a rundown of the USB utilization of this demo.
  23. *
  24. * <table>
  25. * <tr>
  26. * <td><b>USB Mode:</b></td>
  27. * <td>Device</td>
  28. * </tr>
  29. * <tr>
  30. * <td><b>USB Class:</b></td>
  31. * <td>Mass Storage Device</td>
  32. * </tr>
  33. * <tr>
  34. * <td><b>USB Subclass:</b></td>
  35. * <td>Bulk-Only Transport</td>
  36. * </tr>
  37. * <tr>
  38. * <td><b>Relevant Standards:</b></td>
  39. * <td>USBIF Mass Storage Standard \n
  40. * USB Bulk-Only Transport Standard \n
  41. * SCSI Primary Commands Specification \n
  42. * SCSI Block Commands Specification</td>
  43. * </tr>
  44. * <tr>
  45. * <td><b>Supported USB Speeds:</b></td>
  46. * <td>Full Speed Mode</td>
  47. * </tr>
  48. * </table>
  49. *
  50. * \section Sec_Description Project Description:
  51. *
  52. * Mass Storage device demonstration application. This gives a simple
  53. * reference application for implementing a USB Mass Storage device using
  54. * the basic USB UFI drivers in all modern OSes (i.e. no special drivers
  55. * required).
  56. *
  57. * On start-up the system will automatically enumerate and function as an
  58. * external mass storage device which may be formatted and used in the same
  59. * manner as commercial USB Mass Storage devices.
  60. *
  61. * You will need to format the mass storage drive upon first run of this
  62. * demonstration - as the device acts only as a data block transport between
  63. * the host and the storage media, it does not matter what file system is used,
  64. * as the data interpretation is performed by the host and not the USB device.
  65. *
  66. * This demo is not restricted to only a single LUN (logical disk); by changing
  67. * the TOTAL_LUNS value in DataflashManager.h, any number of LUNs can be used
  68. * (from 1 to 255), with each LUN being allocated an equal portion of the available
  69. * Dataflash memory.
  70. *
  71. * The USB control endpoint is managed entirely by the library using endpoint
  72. * interrupts, as the INTERRUPT_CONTROL_ENDPOINT option is enabled. This allows for
  73. * the host to reset the Mass Storage device state during long transfers without
  74. * the need for complicated polling logic.
  75. *
  76. * \section Sec_Options Project Options
  77. *
  78. * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
  79. *
  80. * <table>
  81. * <tr>
  82. * <th><b>Define Name:</b></th>
  83. * <th><b>Location:</b></th>
  84. * <th><b>Description:</b></th>
  85. * </tr>
  86. * <tr>
  87. * <td>TOTAL_LUNS</td>
  88. * <td>AppConfig.h</td>
  89. * <td>Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive
  90. * - this can be set to any positive non-zero amount.</td>
  91. * </tr>
  92. * <tr>
  93. * <td>DISK_READ_ONLY</td>
  94. * <td>AppConfig.h</td>
  95. * <td>Indicates if the disk should be write protected or not.</td>
  96. * </tr>
  97. * </table>
  98. */