From aa640330a1b9421a16e425f5e0043a08558fb9bf Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Sun, 20 Sep 2009 12:34:07 +0000 Subject: Finish Class Driver MouseHost demo. Update HID Host Class driver; boot protocol now works, still need to finish and test report protocol mode. --- Demos/Host/ClassDriver/MouseHost/MouseHost.c | 14 ++--- Demos/Host/ClassDriver/MouseHost/MouseHost.txt | 72 ++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 Demos/Host/ClassDriver/MouseHost/MouseHost.txt (limited to 'Demos') diff --git a/Demos/Host/ClassDriver/MouseHost/MouseHost.c b/Demos/Host/ClassDriver/MouseHost/MouseHost.c index ead296102..926776f23 100644 --- a/Demos/Host/ClassDriver/MouseHost/MouseHost.c +++ b/Demos/Host/ClassDriver/MouseHost/MouseHost.c @@ -115,10 +115,16 @@ int main(void) { USB_MouseReport_Data_t MouseReport; uint8_t ReportID = 0; - uint8_t LEDMask = LEDS_NO_LEDS; + uint8_t LEDMask = LEDS_NO_LEDS; + /* Receive next boot protocol mouse report from the device */ HID_Host_ReceiveReport(&Mouse_HID_Interface, false, &ReportID, &MouseReport); + /* Print mouse report data through the serial port */ + printf_P(PSTR("dX:%2d dY:%2d Button:%d\r\n"), MouseReport.X, + MouseReport.Y, + MouseReport.Button); + /* Alter status LEDs according to mouse X movement */ if (MouseReport.X > 0) LEDMask |= LEDS_LED1; @@ -134,13 +140,9 @@ int main(void) /* Alter status LEDs according to mouse button position */ if (MouseReport.Button) LEDMask = LEDS_ALL_LEDS; - + LEDs_SetAllLEDs(LEDMask); } - else - { - LEDs_SetAllLEDs(LEDS_NO_LEDS); - } break; } diff --git a/Demos/Host/ClassDriver/MouseHost/MouseHost.txt b/Demos/Host/ClassDriver/MouseHost/MouseHost.txt new file mode 100644 index 000000000..8a3c1674c --- /dev/null +++ b/Demos/Host/ClassDriver/MouseHost/MouseHost.txt @@ -0,0 +1,72 @@ +/** \file + * + * This file contains special DoxyGen information for the generation of the main page and other special + * documentation pages. It is not a project source file. + */ + +/** \mainpage Mouse Host Demo + * + * \section SSec_Compat Demo Compatibility: + * + * The following table indicates what microcontrollers are compatible with this demo. + * + * - AT90USB1287 + * - AT90USB647 + * + * \section SSec_Info USB Information: + * + * The following table gives a rundown of the USB utilization of this demo. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
USB Mode:Host
USB Class:Human Interface Device (HID)
USB Subclass:N/A
Relevant Standards:USBIF HID Specification, USBIF HID Usage Tables
Usable Speeds:Low Speed Mode, Full Speed Mode
+ * + * \section SSec_Description Project Description: + * + * Mouse host demonstration application. This gives a simple reference + * application for implementing a USB Mouse host, for USB mice using + * the standard mouse HID profile. + * + * Mouse movement and button presses are displayed on the board LEDs, + * as well as printed out the serial terminal as formatted dY, dY and + * button status information. + * + * This uses a naive method where the mouse is set to Boot Protocol mode, so + * that the report structure is fixed and known. A better implementation + * uses the HID report parser for correct report data processing across + * all compatible mice with advanced characteristics, as shown in the + * MouseHostWithParser demo application. + * + * Currently only single interface mice are supported. + * + * \section SSec_Options Project Options + * + * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. + * + * + * + * + * + *
+ * None + *
+ */ -- cgit v1.2.3