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.
 
   7 /** \mainpage Mouse Host/Device Dual Role Demo
 
   9  *  \section SSec_Compat Demo Compatibility:
 
  11  *  The following list indicates what microcontrollers are compatible with this demo.
 
  15  *  \section SSec_Info USB Information:
 
  17  *  The following table gives a rundown of the USB utilization of this demo.
 
  21  *    <td><b>USB Mode:</b></td>
 
  22  *    <td>Host/Device</td>
 
  25  *    <td><b>USB Class:</b></td>
 
  26  *    <td>Human Interface Device (HID)</td>
 
  29  *    <td><b>USB Subclass:</b></td>
 
  33  *    <td><b>Relevant Standards:</b></td>
 
  34  *    <td>USBIF HID Specification, USBIF HID Usage Tables</td>
 
  37  *    <td><b>Usable Speeds:</b></td>
 
  38  *    <td>Low Speed Mode, Full Speed Mode</td>
 
  42  *  \section SSec_Description Project Description: 
 
  44  *  Mouse host/device dual role demonstration application. This gives a simple
 
  45  *  reference application for implementing a dual role USB Mouse, for USB mice
 
  46  *  using the standard mouse boot protocol HID profile.
 
  48  *  <b>When in host mode:</b>
 
  49  *  Mouse movement and button presses are displayed on the board LEDs,
 
  50  *  as well as printed out the serial terminal as formatted dY, dY and
 
  51  *  button status information.
 
  53  *  This uses a naive method where the mouse is set to Boot Protocol mode, so
 
  54  *  that the report structure is fixed and known. A better implementation
 
  55  *  uses the HID report parser for correct report data processing across
 
  56  *  all compatible mice with advanced characteristics, as shown in the
 
  57  *  MouseHostWithParser Host demo application.
 
  59  *  Currently only single interface mice are supported. 
 
  61  *  <b>When in device mode:</b>
 
  62  *  Upon enumeration the system will automatically enumerate and function
 
  63  *  as a mouse when the USB connection to a host is present. To use
 
  64  *  the mouse, move the joystick to move the pointer, and push the
 
  65  *  joystick inwards to simulate a left-button click. The HWB serves as
 
  66  *  the right mouse button.
 
  68  *  \section SSec_Options Project Options
 
  70  *  The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.