Fixed errors in accelerometer class
[speedfreak] / Client / accelerometer.h
1 #ifndef ACCELEROMETER_H
2 #define ACCELEROMETER_H
3
4 #include <QObject>
5 #include <QTime>
6 #include <QTimer>
7 #include <QFile>
8
9 #include "calculate.h"
10
11 class Accelerometer : public QObject
12 {
13     Q_OBJECT
14 public:
15     Accelerometer();
16     Accelerometer(int p_SampleRate);
17     ~Accelerometer();
18
19     void calibrate();
20
21     void start();
22     void stop();
23
24     void initValues();
25
26     void setSampleRate(int pSampleRate);
27     int getSampleRate();
28
29     qreal getTrueAccelerationX();
30     qreal getTrueAccelerationY();
31     qreal getTrueAccelerationZ();
32     qreal getPreviousSpeed();
33     qreal getCurrentSpeed();
34
35     qreal getDistanceTraveled();
36     qreal getLastDistanceTraveled();
37     qreal getAverageSpeed();
38
39     qreal getCurrentAcceleration();
40     qreal getTotalAcceleration();
41     qreal getPreviousTotalAcceleration();
42
43     int getCalibrationX();
44     int getCalibrationY();
45     int getCalibrationZ();
46
47     qreal getIntervalTime();
48     qreal getTotalTime();
49
50 private slots:
51     void processData();
52     void smoothData(qreal x, qreal y, qreal z);
53
54 private:
55     Calculate *calculate;
56
57     qreal accelerationX, accelerationY, accelerationZ;
58     qreal trueAccelerationX,trueAccelerationY,trueAccelerationZ;
59     qreal previousAccelerationX,previousAccelerationY,previousAccelerationZ;
60     qreal previousSpeed, currentSpeed;
61     qreal currentAcceleration, previousAcceleration, totalAcceleration;
62
63     int calibrationX, calibrationY, calibrationZ;
64
65     QTime now;
66     QTimer *timer;
67
68     double intervalTime;
69     double totalTime;
70     double distanceTraveled;
71     double lastDistanceTraveled;
72     double averageSpeed;
73     double sampleRate;
74
75     bool firstRun;
76 };
77
78 #endif // ACCELEROMETER_H
79