Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: microbit-dal microbit-dal microbit-ble-open microbit-dal ... more
Fork of BLE_API by
Revision 766:03f1a26f132f, committed 2015-08-07
- Comitter:
- rgrover1
- Date:
- Fri Aug 07 15:53:50 2015 +0100
- Parent:
- 765:4cd91998cd48
- Child:
- 767:d6a79c77d1c3
- Commit message:
- Synchronized with git rev 0f2ba674
Author: Joshua Slater
Conversion from advertisement duration units to ms moved from Gap to GapAdvertisingParams. getInterval converts to ms. Added conversion in GapScanningParams
Changed in this revision
--- a/ble/Gap.h Fri Aug 07 15:53:50 2015 +0100
+++ b/ble/Gap.h Fri Aug 07 15:53:50 2015 +0100
@@ -127,16 +127,10 @@
};
static const uint16_t UNIT_1_25_MS = 1250; /**< Number of microseconds in 1.25 milliseconds. */
- static const uint16_t UNIT_0_625_MS = 625; /**< Number of microseconds in 0.625 milliseconds. */
static uint16_t MSEC_TO_GAP_DURATION_UNITS(uint32_t durationInMillis) {
return (durationInMillis * 1000) / UNIT_1_25_MS;
}
- static uint16_t MSEC_TO_ADVERTISEMENT_DURATION_UNITS(uint32_t durationInMillis) {
- return (durationInMillis * 1000) / UNIT_0_625_MS;
- }
- static uint16_t ADVERTISEMENT_DURATION_UNITS_TO_MS(uint16_t gapUnits) {
- return (gapUnits * UNIT_0_625_MS) / 1000;
- }
+
typedef void (*TimeoutEventCallback_t)(TimeoutSource_t source);
typedef void (*ConnectionEventCallback_t)(const ConnectionCallbackParams_t *params);
--- a/ble/GapAdvertisingParams.h Fri Aug 07 15:53:50 2015 +0100
+++ b/ble/GapAdvertisingParams.h Fri Aug 07 15:53:50 2015 +0100
@@ -86,8 +86,16 @@
}
}
+ static const uint16_t UNIT_0_625_MS = 625; /**< Number of microseconds in 0.625 milliseconds. */
+ static uint16_t MSEC_TO_ADVERTISEMENT_DURATION_UNITS(uint32_t durationInMillis) {
+ return (durationInMillis * 1000) / UNIT_0_625_MS;
+ }
+ static uint16_t ADVERTISEMENT_DURATION_UNITS_TO_MS(uint16_t gapUnits) {
+ return (gapUnits * UNIT_0_625_MS) / 1000;
+ }
+
AdvertisingType_t getAdvertisingType(void) const {return _advType; }
- uint16_t getInterval(void) const {return _interval;}
+ uint16_t getInterval(void) const {return ADVERTISEMENT_DURATION_UNITS_TO_MS(_interval);}
uint16_t getTimeout(void) const {return _timeout; }
void setAdvertisingType(AdvertisingType_t newAdvType) {_advType = newAdvType; }
--- a/ble/GapScanningParams.h Fri Aug 07 15:53:50 2015 +0100
+++ b/ble/GapScanningParams.h Fri Aug 07 15:53:50 2015 +0100
@@ -32,6 +32,11 @@
uint16_t timeout = 0,
bool activeScanning = false);
+ static const uint16_t UNIT_0_625_MS = 625; /**< Number of microseconds in 0.625 milliseconds. */
+ static uint16_t MSEC_TO_SCAN_DURATION_UNITS(uint32_t durationInMillis) {
+ return (durationInMillis * 1000) / UNIT_0_625_MS;
+ }
+
ble_error_t setInterval(uint16_t newIntervalInMS);
ble_error_t setWindow(uint16_t newWindowInMS);
--- a/ble/services/URIBeaconConfigService.h Fri Aug 07 15:53:50 2015 +0100
+++ b/ble/services/URIBeaconConfigService.h Fri Aug 07 15:53:50 2015 +0100
@@ -178,7 +178,7 @@
ble.gap().setTxPower(params.advPowerLevels[params.txPowerMode]);
ble.gap().setDeviceName(reinterpret_cast<const uint8_t *>(&DEVICE_NAME));
ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED);
- ble.gap().setAdvertisingInterval(Gap::MSEC_TO_ADVERTISEMENT_DURATION_UNITS(ADVERTISING_INTERVAL_MSEC));
+ ble.gap().setAdvertisingInterval(GapAdvertisingParams::MSEC_TO_ADVERTISEMENT_DURATION_UNITS(ADVERTISING_INTERVAL_MSEC));
}
/* Helper function to switch to the non-connectible normal mode for URIBeacon. This gets called after a timeout. */
--- a/source/GapScanningParams.cpp Fri Aug 07 15:53:50 2015 +0100
+++ b/source/GapScanningParams.cpp Fri Aug 07 15:53:50 2015 +0100
@@ -18,8 +18,8 @@
#include "ble/GapScanningParams.h"
GapScanningParams::GapScanningParams(uint16_t interval, uint16_t window, uint16_t timeout, bool activeScanning) :
- _interval(Gap::MSEC_TO_ADVERTISEMENT_DURATION_UNITS(interval)),
- _window(Gap::MSEC_TO_ADVERTISEMENT_DURATION_UNITS(window)),
+ _interval(Gap::MSEC_TO_SCAN_DURATION_UNITS(interval)),
+ _window(Gap::MSEC_TO_SCAN_DURATION_UNITS(window)),
_timeout(timeout),
_activeScanning(activeScanning) {
/* stay within limits */
@@ -40,7 +40,7 @@
ble_error_t
GapScanningParams::setInterval(uint16_t newIntervalInMS)
{
- uint16_t newInterval = Gap::MSEC_TO_ADVERTISEMENT_DURATION_UNITS(newIntervalInMS);
+ uint16_t newInterval = Gap::MSEC_TO_SCAN_DURATION_UNITS(newIntervalInMS);
if ((newInterval >= SCAN_INTERVAL_MIN) && (newInterval < SCAN_INTERVAL_MAX)) {
_interval = newInterval;
return BLE_ERROR_NONE;
@@ -52,7 +52,7 @@
ble_error_t
GapScanningParams::setWindow(uint16_t newWindowInMS)
{
- uint16_t newWindow = Gap::MSEC_TO_ADVERTISEMENT_DURATION_UNITS(newWindowInMS);
+ uint16_t newWindow = Gap::MSEC_TO_SCAN_DURATION_UNITS(newWindowInMS);
if ((newWindow >= SCAN_WINDOW_MIN) && (newWindow < SCAN_WINDOW_MAX)) {
_window = newWindow;
return BLE_ERROR_NONE;
