Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7d8b9ee

Browse files
authored
Merge pull request #5 from sandeepmistry/string-characteristic
Add new BLEStringCharacateristic type
2 parents ff266fe + e00ee86 commit 7d8b9ee

File tree

4 files changed

+86
-0
lines changed

4 files changed

+86
-0
lines changed

‎keywords.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ BLELongCharacteristic KEYWORD1
2828
BLEUnsignedLongCharacteristic KEYWORD1
2929
BLEFloatCharacteristic KEYWORD1
3030
BLEDoubleCharacteristic KEYWORD1
31+
BLEStringCharacteristic KEYWORD1
3132

3233
#######################################
3334
# Methods and Functions (KEYWORD2)

‎src/ArduinoBLE.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
#include "local/BLELocalDevice.h"
2424
#include "BLEProperty.h"
25+
#include "BLEStringCharacteristic.h"
2526
#include "BLETypedCharacteristics.h"
2627

2728
#endif

‎src/BLEStringCharacteristic.cpp‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
This file is part of the ArduinoBLE library.
3+
Copyright (c) 2018 Arduino SA. All rights reserved.
4+
5+
This library is free software; you can redistribute it and/or
6+
modify it under the terms of the GNU Lesser General Public
7+
License as published by the Free Software Foundation; either
8+
version 2.1 of the License, or (at your option) any later version.
9+
10+
This library is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13+
Lesser General Public License for more details.
14+
15+
You should have received a copy of the GNU Lesser General Public
16+
License along with this library; if not, write to the Free Software
17+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18+
*/
19+
20+
#include "BLEStringCharacteristic.h"
21+
22+
BLEStringCharacteristic::BLEStringCharacteristic(const char* uuid, unsigned char properties, int valueSize) :
23+
BLECharacteristic(uuid, properties, valueSize)
24+
{
25+
}
26+
27+
int BLEStringCharacteristic::writeValue(const String& value)
28+
{
29+
return BLECharacteristic::writeValue(value.c_str());
30+
}
31+
32+
String BLEStringCharacteristic::value(void)
33+
{
34+
String str;
35+
int length = BLECharacteristic::valueLength();
36+
const uint8_t* val = BLECharacteristic::value();
37+
38+
str.reserve(length);
39+
40+
for (int i = 0; i < length; i++) {
41+
str += (char)val[i];
42+
}
43+
44+
return str;
45+
}

‎src/BLEStringCharacteristic.h‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
This file is part of the ArduinoBLE library.
3+
Copyright (c) 2018 Arduino SA. All rights reserved.
4+
5+
This library is free software; you can redistribute it and/or
6+
modify it under the terms of the GNU Lesser General Public
7+
License as published by the Free Software Foundation; either
8+
version 2.1 of the License, or (at your option) any later version.
9+
10+
This library is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13+
Lesser General Public License for more details.
14+
15+
You should have received a copy of the GNU Lesser General Public
16+
License along with this library; if not, write to the Free Software
17+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18+
*/
19+
20+
#ifndef _BLE_STRING_CHARACTERISTIC_H_
21+
#define _BLE_STRING_CHARACTERISTIC_H_
22+
23+
#include <Arduino.h>
24+
25+
#include "BLECharacteristic.h"
26+
27+
class BLEStringCharacteristic : public BLECharacteristic
28+
{
29+
public:
30+
BLEStringCharacteristic(const char* uuid, unsigned char properties, int valueSize);
31+
32+
int writeValue(const String& value);
33+
int setValue(const String& value) { return writeValue(value); }
34+
String value(void);
35+
36+
private:
37+
};
38+
39+
#endif

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /