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: BLE_PowerBank_HeyFaradey
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
