Merge branch 'feature/cleaning'
[speedfreak] / Client / accrealtimedialog.h
1 /*
2  * Acceleration info in real time dialog
3  *
4  * @author      Jukka Kurttila <jukka.kurttila@fudeco.com>
5  * @copyright   (c) 2010 Speed Freak team
6  * @license     http://opensource.org/licenses/gpl-license.php GNU Public License
7  */
8 #ifndef ACCREALTIMEDIALOG_H
9 #define ACCREALTIMEDIALOG_H
10
11 #include <QDialog>
12 #include <QTimer>
13 #include "accelerometer.h"
14 #include "movingaverage.h"
15 #include "resultdialog.h"
16
17
18 namespace Ui {
19     class AccRealTimeDialog;
20 }
21
22 class AccRealTimeDialog : public QDialog {
23     Q_OBJECT
24 public:
25     AccRealTimeDialog(QWidget *parent = 0);
26     ~AccRealTimeDialog();
27     void Calibrate();
28     void startAccelerationMeasure();
29     void SetStopMeasureSpeed(double speed);
30
31 protected:
32     void changeEvent(QEvent *e);
33
34 private slots:
35     void on_buttonAbort_clicked();
36     void readAccelerometerData();
37
38 private:
39     Ui::AccRealTimeDialog *ui;
40     void resetAccelerometerMeasurements();
41
42     QTimer *accelerometerTimer;
43     QTime elapsedTime;
44     Accelerometer* accelerometer;
45     Calculate *calculate;
46     MovingAverage* movingAverageZ;
47     ResultDialog* resultDialog;
48
49     int updateScreenCounter;
50     double accelerationStartThreshold;
51     double currentAcceleration;
52     double currentTime;
53     double previousTime;
54     double time;
55     double speed;
56     double stopMeasureSpeed;
57     bool vehicleStartedMoving;
58     bool isNewRun;
59
60     QString currentSpeed;
61     QString totalTime;
62 };
63
64 #endif // ACCREALTIMEDIALOG_H