my version with changed conversion between duration units
Fork of BLE_API by
Diff: ble/GapAdvertisingParams.h
- Revision:
- 758:85c13328a10a
- Parent:
- 710:b2e1a2660ec2
--- a/ble/GapAdvertisingParams.h Tue Jul 21 13:25:40 2015 +0100 +++ b/ble/GapAdvertisingParams.h Wed Aug 05 14:20:04 2015 +0000 @@ -17,6 +17,7 @@ #ifndef __GAP_ADVERTISING_PARAMS_H__ #define __GAP_ADVERTISING_PARAMS_H__ + /**************************************************************************/ /*! \brief @@ -85,13 +86,25 @@ } } } + + 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; + } AdvertisingType_t getAdvertisingType(void) const {return _advType; } uint16_t getInterval(void) const {return _interval;} uint16_t getTimeout(void) const {return _timeout; } void setAdvertisingType(AdvertisingType_t newAdvType) {_advType = newAdvType; } - void setInterval(uint16_t newInterval) {_interval = newInterval;} + void setInterval(uint16_t newInterval) {_interval = ADVERTISEMENT_DURATION_UNITS_TO_MS(newInterval);} void setTimeout(uint16_t newTimeout) {_timeout = newTimeout; } private: