Skip to content
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
2 changes: 1 addition & 1 deletion examples/ANCS/ANCS.ino
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ void setup() {
NimBLEDevice::setPower(9);

NimBLEServer* pServer = NimBLEDevice::createServer();
pServer->setCallbacks(&serverCallbacks);
pServer->setCallbacks(serverCallbacks);
pServer->advertiseOnDisconnect(true);

NimBLEAdvertising* pAdvertising = pServer->getAdvertising();
Expand Down
2 changes: 1 addition & 1 deletion examples/BLE_Beacon_Scanner/BLE_Beacon_Scanner.ino
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ void setup() {

NimBLEDevice::init("Beacon-scanner");
pBLEScan = BLEDevice::getScan();
pBLEScan->setScanCallbacks(&scanCallbacks);
pBLEScan->setCallbacks(scanCallbacks);
pBLEScan->setActiveScan(true);
pBLEScan->setInterval(100);
pBLEScan->setWindow(100);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ bool connectToServer() {
NimBLEClient* pClient = nullptr;

pClient = NimBLEDevice::createClient();
pClient->setClientCallbacks(&clientCallbacks, false);
pClient->setCallbacks(clientCallbacks);

/**
* Set the PHY's to use for this connection. This is a bitmask that represents the PHY's:
Expand Down Expand Up @@ -112,7 +112,7 @@ void setup() {

/** Create aNimBLE Scan instance and set the callbacks for scan events */
NimBLEScan* pScan = NimBLEDevice::getScan();
pScan->setScanCallbacks(&scanCallbacks);
pScan->setCallbacks(scanCallbacks);

/** Set scan interval (how often) and window (how long) in milliseconds */
pScan->setInterval(97);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ void setup() {
NimBLEScan* pScan = NimBLEDevice::getScan();

/** Set the callbacks that the scanner will call on events. */
pScan->setScanCallbacks(&scanCallbacks);
pScan->setCallbacks(scanCallbacks);

/** Use active scanning to obtain scan response data from advertisers */
pScan->setActiveScan(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ void setup() {

/** Create the server and add the services/characteristics/descriptors */
NimBLEServer* pServer = NimBLEDevice::createServer();
pServer->setCallbacks(&serverCallbacks);
pServer->setCallbacks(serverCallbacks);

NimBLEService* pService = pServer->createService(SERVICE_UUID);
NimBLECharacteristic* pCharacteristic =
Expand Down Expand Up @@ -125,7 +125,7 @@ void setup() {
NimBLEExtAdvertising* pAdvertising = NimBLEDevice::getAdvertising();

/** Set the callbacks for advertising events */
pAdvertising->setCallbacks(&advertisingCallbacks);
pAdvertising->setCallbacks(advertisingCallbacks);

/**
* NimBLEExtAdvertising::setInstanceData takes the instance ID and
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ void setup() {

/** Create a server for our legacy advertiser */
NimBLEServer* pServer = NimBLEDevice::createServer();
pServer->setCallbacks(&serverCallbacks);
pServer->setCallbacks(serverCallbacks);

NimBLEService* pService = pServer->createService(SERVICE_UUID);
NimBLECharacteristic* pCharacteristic =
Expand Down Expand Up @@ -155,7 +155,7 @@ void setup() {
NimBLEExtAdvertising* pAdvertising = NimBLEDevice::getAdvertising();

/** Set the callbacks to handle advertising events */
pAdvertising->setCallbacks(&advCallbacks);
pAdvertising->setCallbacks(advCallbacks);

/**
* Set instance data.
Expand Down
4 changes: 2 additions & 2 deletions examples/L2CAP/L2CAP_Client/L2CAP_Client.ino
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ void setup() {
NimBLEDevice::setMTU(BLE_ATT_MTU_MAX);

auto scan = NimBLEDevice::getScan();
scan->setScanCallbacks(&scanCallbacks);
scan->setCallbacks(scanCallbacks);
scan->setInterval(1349);
scan->setWindow(449);
scan->setActiveScan(true);
Expand All @@ -106,7 +106,7 @@ void loop() {
if (!theClient) {
theClient = NimBLEDevice::createClient();
theClient->setConnectionParams(6, 6, 0, 42);
theClient->setClientCallbacks(&clientCallbacks);
theClient->setCallbacks(clientCallbacks);
if (!theClient->connect(theDevice)) {
Serial.println("Error: Could not connect to device");
return;
Expand Down
2 changes: 1 addition & 1 deletion examples/L2CAP/L2CAP_Server/L2CAP_Server.ino
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ void setup() {
auto channel = cocServer->createService(L2CAP_CHANNEL, L2CAP_MTU, &l2capCallbacks);

auto server = NimBLEDevice::createServer();
server->setCallbacks(&gattCallbacks);
server->setCallbacks(gattCallbacks);

auto service = server->createService(SERVICE_UUID);
auto characteristic = service->createCharacteristic(CHARACTERISTIC_UUID, NIMBLE_PROPERTY::READ);
Expand Down
4 changes: 2 additions & 2 deletions examples/NimBLE_Async_Client/NimBLE_Async_Client.ino
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class ScanCallbacks : public NimBLEScanCallbacks {
}
}

pClient->setClientCallbacks(&clientCallbacks, false);
pClient->setCallbacks(clientCallbacks);
if (!pClient->connect(true, true, false)) { // delete attributes, async connect, no MTU exchange
NimBLEDevice::deleteClient(pClient);
Serial.printf("Failed to connect\n");
Expand All @@ -62,7 +62,7 @@ void setup() {
NimBLEDevice::setPower(3); /** +3db */

NimBLEScan* pScan = NimBLEDevice::getScan();
pScan->setScanCallbacks(&scanCallbacks);
pScan->setCallbacks(scanCallbacks);
pScan->setInterval(45);
pScan->setWindow(45);
pScan->setActiveScan(true);
Expand Down
4 changes: 2 additions & 2 deletions examples/NimBLE_Client/NimBLE_Client.ino
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ bool connectToServer() {

Serial.printf("New client created\n");

pClient->setClientCallbacks(&clientCallbacks, false);
pClient->setCallbacks(clientCallbacks);
/**
* Set initial connection parameters:
* These settings are safe for 3 clients to connect reliably, can go faster if you have less
Expand Down Expand Up @@ -273,7 +273,7 @@ void setup() {
NimBLEScan* pScan = NimBLEDevice::getScan();

/** Set the callbacks to call when scan events occur, no duplicates */
pScan->setScanCallbacks(&scanCallbacks, false);
pScan->setCallbacks(scanCallbacks, false);

/** Set scan interval (how often) and window (how long) in milliseconds */
pScan->setInterval(100);
Expand Down
2 changes: 1 addition & 1 deletion examples/NimBLE_Scan_Continuous/NimBLE_Scan_Continuous.ino
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class scanCallbacks : public NimBLEScanCallbacks {
void setup() {
NimBLEDevice::init(""); // Initialize the device, you can specify a device name if you want.
NimBLEScan* pBLEScan = NimBLEDevice::getScan(); // Create the scan object.
pBLEScan->setScanCallbacks(&scanCallbacks, false); // Set the callback for when devices are discovered, no duplicates.
pBLEScan->setCallbacks(scanCallbacks, false); // Set the callback for when devices are discovered, no duplicates.
pBLEScan->setActiveScan(true); // Set active scanning, this will get more data from the advertiser.
pBLEScan->setMaxResults(0); // Do not store the scan results, use callback only.
pBLEScan->start(scanTimeMs, false, true); // duration, not a continuation of last scan, restart to get all devices again.
Expand Down
2 changes: 1 addition & 1 deletion examples/NimBLE_Scan_Whitelist/NimBLE_Scan_whitelist.ino
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ void setup() {

NimBLEDevice::init("");
pBLEScan = NimBLEDevice::getScan();
pBLEScan->setScanCallbacks(&scanCallbacks);
pBLEScan->setCallbacks(scanCallbacks);
pBLEScan->setActiveScan(true);
pBLEScan->setInterval(100);
pBLEScan->setFilterPolicy(BLE_HCI_SCAN_FILT_NO_WL);
Expand Down
2 changes: 1 addition & 1 deletion examples/NimBLE_Secure_Client/NimBLE_Secure_Client.ino
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ void setup() {

if (device->isAdvertisingService(serviceUuid)) {
NimBLEClient* pClient = NimBLEDevice::createClient();
pClient->setClientCallbacks(&clientCallbacks, false);
pClient->setCallbacks(clientCallbacks);

if (pClient->connect(&device)) {
pClient->secureConnection();
Expand Down
10 changes: 5 additions & 5 deletions examples/NimBLE_Server/NimBLE_Server.ino
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ void setup(void) {
// NimBLEDevice::setSecurityAuth(BLE_SM_PAIR_AUTHREQ_BOND | BLE_SM_PAIR_AUTHREQ_MITM | BLE_SM_PAIR_AUTHREQ_SC);

pServer = NimBLEDevice::createServer();
pServer->setCallbacks(&serverCallbacks);
pServer->setCallbacks(serverCallbacks);

NimBLEService* pDeadService = pServer->createService("DEAD");
NimBLECharacteristic* pBeefCharacteristic =
Expand All @@ -159,7 +159,7 @@ void setup(void) {
);

pBeefCharacteristic->setValue("Burger");
pBeefCharacteristic->setCallbacks(&chrCallbacks);
pBeefCharacteristic->setCallbacks(chrCallbacks);

/**
* 2902 and 2904 descriptors are a special case, when createDescriptor is called with
Expand All @@ -169,22 +169,22 @@ void setup(void) {
*/
NimBLE2904* pBeef2904 = pBeefCharacteristic->create2904();
pBeef2904->setFormat(NimBLE2904::FORMAT_UTF8);
pBeef2904->setCallbacks(&dscCallbacks);
pBeef2904->setCallbacks(dscCallbacks);

NimBLEService* pBaadService = pServer->createService("BAAD");
NimBLECharacteristic* pFoodCharacteristic =
pBaadService->createCharacteristic("F00D", NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE | NIMBLE_PROPERTY::NOTIFY);

pFoodCharacteristic->setValue("Fries");
pFoodCharacteristic->setCallbacks(&chrCallbacks);
pFoodCharacteristic->setCallbacks(chrCallbacks);

/** Custom descriptor: Arguments are UUID, Properties, max length of the value in bytes */
NimBLEDescriptor* pC01Ddsc =
pFoodCharacteristic->createDescriptor("C01D",
NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE | NIMBLE_PROPERTY::WRITE_ENC,
20);
pC01Ddsc->setValue("Send it back!");
pC01Ddsc->setCallbacks(&dscCallbacks);
pC01Ddsc->setCallbacks(dscCallbacks);

/** Create an advertising instance and add the services to the advertised data */
NimBLEAdvertising* pAdvertising = NimBLEDevice::getAdvertising();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ void setup() {
NimBLEDevice::init("Whitelist NimBLEServer");

NimBLEServer* pServer = NimBLEDevice::createServer();
pServer->setCallbacks(&serverCallbacks);
pServer->setCallbacks(serverCallbacks);
pServer->advertiseOnDisconnect(false);

NimBLEService* pService = pServer->createService(SERVICE_UUID);
Expand Down
4 changes: 2 additions & 2 deletions examples/NimBLE_Stream_Client/NimBLE_Stream_Client.ino
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ bool connectToServer() {
Serial.println("Failed to create client");
return false;
}
pClient->setClientCallbacks(&clientCallbacks, false);
pClient->setCallbacks(clientCallbacks);
pClient->setConnectionParams(12, 24, 0, 200);
pClient->setConnectTimeout(5000);
}
Expand Down Expand Up @@ -162,7 +162,7 @@ void setup() {
* Configure scan parameters
*/
NimBLEScan* pScan = NimBLEDevice::getScan();
pScan->setScanCallbacks(&scanCallbacks, false);
pScan->setCallbacks(scanCallbacks, false);
pScan->setActiveScan(true);

/** Start scanning for the server */
Expand Down
2 changes: 1 addition & 1 deletion examples/NimBLE_Stream_Server/NimBLE_Stream_Server.ino
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ void setup() {
* Note: The stream will create its own service and characteristic
*/
NimBLEServer* pServer = NimBLEDevice::createServer();
pServer->setCallbacks(&serverCallbacks);
pServer->setCallbacks(serverCallbacks);

/**
* Initialize the stream server with:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ void setup() {

NimBLEDevice::init("active-passive-scan");
pBLEScan = NimBLEDevice::getScan();
pBLEScan->setScanCallbacks(&scanCallbacks);
pBLEScan->setCallbacks(scanCallbacks);
pBLEScan->setActiveScan(active);
pBLEScan->setInterval(100);
pBLEScan->setWindow(100);
Expand Down
21 changes: 12 additions & 9 deletions src/NimBLECharacteristic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -438,18 +438,21 @@ void NimBLECharacteristic::writeEvent(const uint8_t* val, uint16_t len, NimBLECo
} // writeEvent

/**
* @brief Set the callback handlers for this characteristic.
* @param [in] pCallbacks An instance of a NimBLECharacteristicCallbacks class\n
* used to define any callbacks for the characteristic.
* @brief Set the callbacks for this characteristic.
* @param [in] callbacks Callback handler instance.
* @details The callback handler must outlive this characteristic or until resetCallbacks() is called.
*/
void NimBLECharacteristic::setCallbacks(NimBLECharacteristicCallbacks* pCallbacks) {
if (pCallbacks != nullptr) {
m_pCallbacks = pCallbacks;
} else {
m_pCallbacks = &defaultCallback;
}
void NimBLECharacteristic::setCallbacks(NimBLECharacteristicCallbacks& callbacks) {
m_pCallbacks = &callbacks;
} // setCallbacks

/**
* @brief Restore default callback handlers.
*/
void NimBLECharacteristic::resetCallbacks() {
m_pCallbacks = &defaultCallback;
} // resetCallbacks

/**
* @brief Get the callback handlers for this characteristic.
*/
Expand Down
3 changes: 2 additions & 1 deletion src/NimBLECharacteristic.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ class NimBLECharacteristic : public NimBLELocalValueAttribute {
void addDescriptor(NimBLEDescriptor* pDescriptor);
void removeDescriptor(NimBLEDescriptor* pDescriptor, bool deleteDsc = false);
uint16_t getProperties() const;
void setCallbacks(NimBLECharacteristicCallbacks* pCallbacks);
void setCallbacks(NimBLECharacteristicCallbacks& callbacks);
void resetCallbacks();
bool indicate(uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE) const;
bool indicate(const uint8_t* value, size_t length, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE) const;
bool notify(uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE) const;
Expand Down
Loading
Loading