This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
OTHER2017/wifi/EvalWiFiGround.h
2017-04-18 18:03:31 +02:00

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