Commit Graph

44 Commits

Author SHA1 Message Date
Andrew Tridgell
b959e353e2 AP_Compass: added COMPASS_AUTO_ROT support
this is set to "check but don't fix" by default. This matches the
behaviour for plane3.9.0
2018-08-02 12:38:37 +09:00
Peter Barker
4c2925d693 AP_Compass: remove pointless initialisations
If you are allocating one of these on the stack you're doing something
wrong.
2018-07-02 10:44:34 +10:00
Peter Barker
a3a1967e05 AP_Compass: add AP::compass() singleton getter 2018-05-17 15:37:14 +10:00
Francisco Ferreira
0a3af28d17 AP_Compass: remove Qualcomm board support 2018-05-17 09:57:20 +10:00
Jacob Walser
6699c59ad3 AP_Compass: add support for custom board orientations 2018-04-24 13:04:37 +01:00
night-ghost
f26bb0cfbe AP_Compass: added range filter to backend, added its use in some sensors (thanks khancyr for style correction) 2018-04-11 14:46:42 +10:00
Michael du Breuil
c66d15efd7 AP_Compass: Read current for compensation from the battery singleton 2018-03-27 22:12:21 +01:00
Andrew Tridgell
487b615faa AP_Compass: allow for override of MAG_BOARD_ORIENTATION 2018-03-02 12:52:50 +11:00
Andrew Tridgell
57a3bc1397 AP_Compass: new compass learning system
this learns compass offsets using magnetic tables and compass
observations
2018-02-08 17:36:33 +11:00
Andrew Tridgell
ca30f6aec8 AP_Compass: added per-motor compass calibration
this allows for a motor calibration vector per motor
2018-02-08 17:36:33 +11:00
night-ghost
b6bf90ab93 AP_Compass: mAG3110 driver 2018-02-02 21:07:40 +11:00
Andrew Tridgell
f326377a5c AP_Compass: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Andrew Tridgell
5646afac1c AP_Compass: avoid double detection of the AK09916
with an ICM20948 we can double detect the compass due to the i2c pass-thru
2017-10-04 11:49:06 +11:00
Lucas De Marchi
320260a151 AP_Compass: add static create method 2017-09-26 03:01:21 +01:00
Lucas De Marchi
b1740e2d9c AP_Compass: remove raspilot 2017-09-12 15:06:19 -07:00
Andrew Tridgell
732dc5984a AP_Compass: added COMPASS_TYPEMASK parameter
this allows driver type to be disabled, to avoid probing them and
wasting CPU on sensors that are not being used

This also moves UAVCAN compass to be detected last, as discussed in the
dev call
2017-07-19 15:53:22 +10:00
Peter Barker
6b53b5b5f3 AP_Compass: make handle_mag_cal_command return type stricter 2017-07-17 14:17:19 +01:00
Miguel Arroyo
ee328c9683 AP_Compass: move SITL Compass to standard sensor backend model 2017-06-29 09:22:08 +10:00
Andrew Tridgell
ee2afd3242 AP_Compass: added COMPASS_OFFS_MAX
this allows setup of airframes with hatch magnets
2017-04-04 00:49:34 +01:00
Randy Mackay
855125381d AP_Compass: relax compass cal fitness and consistency checks 2017-01-27 11:20:02 +09:00
Randy Mackay
53d1585ebf Compass: relax compass consistency checks for pixracer 2017-01-21 12:10:00 +09:00
Randy Mackay
0c4e3cd8e4 Compass: pixracer calibration fitness default relaxed 2017-01-21 10:15:11 +09:00
Andrew Tridgell
2716ab8408 AP_Compass: added support for per-instance rotations 2016-11-09 17:08:08 +11:00
Andrew Tridgell
147b253e65 AP_Compass: make device IDs match PX4 drivers
match in-tree drivers to PX4Firmware drivers
2016-11-09 17:08:06 +11:00
Andrew Tridgell
de7913e8e9 AP_Compass: implement device IDs for compass drivers 2016-11-09 17:08:04 +11:00
Michael du Breuil
deec4ec6af Compass: Rework compass calibrator
Summary of significant changes:
  -Autsave doesn't depend on STREAM_EXTRA3
  -Don't risk only saving one compass on copter if CAL_ALWAYS_REBOOT is set
  -Only calibrate compasses that are both health and marked for use (there was a inconsistency in handling the mask)
  -Fix incorrect failure reporting on DO_ACCEPT_MAG_CAL with a mask of 0 if a channel was specifically not started
  -Fix not starting the buzzer if the delay is set to 0 seconds
  -Always send MAG_CAL_REPORT until its acknowledged
  -Correct the field in MAG_CAL_REPORT for autosave to indicate if the compass had actually been saved, rather then being scheduled to be saved
  -Remmove unused public interfaces
2016-10-27 14:04:33 +11:00
Mathieu OTHACEHE
152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
José Roberto de Souza
6e53854122 AP_Compass: Add BMM150 backend 2016-07-06 10:03:30 -03:00
Lucas De Marchi
8372e74c0f AP_Compass: simplify handling of sensors for Linux boards
In addition:
    - bbbmini, navio and navio2 can force HMC5843 backend to
      be external.
    - there was a typo in the backend name that's now fixed:
      AK8953 vs AK8963
2016-05-18 18:24:14 -03:00
Staroselskii Georgii
b677f975e7 AP_Compass: added LSM9DS1 magnetometer support 2016-05-10 17:24:43 -03:00
Andrew Tridgell
88a1ebaf0e AP_Compass: allow setting of exact timestamp in HIL compass 2016-05-07 18:27:19 +10:00
Andrew Tridgell
ed999a283f AP_Compass: added get_learn_type() API
this allows caller to determine if EKF offsets should be saved
2016-04-30 16:43:14 +10:00
Lucas De Marchi
20a4a42cb3 AP_Compass: don't store raw and unfiltered fields
These are not used. The only place where raw fields are used are in the
compass calibrator and we don't need to store them.

Additionally remove duplicated documentation about the meaning of the
functions to avoid them getting out of sync.
2016-03-23 17:50:38 -03:00
Lucas De Marchi
e6059f5197 AP_Compass: rename files to follow other libraries
AP_Compass.h is the main header to be exported and AP_Compass.cpp its
implementation. There's no need for an additional header.
2016-03-23 17:50:38 -03:00
Lucas De Marchi
286697b844 AP_Compass: don't rebuild tree when single driver changes
Let the drivers be internal to the library so we don't need to rebuild
the entire tree when a single driver changes.
2016-03-23 17:50:38 -03:00
Andrew Tridgell
a871c87cad AP_Compass: use state array for compass variables 2015-03-13 18:46:15 +11:00
Staroselskii Georgii
0d1cf347c7 AP_Compass: added AK8963 support 2015-01-07 08:41:12 +11:00
Emile Castelnuovo
1bc199c5bd AP_Compass: new files and definition for VRBRAIN board 2014-04-08 16:19:19 +10:00
Andrew Tridgell
4007b7b1e9 AP_Compass: fixed indent-tabs-mode 2013-05-30 09:52:30 +10:00
Andrew Tridgell
741174f5d5 AP_Compass: first cut at a PX4 compass driver 2013-01-04 16:21:24 +11:00
tridge60@gmail.com
c860fd736a Compass: removed the old 5883L driver
we now use a single driver for both mags

git-svn-id: https://arducopter.googlecode.com/svn/trunk@3083 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-13 05:09:58 +00:00
rmackay9@yahoo.com
ed7e0d1660 AP_Compass - added support for HMC5883L
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2460 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-01 13:16:18 +00:00
james.goppert
45ddbbf982 Updated compass library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@995 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-02 05:13:12 +00:00
jasonshort
cf7eefd94b new Compass Lib
git-svn-id: https://arducopter.googlecode.com/svn/trunk@347 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-08-29 23:03:49 +00:00