Files
nuki_hub/PresenceDetection.h
2022-04-05 22:35:20 +02:00

39 lines
740 B
C++

#pragma once
#include "BleScanner.h"
#include "BleInterfaces.h"
#include "Network.h"
struct PdDevice
{
char address[18] = {0};
char name[30] = {0};
unsigned long timestamp;
};
#define presence_detection_buffer_size 4096
class PresenceDetection : public BLEScannerSubscriber
{
public:
PresenceDetection(BleScanner* bleScanner, Network* network);
virtual ~PresenceDetection();
void initialize();
void update();
void onResult(NimBLEAdvertisedDevice* advertisedDevice) override;
private:
void buildCsv(const PdDevice& device);
BleScanner* _bleScanner;
Network* _network;
char* _csv = {0};
std::map<long long, PdDevice> _devices;
uint _timeout = 20000;
int _csvIndex = 0;
};