X-Git-Url: http://git.maemo.org/git/?p=speedfreak;a=blobdiff_plain;f=Client%2Faccelerometer.h;fp=Client%2Faccelerometer.h;h=2de12a792bc80e9be92cb28191eda2c390aa2884;hp=0000000000000000000000000000000000000000;hb=b7e5e4f21ee31476d5b9d3ceb3b7070b7f6e7101;hpb=b71570cc3d374a4af2007cdc8c453c421b04af5f;ds=sidebyside diff --git a/Client/accelerometer.h b/Client/accelerometer.h new file mode 100644 index 0000000..2de12a7 --- /dev/null +++ b/Client/accelerometer.h @@ -0,0 +1,57 @@ +#ifndef ACCELEROMETER_H +#define ACCELEROMETER_H + +#include +#include +#include + +class Accelerometer : public QObject +{ + Q_OBJECT +public: + Accelerometer(); + ~Accelerometer(); + + 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(); + + qreal getintervalTime(); + +private slots: + void processData(); + void smoothData(qreal x, qreal y, qreal z); + +private: + qreal accelerationX, accelerationY, accelerationZ; + qreal trueAccelerationX,trueAccelerationY,trueAccelerationZ; + qreal previousAccelerationX,previousAccelerationY,previousAccelerationZ; + qreal previousSpeed, currentSpeed; + qreal currentAcceleration, previousAcceleration, totalAcceleration; + QTime now; + QTimer *timer; + double intervalTime; + double totalTime; + double distanceTraveled,lastDistanceTraveled,averageSpeed; + double sampleRate; +}; + +#endif // ACCELEROMETER_H