Route and Results buttons updated.
[speedfreak] / Client / accelerometer.cpp
index 0495135..9bfd904 100644 (file)
@@ -15,6 +15,7 @@
 #include <QDBusPendingReply>
 
 #define kFilteringFactor 0.2
+#define kIterations      100
 
 /**
  * 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();
 }
 
 /**