Create BLE connect class and add derivatives (#979)
This commit is contained in:
1 parent
d35cc03b49
commit
792807e6e5
4 files changed
+250
-157
No files matched your search
@@ -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
|
||||
Reference in new issue
Block a user