Skip to content

Commit 10dffb5

Browse files
committed
🐛 Fix NimBLE ^2 compatibility
1 parent a44b061 commit 10dffb5

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/BLESerial.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,15 @@
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+
# else // __has_include(<NimBLEAdvertisementData.h>)
26+
# define BLESERIAL_NIMBLE_VERSION_MAJOR 1
27+
# endif // __has_include(<NimBLEAdvertisementData.h>)
28+
# warning "Using NimBLE version " BLESERIAL_NIMBLE_VERSION_MAJOR
29+
#endif // BLESERIAL_USE_NIMBLE
30+
2231
#ifndef BLESERIAL_USE_STL
2332
# define BLESERIAL_USE_STL true
2433
#endif // BLESERIAL_USE_STL
@@ -262,7 +271,15 @@ class BLESerialServerCallbacks : public BLEServerCallbacks {
262271
public:
263272
explicit BLESerialServerCallbacks(BLESerial<T>* bleSerial) : bleSerial(bleSerial) {}
264273

274+
#if defined(BLESERIAL_USE_NIMBLE) && BLESERIAL_USE_NIMBLE
275+
# if defined(NIMBLE_VERSION_MAJOR) && NIMBLE_VERSION_MAJOR >= 2
276+
void onDisconnect(NimBLEServer* pServer, NimBLEConnInfo& connInfo, int reason) override
277+
# else // NIMBLE_VERSION_MAJOR >= 2
278+
void onDisconnect(NimBLEServer* pServer, ble_gap_conn_desc* desc) override
279+
# endif // NIMBLE_VERSION_MAJOR >= 2
280+
#else // BLESERIAL_USE_NIMBLE
265281
void onDisconnect(BLEServer* pServer) override
282+
#endif // BLESERIAL_USE_NIMBLE
266283
{
267284
auto* pAdvertising = pServer->getAdvertising();
268285
if (pAdvertising == nullptr) {
@@ -280,7 +297,15 @@ class BLESerialCharacteristicCallbacks : public BLECharacteristicCallbacks {
280297
public:
281298
explicit BLESerialCharacteristicCallbacks(BLESerial<T>* bleSerial) : bleSerial(bleSerial) {}
282299

300+
#if defined(BLESERIAL_USE_NIMBLE) && BLESERIAL_USE_NIMBLE
301+
# if defined(NIMBLE_VERSION_MAJOR) && NIMBLE_VERSION_MAJOR >= 2
302+
void onWrite(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo) override
303+
# else // NIMBLE_VERSION_MAJOR >= 2
304+
void onWrite(NimBLECharacteristic* pCharacteristic, ble_gap_conn_desc* desc) override
305+
# endif // NIMBLE_VERSION_MAJOR >= 2
306+
#else // BLESERIAL_USE_NIMBLE
283307
void onWrite(BLECharacteristic* pCharacteristic) override
308+
#endif // BLESERIAL_USE_NIMBLE
284309
{
285310
if (pCharacteristic != bleSerial->m_pRxCharacteristic) {
286311
return;

0 commit comments

Comments
 (0)