Go to the documentation of this file.00001
00027 #ifndef STABILITY_BIN
00028 #define STABILITY_BIN
00029
00030 #include "bin.h"
00031 #include "bufferreader.h"
00032 #include "abstractchain.h"
00033 #include "datatypes/orientationdata.h"
00034
00035 #include "normalizerfilter.h"
00036 #include "cutterfilter.h"
00037 #include "avgvarfilter.h"
00038 #include "stabilityfilter.h"
00039
00040 #include <ContextProvider>
00041
00042 #include <QPair>
00043
00044 class DeviceAdaptor;
00045
00046 class StabilityBin : public QObject, Bin
00047 {
00048 Q_OBJECT
00049
00050 public:
00051 StabilityBin(ContextProvider::Service& service);
00052 ~StabilityBin();
00053
00054 private Q_SLOTS:
00055 void startRun();
00056 void stopRun();
00057
00058 private:
00059 ContextProvider::Property isStableProperty;
00060 ContextProvider::Property isShakyProperty;
00061 ContextProvider::Group group;
00062
00063 BufferReader<AccelerationData> accelerometerReader;
00064 DeviceAdaptor* accelerometerAdaptor;
00065
00066 NormalizerFilter normalizerFilter;
00067 CutterFilter cutterFilter;
00068 AvgVarFilter avgVarFilter;
00069 StabilityFilter stabilityFilter;
00070
00071 int sessionId;
00072
00073 static const int STABILITY_THRESHOLD;
00074 static const int UNSTABILITY_THRESHOLD;
00075 static const float STABILITY_HYSTERESIS;
00076 };
00077
00078
00079
00080 #endif