sensorfw
|
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