X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/f555ad7ced743a19eb1eefaf5eaf536fcbe58d80..55aadf97d5d2bd86f2a0c3a53d4608c0cf96471e:/LUFA/Drivers/USB/Class/Host/HID.h?ds=sidebyside diff --git a/LUFA/Drivers/USB/Class/Host/HID.h b/LUFA/Drivers/USB/Class/Host/HID.h index 14ba24bce..a0bef784a 100644 --- a/LUFA/Drivers/USB/Class/Host/HID.h +++ b/LUFA/Drivers/USB/Class/Host/HID.h @@ -38,12 +38,11 @@ */ /** \ingroup Group_USBClassHID - * @defgroup Group_USBClassHIDHost HID Class Host Mode Driver + * \defgroup Group_USBClassHIDHost HID Class Host Mode Driver * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: * - LUFA/Drivers/USB/Class/Host/HID.c (Makefile source module name: LUFA_SRC_USBCLASS) - * - LUFA/Drivers/USB/Class/Host/HIDParser.c (Makefile source module name: LUFA_SRC_USB) * * \section Sec_ModDescription Module Description * Host Mode USB Class driver framework interface, for the HID USB Class driver. @@ -57,7 +56,6 @@ /* Includes: */ #include "../../USB.h" #include "../Common/HID.h" - #include "HIDParser.h" /* Enable C linkage for C++ Compilers: */ #if defined(__cplusplus) @@ -150,11 +148,6 @@ * device. This should be called once after the stack has enumerated the attached device, while the host state * machine is in the Addressed state. * - * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes. - * \n\n - * * \note Once the device pipes are configured, the HID device's reporting protocol must be set via a call * to either the \ref HID_Host_SetBootProtocol() or \ref HID_Host_SetReportProtocol() function. * @@ -258,6 +251,18 @@ */ uint8_t HID_Host_SetBootProtocol(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1); + /** Sets the idle period for the attached HID device to the specified interval. The HID idle period determines the rate + * at which the device should send a report, when no state changes have ocurred; i.e. on HID keyboards, this sets the + * hardware key repeat interval. + * + * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class host configuration and state. + * \param[in] MS Idle period as a multiple of four milliseconds, zero to disable hardware repeats + * + * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum. + */ + uint8_t HID_Host_SetIdlePeriod(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo, + const uint16_t MS) ATTR_NON_NULL_PTR_ARG(1); + #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY) /** Switches the attached HID device's reporting protocol over to the standard Report protocol mode. This also retrieves * and parses the device's HID report descriptor, so that the size of each report can be determined in advance.