/*
* Calculate class to process accelerometer data
*
- * @author Kai Rasilainen
+ * @author Kai Rasilainen <kai.rasilainen@fudeco.com>
* @author Jukka Kurttila <jukka.kurttila@fudeco.com>
+ * @author Toni Jussila <toni.jussila@fudeco.com>
* @copyright (c) 2010 Speed Freak team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/
#include "calculate.h"
#include <math.h>
-
#include <QFile>
#include <QString>
#include <QTimer>
const double SECONDS_IN_HOUR = 3600;
const double AIR_DENSITY = 1.225;
const double WATTS_PER_HORSEPOWER = 745.69987158227025;
-
const double carFrontalArea = 1.5;
const double dragCoefficient = 0.31;
const int carWeight = 850;
+/**
+ * Default constructor for Calculate class.
+ */
Calculate::Calculate()
{
this->reset();
}
+/**
+ * Default destructor for Calculate class.
+ * Deletes all dynamic objects and sets them to NULL.
+ */
Calculate::~Calculate()
{
}
+/**
+ * This function reset all variables.
+ */
void Calculate::reset()
{
averageSpeed = 0;
speedCheckPoints.append(90);
speedCheckPoints.append(100);
}
-
checkPointCounter = 0;
checkPoint = speedCheckPoints[checkPointCounter];
valuesMap.clear();
-
}
-
/**
* This is a main function for calculating various parameters. Accelerometer
* provides currentAcceleration and calling function measures time (seconds).
* This function should be called 20-30 times/second to minimize
* calculation error.
-
- * To be added: ---
+ *
+ * @param double current acceleration
+ * @param double seconds
*/
void Calculate::calculateParameters(double currentAcceleration, double seconds)
{
* This function checks if acceleration has stopped for
* a short period of time. Velocity is set to zero to avoid
* distance errors.
+ *
+ * @param double current acceleration
*/
void Calculate::accelStoppedCheck(double currentAcceleration)
{
}
}
-// Getters and setters
-
+/**
+ * Get average speed.
+ *
+ * @return double average speed
+ */
double Calculate::getAverageSpeed()
{
return averageSpeed;
}
+/**
+ * Set average speed.
+ *
+ * @param double average speed
+ */
void Calculate::setAverageSpeed(double value)
{
averageSpeed = value;
}
+/**
+ * Get current speed.
+ *
+ * @return double current speed
+ */
double Calculate::getCurrentSpeed()
{
return currentSpeed;
}
+/**
+ * Set current speed.
+ *
+ * @param double current speed
+ */
void Calculate::setCurrentSpeed(double value)
{
currentSpeed = value;
}
+/**
+ * Get travelled distance.
+ *
+ * @return double travelled distance
+ */
double Calculate::getDistanceTraveled()
{
return distanceTraveled;
}
+/**
+ * Set travelled distance.
+ *
+ * @param double travelled distance
+ */
void Calculate::setDistanceTraveled(double value)
{
distanceTraveled = value;
}
+/**
+ * Get last acceleration.
+ *
+ * @return double last acceleration
+ */
double Calculate::getLastAcceleration()
{
return lastAcceleration;
}
+/**
+ * Set last acceleration.
+ *
+ * @param double last acceleration
+ */
void Calculate::setLastAcceleration(double value)
{
lastAcceleration = value;
}
+/**
+ * Get last distance.
+ *
+ * @return double last distance
+ */
double Calculate::getLastDistance()
{
return lastDistance;
}
+/**
+ * Set last distance.
+ *
+ * @param double last distance
+ */
void Calculate::setLastDistance(double value)
{
lastDistance = value;
}
+/**
+ * Get last speed.
+ *
+ * @return double last speed
+ */
double Calculate::getLastSpeed()
{
return lastSpeed;
}
+/**
+ * Set last speed.
+ *
+ * @param double last speed
+ */
void Calculate::setLastSpeed(double value)
{
lastSpeed = value;
}
+/**
+ * Get number of iterations.
+ *
+ * @return long number of iterations
+ */
long Calculate::getNumOfIterations()
{
return numOfIterations;
}
+/**
+ * Set number of iterations.
+ *
+ * @param long number of iterations
+ */
void Calculate::setNumOfIterations(long value)
{
numOfIterations = value;
}
+/**
+ * Get total time.
+ *
+ * @return double total time
+ */
double Calculate::getTotalTime()
{
return totalTime;
}
+/**
+ * Set total time.
+ *
+ * @param double total time
+ */
void Calculate::setTotalTime(double value)
{
totalTime = value;
}
+/**
+ * Get current power.
+ *
+ * @return double current power
+ */
double Calculate::getCurrentPower()
{
return currentPower;
}
+/**
+ * Set current power.
+ *
+ * @param double current power
+ */
void Calculate::setCurrentPower(double value)
{
currentPower = value;
}
+/**
+ * Get peek power.
+ *
+ * @return double peek power
+ */
double Calculate::getPeakPower()
{
return peakPower;
}
+/**
+ * Set peek power.
+ *
+ * @param double peek power
+ */
void Calculate::setPeakPower(double value)
{
peakPower = value;
}
+/**
+ * Get average power.
+ *
+ * @return double average power
+ */
double Calculate::getAveragePower()
{
if (numOfIterations > 0)
}
}
+/**
+ * Set average power.
+ *
+ * @param double average power
+ */
void Calculate::setAveragePower(double value)
{
averagePower = value;
}
+/**
+ * Get max speed.
+ *
+ * @return double max speed
+ */
double Calculate::getMaxSpeed()
{
return maxSpeed;
}
+/**
+ * Set max speed.
+ *
+ * @param double max speed
+ */
void Calculate::setMaxSpeed(double value)
{
maxSpeed = value;
}
+/**
+ * Get values map.
+ *
+ * @return QMap<int,double> values map.
+ */
QMap<int,double> Calculate::getValuesMap()
{
return valuesMap;