Commit Graph

833 Commits

Author SHA1 Message Date
Andrew Tridgell
6bf83e347d AP_Compass: revert change to RM3100 scale factor and increase scale limit
This reverts the change from #13895 and instead resolves the issue by
increasing the scale factor limit to 1.4

There is an open question as to why some RM3100 compasses show a
different scale factor (by about 1.25 times) to other versions of the
same sensor. As we haven't resolved this properly it seems the correct
thing to do is follow the datasheet but allow for a wider range of
scale factors to cope with the variation between sensors
2020-05-23 14:40:49 +10:00
Andrew Tridgell
dc8f6833e7 AP_Compass: merged in compass device ID changes from master 2020-05-11 19:47:18 +10:00
Paul Riseborough
251c1e379f AP_Compass: Add accessor function for COMPASS_AUTODEC 2020-05-11 18:15:40 +10:00
Andrew Tridgell
d0d8bb3cbd AP_Compass: change RM3100 device ID
changed scale factor means users need to recalibrate
2020-05-11 18:15:40 +10:00
Andrew Tridgell
661d740354 AP_Compass: fixed scaling of RM3100
scale factor was off by 200/256, resulting in COMPASS_SCALE of about
1.28

thanks to Arace for noticing
2020-05-11 18:15:40 +10:00
Vlad-Andrei Dorobantu
f2489b6405 AP_Compass: corrected the cause of SIGSEGV signal when running AP_Compass_test 2020-02-05 10:43:36 +11:00
Peter Barker
31065bc9d2 AP_Compass: adjust for new vehicle base class 2020-02-05 10:12:13 +11:00
murata
a74123148b AP_Compass: Change direct value to define name 2020-02-05 10:09:20 +11:00
Andrew Tridgell
0ed02b1d88 AP_Compass: added mag_cal_fixed_yaw()
this is a fast compass calibration that uses a yaw value provided by
the user.
2020-01-10 18:48:52 +11:00
Andrew Tridgell
5c4802ce25 AP_Compass: limit rotations we try to ROTATION_MAX_AUTO_ROTATION 2020-01-01 09:08:31 +11:00
Pierre Kancir
ecdd07e793 AP_Compass: add register to checked ones and remove single-use goto
Also fix comment on TMRC register setting
2019-12-23 20:20:12 +11:00
Pierre Kancir
d9edd3c8b5 AP_Compass: probe for RM3100 2019-12-23 20:20:01 +11:00
Peter Barker
8fac70149d AP_Compass: tidy constructor 2019-12-09 13:18:01 +11:00
Peter Barker
03064f8eea AP_Compass: make compass_cal_status_t enum class Status within CompassCalibrator 2019-12-09 13:18:01 +11:00
Andrew Tridgell
342dd67dc0 AP_Compass: narrow range of allowed scale factor 2019-12-09 13:18:01 +11:00
Andrew Tridgell
536222859d AP_Compass: added COMPASS_OPTIONS
this allows user to set that calibration requires GPS lock
2019-12-09 13:18:01 +11:00
Andrew Tridgell
920007f3c4 AP_Compass: added estimation of compass scale factor
this adds new COMPASS_SCALE, COMPASS_SCALE2 and COMPASS_SCALE3
parameters, which give the sensor scaling factor. It is used to
compensate for an incorrect scaling in a compass.

The 3D compass calibration process will set the correct value
automatically, otherwise users can set the value to a known value for
an existing compass
2019-12-09 13:18:01 +11:00
Randy Mackay
ae234635e8 AP_Compass: minor comment fix
Co-Authored-By: Peter Barker <pb-gh@barker.dropbear.id.au>
2019-12-09 13:18:01 +11:00
lukezhqin
f59d22aa41 AP_Compass: fix thin_samples to avoid comparing sample to itself 2019-12-09 13:18:01 +11:00
Randy Mackay
b87f42bc07 AP_Compass: fix calibrator update when step one fails 2019-12-09 13:18:01 +11:00
Randy Mackay
d9fde84ccb AP_Compass: rename CompassCalibrator::clear to stop 2019-12-09 13:18:01 +11:00
Randy Mackay
6c8ee8fa67 AP_Compass: remove unused calc_mean_squared_residuals 2019-12-09 13:18:01 +11:00
Randy Mackay
a5e0af6868 AP_Compass: add comments to calibrator 2019-12-09 13:18:01 +11:00
Randy Mackay
243cf3b22d AP_Compass: formatting fixes
this should be a non-functional change
2019-12-09 13:18:01 +11:00
Randy Mackay
69a7a52e5f AP_Compass: constify get_completion_mask and remove use of auto 2019-12-09 13:18:01 +11:00
Randy Mackay
cf34abba87 AP_Compass: constify get_orientation 2019-12-09 13:18:01 +11:00
Andrew Tridgell
47fe57bd8d AP_Compass: remove expected error
this happens with AK09916 probing on invensense sensor
2019-12-09 13:18:01 +11:00
Andrew Tridgell
3b244bbc7f AP_Compass: disable HIL for AP_Periph
this saves several k of flash
2019-12-09 13:18:01 +11:00
Randy Mackay
88761e59f0 AP_Compass: LEARN param default to 0 for all vehicles 2019-12-09 13:18:01 +11:00
Andrew Tridgell
1afd603fa8 AP_Compass: don't show too many params when max compasses 1 2019-12-09 13:18:01 +11:00
Peter Barker
6193d6cf69 AP_Compass: fix example by instantiating Baro
Baro is required to get location, and Compass tries to get the declination based on current location
2019-09-13 08:54:21 +09:00
Andrew Tridgell
71ad90819e AP_Compass: don't reset SITL compass offsets if set by user
makes for easier EKF compass bias learning testing
2019-09-11 14:22:18 +10:00
Andrew Tridgell
df387dc396 AP_Compass: allow rotation of BMM150 compass 2019-09-07 09:53:21 +10:00
Andrew Tridgell
1cb775e2c2 AP_Compass: probe more addresses for IST8310
IST8310 can be on 4 possible i2c addresses
2019-09-07 07:35:54 +10:00
Andrew Tridgell
bd0760f9d4 AP_Compass: removed unusued compass probes
now only use probe lists
2019-09-04 16:27:47 +10:00
Andrew Tridgell
3bc8522b54 AP_Compass: added ROTATION_NONE to probes
we no longer use defaults in the headers
2019-09-04 16:27:47 +10:00
Andrew Tridgell
f877def909 AP_Compass: removed default rotations for compass probe
this prevents bugs where the force_external and rotation are mixed up
in hwdef.dat causing incorrect rotations
2019-09-04 16:27:47 +10:00
Andrew Tridgell
2a48241ebb AP_Compass: fixed naming of QMC5883L driver
needed for probe using COMPASS macro in hwdef.dat
2019-09-04 16:27:47 +10:00
Andrew Tridgell
bcb139f02f AP_Compass: fixed uninitialised CAN device ID bits 2019-08-29 18:37:03 +10:00
Andrew Tridgell
f4576ec8f3 AP_Compass: reduce firmware size for AP_Periph 2019-08-27 10:29:56 +10:00
Andrew Tridgell
0ec3f80bbe AP_Compass: enable LIS3MDL on I2C and RM3100 on SPI 2019-08-27 10:29:56 +10:00
Peter Barker
1adda1ccf0 AP_Compass: move automatic declination setting into AP_Compass itself 2019-08-13 10:02:13 +10:00
Peter Barker
df01bed14f AP_Compass: take GCS link in place of channel to calibration routines 2019-08-05 09:23:10 +10:00
Michael du Breuil
58dbbd6d0e AP_Compass: Refactor battery current backend 2019-07-14 00:28:00 -07:00
Peter Barker
7b52c41287 AP_Compass: fix example by instantiating serial_manager 2019-07-01 19:11:03 +10:00
Michael du Breuil
9fc954b030 AP_Compass: Reduce scope of BattMonitor include 2019-06-18 10:02:05 +10:00
Andrew Tridgell
7206258587 AP_Compass: use new get_earth_field_ga() API 2019-06-03 12:21:29 +10:00
Andrew Tridgell
38c775e6df AP_Compass: removed old mRoControlZeroF7 config 2019-05-30 15:39:57 +10:00
Andrew Tridgell
481ae22671 AP_Compass: support new sensor config setup 2019-05-30 15:39:57 +10:00
Andrew Tridgell
532b82b3a3 AP_Compass: use DRIVER_HMC5843 to match driver name 2019-05-30 15:39:57 +10:00