sensorfw
compasssensor.h
Go to the documentation of this file.
1 
28 #ifndef COMPASS_SENSOR_CHANNEL_H
29 #define COMPASS_SENSOR_CHANNEL_H
30 
31 #include "abstractsensor.h"
32 #include "abstractchain.h"
33 #include "compasssensor_a.h"
34 #include "dataemitter.h"
35 #include "orientationdata.h"
36 #include "datatypes/compass.h"
37 
38 class Bin;
39 class CompassAdaptor;
40 template <class TYPE> class BufferReader;
41 class FilterBase;
42 
50  public AbstractSensorChannel,
51  public DataEmitter<CompassData>
52 {
53  Q_OBJECT;
54 
55  Q_PROPERTY(quint16 declinationvalue READ declinationValue);
56  Q_PROPERTY(Compass value READ get);
57 
58 public:
59  static AbstractSensorChannel* factoryMethod(const QString& id)
60  {
63 
64  return sc;
65  }
66 
67  quint16 declinationValue() const;
68 
69  Compass get() const { return compassData; }
70 
71 public Q_SLOTS:
72  bool start();
73  bool stop();
74 
75 signals:
76  void dataAvailable(const Compass& value);
77 
78 protected:
79  CompassSensorChannel(const QString& id);
81 
82 private:
83  CompassData compassData;
84 
85  Bin* filterBin_;
86  Bin* marshallingBin_;
87 
88  AbstractChain* compassChain_;
89  BufferReader<CompassData>* inputReader_;
90  RingBuffer<CompassData>* outputBuffer_;
91 
92  void emitData(const CompassData& value);
93 };
94 
95 #endif
Datatype for compass measurements.
Logical sensor for measuring compass direction using magnetometer and accelerometer sensors.
Definition: compasssensor.h:52
quint16 declinationValue() const
static AbstractSensorChannel * factoryMethod(const QString &id)
Definition: compasssensor.h:59
void dataAvailable(const Compass &value)
Compass get() const
Definition: compasssensor.h:69
virtual ~CompassSensorChannel()
CompassSensorChannel(const QString &id)
QObject facade for CompassData.
Definition: compass.h:38
QObject based datatype for CompassData.
D-Bus adaptor for CompassSensor.
Datatypes for different filters.