Andrew Tridgell
92693e0237
AP_ExternalAHRS: support backends with get_variances()
...
re-implement send_status_report in terms of get_variances and support
EKF failsafe with ExternalAHRS
2024-10-23 06:46:59 +09:00
Peter Barker
f66815b200
AP_ExternalAHRS: use AP_GPS_FixType for ExternalAHRS fix type
2024-10-01 10:32:11 +10:00
Peter Barker
291a1ced88
AP_ExternalAHRS: re-order initialiser lines so -Werror=reorder will work
2024-09-24 22:50:28 +10:00
muramura
b1b4ac8d58
AP_ExternalAHRS: Correct the judgment
2024-09-17 09:35:13 +10:00
Valentin Bugrov
2b3ee0e7e4
AP_ExternalAHRS: unify names in ILabs EAHRS handler
2024-09-17 09:34:32 +10:00
Valentin Bugrov
092a95e88c
AP_ExternalAHRS: add GCS mesages sending for the ILabs EAHRS
2024-09-14 19:29:02 +10:00
Valentin Bugrov
0344cc36ad
AP_ExternalAHRS: actualize ILabs EAHRS data processing
2024-09-14 19:29:02 +10:00
Ryan Friedman
2aa5db5e73
AP_ExternalAHRS: Remove GPS week comment
...
* It's a hold-over from MSP. None of AP handles 0xFFFF in a special way
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-14 09:18:33 +10:00
weavVN
e5f4f87b9e
AP_ExternalAHRS: VectorNav: rename dataflash log message names
2024-09-12 14:22:54 +10:00
Andrew Tridgell
91a5cfea6b
AP_ExternalAHRS: added set_origin() call
...
and remove code that aligns origin to AHRS, this will be handled by
the AHRS common origin logic
2024-09-10 09:28:50 +10:00
James O'Shannessy
39f7d7a3ad
AP_ExternalAHRS: Allow InertialLabs to be used as build option properly
...
build_options cannot autodetect InertialLabs since the feature is extracted as AP_EXTERNAL_AHRS_INERTIALLABS_ENABLED (without the underscore).
This allows you to define in/out InertialLabs properly.
2024-08-13 21:32:11 +10:00
Peter Barker
c3b6127b1b
AP_ExternalAHRS: correct VectorNAV handling of error term
2024-08-13 08:38:21 +10:00
BLash
d7ecf5fbc5
AP_ExternalAHRS_VectorNav: Consolidate EAH3 definition to single method
...
Resolve SITL failures due to multiply defined logger message by pulling the call to a single method
2024-07-29 15:52:29 +10:00
BLash
1d1bb5724e
AP_ExternalAHRS_VectorNav: Address review comments
...
Remove unnecessary header
Switch parameters to default initialization
Change pointer casting to prevent a const_cast, and remove doubled sync byte when echoing ASCII messages
Fix Valgrind report by preventing use of nmea_printf on buffers which may not be null-terminated
2024-07-29 15:52:29 +10:00
BLash
50980ee03e
AP_ExternalAHRS_VectorNav: Update SIM to match new message definitions
...
Redefine messages to 3 INS packets, and send as appropriate
Resolve SITL failures due to too-long logger message headers
2024-07-29 15:52:29 +10:00
BLash
d4ca5fe868
AP_ExternalAHRS_VectorNav: Split IMU and EKF message
...
In AHRS Mode, split the single message to an IMU packet and an AHRS packet; in EKF Mode, split the two messages into an IMU message, an EKF packet, and a GNSS packet.
Simplify message header definition to consolidate and eliminate the need for static asserts
Update healthy logic and use to represent new packet structure
Replace EAH3 message with messages per-packet
Add Ypr as configured output in the EKF message
2024-07-29 15:52:29 +10:00
BLash
34031cc6b6
AP_ExternalAHRS_VectorNav: Bugfixes and review comment address
...
"VNERR" does not match beginning of message_to_send, so have to prevent it from returning due to the string compare. Also must prevent exiting the decode before the sentence has completed so that we can go on to print the error code term.
Fix bug preventing disabling of ASCII measurements
Instead of snprintf the command to message_to_send then executing run_command, allow run_command to accept a string and format spec
Add check to ensure message_to_send is greater than length 6 before attempting to read past 6
2024-07-17 17:49:18 +10:00
BLash
ed6ee51783
AP_ExternalAHRS_VectorNav: Minor code clarity improvements
...
Add clarity to send_command_blocking by improving comment and directly returning instead of breaking
2024-07-17 17:49:18 +10:00
BLash
1288810c70
AP_ExternalAHRS_VectorNav: Handle VNERR responses
...
Print received VNERR response to console and continually retry sending the configuration message, instead of panicing
2024-07-17 17:49:18 +10:00
BLash
024d50ed09
AP_ExternalAHRS: VectorNav: Disable ASCII messages on both ports, rather than just active port
...
This change prevents a commonly seen baudrate overflow error on the unused port.
Also pause asynchronous communications during initial configuration.
2024-07-17 17:49:18 +10:00
BLash
d5ff3ed35a
AP_ExternalAHRS: VectorNav: Add response validation to all sent commands
...
Expands wait_register_response (and renames to send_command_blocking)
to accept any arbitrary command, and uses the new method for all sent
commands
2024-07-17 17:49:18 +10:00
BLash
271f08fc03
AP_ExternalAHRS: VectorNav: Add support for sensors outside VN-100 and VN-300
...
Includes naming changes to match new broadened usage
2024-07-05 21:41:22 +10:00
Andrew Tridgell
5756b9a3de
AP_ExternalAHRS: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Ryan Friedman
2dc547bec2
AP_ExternalAHRS: Fix duplicate condition
...
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-05-14 09:58:59 +10:00
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
6fc8185716
AP_ExternalAHRS: Only use GPS data when populating GPS fields
...
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:23:06 +11: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
Ryan Friedman
9edc0f8ec6
AP_ExternalAHRS: Don't send init message till booted up
...
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:22:06 +11:00
Ryan Friedman
d383a19c29
AP_ExternalAHRS: Use state watching instead
...
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:22:06 +11:00
Ryan Friedman
67b89a9b1f
AP_ExternalAHRS: Provide warning for init failure
...
* If the device hasn't initialized in 5 seconds, give a warning
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:22:06 +11:00
Ryan Friedman
dc2815e9f5
AP_ExternalAHRS: Use filter data to populate EKF status report
...
* Variances vs uncertainties may still be off
* Requires enabling the following packets in SensorConnect:
* Position Uncertainty (LLH)
* Velocity Uncertainty (NED)
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:11:39 +11:00
Peter Barker
84a81bebfe
AP_ExternalAHRS: rename GPS_ to GPS1_
2024-03-19 19:50:12 +11:00
Ryan Friedman
3cb4d2ec3b
AP_ExternalAHRS: Populate orientation from filter
...
* Populating AHRS orientation from IMU was not correct
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-15 18:11:22 +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
9fd3e4169a
AP_ExternalAHRS: added support for GPS disable and fwd flight
...
allow backends to determine if we are in fixed wing flight and/or the
GPS is disabled by the user
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
Jackwooh
f67d895677
AP_ExternalAHRS: Reserve aaeron ID
...
Added new EAHRS_TYPE
2024-01-21 07:33:17 +11:00
Peter Barker
f92b02afd0
AP_ExternalAHRS: allow compilation with HAL_LOGGING_ENABLED false
2024-01-17 18:25:55 +11:00
Peter Barker
f722457854
AP_ExternalAHRS: correct compilation with MicroStrain5 disabled
2024-01-15 09:39:41 +11:00
Peter Barker
7898d6f107
AP_ExternalAHRS: correct compilation when baro and compass externalahrs disabled
2024-01-15 09:39:41 +11:00
Henry Wurzburg
319202a233
AP_ExternalAHRS: add InertialLabs to type parameter
2024-01-01 13:18:08 +11:00
Andrew Tridgell
1d0fc4e87c
AP_ExternalAHRS: fixed InertialLabs gyro/accel data
...
this fixes a flapping CI test
2023-12-29 06:29:52 +11:00
Andrew Tridgell
2842166b06
AP_ExternalAHRS: avoid uart owner issue
...
ensure we own uart before read
2023-12-26 06:21:42 +11:00
Ryan Friedman
1d805555f5
AP_ExternalAHRS: Fix typos in configuration for microstrain7
...
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-19 09:32:55 +11:00
Ryan Friedman
dee0ca2f34
AP_ExternalARHS: Don't offer IMU by default
...
* Since MicroStrain won't support >400Hz yet
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-18 16:03:35 +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