From 3ec83508e9c63b44068db86b72ecdbe3690bef36 Mon Sep 17 00:00:00 2001 From: Sidney Leung Date: Wed, 1 Mar 2017 22:57:07 -0800 Subject: [PATCH] Jira 867, BLE setValue(), add support for strings, git #210 Feature added: - This is directly pulled from Arduino community PR #210. Overloading the setValue() method to take in a string as the only input parameter, instead of a pointer and its size. --- libraries/CurieBLE/src/BLECharacteristic.cpp | 5 +++++ libraries/CurieBLE/src/BLECharacteristic.h | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/libraries/CurieBLE/src/BLECharacteristic.cpp b/libraries/CurieBLE/src/BLECharacteristic.cpp index 89a8e41d..96866c00 100644 --- a/libraries/CurieBLE/src/BLECharacteristic.cpp +++ b/libraries/CurieBLE/src/BLECharacteristic.cpp @@ -248,6 +248,11 @@ bool BLECharacteristic::setValue(const unsigned char value[], unsigned short len return writeValue(value, (int)length); } +bool BLECharacteristic::setValue(const char* value) +{ + return this->setValue((const unsigned char *)value, strlen(value)); +} + bool BLECharacteristic::writeValue(const byte value[], int length) { return writeValue(value, length, 0); diff --git a/libraries/CurieBLE/src/BLECharacteristic.h b/libraries/CurieBLE/src/BLECharacteristic.h index 0ca0cf53..79fbfed3 100644 --- a/libraries/CurieBLE/src/BLECharacteristic.h +++ b/libraries/CurieBLE/src/BLECharacteristic.h @@ -180,6 +180,15 @@ class BLECharacteristic: public BLEAttributeWithValue */ bool setValue(const unsigned char value[], unsigned short length); + /** + * Set the current value of the Characteristic with a String + * + * @param value New string value to set, strings exceeding maxLength will be truncated + * + * @return bool true set value success, false on error + */ + bool setValue(const char* value); + /** * @brief Write the value of the characteristic *