Skip to content

Commit b6a66a4

Browse files
konikoni428sandeepmistry
authored andcommitted
Add (optional) company ID argument to BLE.setManufacturerData(....) (#18)
1 parent 5d10cba commit b6a66a4

File tree

4 files changed

+16
-0
lines changed

4 files changed

+16
-0
lines changed

Diff for: src/local/BLELocalDevice.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,11 @@ void BLELocalDevice::setManufacturerData(const uint8_t manufacturerData[], int m
185185
GAP.setManufacturerData(manufacturerData, manufacturerDataLength);
186186
}
187187

188+
void BLELocalDevice::setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength)
189+
{
190+
GAP.setManufacturerData(companyId, manufacturerData, manufacturerDataLength);
191+
}
192+
188193
void BLELocalDevice::setLocalName(const char *localName)
189194
{
190195
GAP.setLocalName(localName);

Diff for: src/local/BLELocalDevice.h

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class BLELocalDevice {
4444
void setAdvertisedServiceUuid(const char* advertisedServiceUuid);
4545
void setAdvertisedService(const BLEService& service);
4646
void setManufacturerData(const uint8_t manufacturerData[], int manufacturerDataLength);
47+
void setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength);
4748
void setLocalName(const char *localName);
4849

4950
void setDeviceName(const char* deviceName);

Diff for: src/utility/GAP.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,15 @@ void GAPClass::setManufacturerData(const uint8_t manufacturerData[], int manufac
5454
_manufacturerDataLength = manufacturerDataLength;
5555
}
5656

57+
void GAPClass::setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength)
58+
{
59+
uint8_t tmpManufacturerData[manufacturerDataLength + 2];
60+
tmpManufacturerData[0] = companyId & 0xff;
61+
tmpManufacturerData[1] = companyId >> 8;
62+
memcpy(&tmpManufacturerData[2], manufacturerData, manufacturerDataLength);
63+
this->setManufacturerData(tmpManufacturerData, manufacturerDataLength + 2);
64+
}
65+
5766
void GAPClass::setLocalName(const char *localName)
5867
{
5968
_localName = localName;

Diff for: src/utility/GAP.h

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class GAPClass {
3131

3232
void setAdvertisedServiceUuid(const char* advertisedServiceUuid);
3333
void setManufacturerData(const uint8_t manufacturerData[], int manufacturerDataLength);
34+
void setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength);
3435
void setLocalName(const char *localName);
3536

3637
bool advertising();

0 commit comments

Comments
 (0)