Youtube video and text (draft).
[speedfreak] / Client / calculate.h
index db86aed..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
 {
@@ -13,47 +24,71 @@ public:
     ~Calculate();
 
     void reset();
-    void CalculateParameters(double currentAcceleration, double seconds);
+    void calculateParameters(double currentAcceleration, double seconds);
     void accelStoppedCheck(double currentAcceleration);
+    QMap<int,double> getValuesMap();
+
+    double getAverageSpeed();
+    void setAverageSpeed(double value);
+
+    double getCurrentSpeed();
+    void setCurrentSpeed(double value);
+
+    double getDistanceTraveled();
+    void setDistanceTraveled(double value);
 
-    double AverageSpeed();
-    void AverageSpeed(double value);
+    double getLastAcceleration();
+    void setLastAcceleration(double value);
 
-    double CurrentSpeed();
-    void CurrentSpeed(double value);
+    double getLastCheckpoint();
+    void setLastCheckpoint(double value);
 
-    double DistanceTraveled();
-    void DistanceTraveled(double value);
+    double getLastDistance();
+    void setLastDistance(double value);
 
-    double LastAcceleration();
-    void LastAcceleration(double value);
+    double getLastSpeed();
+    void setLastSpeed(double value);
 
-    double LastCheckpoint();
-    void LastCheckpoint(double value);
+    long getNumOfIterations();
+    void setNumOfIterations(long value);
 
-    double LastDistance();
-    void LastDistance(double value);
+    double getTotalTime();
+    void setTotalTime(double value);
 
-    double LastSpeed();
-    void LastSpeed(double value);
+    double getCurrentPower();
+    void setCurrentPower(double value);
 
-    long NumOfIterations();
-    void NumOfIterations(long value);
+    double getPeakPower();
+    void setPeakPower(double value);
 
-    double TotalTime();
-    void TotalTime(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);
 
 };