#ifndef _BLEFINGERPRINT_ #define _BLEFINGERPRINT_ #include #include #include #include #include #include #include class BleFingerprint { public: BleFingerprint(BLEAdvertisedDevice *advertisedDevice, float initalDistance); void seen(BLEAdvertisedDevice *advertisedDevice); bool shouldReport(); StaticJsonDocument<512> report(); void setCalRssi(int rssi) { calRssi = rssi; } NimBLEAddress getAddress() { return address; } private: bool hasValue; NimBLEAddress address; String id, name, url; int rssi, calRssi; float raw; time_t firstSeen; time_t lastSeen; Reading> output; TimestampFilter tsFilter; one_euro_filter oneEuro{one_euro_filter(1, 0.01, 0.01, 1)}; DifferentialFilter diffFilter; }; #endif