diff -r 000000000000 -r 876b1a06bc25 examples/sensors/panorama/magnetometercontroller.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/sensors/panorama/magnetometercontroller.cpp Wed Aug 25 15:49:42 2010 +0300 @@ -0,0 +1,34 @@ + + +#include "inputcontroller.h" +#include "magnetometercontroller.h" +#include "view.h" +#include + +MagnetometerController::MagnetometerController(): m_width(View::m_imageWidth){ + m_magnetometer.setProperty("returnGeoValues", true); + m_magnetometer.connectToBackend(); + m_magnetometer.start(); + connect(&m_magnetometer, SIGNAL(readingChanged()), this, SLOT(update())); +} + + +MagnetometerController::~MagnetometerController(){ + m_magnetometer.stop(); + disconnect(&m_magnetometer); +} + + +void MagnetometerController::update() +{ + qreal azimuth = -m_magnetometer.reading()->z(); + azimuth = azimuth<0?360+azimuth:azimuth; + m_x = (int)(-azimuth * m_width/360); + + + //TODO: consider provide y values based on x and y +} + + + +