/*\r
LUFA Library\r
- Copyright (C) Dean Camera, 2009.\r
+ Copyright (C) Dean Camera, 2010.\r
\r
dean [at] fourwalledcubicle [dot] com\r
www.fourwalledcubicle.com\r
*/\r
\r
/*\r
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
\r
Permission to use, copy, modify, distribute, and sell this \r
software and its documentation for any purpose is hereby granted\r
*/\r
void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
\r
- /** Indicates that a millisecond of idle time has elapsed on the given HID interface, and the interface's idle count should be\r
- * decremented. This should be called once per millisecond so that hardware key-repeats function correctly. It is recommended\r
- * that this be called by the \ref EVENT_USB_Device_StartOfFrame() event, once SOF events have been enabled via\r
- * \ref USB_Device_EnableSOFEvents();.\r
- *\r
- * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state\r
- */\r
- void HID_Device_MillisecondElapsed(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
- \r
/** HID class driver callback for the user creation of a HID IN report. This callback may fire in response to either\r
* HID class control requests from the host, or by the normal HID endpoint polling procedure. Inside this callback the\r
* user is responsible for the creation of the next HID input report to be sent to the host.\r
const void* ReportData, const uint16_t ReportSize) ATTR_NON_NULL_PTR_ARG(1)\r
ATTR_NON_NULL_PTR_ARG(3);\r
\r
+ /* Inline Functions: */\r
+ /** Indicates that a millisecond of idle time has elapsed on the given HID interface, and the interface's idle count should be\r
+ * decremented. This should be called once per millisecond so that hardware key-repeats function correctly. It is recommended\r
+ * that this be called by the \ref EVENT_USB_Device_StartOfFrame() event, once SOF events have been enabled via\r
+ * \ref USB_Device_EnableSOFEvents();.\r
+ *\r
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state\r
+ */\r
+ static inline void HID_Device_MillisecondElapsed(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo);\r
+ static inline void HID_Device_MillisecondElapsed(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo)\r
+ {\r
+ if (HIDInterfaceInfo->State.IdleMSRemaining)\r
+ HIDInterfaceInfo->State.IdleMSRemaining--;\r
+ }\r
+ \r
/* Disable C linkage for C++ Compilers: */\r
#if defined(__cplusplus)\r
}\r