Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions doc/nrf-bm/api/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,15 @@ Battery Service
:inner:
:members:

.. _api_ble_bms:

Bond Management Service
=======================

.. doxygengroup:: ble_bms
:inner:
:members:

.. _api_ble_cgms:

Continuous Glucose Monitoring Service
Expand Down
74 changes: 74 additions & 0 deletions doc/nrf-bm/libraries/bluetooth/services/ble_bms.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
.. _lib_ble_service_bms:

Bond Management Service (BMS)
#############################

.. contents::
:local:
:depth: 2

Overview
********

This library implements the Bond Management Service with the corresponding set of characteristics defined in the `Bond Management Service Specification`_.

You can configure the service to support your desired feature set of bond management operations.
All the BMS features in the "LE transport only" mode are supported:

* Delete the bond of the requesting device.
* Delete all bonds on the Server.
* Delete all bonds on the Server except the one of the requesting device.

You can enable each feature when initializing the library.

Authorization
=============

You can require authorization to access each BMS feature.

When required, the Client's request to execute a bond management operation must contain the authorization code.
The Server compares the code with its local version and accepts the request only if the codes match.

If you use at least one BMS feature that requires authorization, you need to provide a callback with comparison logic for the authorization codes.
You can set this callback when initializing the library.

Deleting the bonds
==================

The Server deletes bonding information on Client's request right away when there is no active Bluetooth® Low Energy connection associated with a bond.
Otherwise, the Server removes the bond for a given peer when it disconnects.

Configuration
*************

Set the :kconfig:option:`CONFIG_BLE_BMS` Kconfig option to enable the service.

Initialization
==============

The service instance is declared using the :c:macro:`BLE_BMS_DEF` macro, specifying the name of the instance.
The service is initialized by calling the :c:func:`ble_bms_init` function.
See the :c:struct:`ble_bms_config` struct for configuration details, in addition to the BAS specification.

Usage
*****

Events from the service are forwarded through the event handler specified during initialization.
For a full list of events see the :c:enum:`ble_bms_evt_type` enum.


Dependencies
************

This library uses the following |BMshort| libraries:

* SoftDevice - :kconfig:option:`CONFIG_SOFTDEVICE`
* SoftDevice handler - :kconfig:option:`CONFIG_NRF_SDH`

API documentation
*****************

| Header file: :file:`include/bluetooth/services/ble_bms.h`
| Source files: :file:`subsys/bluetooth/services/ble_bms/`

:ref:`Battery Service API reference <api_ble_bms>`
Loading
Loading