summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-11-26 12:55:49 +0100
committerLiang Qi <liang.qi@qt.io>2016-11-26 12:55:49 +0100
commit07bf3002fecd493a47bfb97420d3c3fbe6ee1458 (patch)
tree26cc548ef1e8e079b8fe85c7ae4624d4362c45b3
parent5bf1bd00335d0c95c54de426a02da2a98257fedb (diff)
parent4c5873b43a2d7d80a33374d89b870a67e7900eca (diff)
downloadqtsensors-07bf3002fecd493a47bfb97420d3c3fbe6ee1458.tar.gz
Merge remote-tracking branch 'origin/5.7' into 5.8
Change-Id: I912756c6bbecf7c55acd60d136ea6ce490118ebb
-rw-r--r--dist/changes-5.7.134
-rw-r--r--src/plugins/sensors/android/src/androidmagnetometer.cpp16
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwals.cpp2
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp2
-rw-r--r--src/sensors/qmagnetometer.cpp10
-rw-r--r--sync.profile5
6 files changed, 59 insertions, 10 deletions
diff --git a/dist/changes-5.7.1 b/dist/changes-5.7.1
new file mode 100644
index 0000000..cc683d4
--- /dev/null
+++ b/dist/changes-5.7.1
@@ -0,0 +1,34 @@
+Qt 5.7.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.7.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+http://doc.qt.io/qt-5/index.html
+
+The Qt version 5.7 series is binary compatible with the 5.6.x series.
+Applications compiled for 5.6 will continue to run with 5.7.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtSensors
+---------
+
+ - BC data files added
+ - [QTBUG-54506] Fixed unnecessary use of Activity objects where Context would be sufficient.
+ This fixes the use case of QtSensors working with Android services.
+ - Ensured that JNI_OnLoad is not called more than once on Android. This is a workaround for
+ https://code.google.com/p/android/issues/detail?id=215069.
+ - Fixed iOS compass calibration level reading
+ - Fixed multi client stopping issues on iOS
+
diff --git a/src/plugins/sensors/android/src/androidmagnetometer.cpp b/src/plugins/sensors/android/src/androidmagnetometer.cpp
index a729ddd..fcde4cf 100644
--- a/src/plugins/sensors/android/src/androidmagnetometer.cpp
+++ b/src/plugins/sensors/android/src/androidmagnetometer.cpp
@@ -39,13 +39,27 @@
#include "androidmagnetometer.h"
+enum AndroidSensorStatus
+{
+ SENSOR_STATUS_UNRELIABLE = 0,
+ SENSOR_STATUS_ACCURACY_LOW = 1,
+ SENSOR_STATUS_ACCURACY_MEDIUM = 2,
+ SENSOR_STATUS_ACCURACY_HIGH = 3,
+};
+
AndroidMagnetometer::AndroidMagnetometer(AndroidSensors::AndroidSensorType type, QSensor *sensor)
:AndroidCommonSensor<QMagnetometerReading>(type, sensor)
{}
void AndroidMagnetometer::onAccuracyChanged(jint accuracy)
{
- m_reader.setCalibrationLevel(accuracy);
+ // Expected range is [0, 3]
+ if (accuracy < SENSOR_STATUS_UNRELIABLE || accuracy > SENSOR_STATUS_ACCURACY_HIGH) {
+ qWarning("Unable to get sensor accuracy. Unexpected value: %d", accuracy);
+ return;
+ }
+
+ m_reader.setCalibrationLevel(accuracy / qreal(3.0));
}
void AndroidMagnetometer::onSensorChanged(jlong timestamp, const jfloat *values, uint size)
diff --git a/src/plugins/sensors/sensorfw/sensorfwals.cpp b/src/plugins/sensors/sensorfw/sensorfwals.cpp
index 8946201..c43f764 100644
--- a/src/plugins/sensors/sensorfw/sensorfwals.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwals.cpp
@@ -71,7 +71,7 @@ void Sensorfwals::start()
void Sensorfwals::slotDataAvailable(const Unsigned& data)
{
- QAmbientLightReading::LightLevel level = getLightLevel(data.x());
+ QAmbientLightReading::LightLevel level = getLightLevel(data.UnsignedData().value_);
if (level != m_reading.lightLevel()) {
m_reading.setLightLevel(level);
m_reading.setTimestamp(data.UnsignedData().timestamp_);
diff --git a/src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp b/src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp
index babbf9e..9fc5bef 100644
--- a/src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp
@@ -52,7 +52,7 @@ SensorfwLightSensor::SensorfwLightSensor(QSensor *sensor)
void SensorfwLightSensor::slotDataAvailable(const Unsigned& data)
{
- m_reading.setLux(data.x());
+ m_reading.setLux(data.UnsignedData().value_);
m_reading.setTimestamp(data.UnsignedData().timestamp_);
newReadingAvailable();
}
diff --git a/src/sensors/qmagnetometer.cpp b/src/sensors/qmagnetometer.cpp
index 1ddc217..0e28b5a 100644
--- a/src/sensors/qmagnetometer.cpp
+++ b/src/sensors/qmagnetometer.cpp
@@ -76,7 +76,13 @@ IMPLEMENT_READING(QMagnetometerReading)
The accuracy of each reading is measured as a number from 0 to 1.
A value of 1 is the highest level that the device can support and 0 is
the worst.
- \sa {http://wiki.forum.nokia.com/index.php/CS001671_-_Calibrating_the_magnetometer_sensor}{CS001671 - Calibrating the magnetometer sensor}
+
+ \section2 Calibration
+ If the device is reporting low accuracy, then calibration might be needed before acceptable measurements
+ can be provided.
+ Basic calibration can usually be done by either rotating your device in a figure of eight, or by
+ rotating the device along each of its three axes. For more information, check your device's
+ documentation on how to calibrate the magnetic sensor.
*/
/*!
@@ -150,7 +156,7 @@ void QMagnetometerReading::setZ(qreal z)
Note that this only changes when measuring geomagnetic flux density.
Raw magnetic flux readings will always have a value of 1.
- \sa {QMagnetometerReading Units}, {http://wiki.forum.nokia.com/index.php/CS001671_-_Calibrating_the_magnetometer_sensor}{CS001671 - Calibrating the magnetometer sensor}
+ \sa {QMagnetometerReading Units}, {Calibration}
*/
qreal QMagnetometerReading::calibrationLevel() const
diff --git a/sync.profile b/sync.profile
index ce08463..1e7fd14 100644
--- a/sync.profile
+++ b/sync.profile
@@ -3,8 +3,3 @@
);
%moduleheaders = ( # restrict the module headers to those found in relative path
);
-%dependencies = (
- "qtbase" => "",
- "qtxmlpatterns" => "",
- "qtdeclarative" => "",
-);