Initial version of the setCCCD API for GattClient#172
Open
andresag01 wants to merge 9 commits intoARMmbed:developfrom
Open
Initial version of the setCCCD API for GattClient#172andresag01 wants to merge 9 commits intoARMmbed:developfrom
andresag01 wants to merge 9 commits intoARMmbed:developfrom
Conversation
added 4 commits
January 20, 2016 16:29
This is an initial version of an API that automates the process of setting the Client Characteristic Configuration Descriptor (CCCD) to enable/disable notifications. The new API is DiscoveredCharacteristic::setCCCD(). The new API internally triggers a characteristic descriptor discovery procedure to find the handle of the CCCD. If this succeeds, it attempts to execute a write procedure. On termination, a user configured callback is executed to report the final outcome of the process.
Author
|
The build will fail because there is a problem in the API when registering onShutdown callbacks. The signature of the function should be I have made a PR to solve this issue: #174 |
Author
|
It seems that the ble-nrf51822 implementation of the API does shutdown the Service Discovery but NOT the Characteristic Descriptor Discoverer. I have raised an issue about this, see ARMmbed/ble-nrf51822#110. In this case, the CCCDSetter objects will never receive the expected callbacks and the memory resources allocated will never be cleared. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an initial version of an API that automates the process of setting the
Client Characteristic Configuration Descriptor (CCCD) to enable/disable
notifications. The new API is DiscoveredCharacteristic::setCCCD().
The new API internally triggers a characteristic descriptor discovery procedure
to find the handle of the CCCD. If this succeeds, it attempts to execute a write
procedure. On termination, a user configured callback is executed to report the
final outcome of the process.
NOTE: This pull request is NOT READY FOR MERGE, it is an early version of the new API to start discussion around this issue. In my opinion, there are still a few problems that need to be tackled:
@pan- Please comment.