qtmobility/plugins/sensors/maemo6/maemo6accelerometer.cpp
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
--- a/qtmobility/plugins/sensors/maemo6/maemo6accelerometer.cpp	Fri Jun 11 14:26:25 2010 +0300
+++ b/qtmobility/plugins/sensors/maemo6/maemo6accelerometer.cpp	Wed Jun 23 19:08:38 2010 +0300
@@ -41,37 +41,34 @@
 
 #include "maemo6accelerometer.h"
 
-const char *maemo6accelerometer::id("maemo6.accelerometer");
+char const * const maemo6accelerometer::id("maemo6.accelerometer");
 bool maemo6accelerometer::m_initDone = false;
 
 maemo6accelerometer::maemo6accelerometer(QSensor *sensor)
     : maemo6sensorbase(sensor)
 {
-    setReading<QAccelerometerReading>(&m_reading);
-
-    if (!m_initDone) {
-        qDBusRegisterMetaType<XYZ>();
+    const QString sensorName = "accelerometersensor";
+    initSensor<AccelerometerSensorChannelInterface>(sensorName, m_initDone);
 
-        initSensor<AccelerometerSensorChannelInterface>("accelerometersensor");
-
-        if (m_sensorInterface)
-            QObject::connect(static_cast<AccelerometerSensorChannelInterface*>(m_sensorInterface), SIGNAL(dataAvailable(const XYZ&)), this, SLOT(slotDataAvailable(const XYZ&)));
-        else
-            qWarning() << "Unable to initialize accelerometer sensor.";
 
-        // adding metadata
-        addDataRate(142, 142); // 142Hz
-        sensor->setDataRate(142);
-        //addDataRate(400, 400); // 400Hz
+    if (m_sensorInterface){
+        if (!(QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(const XYZ&)),
+                               this, SLOT(slotDataAvailable(const XYZ&)))))
+            qWarning() << "Unable to connect "<< sensorName;
+    }
+    else
+        qWarning() << "Unable to initialize "<<sensorName;
 
-        // accuracy - or resolution???
-        // 2^8 = 256    256/2 - 1 = 127
-        addOutputRange(-2*GRAVITY_EARTH, 2*GRAVITY_EARTH, 2*GRAVITY_EARTH/127); // 2G
-        addOutputRange(-8*GRAVITY_EARTH, 8*GRAVITY_EARTH, 8*GRAVITY_EARTH/127); // 8G
-        setDescription(QLatin1String("Measures x, y, and z axes accelerations in m/s^2"));
+    setReading<QAccelerometerReading>(&m_reading);
+    // adding metadata
+    addDataRate(1, 130); // 130 Hz
+    //addDataRate(400, 400); // 400Hz
 
-        m_initDone = true;
-    }
+    // accuracy - or resolution???
+    // 2^8 = 256    256/2 - 1 = 127
+    addOutputRange(-2*GRAVITY_EARTH, 2*GRAVITY_EARTH, 2*GRAVITY_EARTH/127); // 2G
+    //addOutputRange(-8*GRAVITY_EARTH, 8*GRAVITY_EARTH, 8*GRAVITY_EARTH/127); // 8G
+    setDescription(QLatin1String("Measures x, y, and z axes accelerations in m/s^2"));
 }
 
 void maemo6accelerometer::slotDataAvailable(const XYZ& data)