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

Hid_input struct/union Discussion

To facilitate development, an HID input union was created. The union, named hid_input, holds a keyboard structure and mouse structure. Through the use of the hid_input, an hid input can be easily packaged for transmission. The union definition is shown in Figure 4-2.

GUID-20210610-CA0I-TLGH-CRB0-7XQSNHH9NM0J-low.png Figure 4-2 The hid_input Union Definition

As shown in Figure 4-2, a variable of type hid_input contains all of the information necessary for the HID Device to communicate with the HID host the necessary input information. For the keyboard section of the union, the structure is able to send several key presses at a time, if desired. The keyboard section is also used to transmit consumer reports. The mouse section of the union sends relative position data, mouse button presses, and mouse wheel data. This structure can be easily modified to implement a different HID use-case.