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: microbit-dal microbit-dal microbit-ble-open microbit-dal ... more
Fork of BLE_API by
Diff: services/URIBeaconConfigService.h
- Revision:
- 242:0e9201b67e2f
- Parent:
- 240:20df772f2374
- Child:
- 250:6862d374e613
--- a/services/URIBeaconConfigService.h Tue Dec 09 07:41:43 2014 +0000
+++ b/services/URIBeaconConfigService.h Tue Dec 09 08:18:11 2014 +0000
@@ -34,17 +34,15 @@
/**
* @class URIBeaconConfigService
-* @breif UriBeacon Configuration Service. Can be used to set URL, adjust power levels, and set flags.
+* @brief UriBeacon Configuration Service. Can be used to set URL, adjust power levels, and set flags.
*/
class URIBeaconConfigService {
public:
-
/**
- * @enum TXPowerModes_t
- * @breif Transmission Power Modes for UriBeacon
- */
+ * @enum TXPowerModes_t
+ * @brief Transmission Power Modes for UriBeacon
+ */
enum TXPowerModes_t {
-
TX_POWER_MODE_LOWEST = 0, /*!< Lowest TX power mode */
TX_POWER_MODE_LOW = 1, /*!< Low TX power mode */
TX_POWER_MODE_MEDIUM = 2, /*!< Medium TX power mode */
@@ -125,7 +123,6 @@
* transactions.
*/
public:
-
/**
* Update flags of the URIBeacon dynamically.
*
@@ -149,8 +146,8 @@
}
/**
- * @breif Update the txPowerLevels table.
- *
+ * @brief Update the txPowerLevels table.
+ *
* @param[in] powerLevelsIn
* Array of power levels
*/
@@ -161,7 +158,7 @@
}
/**
- * @breif Set the effective power mode from one of the values in the powerLevels tables.
+ * @brief Set the effective power mode from one of the values in the powerLevels tables.
*
* @param[in] mode
* Set the TX Power Mode.
@@ -180,7 +177,7 @@
* @param beaconPeriodIn
* Beacon advertising period in milliseconds
*/
- void setBeaconPeriod(uint16_t beaconPeriodIn) {
+ void setBeaconPeriod(uint16_t beaconPeriodIn) {
beaconPeriod = beaconPeriodIn;
configureGAP();
updateBeaconPeriodCharacteristic();
@@ -212,13 +209,13 @@
}
/*
- * Encode the URI Prefix to a single byte if possible.
- */
+ * Encode the URI Prefix to a single byte if possible.
+ */
size_t encodeURISchemePrefix(const char *&urldata, size_t &sizeofURLData) {
if (!sizeofURLData) {
return 0;
}
-
+
/* These are the URI Prefixes that can be abbreviated.*/
const char *prefixes[] = {
"http://www.",
@@ -244,12 +241,11 @@
return encodedBytes;
}
-
+
/*
- * Encode the URI Suffix to a single byte if possible.
- */
+ * Encode the URI Suffix to a single byte if possible.
+ */
size_t encodeURI(const char *urldata, size_t sizeofURLData) {
-
/* These are the URI suffixes that can be abbreviated. */
const char *suffixes[] = {
".com/",
@@ -303,8 +299,11 @@
}
/*
- *
- */
+ * This callback is invoked when a GATT client attempts to modify any of the
+ * characteristics of this service. Attempts to do so must be rolled back if
+ * the config service is locked; else they are also applied to the internal
+ * state of this service object.
+ */
void onDataWritten(const GattCharacteristicWriteCBParams *params) {
uint16_t handle = params->charHandle;
if (handle == uriDataChar.getValueHandle()) {
@@ -361,8 +360,8 @@
}
/*
- * Reset the default values.
- */
+ * Reset the default values.
+ */
void resetDefaults(void) {
lockedState = false;
uriDataLength = 0;
@@ -376,8 +375,9 @@
}
/*
- *
- */
+ * Internal helper function used to update the GATT database following any
+ * change to the internal state of the service object.
+ */
void updateGATT(void) {
updateLockedStateCharacteristic();
updateURIDataCharacteristic();
@@ -408,16 +408,12 @@
}
void updateTxPowerLevelsCharacteristic(void) {
- ble.updateCharacteristicValue(txPowerLevelsChar.getValueHandle(), reinterpret_cast<uint8_t *>(powerLevels), NUM_POWER_MODES * sizeof(int8_t));
+ ble.updateCharacteristicValue(txPowerLevelsChar.getValueHandle(), reinterpret_cast<uint8_t *>(powerLevels), NUM_POWER_MODES * sizeof(int8_t));
}
+private:
/**
- * The following is a private debug function.
- */
-private:
-
- /**
- * For debugging only. Print Hex representation of ServiceDataPayload to terminal.
+ * For debugging only. Print Hex representation of ServiceDataPayload to the console.
*/
void dumpEncodedSeviceData() const {
printf("encoded: '");
