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

Notification System

As mentioned previously, the HID inputs are sent through BLE notifications. When the HidEmuKbd_sendKeyboardInput(), HidEmuKbd_sendMouseInput(), and HidEmuKbd_sendConsumerInput() functions are called, they take the hid input, process the input, package the input in a notification format, and then queue up a notification with the payload. In the demo portion of this program, notifications are sent routinely. When the buttons on the LaunchPad are pressed, several notifications are sent. When the mouse demo is started, mouse input notifications will be queued up repeatedly. The mouse repeated notification enqueuing occurs in the HidEmuKbd_mouseTaskFxn() function. A small delay between enqueuing notifications is added to make the mouse movement smoother, but this can be removed, if desired. It is critical that notifications are sent reliably and with minimal latency in order for the HOGP performance to be maximized.