|USB : USB Classes A Closer Look at HID Class|
This data is packed tightly into pre-defined Reports, which can be many packets long. A HID Report is not limited to a single packet.
A Report is a group of data items, that are packed together tightly as a series of bit fields, and sent between the PC host and the peripheral device. Each time the PC wants to send or receive new values for those data items, it sends or asks for a new Report. We will define the 3 types of Reports in a later slide in this tutorial.
Note that for simplicity, Reports use a prearranged, fixed format that you define as you design your device. The size, type, and order of data items in all the Reports are described in a Report Descriptor that gets sent to the PC during the enumeration process. (Writing a correct Report Descriptor is a tricky business, but you don't need to worry: HIDmaker FS will make a customized Report Descriptor for you, that precisely defines all the data items you define, and which tells the PC how to find it in a Report.)
Notice that we never said that the meaning of the data in a HID report had to be fixed, only that the format is fixed. You can easily build in plenty of flexibility into your data by keeping a simple fixed format, but by defining some extra variables that indicate what the data currently means. (We show you how!)
|1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17|