sensorfw
sensors/contextplugin/stabilitybin.h
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