Make HID device class driver reselect the correct endpoint after the user callbacks...
[pub/USBasp.git] / Demos / Host / LowLevel / MouseHostWithParser / MouseHostWithParser.c
index 4d50ff6..736ab52 100644 (file)
@@ -37,7 +37,7 @@
 #include "MouseHostWithParser.h"\r
 \r
 /** Main program entry point. This routine configures the hardware required by the application, then\r
- *  starts the scheduler to run the application tasks.\r
+ *  enters a loop to run the application tasks in sequence.\r
  */\r
 int main(void)\r
 {\r
@@ -171,8 +171,12 @@ void Mouse_HID_Task(void)
                        /* Get and process the device's first HID report descriptor */\r
                        if ((ErrorCode = GetHIDReportData()) != ParseSuccessful)\r
                        {\r
-                               printf_P(PSTR(ESC_FG_RED "Report Parse Error.\r\n"\r
-                                                        " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);\r
+                               puts_P(PSTR(ESC_FG_RED "Report Parse Error.\r\n"));\r
+\r
+                               if (!(HIDReportInfo.TotalReportItems))\r
+                                       puts_P(PSTR("Not a valid Mouse." ESC_FG_WHITE));\r
+                               else\r
+                                       printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);\r
                        \r
                                /* Indicate error via status LEDs */\r
                                LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
@@ -200,7 +204,7 @@ void Mouse_HID_Task(void)
                                         ((ReportSizeFeatureBits >> 3) + ((ReportSizeFeatureBits & 0x07) != 0)));\r
                        }\r
 \r
-                       puts_P(PSTR("HID Device Enumerated.\r\n"));\r
+                       puts_P(PSTR("Mouse Enumerated.\r\n"));\r
 \r
                        USB_HostState = HOST_STATE_Configured;\r
                        break;\r