Skip to content

Commit 63674c3

Browse files
committed
Fix Jira 755 and class init issue
1. Add the BLEByteCharacteristic 2. Fix the BLECharacteristic has some variable not be initialized.
1 parent 1de3316 commit 63674c3

File tree

4 files changed

+30
-2
lines changed

4 files changed

+30
-2
lines changed

libraries/BLE/src/BLECharacteristic.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ BLECharacteristic::BLECharacteristic():
1616
{
1717
memset(_uuid_cstr, 0, sizeof(_uuid_cstr));
1818
memset(_event_handlers, 0, sizeof(_event_handlers));
19+
memset(_oldevent_handlers, 0, sizeof(_oldevent_handlers));
1920
}
2021

2122
BLECharacteristic::BLECharacteristic(const char* uuid,
@@ -32,6 +33,7 @@ BLECharacteristic::BLECharacteristic(const char* uuid,
3233
BLEUtils::uuidBT2String((const bt_uuid_t *)&bt_uuid_tmp, _uuid_cstr);
3334
_bledev.setAddress(*BLEUtils::bleGetLoalAddress());
3435
memset(_event_handlers, 0, sizeof(_event_handlers));
36+
memset(_oldevent_handlers, 0, sizeof(_oldevent_handlers));
3537
}
3638

3739
BLECharacteristic::BLECharacteristic(const char* uuid,
@@ -51,6 +53,7 @@ BLECharacteristic::BLECharacteristic(BLECharacteristicImp *characteristicImp,
5153
_properties = characteristicImp->properties();
5254
_value_size = characteristicImp->valueSize();
5355
memset(_event_handlers, 0, sizeof(_event_handlers));
56+
memset(_oldevent_handlers, 0, sizeof(_oldevent_handlers));
5457
}
5558

5659
BLECharacteristic::BLECharacteristic(const BLECharacteristic& rhs):
@@ -83,6 +86,7 @@ BLECharacteristic::BLECharacteristic(const BLECharacteristic& rhs):
8386
//if (NULL != _event_handlers)
8487
memcpy(_event_handlers, rhs._event_handlers, (sizeof(BLECharacteristicEventHandler) * BLECharacteristicEventLast));
8588
}
89+
memcpy(_oldevent_handlers, rhs._oldevent_handlers, (sizeof(BLECharacteristicEventHandler) * BLECharacteristicEventLast));
8690
}
8791
}
8892

@@ -197,7 +201,7 @@ BLECharacteristic& BLECharacteristic::operator= (const BLECharacteristic& chrc)
197201
//if (NULL != _event_handlers)
198202
memcpy(_event_handlers, chrc._event_handlers, (sizeof(BLECharacteristicEventHandler) * BLECharacteristicEventLast));
199203
}
200-
204+
memcpy(_oldevent_handlers, chrc._oldevent_handlers, (sizeof(BLECharacteristicEventHandler) * BLECharacteristicEventLast));
201205
}
202206
}
203207
return *this;

libraries/BLE/src/BLEDevice.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,9 @@ void BLEDevice::setServiceSolicitationUuid(const char* serviceSolicitationUuid)
118118

119119
void BLEDevice::setManufacturerData(const unsigned char manufacturerData[],
120120
unsigned char manufacturerDataLength)
121-
{}
121+
{
122+
BLEDeviceManager::instance()->setManufacturerData(manufacturerData, manufacturerDataLength);
123+
}
122124

123125
void BLEDevice::setLocalName(const char *localName)
124126
{

libraries/BLE/src/BLETypedCharacteristics.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919

2020
#include "BLETypedCharacteristics.h"
2121

22+
BLEByteCharacteristic::BLEByteCharacteristic(const char* uuid, unsigned char properties) :
23+
BLETypedCharacteristic<byte>(uuid, properties) {
24+
}
25+
2226
BLECharCharacteristic::BLECharCharacteristic(const char* uuid, unsigned char properties) :
2327
BLETypedCharacteristic<char>(uuid, properties) {
2428
}

libraries/BLE/src/BLETypedCharacteristics.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,24 @@ class BLEBoolCharacteristic : public BLETypedCharacteristic<bool> {
4040
BLEBoolCharacteristic(const char* uuid, unsigned char properties);
4141
};
4242

43+
class BLEByteCharacteristic : public BLETypedCharacteristic<byte> {
44+
public:
45+
/**
46+
* @brief Instantiate a Byte Typed Characteristic.
47+
* Default constructor for BLE Byte Characteristic
48+
*
49+
* @param[in] uuid The characteristic UUID 16/128 bits
50+
*
51+
* @param[in] properties The property of the characteristic (BLERead,
52+
* BLEWrite or BLE Notify. Combine with | )
53+
*
54+
* @return none
55+
*
56+
* @note none
57+
*/
58+
BLEByteCharacteristic(const char* uuid, unsigned char properties);
59+
};
60+
4361
class BLECharCharacteristic : public BLETypedCharacteristic<char> {
4462
public:
4563
/**

0 commit comments

Comments
 (0)