diff options
author | Liang Qi <liang.qi@qt.io> | 2016-11-26 12:55:49 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-11-26 12:55:49 +0100 |
commit | 07bf3002fecd493a47bfb97420d3c3fbe6ee1458 (patch) | |
tree | 26cc548ef1e8e079b8fe85c7ae4624d4362c45b3 | |
parent | 5bf1bd00335d0c95c54de426a02da2a98257fedb (diff) | |
parent | 4c5873b43a2d7d80a33374d89b870a67e7900eca (diff) | |
download | qtsensors-07bf3002fecd493a47bfb97420d3c3fbe6ee1458.tar.gz |
Merge remote-tracking branch 'origin/5.7' into 5.8
Change-Id: I912756c6bbecf7c55acd60d136ea6ce490118ebb
-rw-r--r-- | dist/changes-5.7.1 | 34 | ||||
-rw-r--r-- | src/plugins/sensors/android/src/androidmagnetometer.cpp | 16 | ||||
-rw-r--r-- | src/plugins/sensors/sensorfw/sensorfwals.cpp | 2 | ||||
-rw-r--r-- | src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp | 2 | ||||
-rw-r--r-- | src/sensors/qmagnetometer.cpp | 10 | ||||
-rw-r--r-- | sync.profile | 5 |
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" => "", -); |