-
-
Notifications
You must be signed in to change notification settings - Fork 284
Jira #758, Add scan response support for central role, git 370 #412
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
Conversation
@bigdinotech @eriknyquist , please review the code change. @noelpaz @russmcinnis , this feature has gone through unit testing. Please perform verification testing. |
aeda2c1
to
75dc565
Compare
@russmcinnis @noelpaz , please check out the additional changes to the PR - the adv info of the Scan Respond data are returned to the user sketch. |
a1bb62b
to
2e749d5
Compare
PR merging error corrected. Regenerated the JSON here, http://mkfs.ndg.intel.com/precommit/json/package_0.0.197_index.json |
@russmcinnis @noelpaz , please re-test this PR. Some changes were not merged into the last PR. Thanks. |
@russmcinnis , previous emerge had an error and is corrected. Please retry your testing. Thanks. |
c26a529
to
4b4240e
Compare
Feature added: 1. GIT#370 Add scan response support for central role Arduino request that the BLE library, in Peripheral mode, to support Scan Response Data request from a Central. 2. Arduino expects the reply similar to an Apple device. They have provide a policy for the construction of the Scan Response data message. 3. Jira 836 BLE Central scan does not enumerate peripherals that are non connectable. In Central mode, the BLE library should enumerate Peripheral that are non-connectable (eg beacon). Code mods: BLEDevice.cpp: 1. Add the call to get Manufacturer Data info from a Peripheral. Non-connectable device may only broadcast this info. BLEDeviceManager.cpp: 1. Added setAdvertiseData() for the creation of the Scan Response Data message. 2. In advDataInit(), follows the policy (defined by Arduino) to add Adv data to the Scan Response Data message using setAdvertiseData(). 3. Delete the filter about non-connectable advertisement. 4. Added APIs, hasManufacturerData(), setManufacturerData(), hasManufacturerData(), to gain access to adv info of non-connectable Peripherals. BLEDeviceManager.h: BLEDevice.h: Prototyping.
This code modification is to enable the processing of the Scan Response data when the BLE stack is operating in the Central mode.