sensorfw
gyroscopesensor.h
Go to the documentation of this file.
1 
27 #ifndef GYROSCOPE_SENSOR_CHANNEL_H
28 #define GYROSCOPE_SENSOR_CHANNEL_H
29 
30 #include "abstractsensor.h"
31 #include "deviceadaptor.h"
32 
33 #include "gyroscopesensor_a.h"
34 #include "dataemitter.h"
35 
37 #include "datatypes/xyz.h"
38 
39 class Bin;
40 template <class TYPE> class BufferReader;
41 class FilterBase;
42 
44  public AbstractSensorChannel,
45  public DataEmitter<TimedXyzData>
46 {
47  Q_OBJECT;
48  Q_PROPERTY(XYZ value READ get);
49 
50 public:
55  static AbstractSensorChannel* factoryMethod(const QString& id)
56  {
59 
60  return sc;
61  }
62 
63  XYZ get() const { return previousSample_; }
64 
65 public Q_SLOTS:
66  bool start();
67  bool stop();
68 
69 signals:
70  void dataAvailable(const XYZ& data);
71 
72 protected:
73  GyroscopeSensorChannel(const QString& id);
75 
76 private:
77  Bin* filterBin_;
78  Bin* marshallingBin_;
79 
80  DeviceAdaptor* gyroscopeAdaptor_;
81  BufferReader<TimedXyzData>* gyroscopeReader_;
82  RingBuffer<TimedXyzData>* outputBuffer_;
83 
84  TimedXyzData previousSample_;
85 
86  void emitData(const TimedXyzData& value);
87 
88 };
89 
90 #endif // GYROSCOPE_SENSOR_CHANNEL_H
D-Bus adaptor for GyroscopeSensor.
static AbstractSensorChannel * factoryMethod(const QString &id)
Factory method for GyroscopeSensorChannel.
QObject based datatype for TimedXYZData.
void dataAvailable(const XYZ &data)
QObject facade for #TimedXYZData.
Definition: xyz.h:36
Datatypes for different filters.
Class for vector type measurement data (timestamp, x, y, z).
Definition: genericdata.h:52
GyroscopeSensorChannel(const QString &id)