Release 2.1.6

=============

Minor update around GattCharacteristics having variable length.
This commit is contained in:
Rohit Grover 2015-12-02 12:42:19 +00:00
commit 35adda9856
4 changed files with 30 additions and 23 deletions

View File

@ -147,7 +147,7 @@ public:
typedef CallChainOfFunctionPointersWithContext<const ConnectionCallbackParams_t *> ConnectionEventCallbackChain_t;
typedef FunctionPointerWithContext<const DisconnectionCallbackParams_t*> DisconnectionEventCallback_t;
typedef CallChainOfFunctionPointersWithContext<const DisconnectionCallbackParams_t*> DisconnectionEventCallbackChain_t;
typedef CallChainOfFunctionPointersWithContext<const DisconnectionCallbackParams_t*> DisconnectionEventCallbackChain_t;
typedef FunctionPointerWithContext<bool> RadioNotificationEventCallback_t;
@ -906,7 +906,7 @@ public:
/**
* @brief provide access to the callchain of timeout event callbacks
* It is possible to register callbacks using onTimeout().add(callback);
* It is possible to unregister callbacks using onTimeout().detach(callback)
* It is possible to unregister callbacks using onTimeout().detach(callback)
* @return The timeout event callbacks chain
*/
TimeoutEventCallbackChain_t& onTimeout() {
@ -925,10 +925,10 @@ public:
/**
* @brief provide access to the callchain of connection event callbacks
* It is possible to register callbacks using onConnection().add(callback);
* It is possible to unregister callbacks using onConnection().detach(callback)
* It is possible to unregister callbacks using onConnection().detach(callback)
* @return The connection event callbacks chain
*/
ConnectionEventCallbackChain_t& onconnection() {
ConnectionEventCallbackChain_t& onConnection() {
return connectionCallChain;
}
@ -944,7 +944,7 @@ public:
/**
* @brief provide access to the callchain of disconnection event callbacks
* It is possible to register callbacks using onDisconnection().add(callback);
* It is possible to unregister callbacks using onDisconnection().detach(callback)
* It is possible to unregister callbacks using onDisconnection().detach(callback)
* @return The disconnection event callbacks chain
*/
DisconnectionEventCallbackChain_t& onDisconnection() {

View File

@ -37,6 +37,8 @@ public:
* The length in bytes of this attribute's value.
* @param[in] maxLen
* The max length in bytes of this attribute's value.
* @param[in] hasVariableLen
* Whether the attribute's value length changes overtime.
*
* @section EXAMPLE
*
@ -47,25 +49,27 @@ public:
*
* @endcode
*/
GattAttribute(const UUID &uuid, uint8_t *valuePtr = NULL, uint16_t len = 0, uint16_t maxLen = 0) :
_uuid(uuid), _valuePtr(valuePtr), _lenMax(maxLen), _len(len), _handle() {
GattAttribute(const UUID &uuid, uint8_t *valuePtr = NULL, uint16_t len = 0, uint16_t maxLen = 0, bool hasVariableLen = true) :
_uuid(uuid), _valuePtr(valuePtr), _lenMax(maxLen), _len(len), _hasVariableLen(hasVariableLen), _handle() {
/* Empty */
}
public:
Handle_t getHandle(void) const {return _handle; }
const UUID &getUUID(void) const {return _uuid; }
uint16_t getLength(void) const {return _len; }
uint16_t getMaxLength(void) const {return _lenMax; }
uint16_t *getLengthPtr(void) {return &_len; }
void setHandle(Handle_t id) {_handle = id; }
uint8_t *getValuePtr(void) {return _valuePtr; }
Handle_t getHandle(void) const {return _handle; }
const UUID &getUUID(void) const {return _uuid; }
uint16_t getLength(void) const {return _len; }
uint16_t getMaxLength(void) const {return _lenMax; }
uint16_t *getLengthPtr(void) {return &_len; }
void setHandle(Handle_t id) {_handle = id; }
uint8_t *getValuePtr(void) {return _valuePtr; }
bool hasVariableLength(void) const {return _hasVariableLen;}
private:
UUID _uuid; /* Characteristic UUID. */
UUID _uuid; /* Characteristic UUID. */
uint8_t *_valuePtr;
uint16_t _lenMax; /* Maximum length of the value. */
uint16_t _len; /* Current length of the value. */
uint16_t _lenMax; /* Maximum length of the value. */
uint16_t _len; /* Current length of the value. */
bool _hasVariableLen;
Handle_t _handle;
private:

View File

@ -311,6 +311,8 @@ public:
* The length in bytes of this characteristic's value.
* @param[in] maxLen
* The max length in bytes of this characteristic's value.
* @param[in] hasVariableLen
* Whether the attribute's value length changes over time.
* @param[in] props
* The 8-bit field containing the characteristic's properties.
* @param[in] descriptors
@ -332,8 +334,9 @@ public:
uint16_t maxLen = 0,
uint8_t props = BLE_GATT_CHAR_PROPERTIES_NONE,
GattAttribute *descriptors[] = NULL,
unsigned numDescriptors = 0) :
_valueAttribute(uuid, valuePtr, len, maxLen),
unsigned numDescriptors = 0,
bool hasVariableLen = true) :
_valueAttribute(uuid, valuePtr, len, maxLen, hasVariableLen),
_properties(props),
_requiredSecurity(SecurityManager::SECURITY_MODE_ENCRYPTION_OPEN_LINK),
_descriptors(descriptors),
@ -466,7 +469,7 @@ public:
GattAttribute *descriptors[] = NULL,
unsigned numDescriptors = 0) :
GattCharacteristic(uuid, reinterpret_cast<uint8_t *>(valuePtr), sizeof(T), sizeof(T),
BLE_GATT_CHAR_PROPERTIES_READ | additionalProperties, descriptors, numDescriptors) {
BLE_GATT_CHAR_PROPERTIES_READ | additionalProperties, descriptors, numDescriptors, false) {
/* empty */
}
};
@ -522,7 +525,7 @@ public:
GattAttribute *descriptors[] = NULL,
unsigned numDescriptors = 0) :
GattCharacteristic(uuid, reinterpret_cast<uint8_t *>(valuePtr), sizeof(T) * NUM_ELEMENTS, sizeof(T) * NUM_ELEMENTS,
BLE_GATT_CHAR_PROPERTIES_READ | additionalProperties, descriptors, numDescriptors) {
BLE_GATT_CHAR_PROPERTIES_READ | additionalProperties, descriptors, numDescriptors, false) {
/* empty */
}
};

View File

@ -1,6 +1,6 @@
{
"name": "ble",
"version": "2.1.5",
"version": "2.1.6",
"description": "The BLE module offers a high level abstraction for using Bluetooth Low Energy on multiple platforms.",
"keywords": [
"Bluetooth",
@ -26,7 +26,7 @@
"x-nucleo-idb0xa1": "ARMmbed/ble-x-nucleo-idb0xa1"
},
"nrf51822": {
"ble-nrf51822": "^2.1.1"
"ble-nrf51822": "^2.1.2"
},
"cordio": {
"ble-wicentric": "~0.0.4"