SWRA715 December   2021 CC2642R , CC2652R

 

  1.   Trademarks
  2. 1Introduction
  3. 2Bluetooth Low Energy Introduction
  4. 3HOGP Introduction
    1. 3.1 HID Roles
    2. 3.2 HID Host
    3. 3.3 HID Device
  5. 4Project Description and Walkthrough
    1. 4.1  General Project Discussion
    2. 4.2  Report Map Discussion
    3. 4.3  Hid_input struct/union Discussion
    4. 4.4  Mouse Operation
    5. 4.5  Keyboard Operation
    6. 4.6  Consumer Report Operation
    7. 4.7  Connection Interval
    8. 4.8  Notification System
    9. 4.9  PDU Size and Number of PDUs per Connection Event
    10. 4.10 Notification Payload Discussion
      1. 4.10.1 Mouse Notification
      2. 4.10.2 Keyboard Notification
      3. 4.10.3 Consumer Report Notification
    11. 4.11 Throughput Discussion
    12. 4.12 Overall Block Diagrams
  6. 5Demo Usage
    1. 5.1 Hardware/Software Used
    2. 5.2 Mouse Demo Usage
    3. 5.3 Keyboard and Consumer Report Demo Usage
  7. 6Summary

Consumer Report Operation

HID consumer reports are a special type of HID input which enable many additional HID features such as volume control, media playback control, and power controls. These inputs are commonly used in media keys on keyboards. HID Consumer reports are implemented in project. The functionality of the consumer report operation is nearly identical to that of the keyboard operation. The keyboard structure within the hid_input union is used for packaging the input. However, instead of using the keypress members to package the input, the consumer reports use the reserved member of the structure. The consumer report IDs that are supported by the project can be found in the hidemukbd.c file. The section of the report map that corresponds to the consumer report operation is shown in Figure 4-4.

GUID-20210610-CA0I-BFHJ-H7PD-KWXRJG1J9KDC-low.png Figure 4-4 The Consumer Report Section of the Report Map

Once the consumer report input has been packaged in the hid_input variable, then the input transmission may be sent to the HID Host by calling the HidEmuKbd_sendConsumerInput() function. The demo portion of this project, sends consumer reports alongside keyboard button presses when a button on the LaunchPad is pressed.