Software can read HMC5883L
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;