HID Class Architecture

Figure - General Architecture Between a Host and HID Class shows the general architecture between the host and the device using the HID class offered by Micriµm.

Figure - General Architecture Between a Host and HID Class

General Architecture Between a Host and HID Class


The host operating system (OS) enumerates the device using the control endpoints. Once the enumeration phase is done, the host starts the transmission/reception of reports to/from the device using the interrupt endpoints.

On the device side, the HID class interacts with an OS layer specific to this class. The HID OS layer provides specific OS services needed for the internal functioning of the HID class. This layer does not assume a particular OS. By default, Micrium provides the HID OS layer for µC/OS-II and µC/OS-III. If you need to port the HID class to your own OS, refer to the Porting the HID Class to an RTOS page for more details about the HID OS layer.

During the HID class initialization phase, a report parser module is used to validate the report provided by the application. If any error is detected during the report validation, the initialization will fail.