High level Bluetooth Low Energy API and radio abstraction layer
Fork of BLE_API by
Diff: ble/GapAdvertisingParams.h
- Revision:
- 1179:4ab722f8dca0
- Parent:
- 1174:551333f70bc9
- Child:
- 1183:1589830dbdb7
diff -r a4418fcb462f -r 4ab722f8dca0 ble/GapAdvertisingParams.h --- 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