+/*
+ * Acceleration info in real time dialog
+ *
+ * @author Jukka Kurttila <jukka.kurttila@fudeco.com>
+ * @copyright (c) 2010 Speed Freak team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ */
+
#include "accrealtimedialog.h"
#include "ui_accrealtimedialog.h"
#include <math.h>
updateScreenCounter = 0;
resetAccelerometerMeasurements();
- //Load image
- QPixmap pixMap("back.png",0,Qt::AutoColor);
- ui->pictureLabel->setPixmap(pixMap);
+ resultDialog = NULL;
}
AccRealTimeDialog::~AccRealTimeDialog()
delete accelerometerTimer;
delete calculate;
delete movingAverageZ;
+ if(resultDialog)
+ delete resultDialog;
}
void AccRealTimeDialog::changeEvent(QEvent *e)
y -= accelerometer->getCalibrationY();
z -= accelerometer->getCalibrationZ();
- QString str = QString("acc x: " + QString::number(x) + "\n" +
- "acc y: " + QString::number(y) + "\n" +
- "acc z: " + QString::number(z) + "\n");
+// QString str = QString("acc x: " + QString::number(x) + "\n" +
+// "acc y: " + QString::number(y) + "\n" +
+// "acc z: " + QString::number(z) + "\n");
currentAcceleration = z;//sqrt(x*x + y*y + z*z);
changeInAcceleration = currentAcceleration;
updateScreenCounter++;
//Open result dialog if target speed reached
- if( speed > stopMeasureSpeed )
+ if( (stopMeasureSpeed > 0) && (speed > stopMeasureSpeed) )
{
this->accelerometerTimer->stop();
+ if(!resultDialog)
+ {
+ resultDialog = new ResultDialog(this);
+ }
+ resultDialog->setEnd(stopMeasureSpeed);
+
+ //Put all times from all speeds
+ QMap<int,double> tempMap = calculate->getValuesMap();
+
+ for( int i = 1 ; i <= tempMap.count() ; i++ )
+ {
+ resultDialog->setValue(i*10,tempMap[i*10]);
+ }
+ resultDialog->show();
+ this->hide();
}
}
}
void AccRealTimeDialog::startAccelerationMeasure()
{
+ double temp = stopMeasureSpeed;
+ resetAccelerometerMeasurements();
+ stopMeasureSpeed = temp;
accelerometerTimer->start(40);
}
void AccRealTimeDialog::SetStopMeasureSpeed(double speed)