sensorfw
|
00001 00027 #ifndef DECLINATIONFILTER_H 00028 #define DECLINATIONFILTER_H 00029 00030 #include <QObject> 00031 #include <QAtomicInt> 00032 #include "datatypes/orientationdata.h" 00033 #include "filter.h" 00034 00038 class DeclinationFilter : public QObject, public Filter<CompassData, DeclinationFilter, CompassData> 00039 { 00040 Q_OBJECT; 00041 Q_PROPERTY(int declinationCorrection READ declinationCorrection); 00042 00043 public: 00048 static FilterBase* factoryMethod() 00049 { 00050 return new DeclinationFilter(); 00051 } 00052 00057 int declinationCorrection(); 00058 00059 private: 00060 DeclinationFilter(); 00061 00062 void correct(unsigned, const CompassData*); 00063 00064 void loadSettings(); 00065 00066 CompassData orientation_; 00067 QAtomicInt declinationCorrection_; 00068 quint64 lastUpdate_; 00069 quint64 updateInterval_; 00070 00071 static const char* declinationKey; 00072 }; 00073 00074 #endif // DECLINATIONFILTER_H