summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernd Weimer <bweimer@blackberry.com>2013-04-09 11:33:42 +0200
committerBernd Weimer <bweimer@blackberry.com>2013-04-11 10:31:19 +0200
commited79c9aeabbb58bb06a7c292c746c9ebd1d67b21 (patch)
tree395287e0ede6a599e568b3b56e470a4c9a80f296
parentee16280e94172c1a12330fb05555e944e145d934 (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.cpp5
-rw-r--r--plugins/sensors/blackberry/bbpressuresensor.cpp1
-rw-r--r--src/sensors/qpressuresensor.cpp22
-rw-r--r--src/sensors/qpressuresensor.h4
-rw-r--r--src/sensors/qpressuresensor_p.h3
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