* 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 Keyboard_HID_Interface =\r
- {\r
- .InterfaceNumber = 0,\r
-\r
- .ReportINEndpointNumber = KEYBOARD_EPNUM,\r
- .ReportINEndpointSize = KEYBOARD_EPSIZE,\r
-\r
- .ReportINBufferSize = sizeof(USB_KeyboardReport_Data_t),\r
-\r
- .IdleCount = 500,\r
+USB_ClassInfo_HID_Device_t Keyboard_HID_Interface =\r
+ {\r
+ .Config =\r
+ {\r
+ .InterfaceNumber = 0,\r
+\r
+ .ReportINEndpointNumber = KEYBOARD_EPNUM,\r
+ .ReportINEndpointSize = KEYBOARD_EPSIZE,\r
+\r
+ .ReportINBufferSize = sizeof(USB_KeyboardReport_Data_t),\r
+ },\r
+ \r
+ .State =\r
+ {\r
+ .IdleCount = 500,\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 (Keyboard_HID_Interface.IdleMSRemaining)\r
- Keyboard_HID_Interface.IdleMSRemaining--;\r
+ if (Keyboard_HID_Interface.State.IdleMSRemaining)\r
+ Keyboard_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_KeyboardReport_Data_t* KeyboardReport = (USB_KeyboardReport_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
uint8_t LEDMask = LEDS_NO_LEDS;\r