diff options
author | Bernd Weimer <bweimer@blackberry.com> | 2013-04-09 11:33:42 +0200 |
---|---|---|
committer | Bernd Weimer <bweimer@blackberry.com> | 2013-04-11 10:31:19 +0200 |
commit | ed79c9aeabbb58bb06a7c292c746c9ebd1d67b21 (patch) | |
tree | 395287e0ede6a599e568b3b56e470a4c9a80f296 | |
parent | ee16280e94172c1a12330fb05555e944e145d934 (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. This is a backport of qt5/qtsensors: aac0603
Change-Id: I5f5fa7b5fbd250fbf3fe6d16d00a55d9694404d9
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
-rw-r--r-- | plugins/declarative/sensors/sensors.cpp | 5 | ||||
-rw-r--r-- | plugins/sensors/blackberry/bbpressuresensor.cpp | 1 | ||||
-rw-r--r-- | src/sensors/qpressuresensor.cpp | 22 | ||||
-rw-r--r-- | src/sensors/qpressuresensor.h | 4 | ||||
-rw-r--r-- | src/sensors/qpressuresensor_p.h | 3 |
5 files changed, 34 insertions, 1 deletions
diff --git a/plugins/declarative/sensors/sensors.cpp b/plugins/declarative/sensors/sensors.cpp index 05239b5c01..e2420fd35d 100644 --- a/plugins/declarative/sensors/sensors.cpp +++ b/plugins/declarative/sensors/sensors.cpp @@ -1127,6 +1127,11 @@ Q_EXPORT_PLUGIN2(qsensorsdeclarativemodule, QT_PREPEND_NAMESPACE(QSensorsDeclara */ /*! + \qmlproperty qreal PressureReading::temperature + Please see QPressureReading::temperature for information about this property. +*/ + +/*! \qmlclass HolsterSensor QHolsterSensor \ingroup qml-sensors_type \since Mobility 1.3 diff --git a/plugins/sensors/blackberry/bbpressuresensor.cpp b/plugins/sensors/blackberry/bbpressuresensor.cpp index cb48256aad..0e5e10d3e0 100644 --- a/plugins/sensors/blackberry/bbpressuresensor.cpp +++ b/plugins/sensors/blackberry/bbpressuresensor.cpp @@ -54,5 +54,6 @@ QString BbPressureSensor::devicePath() bool BbPressureSensor::updateReadingFromEvent(const sensor_event_t &event, QPressureReading *reading) { reading->setPressure(event.pressure_s.pressure); + reading->setTemperature(event.pressure_s.temperature); return true; } diff --git a/src/sensors/qpressuresensor.cpp b/src/sensors/qpressuresensor.cpp index 6eb889fc36..f8b83b4a82 100644 --- a/src/sensors/qpressuresensor.cpp +++ b/src/sensors/qpressuresensor.cpp @@ -78,6 +78,28 @@ void QPressureReading::setPressure(qreal pressure) d->pressure = pressure; } +/*! + \property QPressureReading::temperature + \brief The pressure sensor's temperature. + + The temperature is returned in degree Celsius. + This property provides the pressure sensor die temperature. + Note that this temperature may be (and usually is) different than the temperature + reported from QAmbientTemperatureSensor. +*/ +qreal QPressureReading::temperature() const +{ + return d->temperature; +} + +/*! + Sets the pressure sensor's temperature to \a temperature. +*/ +void QPressureReading::setTemperature(qreal temperature) +{ + d->temperature = temperature; +} + // ===================================================================== /*! diff --git a/src/sensors/qpressuresensor.h b/src/sensors/qpressuresensor.h index 8c917f9370..5cba8c66e8 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 790e0d53dd..38765abcbd 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; }; QTM_END_NAMESPACE |