Device description module

The device description module defines custom GATT Service, which contains:

  • Information about whether the peripheral supports the Low Latency Packet Mode (LLPM)

  • Hardware ID (HW ID) of the peripheral

To support the LLPM, the peripheral must use the SoftDevice Link Layer. This means that you must enable both the CONFIG_BT_LL_SOFTDEVICE and the CONFIG_CAF_BLE_USE_LLPM Kconfig options.

The Service is mandatory for all nRF Desktop peripherals that connect to the nRF Desktop centrals.

Module events

The dev_descr module does not submit any event nor subscribe for any event.

Configuration

The module uses Zephyr’s Hardware Information to obtain the hardware ID. Enable the required driver using CONFIG_HWINFO.

The module is enabled by default for all nRF Desktop peripheral devices.

The dev_descr.h file contains the UUIDs used by the custom GATT Service. The file is located in the configuration/common directory. The UUIDs must be the same for all devices to ensure that the central is able to read the provided information.

Implementation details

The module uses BT_GATT_SERVICE_DEFINE to define the custom GATT Service. More detailed information regarding GATT is available in Zephyr’s Generic Attribute Profile (GATT) documentation.