initial commit

This commit is contained in:
2017-03-21 19:30:33 +01:00
parent 6961ca5b3a
commit 94b7e59953
8 changed files with 989 additions and 0 deletions

64
CSV.h Normal file
View File

@@ -0,0 +1,64 @@
#ifndef CSV_H
#define CSV_H
class CSV {
int row = 0;
const char sep = ';';
std::stringstream ss;
public:
void add(const OptStats& stats, const Floorplan::Ceilings& ceilings) {
ss << ++row << sep;
ss << stats.mac.asString() << sep;
ss << (stats.knownToMap() ? 1 : 0) << sep;
ss << stats.getEstErrorAvg() << sep;
ss << stats.getEstErrorMaxNeg().getError_db() << sep;
ss << stats.getEstErrorMaxPos().getError_db() << sep;
ss << stats.getEstPos().x << sep;
ss << stats.getEstPos().y << sep;
ss << stats.getEstPos().z << sep;
if (stats.knownToMap()) {
ss << stats.realPos.x << sep;
ss << stats.realPos.y << sep;
ss << stats.realPos.z << sep;
ss << stats.getRealEstDiff().length() << sep;
ss << ceilings.numCeilingsBetween(stats.realPos, stats.getEstPos()) << sep;
ss << stats.name << sep;
}
ss << "\n";
}
/** an AP that is known to the map, but unseen during fingerprinting [should not happen] */
void addUnseen(const MACAddress& mac) {
ss << ++row << sep;
ss << mac.asString() << sep;
ss << "AP_IN_MAP_BUT_UNSEEN_DURING_FINGERPRINTING" << sep;
ss << "\n";
}
/** ap is seen, but there are not enough fingerprints [should not happen] */
void addNotEnoughFingerprints(const OptStats& stats) {
ss << ++row << sep;
ss << stats.mac.asString() << sep;
ss << "NOT_ENOUGH_FINGERPRINTS" << sep;
}
void dump() {
std::cout << ss.str() << std::endl;
}
};
#endif // CSV_H