Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix types & other small issues #366

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions src/BLEAdvertisingData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ BLEAdvertisingData::BLEAdvertisingData() :
_hasManufacturerCompanyId(false),
_advertisedServiceUuid(NULL),
_advertisedServiceUuidLength(0),
_serviceDataUuid(0),
_serviceData(NULL),
_serviceDataLength(0)
{
Expand All @@ -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;
Expand Down Expand Up @@ -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;
}

Expand Down
2 changes: 1 addition & 1 deletion src/BLEAdvertisingData.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
8 changes: 4 additions & 4 deletions src/BLECharacteristic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -469,25 +469,25 @@ 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()
{
return canSubscribe();
}

bool BLECharacteristic::unsubscribe()
int BLECharacteristic::unsubscribe()
{
if (_remote) {
return _remote->writeCccd(0x0000);
}

return false;
return 0;
}
4 changes: 2 additions & 2 deletions src/BLECharacteristic.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion src/BLEStringCharacteristic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
}
Expand Down
2 changes: 1 addition & 1 deletion src/BLEStringCharacteristic.h
Original file line number Diff line number Diff line change
Expand Up @@ -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); }
Expand Down
8 changes: 4 additions & 4 deletions src/remote/BLERemoteCharacteristic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -193,7 +193,7 @@ bool BLERemoteCharacteristic::read()
return true;
}

bool BLERemoteCharacteristic::writeCccd(uint16_t value)
int BLERemoteCharacteristic::writeCccd(uint16_t value)
{
int numDescriptors = descriptorCount();

Expand All @@ -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
Expand Down Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions src/remote/BLERemoteCharacteristic.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion src/remote/BLERemoteDescriptor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
14 changes: 7 additions & 7 deletions src/utility/GAP.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
/*
Expand All @@ -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 = "";
Expand All @@ -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;
Expand All @@ -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 = "";
Expand All @@ -135,7 +135,7 @@ int GAPClass::scanForAddress(String address, bool withDuplicates)

void GAPClass::stopScan()
{
HCI.leSetScanEnable(false, false);
HCI.leSetScanEnable(0x00, 0x00);

_scanning = false;

Expand Down
6 changes: 3 additions & 3 deletions src/utility/GAP.h
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand Down
6 changes: 4 additions & 2 deletions src/utility/HCITransport.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@

#include <Arduino.h>

class HCITransportInterface {
public:
struct HCITransportInterface {

virtual ~HCITransportInterface() {};

virtual int begin() = 0;
virtual void end() = 0;

Expand Down
Loading