Create BLE connect class and add derivatives (#979)

This commit is contained in:
h2zero authored and GitHub committed 2021-06-17 16:52:03 -05:00
1 parent d35cc03b49
commit 792807e6e5
4 files changed
+250 -157

No files matched your search

+38
View File
@@ -0,0 +1,38 @@
#ifndef zBLEConnect_h
#define zBLEConnect_h
#ifdef ESP32
# include "ArduinoJson.h"
# include "NimBLEDevice.h"
extern void pubBT(JsonObject& data);
class zBLEConnect {
public:
NimBLEClient* m_pClient;
TaskHandle_t m_taskHandle = nullptr;
zBLEConnect(NimBLEAddress& addr) { m_pClient = NimBLEDevice::createClient(addr); }
virtual ~zBLEConnect() { NimBLEDevice::deleteClient(m_pClient); }
virtual void publishData() {}
virtual NimBLERemoteCharacteristic* getCharacteristic(const NimBLEUUID& service, const NimBLEUUID& characteristic);
};
class LYWSD03MMC_connect : public zBLEConnect {
void notifyCB(NimBLERemoteCharacteristic* pChar, uint8_t* pData, size_t length, bool isNotify);
public:
LYWSD03MMC_connect(NimBLEAddress& addr) : zBLEConnect(addr) {}
void publishData() override;
};
class DT24_connect : public zBLEConnect {
std::vector<uint8_t> m_data;
void notifyCB(NimBLERemoteCharacteristic* pChar, uint8_t* pData, size_t length, bool isNotify);
public:
DT24_connect(NimBLEAddress& addr) : zBLEConnect(addr) {}
void publishData() override;
};
#endif //ESP32
#endif //zBLEConnect_h