QMagnetometerReading Class
The QMagnetometerReading class represents one reading from the magnetometer. More...
Header: | #include <QMagnetometerReading> |
qmake: | QT += sensors |
Since: | Qt 5.1 |
Inherits: | QSensorReading |
Properties
- calibrationLevel : const qreal
- x : const qreal
- y : const qreal
- z : const qreal
- 1 property inherited from QSensorReading
- 1 property inherited from QObject
Public Functions
QMagnetometerReading(QObject *parent = DECLARE_READING(QMagnetometerReading)) | |
virtual | ~QMagnetometerReading() |
qreal | calibrationLevel() const |
void | setCalibrationLevel(qreal calibrationLevel) |
void | setX(qreal x) |
void | setY(qreal y) |
void | setZ(qreal z) |
qreal | x() const |
qreal | y() const |
qreal | z() const |
Reimplemented Public Functions
virtual void | copyValuesFrom(QSensorReading *other) override |
- 4 public functions inherited from QSensorReading
- 31 public functions inherited from QObject
Static Public Members
const QMetaObject | staticMetaObject |
- 9 static public members inherited from QObject
Additional Inherited Members
- 1 public slot inherited from QObject
- 2 signals inherited from QObject
- 9 protected functions inherited from QObject
Detailed Description
The QMagnetometerReading class represents one reading from the magnetometer.
QMagnetometerReading Units
The magnetometer returns magnetic flux density values along 3 axes. The scale of the values is teslas. The axes are arranged as follows.
The magnetometer can report on either raw magnetic flux values or geomagnetic flux values. By default it returns raw magnetic flux values. The QMagnetometer::returnGeoValues property must be set to return geomagnetic flux values.
The primary difference between raw and geomagnetic values is that extra processing is done to eliminate local magnetic interference from the geomagnetic values so they represent only the effect of the Earth's magnetic field. This process is not perfect and the accuracy of each reading may change.
The image below shows the difference between geomagnetic (on the left) and raw (on the right) readings for a phone that is being subjected to magnetic interference.
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.
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.
Property Documentation
calibrationLevel : const qreal
This property holds the accuracy of the reading.
Measured as a value from 0 to 1 with higher values being better.
Note that this only changes when measuring geomagnetic flux density. Raw magnetic flux readings will always have a value of 1.
Access functions:
qreal | calibrationLevel() const |
See also QMagnetometerReading Units and Calibration.
x : const qreal
This property holds the raw magnetic flux density on the X axis.
Measured as teslas.
Access functions:
qreal | x() const |
See also QMagnetometerReading Units.
y : const qreal
This property holds the raw magnetic flux density on the Y axis.
Measured as teslas.
Access functions:
qreal | y() const |
See also QMagnetometerReading Units.
z : const qreal
This property holds the raw magnetic flux density on the Z axis.
Measured as teslas.
Access functions:
qreal | z() const |
See also QMagnetometerReading Units.
Member Function Documentation
QMagnetometerReading::QMagnetometerReading(QObject *parent = DECLARE_READING(QMagnetometerReading))
Default constructs an instance of QMagnetometerReading.
[virtual]
QMagnetometerReading::~QMagnetometerReading()
Destroys the instance of QMagnetometerReading. The destructor is virtual.
[override virtual]
void QMagnetometerReading::copyValuesFrom(QSensorReading *other)
void QMagnetometerReading::setCalibrationLevel(qreal calibrationLevel)
Sets the accuracy of the reading to calibrationLevel.
See also calibrationLevel().
void QMagnetometerReading::setX(qreal x)
Sets the raw magnetic flux density on the X axis to x.
See also x().
void QMagnetometerReading::setY(qreal y)
Sets the raw magnetic flux density on the Y axis to y.
See also y().
void QMagnetometerReading::setZ(qreal z)
Sets the raw magnetic flux density on the Z axis to z.
See also z().
© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.