#ifndef MANAGER_H #define MANAGER_H #include #include class Manager : public QObject { Q_OBJECT private: float _dist[4]; float _stdDev[4]; float _offset = 500; float _uwbDist[4]; std::shared_ptr dataLogger; std::shared_ptr uwbLogger; std::shared_ptr gtLogger; public: Q_PROPERTY(float dist1 READ getDist1() NOTIFY distChanged) Q_PROPERTY(float dist2 READ getDist2() NOTIFY distChanged) Q_PROPERTY(float dist3 READ getDist3() NOTIFY distChanged) Q_PROPERTY(float dist4 READ getDist4() NOTIFY distChanged) Q_PROPERTY(float stdDev1 READ getStdDev1() NOTIFY distChanged) Q_PROPERTY(float stdDev2 READ getStdDev2() NOTIFY distChanged) Q_PROPERTY(float stdDev3 READ getStdDev3() NOTIFY distChanged) Q_PROPERTY(float stdDev4 READ getStdDev4() NOTIFY distChanged) // FTM offset Q_PROPERTY(float offset READ getOffset() WRITE setOffset() NOTIFY offsetChanged) Q_PROPERTY(float uwbDist1 READ getUwbDist1() NOTIFY distChanged) Q_PROPERTY(float uwbDist2 READ getUwbDist2() NOTIFY distChanged) Q_PROPERTY(float uwbDist3 READ getUwbDist3() NOTIFY distChanged) Q_PROPERTY(float uwbDist4 READ getUwbDist4() NOTIFY distChanged) Q_INVOKABLE void trigger(); Q_INVOKABLE void stop(); Q_INVOKABLE void manualCheckpoint(); void onData(std::string str); void onUWBData(std::vector data); public: float getDist1() {return _dist[0];} float getDist2() {return _dist[1];} float getDist3() {return _dist[2];} float getDist4() {return _dist[3];} float getStdDev1() {return _stdDev[0];} float getStdDev2() {return _stdDev[1];} float getStdDev3() {return _stdDev[2];} float getStdDev4() {return _stdDev[3];} float getOffset() {return _offset;} void setOffset(float value) { _offset = value; emit offsetChanged(); } float getUwbDist1() {return _uwbDist[0];} float getUwbDist2() {return _uwbDist[1];} float getUwbDist3() {return _uwbDist[2];} float getUwbDist4() {return _uwbDist[3];} signals: void distChanged(); void offsetChanged(); public: Manager(); }; #endif // MANAGER_H