Skip to content

Commit 72b0adc

Browse files
committed
🐛 Fix NimBLE ^2 compatibility
1 parent a44b061 commit 72b0adc

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/BLESerial.h

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,16 @@
1919
# include <BLEDevice.h>
2020
#endif // BLESERIAL_USE_NIMBLE
2121

22+
#if !defined(BLESERIAL_NIMBLE_VERSION_MAJOR) && defined(BLESERIAL_USE_NIMBLE) && BLESERIAL_USE_NIMBLE
23+
# if __has_include(<NimBLEAdvertisementData.h>)
24+
# define BLESERIAL_NIMBLE_VERSION_MAJOR 2
25+
# warning "Using NimBLE version 2"
26+
# else // __has_include(<NimBLEAdvertisementData.h>)
27+
# define BLESERIAL_NIMBLE_VERSION_MAJOR 1
28+
# warning "Using NimBLE version 1"
29+
# endif // __has_include(<NimBLEAdvertisementData.h>)
30+
#endif // BLESERIAL_USE_NIMBLE
31+
2232
#ifndef BLESERIAL_USE_STL
2333
# define BLESERIAL_USE_STL true
2434
#endif // BLESERIAL_USE_STL
@@ -262,7 +272,15 @@ class BLESerialServerCallbacks : public BLEServerCallbacks {
262272
public:
263273
explicit BLESerialServerCallbacks(BLESerial<T>* bleSerial) : bleSerial(bleSerial) {}
264274

275+
#if defined(BLESERIAL_USE_NIMBLE) && BLESERIAL_USE_NIMBLE
276+
# if defined(NIMBLE_VERSION_MAJOR) && NIMBLE_VERSION_MAJOR < 2
277+
void onDisconnect(NimBLEServer* pServer, ble_gap_conn_desc* desc) override
278+
# else // NIMBLE_VERSION_MAJOR < 2
279+
void onDisconnect(NimBLEServer* pServer, NimBLEConnInfo& connInfo, int reason) override
280+
# endif // NIMBLE_VERSION_MAJOR < 2
281+
#else // BLESERIAL_USE_NIMBLE
265282
void onDisconnect(BLEServer* pServer) override
283+
#endif // BLESERIAL_USE_NIMBLE
266284
{
267285
auto* pAdvertising = pServer->getAdvertising();
268286
if (pAdvertising == nullptr) {
@@ -280,7 +298,15 @@ class BLESerialCharacteristicCallbacks : public BLECharacteristicCallbacks {
280298
public:
281299
explicit BLESerialCharacteristicCallbacks(BLESerial<T>* bleSerial) : bleSerial(bleSerial) {}
282300

301+
#if defined(BLESERIAL_USE_NIMBLE) && BLESERIAL_USE_NIMBLE
302+
# if defined(NIMBLE_VERSION_MAJOR) && NIMBLE_VERSION_MAJOR < 2
303+
void onWrite(NimBLECharacteristic* pCharacteristic, ble_gap_conn_desc* desc) override
304+
# else // NIMBLE_VERSION_MAJOR < 2
305+
void onWrite(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo) override
306+
# endif // NIMBLE_VERSION_MAJOR < 2
307+
#else // BLESERIAL_USE_NIMBLE
283308
void onWrite(BLECharacteristic* pCharacteristic) override
309+
#endif // BLESERIAL_USE_NIMBLE
284310
{
285311
if (pCharacteristic != bleSerial->m_pRxCharacteristic) {
286312
return;

0 commit comments

Comments
 (0)