initial commit before ownership transfer
This commit is contained in:
46
code/frank/WiFiSensorReader.h
Executable file
46
code/frank/WiFiSensorReader.h
Executable file
@@ -0,0 +1,46 @@
|
||||
#ifndef WIFISENSORREADER_H
|
||||
#define WIFISENSORREADER_H
|
||||
|
||||
#include "../SensorReader.h"
|
||||
#include "WiFiObservation.h"
|
||||
|
||||
#include <cassert>
|
||||
|
||||
class WiFiSensorReader {
|
||||
|
||||
public:
|
||||
|
||||
/** get wifi observation data from one CSV entry */
|
||||
static WiFiObservation readWifi(const SensorEntry& se) {
|
||||
|
||||
std::string tmp = se.data;
|
||||
WiFiObservation obs;
|
||||
|
||||
// process all APs
|
||||
while(!tmp.empty()) {
|
||||
|
||||
std::string mac = tmp.substr(0, 17);
|
||||
tmp = tmp.substr(17);
|
||||
assert(tmp[0] == ';'); tmp = tmp.substr(1);
|
||||
|
||||
std::string freq = tmp.substr(0, 4);
|
||||
tmp = tmp.substr(4);
|
||||
assert(tmp[0] == ';'); tmp = tmp.substr(1);
|
||||
|
||||
int pos = tmp.find(';');
|
||||
std::string rssi = tmp.substr(0, pos);
|
||||
tmp = tmp.substr(pos);
|
||||
assert(tmp[0] == ';'); tmp = tmp.substr(1);
|
||||
|
||||
WiFiObservationEntry e(se.ts, mac, std::stoi(freq), std::stoi(rssi));
|
||||
obs.entries.push_back(e);
|
||||
|
||||
}
|
||||
|
||||
return obs;
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // WIFISENSORREADER_H
|
||||
Reference in New Issue
Block a user