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.