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