diff options
author | p2niemel <pia.s.niemela@nokia.com> | 2011-04-04 11:35:00 +0300 |
---|---|---|
committer | p2niemel <pia.s.niemela@nokia.com> | 2011-04-04 11:35:00 +0300 |
commit | 408c7e338856da044f2a0346756dfad05d9d1477 (patch) | |
tree | b498035ff9d392260600e0fc15acc928ea206d0c | |
parent | 2fdfc59c0b101efd0ebe12caccb902a4e1ebca8b (diff) |
QTMOBILITY-1385, first reading when sensor is started
-rw-r--r-- | plugins/sensors/meego/meegoorientationsensor.cpp | 33 | ||||
-rw-r--r-- | plugins/sensors/meego/meegoorientationsensor.h | 2 |
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; |