Youtube video and text (draft).
[speedfreak] / Client / calculate.h
index 421990f..0100502 100644 (file)
@@ -1,8 +1,19 @@
+/*
+ * Calculate class to process accelerometer data
+ *
+ * @author      Kai Rasilainen
+ * @author      Jukka Kurttila <jukka.kurttila@fudeco.com>
+ * @copyright   (c) 2010 Speed Freak team
+ * @license     http://opensource.org/licenses/gpl-license.php GNU Public License
+ */
+
 #ifndef CALCULATE_H
 #define CALCULATE_H
 
 #include <QObject>
 #include <QTime>
+#include <QList>
+#include <QMap>
 
 class Calculate : public QObject
 {
@@ -15,6 +26,7 @@ public:
     void reset();
     void calculateParameters(double currentAcceleration, double seconds);
     void accelStoppedCheck(double currentAcceleration);
+    QMap<int,double> getValuesMap();
 
     double getAverageSpeed();
     void setAverageSpeed(double value);
@@ -43,17 +55,40 @@ public:
     double getTotalTime();
     void setTotalTime(double value);
 
+    double getCurrentPower();
+    void setCurrentPower(double value);
+
+    double getPeakPower();
+    void setPeakPower(double value);
+
+    double getAveragePower();
+    void setAveragePower(double value);
+
+    double getMaxSpeed();
+    void setMaxSpeed(double value);
+
 private:
     double averageSpeed;
     double currentSpeed;
+    double maxSpeed;
     double distanceTraveled;
     double lastAcceleration;
-    double lastCheckpoint;
     double lastDistance;
     double lastSpeed;
+    double checkPoint;
     long numOfIterations;
     double totalTime;
     int count;
+    int checkPointCounter;
+    double peakPower;
+    double currentPower;
+    double averagePower;
+    QList<int> speedCheckPoints;
+
+    QMap<int,double> valuesMap;
+
+signals:
+    void checkPointReached(double totalTime, double currentSpeed);
 
 };