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