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