sensorfw
magnetometersensor.h
Go to the documentation of this file.
28#ifndef MAGNETOMETER_SENSOR_CHANNEL_H
29#define MAGNETOMETER_SENSOR_CHANNEL_H
30
31#include "abstractsensor.h"
32#include "abstractchain.h"
34#include "dataemitter.h"
35#include "deviceadaptor.h"
37
38class Bin;
39template <class TYPE> class BufferReader;
40class FilterBase;
41
46 public AbstractSensorChannel,
47 public DataEmitter<CalibratedMagneticFieldData>
48{
49 Q_OBJECT;
51
52public:
57 static AbstractSensorChannel* factoryMethod(const QString& id)
58 {
61
62 return sc;
63 }
64
65 Q_INVOKABLE void resetCalibration();
66
68 {
69 return MagneticField(prevMeasurement_);
70 }
71
72 virtual void removeSession(int sessionId);
73
74 virtual bool downsamplingSupported() const;
75
76public Q_SLOTS:
77 bool start();
78 bool stop();
79
80signals:
85 void dataAvailable(const MagneticField& data);
86 void internalData(const MagneticField& data);
87
88protected:
89 MagnetometerSensorChannel(const QString& id);
91
92 virtual bool setDataRange(const DataRange& range, int sessionId);
93
94private:
95 Bin* filterBin_;
96 Bin* marshallingBin_;
97 AbstractChain* magChain_;
98 FilterBase* scaleFilter_;
100 RingBuffer<CalibratedMagneticFieldData>* outputBuffer_;
101 CalibratedMagneticFieldData prevMeasurement_;
102 int scaleCoefficient_;
103 MagneticFieldDownsampleBuffer downsampleBuffer_;
104
105 void emitData(const CalibratedMagneticFieldData& value);
106};
107
108#endif // MAGNETOMETER_SENSOR_CHANNEL_H
Datatype for calibrated magnetometer measurements.
Datatype for storing sensor data range information.
Definition: datarange.h:46
QObject facade for CalibratedMagneticFieldData.
Definition: magneticfield.h:38
Sensor providing magnetic field measurements.
virtual bool setDataRange(const DataRange &range, int sessionId)
void dataAvailable(const MagneticField &data)
Sent when new measurement data has become available.
MagnetometerSensorChannel(const QString &id)
virtual ~MagnetometerSensorChannel()
MagneticField magneticField() const
void internalData(const MagneticField &data)
virtual void removeSession(int sessionId)
static AbstractSensorChannel * factoryMethod(const QString &id)
Factory method for MagnetometerSensorChannel.
virtual bool downsamplingSupported() const
Q_INVOKABLE void resetCalibration()
D-Bus adaptor for MagnetometerSensor.
Datatypes for different filters.