Skip to content

Commit 3995b42

Browse files
committed
add BLECharacteristic constructor with max_len and fixed len
1 parent e732631 commit 3995b42

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

libraries/Bluefruit52Lib/src/BLECharacteristic.cpp

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,20 @@ BLECharacteristic::BLECharacteristic(BLEUuid bleuuid, uint8_t properties)
9090
setProperties(properties);
9191
}
9292

93+
BLECharacteristic::BLECharacteristic(BLEUuid bleuuid, uint8_t properties, int max_len, bool fixed_len)
94+
: uuid(bleuuid)
95+
{
96+
_init();
97+
setProperties(properties);
98+
if (fixed_len)
99+
{
100+
setFixedLen(max_len);
101+
}else
102+
{
103+
setMaxLen(max_len);
104+
}
105+
}
106+
93107
void BLECharacteristic::setUuid(BLEUuid bleuuid)
94108
{
95109
uuid = bleuuid;
@@ -135,11 +149,6 @@ uint16_t BLECharacteristic::getMaxLen(void)
135149
return _max_len;
136150
}
137151

138-
bool BLECharacteristic::isFixedLen(void)
139-
{
140-
return _attr_meta.vlen == 0;
141-
}
142-
143152
void BLECharacteristic::setFixedLen(uint16_t fixed_len)
144153
{
145154
if ( fixed_len )
@@ -152,6 +161,11 @@ void BLECharacteristic::setFixedLen(uint16_t fixed_len)
152161
}
153162
}
154163

164+
bool BLECharacteristic::isFixedLen(void)
165+
{
166+
return _attr_meta.vlen == 0;
167+
}
168+
155169
// Use application buffer instead of SD stack buffer
156170
void BLECharacteristic::setBuffer(void* buf, uint16_t bufsize)
157171
{

libraries/Bluefruit52Lib/src/BLECharacteristic.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ class BLECharacteristic
7979
BLECharacteristic(void);
8080
BLECharacteristic(BLEUuid bleuuid);
8181
BLECharacteristic(BLEUuid bleuuid, uint8_t properties);
82+
BLECharacteristic(BLEUuid bleuuid, uint8_t properties, int max_len, bool fixed_len = false);
8283

8384
// Destructor
8485
virtual ~BLECharacteristic();

0 commit comments

Comments
 (0)