Histogram implementation
This commit is contained in:
85
Manager.h
85
Manager.h
@@ -1,69 +1,68 @@
|
||||
#ifndef MANAGER_H
|
||||
#define MANAGER_H
|
||||
|
||||
#include <QDebug>
|
||||
#include <QObject>
|
||||
#include <QFile>
|
||||
|
||||
#include <array>
|
||||
#include <ostream>
|
||||
#include <map>
|
||||
|
||||
struct WifiRttResult {
|
||||
int success;
|
||||
std::string mac;
|
||||
int64_t timeMS;
|
||||
int distMM;
|
||||
int distStdDevMM;
|
||||
int numAttemptedMeas;
|
||||
int numSuccessfullMeas;
|
||||
int rssi;
|
||||
};
|
||||
|
||||
static QDebug operator<<(QDebug dbg, const WifiRttResult& v)
|
||||
{
|
||||
dbg << v.success << ";"
|
||||
<< QString::fromStdString(v.mac) << ";"
|
||||
<< v.timeMS << ";"
|
||||
<< v.distMM << ";"
|
||||
<< v.distStdDevMM << ";"
|
||||
<< v.numSuccessfullMeas << "/" << v.numAttemptedMeas << ";"
|
||||
<< v.rssi;
|
||||
return dbg;
|
||||
}
|
||||
|
||||
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;
|
||||
bool isRunning = false;
|
||||
|
||||
public:
|
||||
Q_PROPERTY(float uwbDist1 READ getUwbDist1() NOTIFY uwbDistChanged)
|
||||
Q_PROPERTY(float uwbDist2 READ getUwbDist2() NOTIFY uwbDistChanged)
|
||||
Q_PROPERTY(float uwbDist3 READ getUwbDist3() NOTIFY uwbDistChanged)
|
||||
Q_PROPERTY(float uwbDist4 READ getUwbDist4() NOTIFY uwbDistChanged)
|
||||
|
||||
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 bool trigger();
|
||||
Q_INVOKABLE void start();
|
||||
Q_INVOKABLE void stop();
|
||||
|
||||
Q_INVOKABLE int runTimeInMs() const;
|
||||
|
||||
Q_INVOKABLE void test();
|
||||
|
||||
Q_INVOKABLE void manualCheckpoint();
|
||||
|
||||
void onData(std::string str);
|
||||
void onWifiData(WifiRttResult result);
|
||||
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];}
|
||||
@@ -71,8 +70,8 @@ public:
|
||||
|
||||
signals:
|
||||
|
||||
void distChanged();
|
||||
void offsetChanged();
|
||||
void uwbDistChanged();
|
||||
void newDistMeas(int idx, int value);
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user