Commit Graph

368 Commits

Author SHA1 Message Date
Peter Barker 439c85e793 AP_Airspeed: correct compilation when AP_AIRSPEED_AUTO_CAL_ENABLE is false
CubeNode was trying to check a parameter which doesn't exist

../../libraries/AP_Airspeed/Airspeed_Calibration.cpp: In member function 'void AP_Airspeed::send_airspeed_calibration(const Vector3f&)':
../../libraries/AP_Airspeed/Airspeed_Calibration.cpp:179:23: error: 'class AP_Airspeed_Params' has no member named 'autocal'
  179 |         if (!param[i].autocal && !calibration_enabled) {
      |                       ^~~~~~~
compilation terminated due to -Wfatal-errors.
2024-12-17 11:32:55 +11:00
Andrew Tridgell 00202bf016 AP_Airspeed: don't send AIRSPEED_AUTOCAL message when disabled
we were wasting bandwidth sending this all the time

also fixed to support calibration messages for 2nd airspeed sensor
2024-12-11 07:45:55 +11:00
Henry Wurzburg 229d544c35 AP_Airspeed:correct metadata ref to old param 2024-11-21 09:14:42 +11:00
Thomas Watson cd1118acb4 AP_Airspeed: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Oleksiy Protas 94f2eb4999 AP_Airspeed: Don't fail on REG_WHOAMI_RECHECK_ID
This prevents a false negative ID check for the cases when the AP is rebooted independently of the sensor, with the latter keeping a temporary ID that was set during initialization
2024-09-17 10:36:29 +10:00
Iampete1 b1fe1f18d4 AP_Airspeed: healthy: check enabled first for instance range check 2024-09-10 09:48:31 +10:00
Henry Wurzburg 59db5de78c AP_Airspeed: make metadata more consistent 2024-07-02 11:34:29 +10:00
Andrew Tridgell 8fdf085e2f AP_Airspeed: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 128d9b0e41 AP_Airspeed: added atmospheric tables for high altitude flight
this gets altitude and EAS2TAS much more accurately up to around 150k
feet AMSL. Enabled on boards using EKF double
2024-05-07 21:19:06 +10:00
muramura 927cfeec68 AP_Airspeed: change a word(NFC) 2024-04-10 14:20:04 +09:00
Henry Wurzburg 06efeb20cd AP_Airspeed:add option to report cal offset to GCS 2024-04-09 09:54:21 +10:00
Andrew Tridgell 06401fdcbf AP_Airspeed: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Peter Barker 43ed929b0a AP_Airspeed: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Andrew Tridgell 54ffdc57f2 AP_Airspeed: support external AHRS airspeed sensor 2023-12-17 09:47:30 +11:00
Peter Barker 4cb0a922b2 AP_Airspeed: correct spelling of configured 2023-12-11 15:18:43 +11:00
Mykhailo Kuznietsov fb2bf42cf6 AP_Airspeed: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Peter Barker 996399331b AP_Airspeed: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
Andrew Tridgell 44c5754e36 AP_Airspeed: increased timeout on DroneCAN airspeed data
the data is sent at 20Hz, which means a single lost packet with 10Hz
reading resulted in an unhealthy sensor
2023-08-11 10:33:36 +10:00
Andrew Tridgell faa4d28851 AP_Airspeed: fixed handling of unhealthy airspeed
this fixes a bug introduced in
https://github.com/ArduPilot/ardupilot/pull/22416 which results in
using bad airspeed data on timeout. The prev_health variable is
updated by the get_pressure call
2023-08-11 10:33:36 +10:00
Peter Barker c88a53b662 AP_Airspeed: tidy AP_Airspeed includes, use AP_AIRSPEED_ENABLED properly 2023-07-18 11:03:07 +10:00
Randy Mackay 98310d861e AP_Airspeed: minor spelling fix 2023-06-27 21:12:20 +10:00
Peter Barker 008eec5838 AP_Airspeed: correct includes
we use the msp sensors structure
2023-05-09 10:56:13 +10:00
Ryan Friedman 47e3d1af02 AP_Airspeed: Improve ARSPD_WIND_MAX behavior by handling 3D speed
* The previous method negated earth-frame vertical velocity
* In a steep dive on a plane, the 2D ground speed assumption of speed breaks down
* Use 3D speed always
* If only a 2D fix is avialable, then vertical velocity should be 0

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-04-26 14:08:01 +10:00
Ryan Friedman 4ba1c56368 AP_Airspeed: Add missing D in ARSP
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-04-15 23:14:12 +10:00
Peter Barker 89a1330801 AP_Airspeed: reuse airspeed backend contructor in more backends
... and clean out some unused includes
2023-04-12 14:30:12 +10:00
Andrew Tridgell 20436ef527 AP_Airspeed: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 6912b0db9e AP_Airspeed: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell d2882c79de AP_Airspeed: change UAVCAN_ENABLED to DRONECAN_ENABLED 2023-04-11 10:31:31 +10:00
Andrew Tridgell 5188816274 AP_Airspeed: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell a3d0f265b2 AP_Airspeed: rename UAVCAN drivers to DroneCAN 2023-04-11 10:31:31 +10:00
Andrew Tridgell c179ea3232 AP_Airspeed: rename AP_UAVCAN to AP_DroneCAN 2023-04-08 07:11:23 +10:00
bugobliterator 0d90e0377a AP_Airspeed: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
Andrew Tridgell 19cd2a8fe6 AP_Airspeed: fixed airspeed peripherals
AP_Periph does not have the ARSPD_BUS parameter, and setting this
default sets the bus to one that doesn't exist, plus it can't be fixed
using user parameters
2023-03-24 12:01:31 +11:00
Peter Barker e20f8f5dcc AP_Airspeed: save some bytes by making conversion structure static 2023-03-10 08:49:36 +11:00
Peter Barker d7357a3330 AP_Airspeed: add get_calibration_state in dummy driver 2023-02-21 17:07:41 +11:00
Peter Barker d7ec1e7b0c AP_Airspeed: add support for mavlink in-progress message 2023-02-21 17:07:41 +11:00
Prathamesh Patil 2a53934579 AP_Airspeed: corrected return type of uart::read()' 2023-02-21 16:52:30 +11:00
Iampete1 3299976eae AP_Airspeed: move setting of first backend defualts to constructor to avoid race 2023-01-05 08:27:45 +11:00
Iampete1 58ac399aa9 AP_Airspeed: add allocare method for periph 2023-01-03 10:17:56 +11:00
Iampete1 bfab3e8b04 AP_Airspeed: AP_Airspeed_Params: provide dummy var table to save flash 2023-01-03 10:17:56 +11:00
Iampete1 a20c07b745 AP_Airspeed: add global enable parameter 2023-01-03 10:17:56 +11:00
Iampete1 0bb7e8a789 AP_Airspeed: add param conversion to per-instance 2023-01-03 10:17:56 +11:00
Iampete1 e8802d1858 AP_Airspeed: remove old param conversion 2023-01-03 10:17:56 +11:00
Gone4Dirt 0138d0c2cc AP_Airspeed: move params to seperate file 2023-01-03 10:17:56 +11:00
Iampete1 e142747d1f AP_Airspeed: Periph: remove useage of hidden params and remove tuber order 2022-12-20 11:12:25 +11:00
Henry Wurzburg 08840b4a65 AP_Airspeed: add warning for large offset cal 2022-12-13 17:08:42 +11:00
Peter Barker 533b9e12b1 AP_Airspeed: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Peter Barker 6946bd2529 AP_Airspeed: tidy AP_SerialManager.h includes 2022-11-08 09:49:19 +11:00
Andrew Tridgell 1c868cac37 AP_Airspeed: add instance to hygrometer logging 2022-10-24 17:35:07 +11:00
Henry Wurzburg 3ef45c684f AP_Airspeed: generalize ARSPD_BUS metadata 2022-10-19 23:27:25 +11:00