sensorfw
|
00001 00027 #ifndef CALIBRATION_HANDLER 00028 #define CALIBRATION_HANDLER 00029 00030 #include <QObject> 00031 #include <QString> 00032 #include <QTimer> 00033 #include "datatypes/magneticfield.h" 00034 #include "magnetometersensor.h" 00035 00042 class CalibrationHandler : public QObject 00043 { 00044 Q_OBJECT 00045 Q_DISABLE_COPY(CalibrationHandler) 00046 00047 public: 00052 CalibrationHandler(QObject* parent = 0); 00053 00057 ~CalibrationHandler(); 00058 00064 bool initiateSession(); 00065 00066 public slots: 00070 void sampleReceived(const MagneticField&); 00071 00075 void stopCalibration(); 00076 00080 void resumeCalibration(); 00081 00082 private slots: 00086 void calibrationTimeout(); 00087 00088 private: 00089 static const QString SENSOR_NAME; 00091 MagnetometerSensorChannel* m_sensor; 00092 int m_sessionId; 00093 int m_level; 00094 QTimer m_timer; 00095 int m_calibRate; 00096 int m_calibTimeout; 00097 }; 00098 00099 #endif // CALIBRATION_HANDLER