Files
RTT/Manager.h

84 lines
2.1 KiB
C++

#ifndef MANAGER_H
#define MANAGER_H
#include <QObject>
#include <QFile>
class Manager : public QObject {
Q_OBJECT
private:
float _dist[4];
float _stdDev[4];
float _offset = 500;
float _uwbDist[4];
std::shared_ptr<QFile> dataLogger;
std::shared_ptr<QFile> uwbLogger;
std::shared_ptr<QFile> 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<uchar> 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