* Accelerometer class to access the device accelerometer
*
* @author Rikhard Kuutti <rikhard.kuutti@fudeco.com>
- * @author Kai Rasilainen
+ * @author Kai Rasilainen <kai.rasilainen@fudeco.com>
+ * @author Jukka Kurttila <jukka.kurttila@fudeco.com>
* @copyright (c) 2010 Speed Freak team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/
#define ACCELEROMETER_H
#include <QObject>
-#include <QTime>
-#include <QTimer>
-#include <QFile>
+#include "filereader.h"
#include "calculate.h"
+#include "calibratedialog.h"
class Accelerometer : public QObject
{
Q_OBJECT
public:
Accelerometer();
- Accelerometer(int p_SampleRate);
~Accelerometer();
+ void getAcceleration(qreal &x, qreal &y, qreal &z);
+ void smoothData(qreal &x, qreal &y, qreal &z);
void calibrate();
-
- void start();
- void stop();
-
void initValues();
- void setSampleRate(int pSampleRate);
- int getSampleRate();
-
- qreal getTrueAccelerationX();
- qreal getTrueAccelerationY();
- qreal getTrueAccelerationZ();
- qreal getPreviousSpeed();
- qreal getCurrentSpeed();
-
- qreal getDistanceTraveled();
- qreal getLastDistanceTraveled();
- qreal getAverageSpeed();
-
- qreal getCurrentAcceleration();
- qreal getTotalAcceleration();
- qreal getPreviousTotalAcceleration();
-
- int getCalibrationX();
- int getCalibrationY();
- int getCalibrationZ();
-
- qreal getIntervalTime();
- qreal getTotalTime();
-
-private slots:
- void processData();
- void smoothData(qreal x, qreal y, qreal z);
+ qreal getCalibrationX();
+ qreal getCalibrationY();
+ qreal getCalibrationZ();
private:
- Calculate *calculate;
-
- qreal accelerationX, accelerationY, accelerationZ;
- qreal trueAccelerationX,trueAccelerationY,trueAccelerationZ;
- qreal previousAccelerationX,previousAccelerationY,previousAccelerationZ;
- qreal previousSpeed, currentSpeed;
- qreal currentAcceleration, previousAcceleration, totalAcceleration;
+ qreal previousAccelerationX, previousAccelerationY, previousAccelerationZ;
+ qreal calibrationX, calibrationY, calibrationZ;
- int calibrationX, calibrationY, calibrationZ;
+ CalibrateDialog *calibrateDialog;
- QTime now;
- QTimer *timer;
+ filereader* fileReader;
- double intervalTime;
- double totalTime;
- double distanceTraveled;
- double lastDistanceTraveled;
- double averageSpeed;
- double sampleRate;
-
- bool firstRun;
};
#endif // ACCELEROMETER_H
-