diff options
author | Lorn Potter <lorn.potter@jollamobile.com> | 2013-06-02 06:44:02 +1000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-06 09:38:03 +0200 |
commit | 07b86f3c2e8d400df0cdc70d0db3a6c1fb9bcca6 (patch) | |
tree | 1e7caac8fced8a3dbdbbdfde7729d68a970bdaf4 /src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp | |
parent | 4dca8393f1ea472cd9cc9b70bf2c6617c6e6355f (diff) |
fix build in OBS, as well as fixes for API changes.
Change-Id: I27eabe7c8b79e03d814deb541db5e7f0b5449099
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
Diffstat (limited to 'src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp')
-rw-r--r-- | src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp b/src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp index 9778b95c..e4afdd34 100644 --- a/src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp +++ b/src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp @@ -40,6 +40,8 @@ ****************************************************************************/ #include "sensorfwmagnetometer.h" +#include <QSensor> + char const * const SensorfwMagnetometer::id("sensorfw.magnetometer"); bool SensorfwMagnetometer::m_initDone = false; @@ -53,11 +55,14 @@ SensorfwMagnetometer::SensorfwMagnetometer(QSensor *sensor) setDescription(QLatin1String("magnetic flux density in teslas (T)")); setRanges(NANO); setReading<QMagnetometerReading>(&m_reading); + sensor->setDataRate(50);//set a default rate } void SensorfwMagnetometer::start() { - m_isGeoMagnetometer = sensor()->returnGeoValues(); + QMagnetometer *const magnetometer = qobject_cast<QMagnetometer *>(sensor()); + if (magnetometer) + m_isGeoMagnetometer = magnetometer->returnGeoValues(); SensorfwSensorBase::start(); } @@ -67,13 +72,13 @@ void SensorfwMagnetometer::slotDataAvailable(const MagneticField& data) m_reading.setX( NANO * (m_isGeoMagnetometer?data.x():data.rx())); m_reading.setY( NANO * (m_isGeoMagnetometer?data.y():data.ry())); m_reading.setZ( NANO * (m_isGeoMagnetometer?data.z():data.rz())); - m_reading.setCalibrationLevel( m_isGeoMagnetometer?((float) data.level()) / 3.0 :1); + m_reading.setCalibrationLevel(m_isGeoMagnetometer?((float) data.level()) / 3.0 :1); m_reading.setTimestamp(data.timestamp()); newReadingAvailable(); } -void SensorfwMagnetometer::slotFrameAvailable(const QVector<MagneticField>& frame) +void SensorfwMagnetometer::slotFrameAvailable(const QVector<MagneticField>& frame) { for (int i=0, l=frame.size(); i<l; i++) { slotDataAvailable(frame.at(i)); @@ -83,8 +88,10 @@ void SensorfwMagnetometer::slotFrameAvailable(const QVector<MagneticField>& fr bool SensorfwMagnetometer::doConnect() { if (m_bufferSize==1) - return QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(const MagneticField&)), this, SLOT(slotDataAvailable(const MagneticField&))); - return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(const QVector<MagneticField>& )),this, SLOT(slotFrameAvailable(const QVector<MagneticField>& ))); + return QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(const MagneticField&)), + this, SLOT(slotDataAvailable(const MagneticField&))); + return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(const QVector<MagneticField>& )), + this, SLOT(slotFrameAvailable(const QVector<MagneticField>& ))); } QString SensorfwMagnetometer::sensorName() const |