started to add ble functions

added ble as sensor to java and c++
added sensorlistener for ble
added ble to observation and onDataSensor in filter
started to work on ble fingerprints for optimization
This commit is contained in:
mail@toni-fetzer.de
2019-06-05 18:04:31 +02:00
parent b9b9d8f9ac
commit 20ae2f5c2a
23 changed files with 1341 additions and 1152 deletions

View File

@@ -19,82 +19,81 @@
* writes it to a file
*/
class SensorWriter :
public SensorListener<AccelerometerData>,
public SensorListener<GyroscopeData>,
public SensorListener<BarometerData>,
public SensorListener<AccelerometerData>,
public SensorListener<GyroscopeData>,
public SensorListener<BarometerData>,
// public SensorListener<ActivityData>,
// public SensorListener<StepData>,
// public SensorListener<TurnData>,
public SensorListener<WiFiMeasurements>,
public SensorListener<GPSData>,
public SensorListener<CompassData> {
public SensorListener<WiFiMeasurements>,
public SensorListener<GPSData>,
public SensorListener<CompassData> {
private:
Offline::FileWriter writer;
bool active = false;
Offline::FileWriter writer;
bool active = false;
public:
/** empty ctor */
SensorWriter() {
/** empty ctor */
SensorWriter() {
// attach as listener to all sensors we want to store
SensorFactory::get().getAccelerometer().addListener(this);
SensorFactory::get().getGyroscope().addListener(this);
SensorFactory::get().getBarometer().addListener(this);
// attach as listener to all sensors we want to store
SensorFactory::get().getAccelerometer().addListener(this);
SensorFactory::get().getGyroscope().addListener(this);
SensorFactory::get().getBarometer().addListener(this);
// SensorFactory::get().getActivity().addListener(this);
// SensorFactory::get().getSteps().addListener(this);
// SensorFactory::get().getTurns().addListener(this);
SensorFactory::get().getWiFi().addListener(this);
SensorFactory::get().getCompass().addListener(this);
SensorFactory::get().getGPS().addListener(this);
}
SensorFactory::get().getWiFi().addListener(this);
SensorFactory::get().getCompass().addListener(this);
SensorFactory::get().getGPS().addListener(this);
}
void start(const std::string& file) {
writer.open(file);
active = true;
}
void start(const std::string& file) {
writer.open(file);
active = true;
}
void stop() {
active = false;
writer.close();
}
void stop() {
active = false;
writer.close();
}
public:
virtual void onSensorData(Sensor<AccelerometerData>* , const Timestamp ts, const AccelerometerData& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<AccelerometerData>* , const Timestamp ts, const AccelerometerData& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<GyroscopeData>* , const Timestamp ts, const GyroscopeData& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<GyroscopeData>* , const Timestamp ts, const GyroscopeData& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<BarometerData>* , const Timestamp ts, const BarometerData& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<BarometerData>* , const Timestamp ts, const BarometerData& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<WiFiMeasurements>* , const Timestamp ts, const WiFiMeasurements& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<WiFiMeasurements>* , const Timestamp ts, const WiFiMeasurements& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<GPSData>* , const Timestamp ts, const GPSData& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<GPSData>* , const Timestamp ts, const GPSData& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<CompassData>* , const Timestamp ts, const CompassData& data) override {
if (!active) {return;}
writer.add(ts, data);
}
virtual void onSensorData(Sensor<CompassData>* , const Timestamp ts, const CompassData& data) override {
if (!active) {return;}
writer.add(ts, data);
}
};