-
-
Notifications
You must be signed in to change notification settings - Fork 284
CurieBLE: characteristic.read() does not block #383
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
The previous release, v1.0.7, BLE implementation employed end-to-end command/reply handshaking for each operation (read, write, etc). Thus, the overall BLE performance was substantially impacted. The latest BLE library uses the request/query approach that enables non-blocking operation to improve performance and bandwidth utilization. To be backward compatible, may need to introduce a bool flag, as an input parameter, for blocking call selection. By default, an operation will be blocking. This request for change is logged as Jira 795. |
I'm confused, there was no |
The read is for central to read attributes. |
1. Add the parameter of read to support block/unblock call. 2. Changed file list libraries/CurieBLE/src/BLECharacteristic.cpp libraries/CurieBLE/src/BLECharacteristic.h libraries/CurieBLE/src/internal/BLECallbacks.cpp libraries/CurieBLE/src/internal/BLECharacteristicImp.cpp libraries/CurieBLE/src/internal/BLECharacteristicImp.h
1. Add the parameter of read to support block/unblock call. 2. Changed file list libraries/CurieBLE/src/BLECharacteristic.cpp libraries/CurieBLE/src/BLECharacteristic.h libraries/CurieBLE/src/internal/BLECallbacks.cpp libraries/CurieBLE/src/internal/BLECharacteristicImp.cpp libraries/CurieBLE/src/internal/BLECharacteristicImp.h
Resolution passed code review, system testing, and merged to main trunk. Will be in the next nightly JSON build. |
Testing with the 2.0.1 RC1 release, this is now fixed. Closing.
|
When trying the peripheral explorer example, I removed the
delay(1000);
statement inside theexploreCharacteristic
as it was not in the original sample sketch we provided. When this was done the characteristic values were not printed to the Serial Monitor:Before:
After removing
delay
:Once this is fixed, the
delay(1000);
statement should be removed from the sketch.The text was updated successfully, but these errors were encountered: