qtmobility/plugins/sensors/maemo6/maemo6accelerometer.cpp
changeset 8 71781823f776
parent 5 453da2cfceef
child 11 06b8e2af4411
equal deleted inserted replaced
5:453da2cfceef 8:71781823f776
    58             QObject::connect(static_cast<AccelerometerSensorChannelInterface*>(m_sensorInterface), SIGNAL(dataAvailable(const XYZ&)), this, SLOT(slotDataAvailable(const XYZ&)));
    58             QObject::connect(static_cast<AccelerometerSensorChannelInterface*>(m_sensorInterface), SIGNAL(dataAvailable(const XYZ&)), this, SLOT(slotDataAvailable(const XYZ&)));
    59         else
    59         else
    60             qWarning() << "Unable to initialize accelerometer sensor.";
    60             qWarning() << "Unable to initialize accelerometer sensor.";
    61 
    61 
    62         // adding metadata
    62         // adding metadata
    63         addDataRate(100, 100); // 100Hz
    63         addDataRate(142, 142); // 142Hz
       
    64         sensor->setDataRate(142);
    64         //addDataRate(400, 400); // 400Hz
    65         //addDataRate(400, 400); // 400Hz
    65 
    66 
    66         // accuracy - or resolution???
    67         // accuracy - or resolution???
    67         // 2^8 = 256    256/2 - 1 = 127
    68         // 2^8 = 256    256/2 - 1 = 127
    68         addOutputRange(-2*GRAVITY_EARTH, 2*GRAVITY_EARTH, 2*GRAVITY_EARTH/127); // 2G
    69         addOutputRange(-2*GRAVITY_EARTH, 2*GRAVITY_EARTH, 2*GRAVITY_EARTH/127); // 2G
    75 
    76 
    76 void maemo6accelerometer::slotDataAvailable(const XYZ& data)
    77 void maemo6accelerometer::slotDataAvailable(const XYZ& data)
    77 {
    78 {
    78     // Convert from milli-Gs to meters per second per second
    79     // Convert from milli-Gs to meters per second per second
    79     // Using 1 G = 9.80665 m/s^2
    80     // Using 1 G = 9.80665 m/s^2
    80     qreal ax = - data.x() * GRAVITY_EARTH_THOUSANDTH;
    81     qreal ax = -data.x() * GRAVITY_EARTH_THOUSANDTH;
    81     qreal ay = - data.y() * GRAVITY_EARTH_THOUSANDTH;
    82     qreal ay = -data.y() * GRAVITY_EARTH_THOUSANDTH;
    82     qreal az = - data.z() * GRAVITY_EARTH_THOUSANDTH;
    83     qreal az = -data.z() * GRAVITY_EARTH_THOUSANDTH;
    83 
    84 
    84     m_reading.setX(ax);
    85     m_reading.setX(ax);
    85     m_reading.setY(ay);
    86     m_reading.setY(ay);
    86     m_reading.setZ(az);
    87     m_reading.setZ(az);
    87     //m_reading.setTimestamp(data.timestamp());
    88     //m_reading.setTimestamp(data.timestamp());
    88     m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
    89     m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
    89     newReadingAvailable();
    90     newReadingAvailable();
    90 }
    91 }
    91