Remove MIDI ClassDriver device demo's accidental inclusion of the unused ADC peripher...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / HID.h
index 6a6198e..097b12f 100644 (file)
                         *  \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration
                         *  containing the given HID interface is selected.
                         *
+                        *  \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other
+                        *        interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes
+                        *        within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes.
+                        *
                         *  \param[in,out] HIDInterfaceInfo  Pointer to a structure containing a HID Class configuration and state.
                         *
                         *  \return Boolean true if the endpoints were successfully configured, false otherwise.
                         *  \param[in,out] ReportID          If preset to a non-zero value, this is the report ID being requested by the host. If zero, 
                         *                                   this should be set to the report ID of the generated HID input report (if any). If multiple
                         *                                   reports are not sent via the given HID interface, this parameter should be ignored.
-                        *  \param[in]     ReportType        Type of HID report to generate, either \ref REPORT_ITEM_TYPE_In or \ref REPORT_ITEM_TYPE_Feature.
+                        *  \param[in]     ReportType        Type of HID report to generate, either \ref HID_REPORT_ITEM_In or \ref HID_REPORT_ITEM_Feature.
                         *  \param[out]    ReportData        Pointer to a buffer where the generated HID report should be stored.
                         *  \param[out]    ReportSize        Number of bytes in the generated input report, or zero if no report is to be sent.
                         *
                         *  \return Boolean true to force the sending of the report even if it is identical to the previous report and still within
                         *          the idle period (useful for devices which report relative movement), false otherwise.
                         */
-                       bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID,
-                                                     const uint8_t ReportType, void* ReportData, uint16_t* const ReportSize) ATTR_NON_NULL_PTR_ARG(1)
+                       bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
+                                                                uint8_t* const ReportID,
+                                                                const uint8_t ReportType,
+                                                                void* ReportData,
+                                                                uint16_t* const ReportSize) ATTR_NON_NULL_PTR_ARG(1)
                                                                 ATTR_NON_NULL_PTR_ARG(2) ATTR_NON_NULL_PTR_ARG(4) ATTR_NON_NULL_PTR_ARG(5);
                        
                        /** HID class driver callback for the user processing of a received HID OUT report. This callback may fire in response to
                         *  \param[in,out] HIDInterfaceInfo  Pointer to a structure containing a HID Class configuration and state.
                         *  \param[in]     ReportID          Report ID of the received output report. If multiple reports are not received via the given HID
                         *                                   interface, this parameter should be ignored.
-                        *  \param[in]     ReportType        Type of received HID report, either \ref REPORT_ITEM_TYPE_Out or \ref REPORT_ITEM_TYPE_Feature.
+                        *  \param[in]     ReportType        Type of received HID report, either \ref HID_REPORT_ITEM_Out or \ref HID_REPORT_ITEM_Feature.
                         *  \param[in]     ReportData        Pointer to a buffer where the received HID report is stored.
                         *  \param[in]     ReportSize        Size in bytes of the received report from the host.
                         */
-                       void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, const uint8_t ReportID,
-                                                                 const uint8_t ReportType, const void* ReportData, const uint16_t ReportSize)
-                                                                 ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(4);
+                       void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
+                                                                 const uint8_t ReportID,
+                                                                 const uint8_t ReportType,
+                                                                 const void* ReportData,
+                                                                 const uint16_t ReportSize) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(4);
 
                /* Inline Functions: */
                        /** Indicates that a millisecond of idle time has elapsed on the given HID interface, and the interface's idle count should be