Changes to 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 sstatex, sstatey, sstatez;
44
45     qreal getIntervalTime();
46
47 private slots:
48     void processData();
49     void smoothData(qreal x, qreal y, qreal z);
50
51 public:
52     Calculate *calculate;
53
54 private:
55     qreal accelerationX, accelerationY, accelerationZ;
56     qreal trueAccelerationX,trueAccelerationY,trueAccelerationZ;
57     qreal previousAccelerationX,previousAccelerationY,previousAccelerationZ;
58     qreal previousSpeed, currentSpeed;
59     qreal currentAcceleration, previousAcceleration, totalAcceleration;
60     QTime now;
61     QTimer *timer;
62     double intervalTime;
63     double totalTime;
64     double distanceTraveled,lastDistanceTraveled,averageSpeed;
65     double sampleRate;
66
67     bool reverseAcceleration;
68 };
69
70 #endif // ACCELEROMETER_H