* passed to all HID Class driver functions, so that multiple instances of the same class\r
* within a device can be differentiated from one another.\r
*/\r
-USB_ClassInfo_HID_t Mouse_HID_Interface =\r
+USB_ClassInfo_HID_Device_t Mouse_HID_Interface =\r
{\r
- .InterfaceNumber = 0,\r
-\r
- .ReportINEndpointNumber = MOUSE_EPNUM,\r
- .ReportINEndpointSize = MOUSE_EPSIZE,\r
-\r
- .ReportINBufferSize = sizeof(USB_MouseReport_Data_t),\r
+ .Config =\r
+ {\r
+ .InterfaceNumber = 0,\r
+\r
+ .ReportINEndpointNumber = MOUSE_EPNUM,\r
+ .ReportINEndpointSize = MOUSE_EPSIZE,\r
+\r
+ .ReportINBufferSize = sizeof(USB_MouseReport_Data_t),\r
+ },\r
+ \r
+ .State =\r
+ {\r
+ // Leave all state values to their defaults\r
+ } \r
};\r
\r
/** Main program entry point. This routine contains the overall program flow, including initial\r
/** ISR to keep track of each millisecond interrupt, for determining the HID class idle period remaining when set. */\r
ISR(TIMER0_COMPA_vect, ISR_BLOCK)\r
{\r
- if (Mouse_HID_Interface.IdleMSRemaining)\r
- Mouse_HID_Interface.IdleMSRemaining--;\r
+ if (Mouse_HID_Interface.State.IdleMSRemaining)\r
+ Mouse_HID_Interface.State.IdleMSRemaining--;\r
}\r
\r
/** HID class driver callback function for the creation of HID reports to the host.\r
*\r
* \return Number of bytes written in the report (or zero if no report is to be sent\r
*/\r
-uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_t* HIDInterfaceInfo, uint8_t* ReportID, void* ReportData)\r
+uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t* ReportID, void* ReportData)\r
{\r
USB_MouseReport_Data_t* MouseReport = (USB_MouseReport_Data_t*)ReportData;\r
\r
* \param ReportData Pointer to a buffer where the created report has been stored\r
* \param ReportSize Size in bytes of the received HID report\r
*/\r
-void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_t* HIDInterfaceInfo, uint8_t ReportID,\r
+void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t ReportID,\r
void* ReportData, uint16_t ReportSize)\r
{\r
// Unused (but mandatory for the HID class driver) in this demo, since there are no Host->Device reports\r