Andrew Tridgell
3954425f77
AP_ExternalAHRS: allow backends to set default sensor set
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
Andrew Tridgell
2ef560db0b
AP_ExternalAHRS: reserve some ExternalAHRS type values
2023-12-01 14:59:57 +11:00
Ryan Friedman
be668ddc1b
AP_ExternalAHRS: Clarify public interface design intent
...
* Discussions with Tridge on design intent for these accessors
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 11:48:22 +11:00
Ryan Friedman
ef6105c5e0
AP_ExternalAHRS: Specify brand on all log messages
...
* The VN driver was likely written before there were multiple types
* The log messages make it seem like core AHRS problems rather than
issues directly with VN
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-14 11:02:26 +11:00
muramura
45fc140e1d
AP_ExternalAHRS: Change to Boolean value
2023-11-11 09:06:42 +09: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
Peter Barker
0bb8ec1e57
AP_ExternalAHRS: add missing includes
2023-08-30 12:26:14 +10:00
Ryan Friedman
cbc0043b9b
AP_ExternalAHRS: Fix nullptr crash on bootup
...
* If you didn't set the serial port parameter correctly, but enabled MicroStrain AHRS, it would crash on boot
* This is because AP_AHRS calls update() which calls build_packet()
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2023-08-30 12:21:59 +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
1839db7c1f
AP_ExternalAHRS: Allow multiple external AHRS GPS instances
...
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-24 12:01:32 +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
Ryan Friedman
42abfa9e0e
AP_ExternalAHRS: Use sparse-endian be32to<ftype>_ptr
...
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
d0b8e672c0
AP_ExternalAHRS: Switch from type punning to defined behavior
...
* This was undefined behavior in the C++ standard
* Use the safer options in AP_Common
* Removes a compiler warning
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Peter Barker
b471f9bfac
AP_ExternalAHRS: create and use backend defines for AP_ExternalAHRS
2023-04-26 14:09:25 +10:00
Peter Barker
de7d5c6899
AP_ExternalAHRS: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
...
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker
74207ea687
AP_ExternalAHRS: add and use a "bool read(c)" method to AP_HAL
...
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
f476a47228
AP_ExternalAHRS: specify AP_EXTERNALAHRS_ENABLED for periph in chibios_hwdef.py
2023-03-12 09:35:35 +11:00
Peter Barker
c47a698edd
AP_ExternalAHRS: honour AP_COMPASS_EXTERNALAHRS_ENABLED
2023-02-22 19:40:13 +11: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
3d9794a503
AP_ExternalAHRS: VectorNav: remove reset and wait as it causes baro calibration issues
2023-01-03 10:32:20 +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
9040eac91b
AP_ExtneralAHRS: VectorNav: get uncompensated IMU values
2023-01-03 10:32:20 +11:00
Iampete1
f441640aba
AP_ExternalAHRS: VectorNac: VN-300 remove unused data fields
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
Iampete1
8710a651ce
AP_ExternalAHRS: VectorNAV: add support for VN-100
2023-01-03 10:32:20 +11:00
Peter Barker
274b6f19bc
AP_ExternalAHRS: regularise compass defines
...
start to make compass backends look like backends from our other libraries
2022-11-15 16:44:38 +11:00
Andrew Tridgell
c2b29a92c7
AP_ExternalAHRS: fixes from --ubsan autotest
2022-09-06 10:49:50 +10: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
Peter Barker
e9426b2ff3
AP_ExternalAHRS: correct compilation if AP_Baro_ExternalAHRS isn't available
2022-05-25 18:19:00 +10:00
Andy Piper
4ac73e4ffd
AP_ExternalAHRS: nuke clang warnings
2022-03-03 16:34:14 +11:00
Peter Barker
0acccaf4b7
AP_ExternalAHRS: factor substring from allocation_error parameter
2021-10-18 12:49:44 +11:00
Davis Schenkenberger
2026f7efb8
AP_ExternalAHRS: Implement EAHRS Driver for Lord Microstrain AHRS
2021-10-17 08:55:03 +11:00
bugobliterator
224abe7933
AP_ExternalAHRS: use config error instead of panic on allocation failure
2021-09-30 08:51:26 +10:00
Andrew Tridgell
4faa16b0a7
AP_ExternalAHRS: mark logger Write() calls as streaming where appropriate
2021-08-18 10:20:03 +10: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