summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorp2niemel <pia.s.niemela@nokia.com>2011-04-04 11:35:00 +0300
committerp2niemel <pia.s.niemela@nokia.com>2011-04-04 11:35:00 +0300
commit408c7e338856da044f2a0346756dfad05d9d1477 (patch)
treeb498035ff9d392260600e0fc15acc928ea206d0c
parent2fdfc59c0b101efd0ebe12caccb902a4e1ebca8b (diff)
QTMOBILITY-1385, first reading when sensor is started
-rw-r--r--plugins/sensors/meego/meegoorientationsensor.cpp33
-rw-r--r--plugins/sensors/meego/meegoorientationsensor.h2
2 files changed, 24 insertions, 11 deletions
diff --git a/plugins/sensors/meego/meegoorientationsensor.cpp b/plugins/sensors/meego/meegoorientationsensor.cpp
index 311945542b..ced6dc0905 100644
--- a/plugins/sensors/meego/meegoorientationsensor.cpp
+++ b/plugins/sensors/meego/meegoorientationsensor.cpp
@@ -53,19 +53,19 @@ meegoorientationsensor::meegoorientationsensor(QSensor *sensor)
setReading<QOrientationReading>(&m_reading);
}
+
+void meegoorientationsensor::start(){
+ Unsigned data = ((OrientationSensorChannelInterface*)m_sensorInterface)->orientation();
+ m_reading.setOrientation(meegoorientationsensor::getOrientation(data.x()));
+ m_reading.setTimestamp(data.UnsignedData().timestamp_);
+ newReadingAvailable();
+ meegosensorbase::start();
+}
+
+
void meegoorientationsensor::slotDataAvailable(const Unsigned& data)
{
- QOrientationReading::Orientation o;
- switch (data.x()) {
- case PoseData::BottomDown: o = QOrientationReading::TopUp; break;
- case PoseData::BottomUp: o = QOrientationReading::TopDown; break;
- case PoseData::LeftUp: o = QOrientationReading::LeftUp; break;
- case PoseData::RightUp: o = QOrientationReading::RightUp; break;
- case PoseData::FaceUp: o = QOrientationReading::FaceUp; break;
- case PoseData::FaceDown: o = QOrientationReading::FaceDown; break;
- default: o = QOrientationReading::Undefined;
- }
- m_reading.setOrientation(o);
+ m_reading.setOrientation(meegoorientationsensor::getOrientation(data.x()));
m_reading.setTimestamp(data.UnsignedData().timestamp_);
newReadingAvailable();
}
@@ -82,3 +82,14 @@ const QString meegoorientationsensor::sensorName(){
return "orientationsensor";
}
+QOrientationReading::Orientation meegoorientationsensor::getOrientation(int orientation){
+ switch (orientation) {
+ case PoseData::BottomDown: return QOrientationReading::TopUp;
+ case PoseData::BottomUp: return QOrientationReading::TopDown;
+ case PoseData::LeftUp: return QOrientationReading::LeftUp;
+ case PoseData::RightUp: return QOrientationReading::RightUp;
+ case PoseData::FaceUp: return QOrientationReading::FaceUp;
+ case PoseData::FaceDown: return QOrientationReading::FaceDown;
+ }
+ return QOrientationReading::Undefined;
+}
diff --git a/plugins/sensors/meego/meegoorientationsensor.h b/plugins/sensors/meego/meegoorientationsensor.h
index ef167849d0..84fec37aa6 100644
--- a/plugins/sensors/meego/meegoorientationsensor.h
+++ b/plugins/sensors/meego/meegoorientationsensor.h
@@ -60,6 +60,8 @@ public:
protected:
virtual bool doConnect();
virtual const QString sensorName();
+ virtual void start();
+ static QOrientationReading::Orientation getOrientation(int orientation);
private:
QOrientationReading m_reading;