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.
Fork of BLE_API by
Diff: ble/GapAdvertisingParams.h
- Revision:
- 1179:4ab722f8dca0
- Parent:
- 1174:551333f70bc9
- Child:
- 1183:1589830dbdb7
--- a/ble/GapAdvertisingParams.h Wed Apr 06 19:15:28 2016 +0100 +++ b/ble/GapAdvertisingParams.h Wed Apr 06 19:15:30 2016 +0100 @@ -25,55 +25,24 @@ */ class GapAdvertisingParams { public: - /** - * Minimum Advertising interval for connectable undirected and connectable - * directed events in 625us units - 20ms. - */ static const unsigned GAP_ADV_PARAMS_INTERVAL_MIN = 0x0020; - /** - * Minimum Advertising interval for scannable and non-connectable - * undirected events in 625us units - 100ms. - */ static const unsigned GAP_ADV_PARAMS_INTERVAL_MIN_NONCON = 0x00A0; - /** - * Maximum Advertising interval in 625us units - 10.24s. - */ static const unsigned GAP_ADV_PARAMS_INTERVAL_MAX = 0x4000; - /** - * Maximum advertising timeout seconds. - */ static const unsigned GAP_ADV_PARAMS_TIMEOUT_MAX = 0x3FFF; - /** + /*! * Encapsulates the peripheral advertising modes, which determine how * the device appears to other central devices in hearing range. */ enum AdvertisingType_t { - ADV_CONNECTABLE_UNDIRECTED, /**< Vol 3, Part C, Section 9.3.4 and Vol 6, Part B, Section 2.3.1.1. */ - ADV_CONNECTABLE_DIRECTED, /**< Vol 3, Part C, Section 9.3.3 and Vol 6, Part B, Section 2.3.1.2. */ - ADV_SCANNABLE_UNDIRECTED, /**< Include support for Scan Response payloads, see Vol 6, Part B, Section 2.3.1.4. */ - ADV_NON_CONNECTABLE_UNDIRECTED /**< Vol 3, Part C, Section 9.3.2 and Vol 6, Part B, Section 2.3.1.3. */ + ADV_CONNECTABLE_UNDIRECTED, /**< Vol 3, Part C, Section 9.3.4 and Vol 6, Part B, Section 2.3.1.1 */ + ADV_CONNECTABLE_DIRECTED, /**< Vol 3, Part C, Section 9.3.3 and Vol 6, Part B, Section 2.3.1.2 */ + ADV_SCANNABLE_UNDIRECTED, /**< Include support for Scan Response payloads, see Vol 6, Part B, Section 2.3.1.4 */ + ADV_NON_CONNECTABLE_UNDIRECTED /**< Vol 3, Part C, Section 9.3.2 and Vol 6, Part B, Section 2.3.1.3 */ }; - /** - * Type alias for GapAdvertisingParams::AdvertisingType_t. - * - * @deprecated This type alias will be dropped in future releases. - */ - typedef enum AdvertisingType_t AdvertisingType; + typedef enum AdvertisingType_t AdvertisingType; /* Deprecated type alias. */ public: - /** - * Construct an instance of GapAdvertisingParams. - * - * @param[in] advType - * Type of advertising. Default is - * GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED. - * @param[in] interval - * Advertising interval in units of 0.625ms. Default is - * GapAdvertisingParams::GAP_ADV_PARAMS_INTERVAL_MIN_NONCON. - * @param[in] timeout - * Advertising timeout. Default is 0. - */ GapAdvertisingParams(AdvertisingType_t advType = ADV_CONNECTABLE_UNDIRECTED, uint16_t interval = GAP_ADV_PARAMS_INTERVAL_MIN_NONCON, uint16_t timeout = 0) : _advType(advType), _interval(interval), _timeout(timeout) { @@ -109,99 +78,43 @@ } static const uint16_t UNIT_0_625_MS = 625; /**< Number of microseconds in 0.625 milliseconds. */ - /** - * Convert milliseconds to units of 0.625ms. - * - * @param[in] durationInMillis - * The number of milliseconds to convert. - * - * @return The value of @p durationInMillis in units of 0.625ms. - */ static uint16_t MSEC_TO_ADVERTISEMENT_DURATION_UNITS(uint32_t durationInMillis) { return (durationInMillis * 1000) / UNIT_0_625_MS; } - /** - * Convert units of 0.625ms to milliseconds. - * - * @param[in] gapUnits - * The number of units of 0.625ms to convert. - * - * @return The value of @p gapUnits in milliseconds. - */ static uint16_t ADVERTISEMENT_DURATION_UNITS_TO_MS(uint16_t gapUnits) { return (gapUnits * UNIT_0_625_MS) / 1000; } - /** - * Get the advertising type. - * - * @return The advertising type. - */ AdvertisingType_t getAdvertisingType(void) const { return _advType; } /** - * Get the advertising interval in milliseconds. - * - * @return The advertisement interval (in milliseconds). + * @return the advertisement interval (in milliseconds). */ uint16_t getInterval(void) const { return ADVERTISEMENT_DURATION_UNITS_TO_MS(_interval); } /** - * Get the advertisement interval in units of 0.625ms. - * - * @return The advertisement interval in advertisement duration units (0.625ms units). + * @return the advertisement interval in advertisement duration units (0.625ms units). */ uint16_t getIntervalInADVUnits(void) const { return _interval; } - /** - * Get The advertising timeout. - * - * @return The advertising timeout (in seconds). - */ uint16_t getTimeout(void) const { return _timeout; } - /** - * Set the advertising type. - * - * @param[in] newAdvType - * The new advertising type. - */ - void setAdvertisingType(AdvertisingType_t newAdvType) { - _advType = newAdvType; - } - - /** - * Set the advertising interval in milliseconds. - * - * @param[in] newInterval - * The new advertising interval in milliseconds. - */ - void setInterval(uint16_t newInterval) { - _interval = MSEC_TO_ADVERTISEMENT_DURATION_UNITS(newInterval); - } - - /** - * Set the advertising timeout. - * - * @param[in] newTimeout - * The new advertising timeout (in seconds). - */ - void setTimeout(uint16_t newTimeout) { - _timeout = newTimeout; - } + void setAdvertisingType(AdvertisingType_t newAdvType) {_advType = newAdvType; } + void setInterval(uint16_t newInterval) {_interval = MSEC_TO_ADVERTISEMENT_DURATION_UNITS(newInterval);} + void setTimeout(uint16_t newTimeout) {_timeout = newTimeout; } private: - AdvertisingType_t _advType; /**< The advertising type. */ - uint16_t _interval; /**< The advertising interval in ADV duration units (i.e. 0.625ms). */ - uint16_t _timeout; /**< The advertising timeout in seconds. */ + AdvertisingType_t _advType; + uint16_t _interval; /* In ADV duration units (i.e. 0.625ms). */ + uint16_t _timeout; /* In seconds. */ }; -#endif /* ifndef __GAP_ADVERTISING_PARAMS_H__ */ \ No newline at end of file +#endif // ifndef __GAP_ADVERTISING_PARAMS_H__ \ No newline at end of file