Merge branch 'master' of https://git.frank-ebner.de/FHWS/Indoor
This commit is contained in:
@@ -64,6 +64,10 @@ namespace NM {
|
||||
return _toBeWalkedDistance;
|
||||
}
|
||||
|
||||
void check() const {
|
||||
Assert::isFalse(numSteps == 0, "num Steps = 0 is currently not supported. must be >= 1");
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
// precalc
|
||||
|
||||
@@ -50,6 +50,9 @@ namespace NM {
|
||||
|
||||
ResultEntry getOne(const NavMeshWalkParams<Tria>& params) const {
|
||||
|
||||
// sanity checks
|
||||
params.check();
|
||||
|
||||
ResultEntry res;
|
||||
res.probability = 0;
|
||||
|
||||
@@ -94,6 +97,9 @@ namespace NM {
|
||||
|
||||
ResultList getMany(const NavMeshWalkParams<Tria>& params) const {
|
||||
|
||||
// sanity checks
|
||||
params.check();
|
||||
|
||||
ResultList res;
|
||||
|
||||
// to-be-walked distance;
|
||||
|
||||
@@ -50,6 +50,9 @@ namespace NM {
|
||||
|
||||
ResultEntry getOne(const NavMeshWalkParams<Tria>& params) {
|
||||
|
||||
// sanity checks
|
||||
params.check();
|
||||
|
||||
ResultEntry re;
|
||||
|
||||
static Distribution::Uniform<float> dHead(-0.10, +0.10, 1337);
|
||||
@@ -117,7 +120,12 @@ namespace NM {
|
||||
}
|
||||
|
||||
ResultList getMany(const NavMeshWalkParams<Tria>& params) {
|
||||
|
||||
// sanity checks
|
||||
params.check();
|
||||
|
||||
return {getOne(params)};
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -53,6 +53,9 @@ namespace NM {
|
||||
|
||||
ResultEntry getOne(const NavMeshWalkParams<Tria>& params) const {
|
||||
|
||||
// sanity checks
|
||||
params.check();
|
||||
|
||||
static Distribution::Normal<float> dDist(1.0, 0.4);
|
||||
static Distribution::Normal<float> dHead(0.0, 1.0);
|
||||
|
||||
@@ -106,6 +109,9 @@ namespace NM {
|
||||
|
||||
ResultList getMany(const NavMeshWalkParams<Tria>& params) const {
|
||||
|
||||
// sanity checks
|
||||
params.check();
|
||||
|
||||
static Distribution::Normal<float> dDist(1.0, 0.4);
|
||||
static Distribution::Normal<float> dHead(0.0, 1.0);
|
||||
|
||||
|
||||
@@ -52,6 +52,9 @@ namespace NM {
|
||||
|
||||
ResultEntry getOne(const NavMeshWalkParams<Tria>& params) {
|
||||
|
||||
// sanity checks
|
||||
params.check();
|
||||
|
||||
ResultEntry re;
|
||||
|
||||
// to-be-walked distance;
|
||||
@@ -103,7 +106,12 @@ namespace NM {
|
||||
}
|
||||
|
||||
ResultList getMany(const NavMeshWalkParams<Tria>& params) {
|
||||
|
||||
// sanity checks
|
||||
params.check();
|
||||
|
||||
return {getOne(params)};
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -156,16 +156,25 @@ namespace Offline {
|
||||
|
||||
while(!inp.eof() && !inp.bad()) {
|
||||
|
||||
// read the next line from the file
|
||||
// this ensures that we will not read beyond one line within the next steps
|
||||
std::string line;
|
||||
std::getline(inp, line);
|
||||
|
||||
// create a stream for the read line
|
||||
std::stringstream sline(line);
|
||||
|
||||
uint64_t ts;
|
||||
char delim;
|
||||
int idx = -1;
|
||||
std::string data;
|
||||
|
||||
inp >> ts;
|
||||
inp >> delim;
|
||||
inp >> idx;
|
||||
inp >> delim;
|
||||
inp >> data;
|
||||
// split the line
|
||||
sline >> ts;
|
||||
sline >> delim;
|
||||
sline >> idx;
|
||||
sline >> delim;
|
||||
sline >> data; // might be "" if there is no data
|
||||
|
||||
if (idx == (int)Sensor::WIFI) {parseWiFi(ts, data);}
|
||||
else if (idx == (int)Sensor::BEACON) {parseBeacons(ts, data);}
|
||||
@@ -267,6 +276,8 @@ namespace Offline {
|
||||
WiFiMeasurements wifi;
|
||||
Splitter s(data, sep);
|
||||
|
||||
//if (s.empty()) {return;}
|
||||
|
||||
// the -1 is due to some old files containing a trailing ";" resulting in one additional stray column
|
||||
for (size_t i = 0; i < s.size()-1; i += 3) {
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ public:
|
||||
|
||||
size_t size() const {return split.size();}
|
||||
|
||||
bool empty() const {return split.empty();}
|
||||
|
||||
private:
|
||||
|
||||
void build() {
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
|
||||
static inline std::string getDataFile(const std::string& name) {
|
||||
//return "/mnt/data/workspaces/Indoor/tests/data/" + name;
|
||||
return "/home/toni/Documents/programme/localization/Indoor/tests/data/" + name;
|
||||
return "/mnt/vm/paper/diss/code/Indoor/tests/data/" + name;
|
||||
//return "/home/toni/Documents/programme/localization/Indoor/tests/data/" + name;
|
||||
}
|
||||
|
||||
|
||||
|
||||
5
tests/data/fileReader1.txt
Normal file
5
tests/data/fileReader1.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
136731;0;1.6424103;2.4756012;14.106628
|
||||
136728;8;
|
||||
136731;1;0.5573883;2.0301208;9.57785
|
||||
136733;3;-0.8585968;-1.057785;-1.1313019
|
||||
136831;8;68c63a9f81f1;2422;-55;5ccf7fc40df3;2422;-66
|
||||
18
tests/sensors/offline/TestReader.cpp
Normal file
18
tests/sensors/offline/TestReader.cpp
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifdef WITH_TESTS
|
||||
|
||||
#include "../../Tests.h"
|
||||
|
||||
#include "../../../sensors/offline/FileReader.h"
|
||||
|
||||
TEST(FileReader, test1) {
|
||||
|
||||
std::string file = "/tmp/FirstTest.csv";//getDataFile("fileReader1.txt");
|
||||
Offline::FileReader reader(file);
|
||||
|
||||
int i = 0; (void) i;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user