sensorfw
declinationfilter.h
Go to the documentation of this file.
1 
27 #ifndef DECLINATIONFILTER_H
28 #define DECLINATIONFILTER_H
29 
30 #include <QObject>
31 #include <QAtomicInt>
33 #include "filter.h"
34 
38 class DeclinationFilter : public QObject, public Filter<CompassData, DeclinationFilter, CompassData>
39 {
40  Q_OBJECT;
41  Q_PROPERTY(int declinationCorrection READ declinationCorrection);
42 
43 public:
48  static FilterBase* factoryMethod()
49  {
50  return new DeclinationFilter();
51  }
52 
58 
59 private:
61 
62  void correct(unsigned, const CompassData*);
63 
64  void loadSettings();
65 
66  CompassData orientation_;
67  QAtomicInt declinationCorrection_;
68  quint64 lastUpdate_;
69  quint64 updateInterval_;
70 
71  static const char* declinationKey;
72 };
73 
74 #endif // DECLINATIONFILTER_H
Datatype for compass measurements.
Filter for calculating declination correction for Compass data.
static FilterBase * factoryMethod()
Factory method.
int declinationCorrection()
Holds the declination correction amount applied in the calculation.
Datatypes for different filters.