qtmobility/examples/sensors/panorama/accelerometercontroller.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 11 Jun 2010 14:26:25 +0300
changeset 11 06b8e2af4411
child 14 6fbed849b4f4
permissions -rw-r--r--
Revision: 201021 Kit: 2010123



#include "inputcontroller.h"
#include "accelerometercontroller.h"
#include <QTime>
#include <QDebug>

AccelerometerController::AccelerometerController( ): TimedController(){}

void AccelerometerController::startSensor()
{
    m_accelerometer.connectToBackend();
    m_accelerometer.start();
    connect(&m_accelerometer, SIGNAL(readingChanged()), this, SLOT(update()));
    int dataRate = m_accelerometer.dataRate();
    m_interval = dataRate>0?1000/m_accelerometer.dataRate():20;
}

void AccelerometerController::stopSensor(){ m_accelerometer.stop();}

void AccelerometerController::update()
{
    qreal accX = m_accelerometer.reading()->x();
    qreal accY= m_accelerometer.reading()->y();
    m_dx = (int)(2*accX);
    m_dy= (int)(-2*accY);
    updateCoordinates();
}


void AccelerometerController::updateCoordinates(){
    m_x +=m_dx * m_delay / m_interval;
    m_y +=m_dy * m_delay / m_interval;
}