Added flag to the HID report parser to indicate if a device has multiple reports.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / HIDParser.h
index a9fff3e..942fe11 100644 (file)
                        typedef struct\r
                        {\r
                                uint8_t                      TotalReportItems; /**< Total number of report items stored in the\r
-                                                                               *   ReportItems array. */\r
-\r
+                                                                               *   ReportItems array.\r
+                                                                               */\r
                                HID_ReportItem_t             ReportItems[HID_MAX_REPORTITEMS]; /**< Report items array, including\r
-                                                                                           *   all IN, OUT and FEATURE items. */\r
-\r
+                                                                                           *   all IN, OUT and FEATURE items.\r
+                                                                                               */\r
                                HID_CollectionPath_t         CollectionPaths[HID_MAX_COLLECTIONS]; /**< All collection items, referenced\r
-                                                                                                   *   by the report items. */\r
+                                                                                                   *   by the report items.\r
+                                                                                                   */\r
+                               bool                         UsingMultipleReports; /**< Indicates if the device has at least one REPORT ID\r
+                                                                                   *   element in its HID report descriptor.\r
+                                                                                   */\r
                        } HID_ReportInfo_t;\r
                        \r
                /* Function Prototypes: */\r
                         *  buffer. The report buffer is assumed to have the appropriate bits cleared before calling\r
                         *  this function (i.e., the buffer should be explicitly cleared before report values are added).\r
                         *\r
-                        *  If the device has multiple HID reports, the report ID is set to the report ID of the given item.\r
+                        *  If the device has multiple HID reports, the first byte in the report is set to the report ID of the given item.\r
                         *\r
-                        *  \param[out] ReportData  Buffer holding the current OUT report data\r
+                        *  \param[out] ReportData  Buffer holding the current OUT or FEATURE report data\r
                         *  \param[in] ReportItem  Pointer to the report item of interest in a \ref HID_ReportInfo_t ReportItem array\r
                         */\r
                        void USB_SetHIDReportItemInfo(uint8_t* ReportData, const HID_ReportItem_t* ReportItem)\r