diff options
author | Bernd Weimer <bweimer@blackberry.com> | 2013-04-02 18:53:03 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-04-09 09:05:55 +0200 |
commit | aac0603f0e49c99d146e00244b67d986eef52cdf (patch) | |
tree | 0bae20e1d41b672e1818a13640919eabd98045c7 /src/sensors | |
parent | 75d32c08365b671116eb66b9c9ef7d1aec883442 (diff) |
Added temperature property to pressure sensor
Many air pressure sensors provide their temperature, as well. This can
be used for temperature compensation for instance.
The pressure sensor API has been extended and a BlackBerry backend has
been implemented.
Change-Id: I188e1276dff74601d757d0a356b28b4fea4594bd
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
Diffstat (limited to 'src/sensors')
-rw-r--r-- | src/sensors/qpressuresensor.cpp | 27 | ||||
-rw-r--r-- | src/sensors/qpressuresensor.h | 4 | ||||
-rw-r--r-- | src/sensors/qpressuresensor_p.h | 3 | ||||
-rw-r--r-- | src/sensors/qsensor.cpp | 4 | ||||
-rw-r--r-- | src/sensors/qsensor.h | 1 |
5 files changed, 38 insertions, 1 deletions
diff --git a/src/sensors/qpressuresensor.cpp b/src/sensors/qpressuresensor.cpp index ea8a79bb..ca3a861f 100644 --- a/src/sensors/qpressuresensor.cpp +++ b/src/sensors/qpressuresensor.cpp @@ -79,6 +79,33 @@ void QPressureReading::setPressure(qreal pressure) d->pressure = pressure; } +/*! + \property QPressureReading::temperature + \brief The pressure sensor's temperature. + \since 5.2 + + The temperature is returned in degree Celsius. + This property, if supported, provides the pressure sensor die temperature. + Note that this temperature may be (and usually is) different than the temperature + reported from QAmbientTemperatureSensor. + Use QSensor::isFeatureSupported() with the QSensor::PressureSensorTemperature + flag to determine its availability. +*/ + +qreal QPressureReading::temperature() const +{ + return d->temperature; +} + +/*! + Sets the pressure sensor's temperature to \a temperature. + \since 5.2 +*/ +void QPressureReading::setTemperature(qreal temperature) +{ + d->temperature = temperature; +} + // ===================================================================== /*! diff --git a/src/sensors/qpressuresensor.h b/src/sensors/qpressuresensor.h index 50379b52..4df22899 100644 --- a/src/sensors/qpressuresensor.h +++ b/src/sensors/qpressuresensor.h @@ -51,10 +51,14 @@ class Q_SENSORS_EXPORT QPressureReading : public QSensorReading { Q_OBJECT Q_PROPERTY(qreal pressure READ pressure) + Q_PROPERTY(qreal temperature READ temperature) DECLARE_READING(QPressureReading) public: qreal pressure() const; void setPressure(qreal pressure); + + qreal temperature() const; + void setTemperature(qreal temperature); }; class Q_SENSORS_EXPORT QPressureFilter : public QSensorFilter diff --git a/src/sensors/qpressuresensor_p.h b/src/sensors/qpressuresensor_p.h index 1c74e7f1..f91b3bad 100644 --- a/src/sensors/qpressuresensor_p.h +++ b/src/sensors/qpressuresensor_p.h @@ -58,11 +58,12 @@ class QPressureReadingPrivate { public: QPressureReadingPrivate() - : pressure(0) + : pressure(0), temperature(0) { } qreal pressure; + qreal temperature; }; QT_END_NAMESPACE diff --git a/src/sensors/qsensor.cpp b/src/sensors/qsensor.cpp index 01a4f7b7..4b8ca2d5 100644 --- a/src/sensors/qsensor.cpp +++ b/src/sensors/qsensor.cpp @@ -242,6 +242,10 @@ void QSensorPrivate::init(const QByteArray &sensorType) \value AccelerationMode The backend supports switching the acceleration mode of the acceleromter with the QAccelerometer::accelerationMode property. + The features of QPressureSensor are: + + \value PressureSensorTemperature The backend provides the pressure sensor's die temperature + The features of all orientable sensors are: \value AxesOrientation The backend supports changing the axes orientation from the default of diff --git a/src/sensors/qsensor.h b/src/sensors/qsensor.h index 2314fb94..8512d4c6 100644 --- a/src/sensors/qsensor.h +++ b/src/sensors/qsensor.h @@ -107,6 +107,7 @@ public: AccelerationMode, SkipDuplicates, AxesOrientation, + PressureSensorTemperature, Reserved = 257 // Make sure at least 2 bytes are used for the enum to avoid breaking BC later }; |