78 lines
2.0 KiB
C++
78 lines
2.0 KiB
C++
#ifndef EVALWIFIGROUND_H
|
|
#define EVALWIFIGROUND_H
|
|
|
|
#include "Indoor/sensors/radio/setup/WiFiOptimizer.h"
|
|
#include "Indoor/sensors/radio/setup/WiFiFingerprint.h"
|
|
#include "Indoor/sensors/radio/setup/WiFiFingerprints.h"
|
|
#include "Indoor/sensors/radio/setup/WiFiOptimizer.h"
|
|
#include "Indoor/sensors/radio/model/WiFiModels.h"
|
|
|
|
#include "Indoor/sensors/radio/VAPGrouper.h"
|
|
#include "Indoor/sensors/offline/FileReader.h"
|
|
|
|
#include "Indoor/floorplan/v2/Floorplan.h"
|
|
#include "Indoor/floorplan/v2/FloorplanReader.h"
|
|
#include "Indoor/floorplan/v2/FloorplanHelper.h"
|
|
#include "Indoor/floorplan/v2/FloorplanCeilings.h"
|
|
|
|
#include <KLib/misc/gnuplot/Gnuplot.h>
|
|
#include <KLib/misc/gnuplot/GnuplotSplot.h>
|
|
#include <KLib/misc/gnuplot/GnuplotSplotElementPoints.h>
|
|
#include <KLib/misc/gnuplot/GnuplotSplotElementColorPoints.h>
|
|
#include <KLib/misc/gnuplot/GnuplotSplotElementLines.h>
|
|
#include <KLib/misc/gnuplot/GnuplotPlot.h>
|
|
#include <KLib/misc/gnuplot/GnuplotPlotElementHistogram.h>
|
|
|
|
#include <KLib/math/statistics/Statistics.h>
|
|
|
|
#include "../Structs.h"
|
|
#include "../plots/Plotty.h"
|
|
#include "../plots/PlotErrTime.h"
|
|
#include "../plots/PlotErrFunc.h"
|
|
#include "../plots/PlotWiFiGroundProb.h"
|
|
//#include "../CSV.h"
|
|
|
|
#include <unordered_set>
|
|
#include <thread>
|
|
|
|
class EvalWiFiGround {
|
|
|
|
private:
|
|
|
|
WiFiModel* mdl;
|
|
WiFiObserverFree* obs;
|
|
PlotWiFiGroundProb* groundProb;
|
|
|
|
public:
|
|
|
|
EvalWiFiGround(Floorplan::IndoorMap* map, const std::string calibModel) {
|
|
|
|
mdl = WiFiModelFactory(map).loadXML(calibModel);
|
|
obs = new WiFiObserverFree(8.0, *mdl);
|
|
groundProb = new PlotWiFiGroundProb(map);
|
|
|
|
}
|
|
|
|
void show(const std::string walkFile) {
|
|
|
|
Offline::FileReader reader(walkFile);
|
|
int cnt = 0;
|
|
|
|
for (const auto& entry : reader.getWiFiGroupedByTime()) {
|
|
const WiFiMeasurements& mes = entry.data;
|
|
groundProb->show(*obs, mes);
|
|
groundProb->plotMe();
|
|
//if (++cnt > 70) {break;}
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(2));
|
|
}
|
|
|
|
//groundProb->update();
|
|
groundProb->plotMe();
|
|
int i = 0; (void) i;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
#endif // EVALWIFIGROUND_H
|