#endif\r
HID_CollectionPath_t* CurrCollectionPath = NULL;\r
\r
- memset(ParserData, 0x00, sizeof(HID_ReportInfo_t));\r
- memset(StateTable, 0x00, sizeof(StateTable));\r
+ ParserData->TotalReportItems = 0;\r
+ ParserData->UsingMultipleReports = false;\r
+ \r
+ for (uint8_t CurrCollection = 0; CurrCollection < HID_MAX_COLLECTIONS; CurrCollection++)\r
+ ParserData->CollectionPaths[CurrCollection].Parent = NULL;\r
+\r
+ memset(&StateTable[0], 0x00, sizeof(HID_StateTable_t));\r
\r
while (ReportSize)\r
{\r
* - Altered the SCSI commands in the LowLevel Mass Storage Host to save on FLASH space by reducing function calls\r
* - Changed the parameters and behaviour of the USB_GetDeviceConfigDescriptor() function so that it now performs size checks\r
* and data validations internally, to simplify user code\r
+ * - Changed HIDParser to only zero out important values in the Parsed HID Report Item Information structure to save cycles\r
*\r
* <b>Fixed:</b>\r
* - Fixed possible lockup in the CDC device class driver, when the host sends data that is a multiple of the\r