Added new Pipe_IsFrozen() macro to determine if the currently selected pipe is frozen.
[pub/lufa.git] / LUFA / Drivers / USB / Class / Host / HIDParser.c
index 4293a3d..008d173 100644 (file)
@@ -342,4 +342,25 @@ void USB_SetHIDReportItemInfo(uint8_t* ReportData, const HID_ReportItem_t* Repor
        }\r
 }\r
 \r
+uint16_t USB_GetHIDReportSize(HID_ReportInfo_t* const ParserData, uint8_t ReportID, uint8_t ReportType)\r
+{\r
+       for (uint8_t i = 0; i < HID_MAX_REPORT_IDS; i++)\r
+       {\r
+               if (ParserData->ReportIDSizes[i].ReportID == ReportID)\r
+               {\r
+                       switch (ReportType)\r
+                       {\r
+                               case REPORT_ITEM_TYPE_In:\r
+                                       return ParserData->ReportIDSizes[i].BitsIn;\r
+                               case REPORT_ITEM_TYPE_Out:\r
+                                       return ParserData->ReportIDSizes[i].BitsOut;\r
+                               case REPORT_ITEM_TYPE_Feature:\r
+                                       return ParserData->ReportIDSizes[i].BitsFeature;\r
+                       }\r
+               }\r
+       }\r
+\r
+       return 0;\r
+}\r
+\r
 #endif\r