b603641d7c
The function rotate_field() can change the values axes and the function correct_field() applies offsets (which are already in milligauss). Thus any sensitivity adjustment must be done for two reasons: (1) The offsets must be applied to the values already in milligauss; (2) The factory sensitivity adjustment values are per axis, if any rotation that switches axes is applied, that'll mess with the adjustment. Experiments showed that before this patch the length of the mag field reported quite different from the expected. After this patch, the same experiments showed reasonable values. |
||
---|---|---|
.. | ||
examples/AP_Compass_test | ||
AP_Compass_AK8963.cpp | ||
AP_Compass_AK8963.h | ||
AP_Compass_Backend.cpp | ||
AP_Compass_Backend.h | ||
AP_Compass_Calibration.cpp | ||
AP_Compass_HIL.cpp | ||
AP_Compass_HIL.h | ||
AP_Compass_HMC5843.cpp | ||
AP_Compass_HMC5843.h | ||
AP_Compass_LSM303D.cpp | ||
AP_Compass_LSM303D.h | ||
AP_Compass_PX4.cpp | ||
AP_Compass_PX4.h | ||
AP_Compass.h | ||
Compass_learn.cpp | ||
Compass.cpp | ||
Compass.h | ||
CompassCalibrator.cpp | ||
CompassCalibrator.h | ||
keywords.txt |