LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
HIDClassHost.h File Reference

Go to the source code of this file.

Data Structures

struct  USB_ClassInfo_HID_Host_t
 HID Class Host Mode Configuration and State Structure. More...
 

Macros

#define HID_ERROR_LOGICAL   0x80
 

Enumerations

enum  HID_Host_EnumerationFailure_ErrorCodes_t { HID_ENUMERROR_NoError = 0, HID_ENUMERROR_InvalidConfigDescriptor = 1, HID_ENUMERROR_NoCompatibleInterfaceFound = 2, HID_ENUMERROR_PipeConfigurationFailed = 3 }
 

Functions

uint8_t HID_Host_ConfigurePipes (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo, uint16_t ConfigDescriptorSize, void *DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3)
 Host interface configuration routine, to configure a given HID host interface instance using the Configuration Descriptor read from an attached USB device. This function automatically updates the given HID Host instance's state values and configures the pipes required to communicate with the interface if it is found within the device. This should be called once after the stack has enumerated the attached device, while the host state machine is in the Addressed state.
 
uint8_t HID_Host_ReceiveReport (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo, void *Buffer) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2)
 Receives a HID IN report from the attached HID device, when a report has been received on the HID IN Data pipe.
 
uint8_t HID_Host_ReceiveReportByID (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo, const uint8_t ReportID, void *Buffer) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3)
 Receives a HID IN report from the attached device, by the report ID.
 
uint8_t HID_Host_SendReportByID (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo, const uint8_t ReportID, const uint8_t ReportType, void *Buffer, const uint16_t ReportSize) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(4)
 Sends an OUT or FEATURE report to the currently attached HID device, using the device's OUT pipe if available, or the device's Control pipe if not.
 
bool HID_Host_IsReportReceived (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
 Determines if a HID IN report has been received from the attached device on the data IN pipe.
 
uint8_t HID_Host_SetBootProtocol (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
 Switches the attached HID device's reporting protocol over to the Boot Report protocol mode, on supported devices.
 
uint8_t HID_Host_SetIdlePeriod (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo, const uint16_t MS) 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.
 
uint8_t HID_Host_SetReportProtocol (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
 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.
 
static void HID_Host_USBTask (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
 General management task for a given Human Interface Class host class interface, required for the correct operation of the interface. This should be called frequently in the main program loop, before the master USB management task USB_USBTask().