From be6ac01c32508609632baa2e02e5f58d86ac067e Mon Sep 17 00:00:00 2001 From: Masahiro Konishi Date: Sun, 1 Sep 2019 17:13:14 +0900 Subject: [PATCH 1/6] add setManufacturerData argument --- src/local/BLELocalDevice.cpp | 4 ++-- src/local/BLELocalDevice.h | 2 +- src/utility/GAP.cpp | 8 ++++++-- src/utility/GAP.h | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/local/BLELocalDevice.cpp b/src/local/BLELocalDevice.cpp index 341f5aa7..4699d910 100644 --- a/src/local/BLELocalDevice.cpp +++ b/src/local/BLELocalDevice.cpp @@ -180,9 +180,9 @@ void BLELocalDevice::setAdvertisedService(const BLEService& service) setAdvertisedServiceUuid(service.uuid()); } -void BLELocalDevice::setManufacturerData(const uint8_t manufacturerData[], int manufacturerDataLength) +void BLELocalDevice::setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength) { - GAP.setManufacturerData(manufacturerData, manufacturerDataLength); + GAP.setManufacturerData(companyId, manufacturerData, manufacturerDataLength); } void BLELocalDevice::setLocalName(const char *localName) diff --git a/src/local/BLELocalDevice.h b/src/local/BLELocalDevice.h index 6e970c71..0c751b3c 100644 --- a/src/local/BLELocalDevice.h +++ b/src/local/BLELocalDevice.h @@ -43,7 +43,7 @@ class BLELocalDevice { void setAdvertisedServiceUuid(const char* advertisedServiceUuid); void setAdvertisedService(const BLEService& service); - void setManufacturerData(const uint8_t manufacturerData[], int manufacturerDataLength); + void setManufacturerData(const uint16_t companyId,const uint8_t manufacturerData[], int manufacturerDataLength); void setLocalName(const char *localName); void setDeviceName(const char* deviceName); diff --git a/src/utility/GAP.cpp b/src/utility/GAP.cpp index 78b1556e..1178b8bc 100644 --- a/src/utility/GAP.cpp +++ b/src/utility/GAP.cpp @@ -48,9 +48,13 @@ void GAPClass::setAdvertisedServiceUuid(const char* advertisedServiceUuid) _advertisedServiceUuid = advertisedServiceUuid; } -void GAPClass::setManufacturerData(const uint8_t manufacturerData[], int manufacturerDataLength) +void GAPClass::setManufacturerData(const uint16_t companyId,const uint8_t manufacturerData[], int manufacturerDataLength) { - _manufacturerData = manufacturerData; + uint8_t tmpManufacturerData[manufacturerDataLength + 2]; + tmpManufacturerData[0] = companyId & 0xff; + tmpManufacturerData[1] = companyId >> 8; + memcpy(&tmpManufacturerData[2], manufacturerData, manufacturerDataLength); + _manufacturerData = tmpManufacturerData; _manufacturerDataLength = manufacturerDataLength; } diff --git a/src/utility/GAP.h b/src/utility/GAP.h index a75b9386..3d10e6e9 100644 --- a/src/utility/GAP.h +++ b/src/utility/GAP.h @@ -30,7 +30,7 @@ class GAPClass { virtual ~GAPClass(); void setAdvertisedServiceUuid(const char* advertisedServiceUuid); - void setManufacturerData(const uint8_t manufacturerData[], int manufacturerDataLength); + void setManufacturerData(const uint16_t companyId,const uint8_t manufacturerData[], int manufacturerDataLength); void setLocalName(const char *localName); bool advertising(); From e6c0b45a3fa3a6d7ae997b909232548edf3ed5bf Mon Sep 17 00:00:00 2001 From: Masahiro Konishi Date: Tue, 3 Sep 2019 00:34:32 +0900 Subject: [PATCH 2/6] fix manufacturer length --- src/utility/GAP.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utility/GAP.cpp b/src/utility/GAP.cpp index 1178b8bc..c20cebd5 100644 --- a/src/utility/GAP.cpp +++ b/src/utility/GAP.cpp @@ -55,7 +55,7 @@ void GAPClass::setManufacturerData(const uint16_t companyId,const uint8_t manufa tmpManufacturerData[1] = companyId >> 8; memcpy(&tmpManufacturerData[2], manufacturerData, manufacturerDataLength); _manufacturerData = tmpManufacturerData; - _manufacturerDataLength = manufacturerDataLength; + _manufacturerDataLength = manufacturerDataLength + 2; } void GAPClass::setLocalName(const char *localName) From df867ac36004fd37b59a33a94c6ee5709ef97742 Mon Sep 17 00:00:00 2001 From: Masahiro Konishi Date: Tue, 3 Sep 2019 17:58:03 +0900 Subject: [PATCH 3/6] Update src/local/BLELocalDevice.h fix format Co-Authored-By: per1234 --- src/local/BLELocalDevice.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/local/BLELocalDevice.h b/src/local/BLELocalDevice.h index 0c751b3c..e46b04bc 100644 --- a/src/local/BLELocalDevice.h +++ b/src/local/BLELocalDevice.h @@ -43,7 +43,7 @@ class BLELocalDevice { void setAdvertisedServiceUuid(const char* advertisedServiceUuid); void setAdvertisedService(const BLEService& service); - void setManufacturerData(const uint16_t companyId,const uint8_t manufacturerData[], int manufacturerDataLength); + void setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength); void setLocalName(const char *localName); void setDeviceName(const char* deviceName); From 065ce0c25b4ed48b3d6748c76bdf1a5134bac029 Mon Sep 17 00:00:00 2001 From: Masahiro Konishi Date: Tue, 3 Sep 2019 17:58:44 +0900 Subject: [PATCH 4/6] Update src/utility/GAP.h fix format Co-Authored-By: per1234 --- src/utility/GAP.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utility/GAP.h b/src/utility/GAP.h index 3d10e6e9..10707162 100644 --- a/src/utility/GAP.h +++ b/src/utility/GAP.h @@ -30,7 +30,7 @@ class GAPClass { virtual ~GAPClass(); void setAdvertisedServiceUuid(const char* advertisedServiceUuid); - void setManufacturerData(const uint16_t companyId,const uint8_t manufacturerData[], int manufacturerDataLength); + void setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength); void setLocalName(const char *localName); bool advertising(); From d7fdf92bb05a932cbe26ff2482aa360e42014192 Mon Sep 17 00:00:00 2001 From: Masahiro Konishi Date: Tue, 3 Sep 2019 17:58:55 +0900 Subject: [PATCH 5/6] Update src/utility/GAP.cpp Co-Authored-By: per1234 --- src/utility/GAP.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utility/GAP.cpp b/src/utility/GAP.cpp index c20cebd5..e1635df4 100644 --- a/src/utility/GAP.cpp +++ b/src/utility/GAP.cpp @@ -48,7 +48,7 @@ void GAPClass::setAdvertisedServiceUuid(const char* advertisedServiceUuid) _advertisedServiceUuid = advertisedServiceUuid; } -void GAPClass::setManufacturerData(const uint16_t companyId,const uint8_t manufacturerData[], int manufacturerDataLength) +void GAPClass::setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength) { uint8_t tmpManufacturerData[manufacturerDataLength + 2]; tmpManufacturerData[0] = companyId & 0xff; From 113166ad7b4550d078392f93ea7db2b7e99aa1d3 Mon Sep 17 00:00:00 2001 From: Masahiro Konishi Date: Thu, 5 Sep 2019 01:21:05 +0900 Subject: [PATCH 6/6] Ensuring backward compatibility --- src/local/BLELocalDevice.cpp | 5 +++++ src/local/BLELocalDevice.h | 1 + src/utility/GAP.cpp | 9 +++++++-- src/utility/GAP.h | 1 + 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/local/BLELocalDevice.cpp b/src/local/BLELocalDevice.cpp index 4699d910..d2c8a1b3 100644 --- a/src/local/BLELocalDevice.cpp +++ b/src/local/BLELocalDevice.cpp @@ -180,6 +180,11 @@ void BLELocalDevice::setAdvertisedService(const BLEService& service) setAdvertisedServiceUuid(service.uuid()); } +void BLELocalDevice::setManufacturerData(const uint8_t manufacturerData[], int manufacturerDataLength) +{ + GAP.setManufacturerData(manufacturerData, manufacturerDataLength); +} + void BLELocalDevice::setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength) { GAP.setManufacturerData(companyId, manufacturerData, manufacturerDataLength); diff --git a/src/local/BLELocalDevice.h b/src/local/BLELocalDevice.h index e46b04bc..20837c14 100644 --- a/src/local/BLELocalDevice.h +++ b/src/local/BLELocalDevice.h @@ -43,6 +43,7 @@ class BLELocalDevice { void setAdvertisedServiceUuid(const char* advertisedServiceUuid); void setAdvertisedService(const BLEService& service); + void setManufacturerData(const uint8_t manufacturerData[], int manufacturerDataLength); void setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength); void setLocalName(const char *localName); diff --git a/src/utility/GAP.cpp b/src/utility/GAP.cpp index e1635df4..757a905d 100644 --- a/src/utility/GAP.cpp +++ b/src/utility/GAP.cpp @@ -48,14 +48,19 @@ void GAPClass::setAdvertisedServiceUuid(const char* advertisedServiceUuid) _advertisedServiceUuid = advertisedServiceUuid; } +void GAPClass::setManufacturerData(const uint8_t manufacturerData[], int manufacturerDataLength) +{ + _manufacturerData = manufacturerData; + _manufacturerDataLength = manufacturerDataLength; +} + void GAPClass::setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength) { uint8_t tmpManufacturerData[manufacturerDataLength + 2]; tmpManufacturerData[0] = companyId & 0xff; tmpManufacturerData[1] = companyId >> 8; memcpy(&tmpManufacturerData[2], manufacturerData, manufacturerDataLength); - _manufacturerData = tmpManufacturerData; - _manufacturerDataLength = manufacturerDataLength + 2; + this->setManufacturerData(tmpManufacturerData, manufacturerDataLength + 2); } void GAPClass::setLocalName(const char *localName) diff --git a/src/utility/GAP.h b/src/utility/GAP.h index 10707162..c2a99daa 100644 --- a/src/utility/GAP.h +++ b/src/utility/GAP.h @@ -30,6 +30,7 @@ class GAPClass { virtual ~GAPClass(); void setAdvertisedServiceUuid(const char* advertisedServiceUuid); + void setManufacturerData(const uint8_t manufacturerData[], int manufacturerDataLength); void setManufacturerData(const uint16_t companyId, const uint8_t manufacturerData[], int manufacturerDataLength); void setLocalName(const char *localName);