+ reverseAcceleration = false;
+}
+
+/**
+ * Calibrate. Purpose of this function is to calibrate
+ * accelerometer when stationary.
+ *
+ */
+void Accelerometer::calibrate(void) {
+ QFile file(kFileName);
+ if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) return;
+
+ unsigned int iteration;
+ iteration = 0;
+ QByteArray line;
+ QRegExp rx("([0-9-]+) ([0-9-]+) ([0-9-]+)");
+
+ do{
+ // Read data, parse with regular expressions and process it
+ line = file.readLine();
+ rx.indexIn(line);
+
+ int Sample_X = rx.cap(1).toInt();
+ int Sample_Y = rx.cap(2).toInt();
+ int Sample_Z = rx.cap(3).toInt();
+
+ sstatex += Sample_X; // Accumulate Samples
+ sstatey += Sample_Y; // for all axes.
+ sstatez += Sample_Z;
+
+ iteration++;
+ }while(iteration!=1024); // 1024 times
+
+ sstatex = sstatex>>10; // division by 1024
+ sstatey = sstatey>>10;
+ sstatez = sstatez>>10;
+
+ file.close();