X-Git-Url: http://git.maemo.org/git/?p=speedfreak;a=blobdiff_plain;f=Client%2Faccelerometer.cpp;h=9bfd904efb7544043a06035cc4766c5365197838;hp=8daf06f9ee867cf4b4b26749ca19c667714b8056;hb=69cb07ccffb899f28e122e1fe2ea1a94dce4a07a;hpb=b3a5eb6d32624331809fc985d9b7d83e97816968 diff --git a/Client/accelerometer.cpp b/Client/accelerometer.cpp index 8daf06f..9bfd904 100644 --- a/Client/accelerometer.cpp +++ b/Client/accelerometer.cpp @@ -3,6 +3,7 @@ * * @author Rikhard Kuutti * @author Kai Rasilainen + * @author Jukka Kurttila * @copyright (c) 2010 Speed Freak team * @license http://opensource.org/licenses/gpl-license.php GNU Public License */ @@ -14,6 +15,7 @@ #include #define kFilteringFactor 0.2 +#define kIterations 100 /** * Default constructor for Accelerometer class @@ -22,6 +24,7 @@ Accelerometer::Accelerometer() { initValues(); + calibrateDialog = NULL; } /** @@ -30,6 +33,8 @@ Accelerometer::Accelerometer() */ Accelerometer::~Accelerometer() { + if(calibrateDialog) + delete calibrateDialog; } /** @@ -56,7 +61,13 @@ void Accelerometer::calibrate(void) unsigned int iteration = 0; qreal sampleX, sampleY, sampleZ; + calibrateDialog = new CalibrateDialog(); + calibrateDialog->show(); + calibrateDialog->resetProgressValue(); + calibrateDialog->setMaxValue( kIterations + 1 ); + do { + calibrateDialog->setProgressValue(iteration); getAcceleration(sampleX, sampleY, sampleZ); @@ -66,11 +77,13 @@ void Accelerometer::calibrate(void) iteration++; - } while(iteration != 1024); // 1024 times + } while(iteration != kIterations); // kIterations times + + calibrationX = calibrationX/kIterations; // division by kIterations + calibrationY = calibrationY/kIterations; + calibrationZ = calibrationZ/kIterations; - calibrationX = calibrationX/1024; // division by 1024 - calibrationY = calibrationY/1024; - calibrationZ = calibrationZ/1024; + calibrateDialog->close(); } /**