2024-05-12 10:21 PM
Wondering what is the cost of using
SHCI_C2_BLE_INIT_OPTIONS_REDUC_GATTDB_NVM
over
SHCI_C2_BLE_INIT_OPTIONS_FULL_GATTDB_NVM
?
The first one can gets me 33% increase in bonding list size but I could not find what does it prevent me from using?
Solved! Go to Solution.
2024-05-14 08:29 AM
Hello @DS.4
The REDUC_GATTDB_NVM can be used in all the cases.
When using the FULL_GATTDB_NVM and SVC_CHANGE_DESC, the GATT database record in NVM is composed as describe in the wiki page by:
When using the REDUC_GATTDB_NVM and SVC_CHANGE_DESC, the GATT database record in NVM is composed by:
When a connection is established with a previously bonded device, the GATT database is compared with the GATT database saved in NVM. If there is a difference between the databases, a service change indication will be sent to the peer device. The contents of the indication will depend of FULL_GATTDB_NVM and REDUC_GATTDB_NVM flags:
- When using FULL_GATTDB_NVM, you know where the change is located, the service change indication will contain the specific handle of the service/characteristic where there is the modification.
- When using REDUC_GATTDB_NVM, since the data stored in NVM is a hash, it is not possible to know where is located the change, the service change indication will indicate a change of all the database.
More details are available on this WiKi.
Best Regards.
STTwo-32
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-05-14 08:29 AM
Hello @DS.4
The REDUC_GATTDB_NVM can be used in all the cases.
When using the FULL_GATTDB_NVM and SVC_CHANGE_DESC, the GATT database record in NVM is composed as describe in the wiki page by:
When using the REDUC_GATTDB_NVM and SVC_CHANGE_DESC, the GATT database record in NVM is composed by:
When a connection is established with a previously bonded device, the GATT database is compared with the GATT database saved in NVM. If there is a difference between the databases, a service change indication will be sent to the peer device. The contents of the indication will depend of FULL_GATTDB_NVM and REDUC_GATTDB_NVM flags:
- When using FULL_GATTDB_NVM, you know where the change is located, the service change indication will contain the specific handle of the service/characteristic where there is the modification.
- When using REDUC_GATTDB_NVM, since the data stored in NVM is a hash, it is not possible to know where is located the change, the service change indication will indicate a change of all the database.
More details are available on this WiKi.
Best Regards.
STTwo-32
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-05-15 03:27 AM
"When using FULL_GATTDB_NVM, you know where the change is located, the service change indication will contain the specific handle of the service/characteristic where there is the modification.
- When using REDUC_GATTDB_NVM, since the data stored in NVM is a hash, it is not possible to know where is located the change, the service change indication will indicate a change of all the database."
Perfect thanks!