Commit Graph

86 Commits

Author SHA1 Message Date
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