> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Nanopb protocol buffer in QSH

### Nanopb protocol buffer in QSH

The QSH uses nanopb protocol buffer for the following scenarios:

* To exchange request and event messages between sensors using the nanopb protocol format:

  * A sensor or sensor instance must encode the payload (if present)
    for all requests it sends to its dependents.
  * A sensor or sensor instance must decode the payload (if present)
    for all requests it receives.
  * A sensor or sensor instance must encode the payload (if present)
    for all events it publishes.
  * A sensor or sensor instance must decode the payload (if present) for all events it receives from its dependents.

  .. note:: Certain requests or events don't have a message body. In this case, decoding or encoding the payload isn't expected, and the sensor processes these messages based on their message ID.

* To represent the attribute data:

  * All attribute values are in the nanopb-encoded format.

* To transmit the diagnostic log packet payloads:

  * All payloads in the diagnostic log packets are in the
    nanopb-encoded format.
