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.

MassStorageKeyboard.txt 3.5KB

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 Combined Mass Storage and Keyboard 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 Classes:</b></td>
  31. * <td>Mass Storage Device \n
  32. * Human Interface Device</td>
  33. * </tr>
  34. * <tr>
  35. * <td><b>USB Subclasses:</b></td>
  36. * <td>Bulk-Only Transport \n
  37. * Keyboard Subclass</td>
  38. * </tr>
  39. * <tr>
  40. * <td><b>Relevant Standards:</b></td>
  41. * <td>USBIF Mass Storage Standard \n
  42. * USB Bulk-Only Transport Standard \n
  43. * SCSI Primary Commands Specification \n
  44. * SCSI Block Commands Specification \n
  45. * USBIF HID Specification \n
  46. * USBIF HID Usage Tables</td>
  47. * </tr>
  48. * <tr>
  49. * <td><b>Supported USB Speeds:</b></td>
  50. * <td>Full Speed Mode</td>
  51. * </tr>
  52. * </table>
  53. *
  54. * \section Sec_Description Project Description:
  55. *
  56. * Combined Mass Storage and Keyboard demonstration application. This gives a
  57. * simple reference application for implementing a dual class USB Mass Storage
  58. * and USB HID Keyboard device using the basic USB UFI and HID drivers in all
  59. * modern OSes (i.e. no special drivers required).
  60. *
  61. * On start-up the system will automatically enumerate and function as an
  62. * external mass storage device (which may be formatted and used in the same
  63. * manner as commercial USB Mass Storage devices) and a USB keyboard.
  64. *
  65. * You will need to format the mass storage drive upon first run of this
  66. * demonstration - as the device acts only as a data block transport between
  67. * the host and the storage media, it does not matter what file system is used,
  68. * as the data interpretation is performed by the host and not the USB device.
  69. *
  70. * Keys on the USB keyboard can be pressed by moving the board's Joystick.
  71. *
  72. * The USB control endpoint is managed entirely by the library using endpoint
  73. * interrupts, as the INTERRUPT_CONTROL_ENDPOINT option is enabled. This allows for
  74. * the host to reset the Mass Storage device state during long transfers without
  75. * the need for complicated polling logic.
  76. *
  77. * \section Sec_Options Project Options
  78. *
  79. * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
  80. *
  81. * <table>
  82. * <tr>
  83. * <th><b>Define Name:</b></th>
  84. * <th><b>Location:</b></th>
  85. * <th><b>Description:</b></th>
  86. * </tr>
  87. * <tr>
  88. * <td>TOTAL_LUNS</td>
  89. * <td>AppConfig.h</td>
  90. * <td>Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive -
  91. * this can be set to any positive non-zero amount.</td>
  92. * </tr>
  93. * <tr>
  94. * <td>DISK_READ_ONLY</td>
  95. * <td>AppConfig.h</td>
  96. * <td>Configuration define, indicating if the disk should be write protected or not.</td>
  97. * </tr>
  98. */