X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=Client%2Faccelerometer.cpp;h=c2f0bab6fd04aa88fe3fa0383ded027aad093b8d;hb=7db3fabf2f976bb7f68b24ed852f4b8cc733c6a4;hp=049513516278fe603621dadf66f336f6a31baea3;hpb=418c218ef417574ba034cb26d65da388aba852d0;p=speedfreak diff --git a/Client/accelerometer.cpp b/Client/accelerometer.cpp index 0495135..c2f0bab 100644 --- a/Client/accelerometer.cpp +++ b/Client/accelerometer.cpp @@ -15,6 +15,7 @@ #include #define kFilteringFactor 0.2 +#define kIterations 1024 /** * Default constructor for Accelerometer class @@ -23,6 +24,7 @@ Accelerometer::Accelerometer() { initValues(); + calibrateDialog = NULL; } /** @@ -31,6 +33,8 @@ Accelerometer::Accelerometer() */ Accelerometer::~Accelerometer() { + if(calibrateDialog) + delete calibrateDialog; } /** @@ -57,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); @@ -67,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(); } /**