fixed baro
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user