From f22ad2ed6633fcf9453d87628af8c0faaf75eda1 Mon Sep 17 00:00:00 2001 From: Offspring Date: Mon, 26 Aug 2024 17:07:46 -0400 Subject: [PATCH] fix types --- src/BLEAdvertisingData.cpp | 7 +++++-- src/BLEAdvertisingData.h | 2 +- src/BLECharacteristic.cpp | 8 ++++---- src/BLECharacteristic.h | 4 ++-- src/BLEStringCharacteristic.cpp | 2 +- src/BLEStringCharacteristic.h | 2 +- src/remote/BLERemoteCharacteristic.cpp | 8 ++++---- src/remote/BLERemoteCharacteristic.h | 4 ++-- src/remote/BLERemoteDescriptor.cpp | 2 +- src/utility/GAP.cpp | 14 +++++++------- src/utility/GAP.h | 6 +++--- src/utility/HCITransport.h | 6 ++++-- 12 files changed, 35 insertions(+), 30 deletions(-) diff --git a/src/BLEAdvertisingData.cpp b/src/BLEAdvertisingData.cpp index 80105916..181b79cf 100644 --- a/src/BLEAdvertisingData.cpp +++ b/src/BLEAdvertisingData.cpp @@ -35,6 +35,7 @@ BLEAdvertisingData::BLEAdvertisingData() : _hasManufacturerCompanyId(false), _advertisedServiceUuid(NULL), _advertisedServiceUuidLength(0), + _serviceDataUuid(0), _serviceData(NULL), _serviceDataLength(0) { @@ -59,7 +60,7 @@ int BLEAdvertisingData::remainingLength() const return _remainingLength; } -int BLEAdvertisingData::availableForWrite() +int BLEAdvertisingData::availableForWrite() const { int available = (_remainingLength - AD_FIELD_OVERHEAD); if (available < 0) available = 0; @@ -103,7 +104,9 @@ void BLEAdvertisingData::copy(const BLEAdvertisingData& adv) BLEAdvertisingData& BLEAdvertisingData::operator=(const BLEAdvertisingData &other) { - copy(other); + if (this != &other) { + copy(other); + } return *this; } diff --git a/src/BLEAdvertisingData.h b/src/BLEAdvertisingData.h index dc736053..1c1ce313 100644 --- a/src/BLEAdvertisingData.h +++ b/src/BLEAdvertisingData.h @@ -56,7 +56,7 @@ class BLEAdvertisingData { BLEAdvertisingData(); virtual ~BLEAdvertisingData(); - int availableForWrite(); + int availableForWrite() const; void clear(); void copy(const BLEAdvertisingData& adv); BLEAdvertisingData& operator=(const BLEAdvertisingData &other); diff --git a/src/BLECharacteristic.cpp b/src/BLECharacteristic.cpp index bfaee3ff..98ed0816 100644 --- a/src/BLECharacteristic.cpp +++ b/src/BLECharacteristic.cpp @@ -469,13 +469,13 @@ bool BLECharacteristic::canSubscribe() return false; } -bool BLECharacteristic::subscribe() +int BLECharacteristic::subscribe() { if (_remote) { return _remote->writeCccd((properties() & BLEIndicate) ? 0x0002 : 0x0001); } - return false; + return 0; } bool BLECharacteristic::canUnsubscribe() @@ -483,11 +483,11 @@ bool BLECharacteristic::canUnsubscribe() return canSubscribe(); } -bool BLECharacteristic::unsubscribe() +int BLECharacteristic::unsubscribe() { if (_remote) { return _remote->writeCccd(0x0000); } - return false; + return 0; } diff --git a/src/BLECharacteristic.h b/src/BLECharacteristic.h index da9721e0..38176c17 100644 --- a/src/BLECharacteristic.h +++ b/src/BLECharacteristic.h @@ -105,9 +105,9 @@ class BLECharacteristic { bool read(); bool canWrite(); bool canSubscribe(); - bool subscribe(); + int subscribe(); bool canUnsubscribe(); - bool unsubscribe(); + int unsubscribe(); protected: friend class BLELocalCharacteristic; diff --git a/src/BLEStringCharacteristic.cpp b/src/BLEStringCharacteristic.cpp index 76f0812c..0774bce5 100644 --- a/src/BLEStringCharacteristic.cpp +++ b/src/BLEStringCharacteristic.cpp @@ -19,7 +19,7 @@ #include "BLEStringCharacteristic.h" -BLEStringCharacteristic::BLEStringCharacteristic(const char* uuid, unsigned char properties, int valueSize) : +BLEStringCharacteristic::BLEStringCharacteristic(const char* uuid, uint16_t properties, int valueSize) : BLECharacteristic(uuid, properties, valueSize) { } diff --git a/src/BLEStringCharacteristic.h b/src/BLEStringCharacteristic.h index c9f28fca..33f80c74 100644 --- a/src/BLEStringCharacteristic.h +++ b/src/BLEStringCharacteristic.h @@ -27,7 +27,7 @@ class BLEStringCharacteristic : public BLECharacteristic { public: - BLEStringCharacteristic(const char* uuid, unsigned char properties, int valueSize); + BLEStringCharacteristic(const char* uuid, uint16_t properties, int valueSize); int writeValue(const String& value); int setValue(const String& value) { return writeValue(value); } diff --git a/src/remote/BLERemoteCharacteristic.cpp b/src/remote/BLERemoteCharacteristic.cpp index 454438b6..c5fca3b5 100644 --- a/src/remote/BLERemoteCharacteristic.cpp +++ b/src/remote/BLERemoteCharacteristic.cpp @@ -89,7 +89,7 @@ uint8_t BLERemoteCharacteristic::operator[] (int offset) const int BLERemoteCharacteristic::writeValue(const uint8_t value[], int length, bool withResponse) { if (!ATT.connected(_connectionHandle)) { - return false; + return 0; } uint16_t maxLength = ATT.mtu(_connectionHandle) - 3; @@ -193,7 +193,7 @@ bool BLERemoteCharacteristic::read() return true; } -bool BLERemoteCharacteristic::writeCccd(uint16_t value) +int BLERemoteCharacteristic::writeCccd(uint16_t value) { int numDescriptors = descriptorCount(); @@ -212,7 +212,7 @@ bool BLERemoteCharacteristic::writeCccd(uint16_t value) return cccd.writeValue((uint8_t*)&value, sizeof(value)); } - return false; + return 0; } uint16_t BLERemoteCharacteristic::valueHandle() const @@ -244,7 +244,7 @@ void BLERemoteCharacteristic::addDescriptor(BLERemoteDescriptor* descriptor) _descriptors.add(descriptor); } -void BLERemoteCharacteristic::writeValue(BLEDevice device, const uint8_t value[], int length) +void BLERemoteCharacteristic::writeValue(const BLEDevice& device, const uint8_t value[], int length) { _valueLength = length; _value = (uint8_t*)realloc(_value, _valueLength); diff --git a/src/remote/BLERemoteCharacteristic.h b/src/remote/BLERemoteCharacteristic.h index b53ab031..a001844b 100644 --- a/src/remote/BLERemoteCharacteristic.h +++ b/src/remote/BLERemoteCharacteristic.h @@ -46,7 +46,7 @@ class BLERemoteCharacteristic : public BLERemoteAttribute { bool updatedValueRead(); bool read(); - bool writeCccd(uint16_t value); + int writeCccd(uint16_t value); unsigned int descriptorCount() const; BLERemoteDescriptor* descriptor(unsigned int index) const; @@ -61,7 +61,7 @@ class BLERemoteCharacteristic : public BLERemoteAttribute { void addDescriptor(BLERemoteDescriptor* descriptor); - void writeValue(BLEDevice device, const uint8_t value[], int length); + void writeValue(const BLEDevice& device, const uint8_t value[], int length); private: uint16_t _connectionHandle; diff --git a/src/remote/BLERemoteDescriptor.cpp b/src/remote/BLERemoteDescriptor.cpp index bf68675b..92db23db 100644 --- a/src/remote/BLERemoteDescriptor.cpp +++ b/src/remote/BLERemoteDescriptor.cpp @@ -60,7 +60,7 @@ uint8_t BLERemoteDescriptor::operator[] (int offset) const int BLERemoteDescriptor::writeValue(const uint8_t value[], int length) { if (!ATT.connected(_connectionHandle)) { - return false; + return 0; } uint16_t maxLength = ATT.mtu(_connectionHandle) - 3; diff --git a/src/utility/GAP.cpp b/src/utility/GAP.cpp index f1bf02fe..e5bae324 100644 --- a/src/utility/GAP.cpp +++ b/src/utility/GAP.cpp @@ -84,7 +84,7 @@ void GAPClass::stopAdvertise() int GAPClass::scan(bool withDuplicates) { - HCI.leSetScanEnable(false, true); + HCI.leSetScanEnable(0x00, 0x01); // active scan, 20 ms scan interval (N * 0.625), 20 ms scan window (N * 0.625), public own address type, no filter /* @@ -94,19 +94,19 @@ int GAPClass::scan(bool withDuplicates) - The scan window can only be less than or equal to the scan interval */ if (HCI.leSetScanParameters(0x01, 0x0020, 0x0020, 0x00, 0x00) != 0) { - return false; + return 0; } _scanning = true; - if (HCI.leSetScanEnable(true, !withDuplicates) != 0) { + if (HCI.leSetScanEnable(0x01, withDuplicates ? 0x00 : 0x01) != 0) { return 0; } return 1; } -int GAPClass::scanForName(String name, bool withDuplicates) +int GAPClass::scanForName(const String& name, bool withDuplicates) { _scanNameFilter = name; _scanUuidFilter = ""; @@ -115,7 +115,7 @@ int GAPClass::scanForName(String name, bool withDuplicates) return scan(withDuplicates); } -int GAPClass::scanForUuid(String uuid, bool withDuplicates) +int GAPClass::scanForUuid(const String& uuid, bool withDuplicates) { _scanNameFilter = ""; _scanUuidFilter = uuid; @@ -124,7 +124,7 @@ int GAPClass::scanForUuid(String uuid, bool withDuplicates) return scan(withDuplicates); } -int GAPClass::scanForAddress(String address, bool withDuplicates) +int GAPClass::scanForAddress(const String& address, bool withDuplicates) { _scanNameFilter = ""; _scanUuidFilter = ""; @@ -135,7 +135,7 @@ int GAPClass::scanForAddress(String address, bool withDuplicates) void GAPClass::stopScan() { - HCI.leSetScanEnable(false, false); + HCI.leSetScanEnable(0x00, 0x00); _scanning = false; diff --git a/src/utility/GAP.h b/src/utility/GAP.h index 2ea22938..18b04eac 100644 --- a/src/utility/GAP.h +++ b/src/utility/GAP.h @@ -34,9 +34,9 @@ class GAPClass { virtual void stopAdvertise(); virtual int scan(bool withDuplicates); - virtual int scanForName(String name, bool withDuplicates); - virtual int scanForUuid(String uuid, bool withDuplicates); - virtual int scanForAddress(String address, bool withDuplicates); + virtual int scanForName(const String& name, bool withDuplicates); + virtual int scanForUuid(const String& uuid, bool withDuplicates); + virtual int scanForAddress(const String& address, bool withDuplicates); virtual void stopScan(); virtual BLEDevice available(); diff --git a/src/utility/HCITransport.h b/src/utility/HCITransport.h index d8aa6a95..53cde207 100644 --- a/src/utility/HCITransport.h +++ b/src/utility/HCITransport.h @@ -22,8 +22,10 @@ #include -class HCITransportInterface { -public: +struct HCITransportInterface { + + virtual ~HCITransportInterface() {}; + virtual int begin() = 0; virtual void end() = 0;