fixed baro

This commit is contained in:
toni
2016-10-01 10:34:58 +02:00
parent 833327bafd
commit 04f98f62d7
6 changed files with 38 additions and 15 deletions

View File

@@ -2,13 +2,15 @@
#define BAROMETERACTIVITYSENSOR_H
#include <Indoor/sensors/pressure/ActivityButterPressure.h>
#include <Indoor/misc/Debug.h>
#include "BarometerSensor.h"
#include "AccelerometerSensor.h"
#include <iostream>
struct ActivityData {
const ActivityButterPressure::Activity curActivity;
ActivityButterPressure::Activity curActivity;
ActivityData(const ActivityButterPressure::Activity act) : curActivity(act) {;}
ActivityData() : curActivity(ActivityButterPressure::Activity::STAY) {;}
};
/**
@@ -22,10 +24,13 @@ class ActivitySensor :
private:
ActivityButterPressure act;
ActivityData data;
BarometerSensor& baro;
AccelerometerSensor& acc;
int waitCnt = 0;
public:
ActivitySensor(BarometerSensor& baro, AccelerometerSensor& acc) : baro(baro), acc(acc) {
@@ -35,6 +40,7 @@ public:
virtual void start() override {
// not needed
waitCnt = 400; //sec
}
virtual void stop() override {
@@ -47,8 +53,16 @@ public:
virtual void onSensorData(Sensor<BarometerData>* sensor, const Timestamp ts, const BarometerData& data) override {
(void) sensor;
const ActivityButterPressure::Activity curAct = act.add(ts, data);
informListeners(ts, ActivityData(curAct));
//ignore the first 10sec of barometer
if(waitCnt > 0){
--waitCnt;
return;
}
this->data.curActivity = act.add(ts, data);
informListeners(ts, this->data);
}
virtual void onSensorData(Sensor<AccelerometerData>* sensor, const Timestamp ts, const AccelerometerData& data) override {