Commit Graph

30 Commits

Author SHA1 Message Date
Ryan Friedman b81a5deefe AP_ExternalAHRS: Add pre-arm for misconfigured EAHRS_SENSORS and GPS_TYPE
* This catches when there's a mismatch of GPSx_TYPE and EAHRS_SENSORS
  when GPS is enabled
* Before this pre-arm, failure to set GPS_TYPE2 to 21 (ExternalAHRS)
  resulted in silent rejection of the data in AP_GPS because the default
is off
* And fix a little logging bug

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-04-30 09:18:46 +10:00
Ryan Friedman 35451c7021 AP_ExternalAHRS: Check backend pre-arm before origin
* This allows the backend to report more detailed errors
* Before this, many pre-arm errors were hidden by origin failure
* If pre-arm could report multiple errors, that would be ideal

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:22:06 +11:00
Ryan Friedman 95ac178f20 Save flash, reduce code duplication
* Add generic health and time utils
* Fix bug only checking first GNSS system
* Use common logging struct
* Improve pre-arm log checks

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:22:06 +11:00
Pulak Gautam 2d5e6a5f98 AP_ExternalAHRS: added missing #if AHRS logging 2024-03-05 17:11:38 +11:00
Andrew Tridgell 0aee2a436c AP_ExternalAHRS: check for origin in pre-arm check 2024-02-27 21:10:20 +11:00
Andrew Tridgell 9770855c9d AP_ExternalAHRS: make get_accel() and get_gyro() bool 2024-02-27 21:10:20 +11:00
Andrew Tridgell cb53e64293 AP_ExternalAHRS: added EAHRS_LOG_RATE and common logging
common logging for all EAHRS backends
2024-02-27 21:10:20 +11:00
Henry Wurzburg 319202a233 AP_ExternalAHRS: add InertialLabs to type parameter 2024-01-01 13:18:08 +11:00
Andrew Tridgell 757607e4f8 AP_ExternalAHRS: added InertialLabs backend 2023-12-17 09:47:30 +11:00
Andrew Tridgell 771dfdf826 AP_ExternalAHRS: added location extrapolation
this copes better with slow backends
2023-12-17 09:47:30 +11:00
Andrew Tridgell cbc14d1fa5 AP_ExternalAHRS: align origin with AHRS origin
automatically set origin to AHRS origin. This means if on boot
external AHRS is not the primary then it will use the origin from the
active backend, preventing a jump on change of backends
2023-12-17 09:47:30 +11:00
Ryan Friedman 7c183f4ab3 AP_ExternalAHRS: Add MicroStrain7 support
* Implement filter state without relying on GPS
* Implement health and initialization check based on filter state
* Fix pre-arm checks missing version
* Add version specifics to microstrain 5 log msgs
* Add utilities to microstrain packet to remove magic number array
  access

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Mykhailo Kuznietsov 7f2975d21a AP_ExternalAHRS: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Peter Barker 429dbefade AP_AHRS: fill in error string when invalid backend specified 2023-09-25 08:11:23 +10:00
Peter Barker f8f28ee767 AP_ExternalAHRS: correct AP_ExternalAHRS init
default clause is in wrong place and shouldn't be present to start with...
2023-08-31 11:08:51 +10:00
Ryan Friedman d8eee6f41a AP_ExternalAHRS: Create common lib for MicroStrain
* Move common parsing to MicroStrain_common
* Add propogation of parsed packet type back to the driver
* Rename the driver to add series-5 specifier
* Unlocks adding 7-series driver with less code duplication
* Add missing includes

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-29 10:31:44 +10:00
Ryan Friedman cb480d2855 AP_ExternalAHRS: Rename LORD to MicroStrain
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 19:16:03 +10:00
Peter Barker b471f9bfac AP_ExternalAHRS: create and use backend defines for AP_ExternalAHRS 2023-04-26 14:09:25 +10:00
Andrew Tridgell 32ee3002eb AP_ExternalAHRS: added EAHRS_SENSORS parameter
allow selection of what sensors to enable
2023-01-30 09:22:02 +11:00
Iampete1 759f035636 AP_ExtneralAHRS: add option to use uncompensated IMU values on vector nav 2023-01-03 10:32:20 +11:00
Iampete1 ec1814da34 AP_ExternalAHRS: add get_name function for reporting 2023-01-03 10:32:20 +11:00
Iampete1 33b09ff0cb AP_ExternalAHRS: add enabled method 2023-01-03 10:32:20 +11:00
Peter Barker 74e651e5d7 AP_ExternalAHRS: stop using GCS_MAVLINK.h in header files
... by passing through a reference to a link object instead
2022-08-16 09:45:51 +10:00
Davis Schenkenberger 2026f7efb8 AP_ExternalAHRS: Implement EAHRS Driver for Lord Microstrain AHRS 2021-10-17 08:55:03 +11:00
Tatsuya Yamaguchi 5fd46c02ad AP_ExternalAHRS: remove message when EAHRS_TYPE is None 2021-04-14 14:46:03 +10:00
Andrew Tridgell bb28a58bce AP_ExternalAHRS: added frontend/backend split
allow for multiple backends
2021-04-13 09:36:52 +10:00
Andrew Tridgell ae088f792d AP_ExternalAHRS: added EAHRS_RATE for IMU rate
this allows setting of required data rate from the external AHRS
2021-04-13 09:36:52 +10:00
Patrick José Pereira be37f10d61 AP_ExternalAHRS: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Andrew Tridgell 103d6c54e1 AP_ExternalAHRS: added vnav linux target 2021-01-20 10:06:45 +11:00
Andrew Tridgell 1b60be96d1 AP_ExternalAHRS: added support for external AHRS systems
First supported is VectorNav VN-300 on serial
2021-01-05 21:13:12 +11:00