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
Revision 728:997ba5e7b3b6, committed 2015-07-06
- Comitter:
- rgrover1
- Date:
- Mon Jul 06 10:10:34 2015 +0100
- Parent:
- 727:1a1f5c5aedfe
- Child:
- 729:951b577529c9
- Commit message:
- Synchronized with git rev 737800d8
Author: Rohit Grover
fix a typo in a comment header
Changed in this revision
--- a/ble/BLE.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/BLE.h Mon Jul 06 10:10:34 2015 +0100
@@ -916,7 +916,7 @@
*
* @note This API is a version of above with an additional connection handle
* parameter to allow fetches for connection-specific multivalued
- * attribtues (such as the CCCDs).
+ * attributes (such as the CCCDs).
*
* @note: This API is now *deprecated* and will be dropped in the future.
* You should use the parallel API from GattServer directly. A former call
@@ -960,7 +960,7 @@
/**
* Update the value of a characteristic on the local GattServer. A version
* of the same as above with connection handle parameter to allow updates
- * for connection-specific multivalued attribtues (such as the CCCDs).
+ * for connection-specific multivalued attributes (such as the CCCDs).
*
* @param[in] connectionHandle
* Connection Handle.
--- a/ble/DiscoveredCharacteristic.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/DiscoveredCharacteristic.h Mon Jul 06 10:10:34 2015 +0100
@@ -135,14 +135,6 @@
*/
ble_error_t write(uint16_t length, const uint8_t *value) const;
- static void setupOnDataRead(GattClient::ReadCallback_t callback) {
- onDataReadCallback = callback;
- }
-
- static void setupOnDataWrite(GattClient::WriteCallback_t callback) {
- onDataWriteCallback = callback;
- }
-
void setupLongUUID(UUID::LongUUIDBytes_t longUUID) {
uuid.setupLong(longUUID);
}
@@ -182,10 +174,6 @@
GattAttribute::Handle_t valueHandle;
Gap::Handle_t connHandle;
-
-public:
- static GattClient::ReadCallback_t onDataReadCallback;
- static GattClient::WriteCallback_t onDataWriteCallback;
};
#endif /*__DISCOVERED_CHARACTERISTIC_H__*/
\ No newline at end of file
--- a/ble/Gap.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/Gap.h Mon Jul 06 10:10:34 2015 +0100
@@ -154,7 +154,7 @@
* @return BLE_ERROR_NONE on success.
*/
virtual ble_error_t setAddress(AddressType_t type, const Address_t address) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -163,7 +163,7 @@
* @return BLE_ERROR_NONE on success.
*/
virtual ble_error_t getAddress(AddressType_t *typeP, Address_t address) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -188,7 +188,7 @@
}
virtual ble_error_t stopAdvertising(void) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -197,7 +197,7 @@
* @retval BLE_ERROR_NONE if successfully stopped scanning procedure.
*/
virtual ble_error_t stopScan() {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -219,7 +219,7 @@
Gap::AddressType_t peerAddrType,
const ConnectionParams_t *connectionParams,
const GapScanningParams *scanParams) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -231,7 +231,7 @@
* The reason for disconnection to be sent back to the peer.
*/
virtual ble_error_t disconnect(Handle_t connectionHandle, DisconnectionReason_t reason) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -248,7 +248,7 @@
* altertive which takes a connection handle. It will be dropped in the future.
*/
virtual ble_error_t disconnect(DisconnectionReason_t reason) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -264,7 +264,7 @@
* the given structure pointed to by params.
*/
virtual ble_error_t getPreferredConnectionParams(ConnectionParams_t *params) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -276,7 +276,7 @@
* The structure containing the desired parameters.
*/
virtual ble_error_t setPreferredConnectionParams(const ConnectionParams_t *params) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -290,7 +290,7 @@
* the parameters in the PPCP characteristic of the GAP service will be used instead.
*/
virtual ble_error_t updateConnectionParams(Handle_t handle, const ConnectionParams_t *params) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -299,7 +299,7 @@
* The new value for the device-name. This is a UTF-8 encoded, <b>NULL-terminated</b> string.
*/
virtual ble_error_t setDeviceName(const uint8_t *deviceName) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -321,7 +321,7 @@
* use this information to retry with a suitable buffer size.
*/
virtual ble_error_t getDeviceName(uint8_t *deviceName, unsigned *lengthP) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -330,7 +330,7 @@
* The new value for the device-appearance.
*/
virtual ble_error_t setAppearance(GapAdvertisingData::Appearance appearance) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -339,7 +339,7 @@
* The new value for the device-appearance.
*/
virtual ble_error_t getAppearance(GapAdvertisingData::Appearance *appearanceP) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -347,7 +347,7 @@
* @param[in] txPower Radio transmit power in dBm.
*/
virtual ble_error_t setTxPower(int8_t txPower) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -365,7 +365,7 @@
protected:
/* Override the following in the underlying adaptation layer to provide the functionality of scanning. */
virtual ble_error_t startRadioScan(const GapScanningParams &scanningParams) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/*
--- a/ble/GattClient.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/GattClient.h Mon Jul 06 10:10:34 2015 +0100
@@ -28,8 +28,8 @@
typedef void (*ReadCallback_t)(const GattReadCallbackParams *params);
enum WriteOp_t {
- GATT_OP_WRITE_REQ = 0x01, /**< Write Request. */
- GATT_OP_WRITE_CMD = 0x02, /**< Write Command. */
+ GATT_OP_WRITE_REQ = 0x01, /**< Write Request. */
+ GATT_OP_WRITE_CMD = 0x02, /**< Write Command. */
};
typedef void (*WriteCallback_t)(const GattWriteCallbackParams *params);
@@ -39,12 +39,11 @@
*/
public:
/**
- * Launch service discovery. Once launched, service discovery will remain
- * active with callbacks being issued back into the application for matching
- * services/characteristics. isServiceDiscoveryActive() can be used to
- * determine status; and a termination callback (if setup) will be invoked
- * at the end. Service discovery can be terminated prematurely if needed
- * using terminateServiceDiscovery().
+ * Launch service discovery. Once launched, application callbacks will be
+ * invoked for matching services/characteristics. isServiceDiscoveryActive()
+ * can be used to determine status; and a termination callback (if setup)
+ * will be invoked at the end. Service discovery can be terminated prematurely
+ * if needed using terminateServiceDiscovery().
*
* @param connectionHandle
* Handle for the connection with the peer.
@@ -98,7 +97,7 @@
ServiceDiscovery::CharacteristicCallback_t cc = NULL,
const UUID &matchingServiceUUID = UUID::ShortUUIDBytes_t(BLE_UUID_UNKNOWN),
const UUID &matchingCharacteristicUUIDIn = UUID::ShortUUIDBytes_t(BLE_UUID_UNKNOWN)) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -130,7 +129,7 @@
virtual ble_error_t discoverServices(Gap::Handle_t connectionHandle,
ServiceDiscovery::ServiceCallback_t callback,
const UUID &matchingServiceUUID = UUID::ShortUUIDBytes_t(BLE_UUID_UNKNOWN)) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -161,7 +160,7 @@
ServiceDiscovery::ServiceCallback_t callback,
GattAttribute::Handle_t startHandle,
GattAttribute::Handle_t endHandle) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -181,7 +180,7 @@
/* Initiate a Gatt Client read procedure by attribute-handle. */
virtual ble_error_t read(Gap::Handle_t connHandle, GattAttribute::Handle_t attributeHandle, uint16_t offset) const {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -205,7 +204,24 @@
GattAttribute::Handle_t attributeHandle,
size_t length,
const uint8_t *value) const {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
+ }
+
+ /* Event callback handlers. */
+public:
+ /**
+ * Setup a callback for read response events.
+ */
+ void onDataRead(ReadCallback_t callback) {
+ onDataReadCallback = callback;
+ }
+
+ /**
+ * Setup a callback for write response events.
+ * @Note: write commands (issued using writeWoResponse) don't generate a response.
+ */
+ void onDataWrite(WriteCallback_t callback) {
+ onDataWriteCallback = callback;
}
/**
@@ -220,6 +236,24 @@
/* empty */
}
+ /* Entry points for the underlying stack to report events back to the user. */
+public:
+ void processReadResponse(const GattReadCallbackParams *params) {
+ if (onDataReadCallback) {
+ onDataReadCallback(params);
+ }
+ }
+
+ void processWriteResponse(const GattWriteCallbackParams *params) {
+ if (onDataWriteCallback) {
+ onDataWriteCallback(params);
+ }
+ }
+
+protected:
+ ReadCallback_t onDataReadCallback;
+ WriteCallback_t onDataWriteCallback;
+
private:
/* disallow copy and assignment */
GattClient(const GattClient &);
--- a/ble/GattServer.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/GattServer.h Mon Jul 06 10:10:34 2015 +0100
@@ -53,7 +53,7 @@
* characteristics contained within.
*/
virtual ble_error_t addService(GattService &) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -72,7 +72,7 @@
* @return BLE_ERROR_NONE if a value was read successfully into the buffer.
*/
virtual ble_error_t read(GattAttribute::Handle_t attributeHandle, uint8_t buffer[], uint16_t *lengthP) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -94,10 +94,10 @@
*
* @note This API is a version of above with an additional connection handle
* parameter to allow fetches for connection-specific multivalued
- * attribtues (such as the CCCDs).
+ * attributes (such as the CCCDs).
*/
virtual ble_error_t read(Gap::Handle_t connectionHandle, GattAttribute::Handle_t attributeHandle, uint8_t *buffer, uint16_t *lengthP) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -119,13 +119,13 @@
* @return BLE_ERROR_NONE if we have successfully set the value of the attribute.
*/
virtual ble_error_t write(GattAttribute::Handle_t, const uint8_t *, uint16_t, bool localOnly = false) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
* Update the value of a characteristic on the local GattServer. A version
* of the same as above with connection handle parameter to allow updates
- * for connection-specific multivalued attribtues (such as the CCCDs).
+ * for connection-specific multivalued attributes (such as the CCCDs).
*
* @param[in] connectionHandle
* Connection Handle.
@@ -145,7 +145,38 @@
* @return BLE_ERROR_NONE if we have successfully set the value of the attribute.
*/
virtual ble_error_t write(Gap::Handle_t connectionHandle, GattAttribute::Handle_t, const uint8_t *, uint16_t, bool localOnly = false) {
- return BLE_ERROR_NOT_IMPLEMENTED; /* default implementation; override this API if this capability is supported. */
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
+ }
+
+ /**
+ * Determine the updates-enabled status (notification/indication) for the current connection from a characteristic's CCCD.
+ *
+ * @param characteristic
+ * The characteristic
+ * @param[out] enabledP
+ * Upon return, *enabledP is true if updates are enabled, else false.
+ *
+ * @return BLE_ERROR_NONE if the connection and handle are found. false otherwise.
+ */
+ virtual ble_error_t areUpdatesEnabled(const GattCharacteristic &characteristic, bool *enabledP) {
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
+ }
+
+ /**
+ * Determine the connection-specific updates-enabled status (notification/indication) from a characteristic's CCCD.
+ *
+ * @param connectionHandle
+ * The connection handle
+ * @param[out] enabledP
+ * Upon return, *enabledP is true if updates are enabled, else false.
+ *
+ * @param characteristic
+ * The characteristic
+ *
+ * @return BLE_ERROR_NONE if the connection and handle are found. false otherwise.
+ */
+ virtual ble_error_t areUpdatesEnabled(Gap::Handle_t connectionHandle, const GattCharacteristic &characteristic, bool *enabledP) {
+ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porter(s): override this API if this capability is supported. */
}
/**
@@ -267,21 +298,21 @@
}
}
- void handleEvent(GattServerEvents::gattEvent_e type, GattAttribute::Handle_t charHandle) {
+ void handleEvent(GattServerEvents::gattEvent_e type, GattAttribute::Handle_t attributeHandle) {
switch (type) {
case GattServerEvents::GATT_EVENT_UPDATES_ENABLED:
if (updatesEnabledCallback) {
- updatesEnabledCallback(charHandle);
+ updatesEnabledCallback(attributeHandle);
}
break;
case GattServerEvents::GATT_EVENT_UPDATES_DISABLED:
if (updatesDisabledCallback) {
- updatesDisabledCallback(charHandle);
+ updatesDisabledCallback(attributeHandle);
}
break;
case GattServerEvents::GATT_EVENT_CONFIRMATION_RECEIVED:
if (confirmationReceivedCallback) {
- confirmationReceivedCallback(charHandle);
+ confirmationReceivedCallback(attributeHandle);
}
break;
default:
--- a/ble/blecommon.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/blecommon.h Mon Jul 06 10:10:34 2015 +0100
@@ -126,6 +126,9 @@
BLE_ERROR_UNSPECIFIED = 9, /**< Unknown error. */
};
+/** @brief Default MTU size. */
+static const unsigned BLE_GATT_MTU_SIZE_DEFAULT = 23;
+
#ifdef __cplusplus
}
#endif
--- a/ble/services/BatteryService.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/services/BatteryService.h Mon Jul 06 10:10:34 2015 +0100
@@ -53,7 +53,7 @@
*/
void updateBatteryLevel(uint8_t newLevel) {
batteryLevel = newLevel;
- ble.updateCharacteristicValue(batteryLevelCharacteristic.getValueAttribute().getHandle(), &batteryLevel, 1);
+ ble.gattServer().write(batteryLevelCharacteristic.getValueHandle(), &batteryLevel, 1);
}
protected:
--- a/ble/services/HealthThermometerService.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/services/HealthThermometerService.h Mon Jul 06 10:10:34 2015 +0100
@@ -73,7 +73,7 @@
void updateTemperature(float temperature) {
if (ble.getGapState().connected) {
valueBytes.updateTemperature(temperature);
- ble.updateCharacteristicValue(tempMeasurement.getValueAttribute().getHandle(), valueBytes.getPointer(), sizeof(TemperatureValueBytes));
+ ble.gattServer().write(tempMeasurement.getValueHandle(), valueBytes.getPointer(), sizeof(TemperatureValueBytes));
}
}
@@ -83,7 +83,7 @@
* new location value.
*/
void updateLocation(SensorLocation_t loc) {
- ble.updateCharacteristicValue(tempLocation.getValueHandle(), reinterpret_cast<uint8_t *>(&loc), sizeof(uint8_t));
+ ble.gattServer().write(tempLocation.getValueHandle(), reinterpret_cast<uint8_t *>(&loc), sizeof(uint8_t));
}
private:
@@ -140,7 +140,7 @@
uint8_t bytes[SIZEOF_VALUE_BYTES];
};
-private:
+protected:
BLE &ble;
TemperatureValueBytes valueBytes;
ReadOnlyGattCharacteristic<TemperatureValueBytes> tempMeasurement;
--- a/ble/services/HeartRateService.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/services/HeartRateService.h Mon Jul 06 10:10:34 2015 +0100
@@ -93,7 +93,7 @@
*/
void updateHeartRate(uint8_t hrmCounter) {
valueBytes.updateHeartRate(hrmCounter);
- ble.updateCharacteristicValue(hrmRate.getValueAttribute().getHandle(), valueBytes.getPointer(), valueBytes.getNumValueBytes());
+ ble.gattServer().write(hrmRate.getValueHandle(), valueBytes.getPointer(), valueBytes.getNumValueBytes());
}
/**
@@ -104,7 +104,7 @@
*/
void updateHeartRate(uint16_t hrmCounter) {
valueBytes.updateHeartRate(hrmCounter);
- ble.updateCharacteristicValue(hrmRate.getValueAttribute().getHandle(), valueBytes.getPointer(), valueBytes.getNumValueBytes());
+ ble.gattServer().write(hrmRate.getValueHandle(), valueBytes.getPointer(), valueBytes.getNumValueBytes());
}
/**
--- a/ble/services/LinkLossService.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/services/LinkLossService.h Mon Jul 06 10:10:34 2015 +0100
@@ -73,7 +73,7 @@
alertLevel = newLevel;
}
-private:
+protected:
/**
* This callback allows receiving updates to the AlertLevel Characteristic.
*
@@ -81,7 +81,7 @@
* Information about the characterisitc being updated.
*/
virtual void onDataWritten(const GattWriteCallbackParams *params) {
- if (params->charHandle == alertLevelChar.getValueHandle()) {
+ if (params->handle == alertLevelChar.getValueHandle()) {
alertLevel = *reinterpret_cast<const AlertLevel_t *>(params->data);
}
}
--- a/ble/services/UARTService.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/services/UARTService.h Mon Jul 06 10:10:34 2015 +0100
@@ -41,8 +41,7 @@
class UARTService {
public:
/**< Maximum length of data (in bytes) that can be transmitted by the UART service module to the peer. */
- static const unsigned GATT_MTU_SIZE_DEFAULT = 23;
- static const unsigned BLE_UART_SERVICE_MAX_DATA_LEN = (GATT_MTU_SIZE_DEFAULT - 3);
+ static const unsigned BLE_UART_SERVICE_MAX_DATA_LEN = (BLE_GATT_MTU_SIZE_DEFAULT - 3);
public:
@@ -118,7 +117,7 @@
if ((sendBufferIndex == BLE_UART_SERVICE_MAX_DATA_LEN) ||
// (sendBuffer[sendBufferIndex - 1] == '\r') ||
(sendBuffer[sendBufferIndex - 1] == '\n')) {
- ble.updateCharacteristicValue(getRXCharacteristicHandle(), static_cast<const uint8_t *>(sendBuffer), sendBufferIndex);
+ ble.gattServer().write(getRXCharacteristicHandle(), static_cast<const uint8_t *>(sendBuffer), sendBufferIndex);
sendBufferIndex = 0;
}
}
@@ -160,7 +159,7 @@
return receiveBuffer[receiveBufferIndex++];
}
-private:
+protected:
/**
* This callback allows the UART service to receive updates to the
* txCharacteristic. The application should forward the call to this
@@ -178,7 +177,7 @@
}
}
-private:
+protected:
BLE &ble;
uint8_t receiveBuffer[BLE_UART_SERVICE_MAX_DATA_LEN]; /**< The local buffer into which we receive
--- a/ble/services/URIBeaconConfigService.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/services/URIBeaconConfigService.h Mon Jul 06 10:10:34 2015 +0100
@@ -267,7 +267,7 @@
paramsUpdated = true;
}
if (paramsUpdated) {
- ble.updateCharacteristicValue(beaconPeriodChar.getValueHandle(), reinterpret_cast<uint8_t *>(¶ms.beaconPeriod), sizeof(uint16_t));
+ ble.gattServer().write(beaconPeriodChar.getValueHandle(), reinterpret_cast<uint8_t *>(¶ms.beaconPeriod), sizeof(uint16_t));
}
}
} else if (handle == resetChar.getValueHandle()) {
@@ -295,17 +295,17 @@
* change to the internal state of the service object.
*/
void updateCharacteristicValues(void) {
- ble.updateCharacteristicValue(lockedStateChar.getValueHandle(), &lockedState, 1);
- ble.updateCharacteristicValue(uriDataChar.getValueHandle(), params.uriData, params.uriDataLength);
- ble.updateCharacteristicValue(flagsChar.getValueHandle(), ¶ms.flags, 1);
- ble.updateCharacteristicValue(beaconPeriodChar.getValueHandle(),
+ ble.gattServer().write(lockedStateChar.getValueHandle(), &lockedState, 1);
+ ble.gattServer().write(uriDataChar.getValueHandle(), params.uriData, params.uriDataLength);
+ ble.gattServer().write(flagsChar.getValueHandle(), ¶ms.flags, 1);
+ ble.gattServer().write(beaconPeriodChar.getValueHandle(),
reinterpret_cast<uint8_t *>(¶ms.beaconPeriod), sizeof(uint16_t));
- ble.updateCharacteristicValue(txPowerModeChar.getValueHandle(), ¶ms.txPowerMode, 1);
- ble.updateCharacteristicValue(advPowerLevelsChar.getValueHandle(),
+ ble.gattServer().write(txPowerModeChar.getValueHandle(), ¶ms.txPowerMode, 1);
+ ble.gattServer().write(advPowerLevelsChar.getValueHandle(),
reinterpret_cast<uint8_t *>(params.advPowerLevels), sizeof(PowerLevels_t));
}
-private:
+protected:
void lockAuthorizationCallback(GattWriteAuthCallbackParams *authParams) {
if (lockedState) {
authParams->authorizationReply = AUTH_CALLBACK_REPLY_ATTERR_INSUF_AUTHORIZATION;
--- a/ble/services/iBeaconService.h Mon Jul 06 10:10:34 2015 +0100
+++ b/ble/services/iBeaconService.h Mon Jul 06 10:10:34 2015 +0100
@@ -66,7 +66,7 @@
ble.setAdvertisingType(GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED);
}
-private:
+protected:
BLE &ble;
Payload data;
};
--- a/module.json Mon Jul 06 10:10:34 2015 +0100
+++ b/module.json Mon Jul 06 10:10:34 2015 +0100
@@ -19,7 +19,7 @@
}
],
"dependencies": {
- "mbed-classic":"~0.0.1"
+ "mbed": "^3.0.2"
},
"targetDependencies": {
"nrf51822": {
--- a/source/DiscoveredCharacteristic.cpp Mon Jul 06 10:10:34 2015 +0100
+++ b/source/DiscoveredCharacteristic.cpp Mon Jul 06 10:10:34 2015 +0100
@@ -17,9 +17,6 @@
#include "ble/DiscoveredCharacteristic.h"
#include "ble/GattClient.h"
-GattClient::ReadCallback_t DiscoveredCharacteristic::onDataReadCallback;
-GattClient::WriteCallback_t DiscoveredCharacteristic::onDataWriteCallback;
-
ble_error_t
DiscoveredCharacteristic::read(uint16_t offset) const
{
