ec9a0d53c21628e9c4e62e0a4881e4c9ce9e9cd2
[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     void sendResult(double);
38
39 signals:
40     void sendresult(double);
41
42 private:
43     Ui::AccRealTimeDialog *ui;
44     void resetAccelerometerMeasurements();
45     ResultDialog* resultDialog;
46
47     QTimer *accelerometerTimer;
48     QTime elapsedTime;
49     Accelerometer* accelerometer;
50     Calculate *calculate;
51     MovingAverage* movingAverageZ;
52
53     int updateScreenCounter;
54     double accelerationStartThreshold;
55     double currentAcceleration;
56     double currentTime;
57     double previousTime;
58     double time;
59     double speed;
60     double stopMeasureSpeed;
61     bool vehicleStartedMoving;
62     bool isNewRun;
63
64     QString currentSpeed;
65     QString totalTime;
66 };
67
68 #endif // ACCREALTIMEDIALOG_H