qtmobility/examples/sensors/panorama/accelerometercontroller.cpp
changeset 11 06b8e2af4411
child 14 6fbed849b4f4
equal deleted inserted replaced
8:71781823f776 11:06b8e2af4411
       
     1 
       
     2 
       
     3 #include "inputcontroller.h"
       
     4 #include "accelerometercontroller.h"
       
     5 #include <QTime>
       
     6 #include <QDebug>
       
     7 
       
     8 AccelerometerController::AccelerometerController( ): TimedController(){}
       
     9 
       
    10 void AccelerometerController::startSensor()
       
    11 {
       
    12     m_accelerometer.connectToBackend();
       
    13     m_accelerometer.start();
       
    14     connect(&m_accelerometer, SIGNAL(readingChanged()), this, SLOT(update()));
       
    15     int dataRate = m_accelerometer.dataRate();
       
    16     m_interval = dataRate>0?1000/m_accelerometer.dataRate():20;
       
    17 }
       
    18 
       
    19 void AccelerometerController::stopSensor(){ m_accelerometer.stop();}
       
    20 
       
    21 void AccelerometerController::update()
       
    22 {
       
    23     qreal accX = m_accelerometer.reading()->x();
       
    24     qreal accY= m_accelerometer.reading()->y();
       
    25     m_dx = (int)(2*accX);
       
    26     m_dy= (int)(-2*accY);
       
    27     updateCoordinates();
       
    28 }
       
    29 
       
    30 
       
    31 void AccelerometerController::updateCoordinates(){
       
    32     m_x +=m_dx * m_delay / m_interval;
       
    33     m_y +=m_dy * m_delay / m_interval;
       
    34 }
       
    35