Skip to content

Commit 30603de

Browse files
authored
Merge branch 'master' into cmm_devicename_docs
2 parents f3169fe + 2c6ab70 commit 30603de

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

docs/Usage_tips.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,16 @@ This characteristic is read <b>after</b> connecting to the device.
5555
* If no <i>'Advertising "Local name"'</i> is set, OSes, such as iOS, may display the devices name as 'Unnamed' until the device is connected to, at which time the <i>'GATT Device Name'</i> is read and used instead.
5656

5757
It is recommended that both <i>'Advertising "Local name"'</i> <b>and</> <i>'GATT Device Name'</i> be set appropriately, after considering the above described behavior.
58+
## Persisted bonds can be lost due to low MAX_CCCDS
59+
60+
The symptom: CONFIG_BT_NIMBLE_MAX_BONDS is set to N, but a smaller number of bonds is preserved, perhaps even a single bond. The limitation of persisted bonds can be observed via NimBLEDevice::getNumBonds(). The number may not reach CONFIG_BT_NIMBLE_MAX_BONDS.
61+
62+
Cause: For each bond, NimBLE persists each of the CCCD (client characteristic configuration descriptor) values that have been subscribed
63+
to by the client. If CONFIG_BT_NIMBLE_MAX_CCCDS is too low, the older CCCD values are overwritten by the newer ones. The loss of the older
64+
CCCDs values results in those bonds being lost.
65+
66+
Fix: Increase CONFIG_BT_NIMBLE_MAX_CCCDS. These take approximately 40 bytes in NVS, 2 bytes for the CCCD value and the NVS metadata overhead. The value of
67+
CONFIG_BT_NIMBLE_MAX_CCCDS should conservatively be no less than (CONFIG_BT_NIMBLE_MAX_BONDS * {maximum number of characteristics that can be subscribed to}).
5868

5969
## There will be bugs - please report them
6070

0 commit comments

Comments
 (0)