add "LE Device Address" 0x1B to advertising data types
Fork of BLE_API by
Revision 841:468a5863cacb, committed 2015-11-02
- Comitter:
- rgrover1
- Date:
- Mon Nov 02 09:09:04 2015 +0000
- Parent:
- 840:0c77be899cc8
- Child:
- 842:4f7f7a4b0cb2
- Commit message:
- Synchronized with git rev 18dcc913
Author: Andres Amaya Garcia
Introduced fix for defect IOTSFW-1058
Introduced a fix for defect IOTSFW-1058 that caused the
BLE_EddystoneBeaconConfigService example in ARMmbed/ble-examples repo to fail.
Refer to JIRA defect for more details.
Changed in this revision
--- a/ble/services/EddystoneConfigService.h Mon Nov 02 09:09:04 2015 +0000 +++ b/ble/services/EddystoneConfigService.h Mon Nov 02 09:09:04 2015 +0000 @@ -306,7 +306,7 @@ eddyServ.setTLMFrameData(params.tlmVersion, params.tlmBeaconPeriod); } if (params.uriEnabled) { - eddyServ.setURLFrameData(params.advPowerLevels[params.txPowerMode], (const char *) params.uriData, params.uriBeaconPeriod); + eddyServ.setURLFrameEncodedData(params.advPowerLevels[params.txPowerMode], (const char *) params.uriData, params.uriDataLength, params.uriBeaconPeriod); } if (params.uidEnabled) { eddyServ.setUIDFrameData(params.advPowerLevels[params.txPowerMode],
--- a/ble/services/EddystoneService.h Mon Nov 02 09:09:04 2015 +0000 +++ b/ble/services/EddystoneService.h Mon Nov 02 09:09:04 2015 +0000 @@ -185,6 +185,29 @@ return false; } + /** + * Set Eddystone URL Frame information. + * @param[in] power TX Power in dB measured at 0 meters from the device. + * @param[in] url Encoded URL + * @param[in] urlAdvPeriodIn How long to advertise the URL frame (measured in # of adv periods) + * @return false on success, true on failure. + */ + bool setURLFrameEncodedData(int8_t power, const char *encodedUrlIn, uint8_t encodedUriInLength, uint32_t urlAdvPeriodIn) { + if (0 == urlAdvPeriodIn) { + urlIsSet = false; + return false; + } + defaultUrlPower = power; + memcpy(defaultUriData, encodedUrlIn, URI_DATA_MAX); + defaultUriDataLength = encodedUriInLength; + if (defaultUriDataLength > URI_DATA_MAX) { + return true; // error, URL is too big + } + urlAdvPeriod = urlAdvPeriodIn; + urlIsSet = true; + return false; + } + /* * Construct URL frame from private variables * @param[in/out] Data pointer to array to store constructed frame in
--- a/ble/services/LinkLossService.h Mon Nov 02 09:09:04 2015 +0000 +++ b/ble/services/LinkLossService.h Mon Nov 02 09:09:04 2015 +0000 @@ -55,7 +55,7 @@ ble.addService(linkLossService); serviceAdded = true; - ble.addToDisconnectionCallChain(this, &LinkLossService::onDisconnectionFilter); + ble.onDisconnection(this, &LinkLossService::onDisconnectionFilter); ble.onDataWritten(this, &LinkLossService::onDataWritten); } @@ -86,7 +86,7 @@ } } - void onDisconnectionFilter(void) { + void onDisconnectionFilter(const Gap::DisconnectionCallbackParams_t *params) { if (alertLevel != NO_ALERT) { callback(alertLevel); }
--- a/module.json Mon Nov 02 09:09:04 2015 +0000 +++ b/module.json Mon Nov 02 09:09:04 2015 +0000 @@ -1,12 +1,10 @@ { "name": "ble", - "version": "1.0.0", + "version": "0.4.8", "description": "The BLE module offers a high level abstraction for using Bluetooth Low Energy on multiple platforms.", "keywords": [ "Bluetooth", - "BLE", - "mbed", - "mbed-official" + "BLE" ], "author": "Rohit Grover", "repository": { @@ -22,11 +20,8 @@ ], "dependencies": {}, "targetDependencies": { - "st-ble-shield": { - "x-nucleo-idb0xa1": "ARMmbed/ble-x-nucleo-idb0xa1" - }, "nrf51822": { - "ble-nrf51822": "^1.0.0" + "ble-nrf51822": "~0.4.7" }, "mbed-classic": { "mbed-classic": "~0.0.1"