Commit Graph

318 Commits

Author SHA1 Message Date
Andrew Tridgell 5f87335325 AP_Airspeed: review updates
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-07-12 17:14:59 +10:00
Andrew Tridgell 70bb470eb0 AP_Airspeed: fixed AP_Periph build 2021-07-12 17:14:59 +10:00
Andrew Tridgell 0bdd8231cf AP_Airspeed: added ARSPD_OPTIONS bit for disabling voltage correction
if the MS4525 has its own LDO then we are should disable the
correction
2021-07-12 17:14:59 +10:00
Andrew Tridgell ca1508b02e AP_Airspeed: added DEVID parameters for airspeed
this makes log analysis easier
2021-07-12 17:14:59 +10:00
Andrew Tridgell 7f85b413f2 AP_Airspeed: use GCS_SEND_TEXT instead of printf for sensor probe messages 2021-07-12 17:14:59 +10:00
Andrew Tridgell e6c7970a19 AP_Airspeed: support 3 I2C addresses for MS4525
and if bus number is configured then use only that bus number,
otherwise probe all buses as per existing behaviour
2021-07-12 17:14:59 +10:00
Peter Barker 6da68e39f8 AP_Airspeed: add rc channel option to disable all airspeed sensors 2021-06-23 15:13:13 +10:00
Michael du Breuil 29d6900888 AP_Airspeed: Remove unneeded initilization
We pre zero all memory
2021-06-22 10:08:02 +10:00
Peter Barker 00002b78a4 AP_Airspeed: remove HIL support 2021-06-15 09:47:31 +10:00
QioTek 0190a42e47 AP_Airspeed: added ASP5033 driver 2021-03-28 07:50:34 +11:00
Andrew Tridgell ea57b1982f AP_Airspeed: cope with no temperature on MSP airspeed 2020-12-08 20:41:12 +11:00
Andrew Tridgell 2d75ef4f60 AP_Airspeed: handle INT16_MIN temperature for UAVCAN sensor 2020-12-08 20:41:12 +11:00
Andrew Tridgell 73fda4e6a7 AP_Airspeed: cope with zero ratio in SDP3X driver
needed for AP_Periph
2020-12-08 20:41:12 +11:00
Andrew Tridgell 857d905d9f AP_Airspeed: added MSP backend 2020-12-08 20:41:12 +11:00
Peter Barker de2802e322 AP_Airspeed: populate airspeed_raw for sensors returning airspeed reading
Without this ARSP[x].Airspeed isn't populated
2020-12-08 11:59:49 +11:00
Hwurzburg 615b8add8c AP_Airspeed: add inflight airspeed cal rc switch 2020-11-25 21:30:15 +11:00
Peter Barker 8647dda8a9 AP_Airspeed: add and use instance number to ARSP message 2020-11-24 12:19:45 +11:00
Iampete1 7aad83ccca AP_Airspeed: add MATLAB based NMEA sensor example 2020-10-27 11:24:49 +11:00
Iampete1 0e41b821e8 AP_Airspeed: defualt to type none on sub 2020-10-27 11:24:49 +11:00
Iampete1 2aff8787c1 AP_Airspeed: add NMEA water speed backend 2020-10-27 11:24:49 +11:00
Iampete1 662d4640ef AP_Airspeed: add dedicated MAX_WIND param 2020-10-27 11:21:04 +11:00
Pierre Kancir 52898cfdbd AP_Airspeed: remove size warning on SDP3X crc function.
Clang-Tidy: Loop variable has narrower type 'uint8_t' (aka 'unsigned char') than iteration's upper bound 'unsigned int'
2020-10-14 07:52:02 +11:00
Andrew Tridgell 505953bdb2 AP_Airspeed: added get_num_sensors() 2020-08-27 20:20:51 +10:00
Andrew Tridgell a20d3fed94 AP_Airspeed: allow hwdef override of airspeed default type 2020-08-25 09:59:15 +10:00
Siddharth Purohit d65b43795a AP_Airspeed: move to using CANManager library 2020-08-19 17:31:09 +10:00
Josh Welsh eb4b5fb720 AP_Airspeed: Add additional DLVR support 20inH2O 30inH2O 60inH2O 2020-08-12 08:02:49 +10:00
Henry Wurzburg 21940cea09 AP_Airspeed: fix airspeed messages for consistency 2020-07-21 09:41:05 +10:00
Michael du Breuil ceb0a9c827 AP_Airspeed: Rearrange state to save memory
Saves 8 bytes per airspeed sensor (2 backends for 8 total), and removes
the unneeded width specifier, which has no impact on used memory, and
saves us 88 bytes of flash because we don't have to do work to shift the
bits around.
2020-05-06 18:15:08 +10:00
Andrew Tridgell 40f1b5f9ae AP_Airspeed: use GCS_SEND_TEXT() 2020-04-29 07:36:55 +10:00
Peter Barker 6046aa3625 AP_Airspeed: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Andrew Tridgell 0f6f684bab AP_Airspeed: expose get_corrected_pressure()
needed for AP_Periph
2020-03-25 20:37:00 +11:00
Andrew Tridgell b5e091bc84 AP_Airspeed: hide unused parameters for AP_Periph 2020-02-18 11:15:05 +11:00
Andrew Tridgell 1fac578b37 AP_Airspeed: make all semaphores recursive
the cost is very similar and this prevents an easy coding error which
can occur on less used code paths
2020-01-19 20:19:30 +11:00
Andrew Tridgell 2e5fe75aa7 AP_Airspeed: use take_blocking instead of HAL_SEMAPHORE_BLOCK_FOREVER
this makes for cleaner and smaller code as the failure case is not
needed
2020-01-19 20:19:30 +11:00
Peter Barker 41d34e9f88 AP_Airspeed: add missing break statement 2020-01-15 13:55:42 +11:00
Andrew Tridgell dafd030904 AP_Airspeed: switched to recursive semaphore
this is needed by the SDP3X driver. It is the simplest fix for the
issue
2019-11-10 18:50:08 +11:00
Peter Barker f407e0dd55 AP_Airspeed: correct example; need instantiated AHRS for windspeed_max 2019-11-08 14:34:15 +11:00
Andrew Tridgell f51378f2e8 AP_Airspeed: enable for use in AP_Periph 2019-10-21 19:12:01 +11:00
liang 8de44ec319 AP_Airspeed: protect sample timestamp while get data 2019-10-12 18:15:06 +11:00
Peter Barker 9197ebc3b2 AP_Airspeed: examples: var_info is now in GCS_MAVLINK_Parameters 2019-08-14 18:25:43 +10:00
Andrew Tridgell c173f8e24d AP_Airspeed: support both 5inH2O and 10inH2O versions of DLVR sensor
useful for faster aircraft
2019-07-19 21:39:30 -07:00
Andrew Tridgell 1ffc2cbe41 AP_Airspeed: allow setting of default airspeed pin 2019-07-13 15:23:45 +10:00
Peter Barker ef8baf28ad AP_Airspeed: clarify mavlink packet assembly is re-ordered field order
This makes it clear that the fields must be arranged according to the
order in the header file rather than that in the message definition
2019-07-11 11:53:35 +10:00
Peter Barker 00cfea03bc AP_Airspeed: add missing includes for AHRS 2019-07-09 22:32:57 +10:00
Peter Barker 04ebb9de0b AP_Airspeed: use send_to_active_channels for airspeed_autocal 2019-06-29 16:04:26 +10:00
Michael du Breuil e43605cc9b AP_Airspeed: Remove a number of unneeded top level includes 2019-06-27 14:56:21 +10:00
Jaaaky 061b4b7e70 AP_Airspeed: convert to unix style end-of-line 2019-06-19 16:39:09 +09:00
Michael du Breuil 157a3b1e34 AP_Airspeed: Fix AP_GPS.h include and use the singleton 2019-06-18 10:02:05 +10:00
Peter Barker 5cfba85095 AP_AirSpeed: take EAS2TAS directory from baro; use for all backends
Plane was only setting EAS2TAS in the primary frontend; calibration
expected it to be set on each instance.
2019-06-06 12:44:36 +10:00
Andrew Tridgell 03fb0b803b AP_Airspeed: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
murata 295c343959 AP_Airspeed: Commonize the CRC4 method 2019-04-24 08:44:11 -07:00
Andrew Tridgell bbe4c92b58 AP_Airspeed: skip cal on watchdog reset 2019-04-22 16:53:35 +10:00
Michael du Breuil a2ac0875a7 AP_Airspeed: Fix race condition in SDP3X leading to garbage data 2019-04-18 15:28:46 -07:00
Peter Barker f0379ff7f0 AP_Airspeed: move logging of ARSP into Airspeed library 2019-04-09 09:29:35 +10:00
Peter Barker 59ef486da0 AP_Airspeed: add AP::airspeed() to get airspeed singleton 2019-04-09 09:29:35 +10:00
Peter Barker 4ab13b37ac AP_Airspeed: logger uses the singleton for logging airspeed now 2019-04-09 09:29:35 +10:00
Sagnik Bhattacharya eddeea18de AP_Airspeed: add more comments to example 2019-04-02 19:41:45 +11:00
Tom Pittenger e67b6e15fa AP_Airspeed: rename dataflash to logger 2019-03-28 16:40:57 +11:00
Peter Barker c25ce2cee8 AP_AirSpeed: move sending of airspeed_autocal into AP_AirSpeed 2019-03-06 11:32:52 +11:00
duran9dv 8d4215fd82 Update AP_Airspeed_MS4525.cpp
update airspeed sensor to read and work with Pixhawk 4 adding { 3, MS4525D0_I2C_ADDR }, to the code
2019-03-04 10:05:38 -08:00
Peter Barker 7a674254e5 AP_Airspeed: uavcan: reindent after WITH_SEMAPHORE change (NFC) 2019-02-16 14:33:11 +11:00
Peter Barker c96cdf1f16 AP_Airspeed: uavcan: use WITH_SEMAPHORE in place of give/take _registry 2019-02-16 14:33:11 +11:00
Tom Pittenger 0c32453505 AP_Airspeed: unify singleton naming to _singleton and get_singleton() 2019-02-10 19:09:58 -07:00
Tom Pittenger 95c903c7cf AP_Airspeed: disable airspeed (_TYPE=0) as rover default 2019-02-07 11:17:21 +09:00
Tom Pittenger 74299906b1 AP_Airspeed: log health failure probability 2019-02-03 08:25:46 -08:00
ChrisBird c9af223579 AP_Airspeed: Renaming the check method name and readding the overall option check. This will set it up for future options. 2019-02-03 08:25:46 -08:00
Tom Pittenger 1a04a540f5 AP_Airspeed: convert the defines into static consts
- also perform logging at end of update
- convert Options Mask into an enum
2019-02-03 08:25:46 -08:00
ChrisBird d77906cb06 AP_Airspeed: This adds the ability to turn off and on the airspeed sensor if faulty. 2019-02-03 08:25:46 -08:00
Nathan E 0401078694 Update AP_Airspeed.cpp 2019-01-23 09:24:18 -07:00
Peter Barker 6fc76a32af GLOBAL: use AP::logger() and strip redundant Log_ from methods 2019-01-18 18:08:20 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
TsuyoshiKawamura 8faadc2ebb AP_Airspeed: removed #include duplicates 2019-01-03 09:40:50 +09:00
DOMINATOR\Eugene d3eb24bc01 AP_Airspeed: Temperature conversion in consistence with other libraries 2018-11-19 17:31:12 +00:00
DOMINATOR\Eugene c81f9e6baa AP_Airspeed: update data with logging 2018-11-17 07:52:42 +11:00
Andrew Tridgell fe064a2d4e AP_Airspeed: use WITH_SEMAPHORE()
and removed usage of hal.util->new_semaphore()
2018-10-17 12:54:22 +11:00
Michael du Breuil 88aa20d691 AP_Airspeed: Make user facing messages clearer, improve handling of bad tube order 2018-10-02 06:28:47 +10:00
liang.tang 653766c4cc AP_Airspeed: uavcan airspeed supported 2018-09-05 17:22:08 +10:00
liang.tang f4a8006333 AP_Airspeed: fix spd3x correct pressure issue 2018-09-02 16:38:51 -07:00
Michael du Breuil f2b4e06a1a AP_Airspeed: Add 5"H2O DLVR differential sensor driver 2018-08-08 09:07:17 +10:00
Michael du Breuil 6225f51815 AP_Airspeed: Remove APM doc references 2018-08-01 09:24:26 +10:00
Michael du Breuil fc44f693e5 AP_Airspeed: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Michael du Breuil 57f3e9cd88 AP_Airspeed: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Andrew Tridgell 8a2f1fdb3d AP_Airspeed: fixed airspeed filtering issue
this fixes an issue where an airspeed sensor that becomes unhealthy
can have an undue effect after the sensor becomes healthy again.

In a recent flight log the MS4525 airspeed sensor went unhealthy for a
few seconds, and at the same time gave a reading of 12m/s. The plane
was flying at 24m/s. While the sensor was unhealthy the code correctly
switched to the airspeed estimate, which was fine.

When the airspeed sensor become healthy again the IIR filter in
AP_Airspeed meant that the speed read at 12m/s initially, then came up
to 24m/s over a couple of seconds. This caused the VTOL motors to come
on for a few seconds.
2018-06-14 09:13:30 +10:00
Michael du Breuil abd5bffda5 AP_Airspeed: Clean up some comments, prevent a potential out of range access 2018-05-29 00:10:40 +01:00
Patrick José Pereira 237101a50e AP_Airspeed: Use SSL air density
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-05-23 02:36:43 +01:00
Michael du Breuil f6624cc8b2 AP_Airspeed: Use named float wrapper 2018-05-17 00:59:45 +01:00
Peter Barker 30f944b921 AP_AirSpeed: notify of calibration start 2018-04-02 23:25:05 +01:00
Michael du Breuil a46c60f4de AP_Airspeed: Create a singleton 2018-03-21 13:36:35 +00:00
Tom Pittenger b1a4540359 Revert "AP_Airspeed: blending of several sensors and failure recognition"
This reverts commit 26c7614118.
2018-03-09 13:12:05 -08:00
Eugene Shamaev 26c7614118 AP_Airspeed: blending of several sensors and failure recognition 2018-03-09 11:27:20 -08:00
Peter Barker a7647e77d9 AP_Airspeed: fix compiler warnings
In file included from
../../libraries/AP_Airspeed/AP_Airspeed_SDP3X.cpp:21:
../../libraries/AP_Airspeed/AP_Airspeed_SDP3X.h:57:11: warning: private
field '_temperature' is not used [-Wunused-private-field]
    float _temperature;
          ^
../../libraries/AP_Airspeed/AP_Airspeed_SDP3X.h:58:11: warning: private
field '_pressure' is not used [-Wunused-private-field]
    float _pressure;
2018-03-02 09:26:37 +09:00
David Ingraham 2547ca399a AP_Airspeed: Fix ARSPD2_TYPE docs 2018-01-26 13:19:53 -08:00
Andrew Tridgell 58b0ac07ec AP_Airspeed: support dual airspeed sensors
allow for a primary and secondary airspeed sensor
2018-01-16 07:14:20 +11:00
rde-mato 87e3777f67 AP_Airspeed: added SDP3X airspeed sensor driver 2018-01-16 07:14:20 +11:00
Michael du Breuil 5fedc65efb AP_Airspeed: Allow specifying the MS5525 address 2018-01-10 17:49:35 +00:00
Andrew Tridgell 55f73f4163 AP_Airspeed: fixed timing errors in MS5525 driver
this fixes issue #7188, where we could read from the MS5525 sensor too
soon after requesting data and the result coming back would be garbage
2017-12-27 11:05:54 -08:00
Hiroshi Takey (hiro2233) fb5b6f2169 AP_Airspeed: Updated Airspeed example. 2017-12-26 14:57:58 +00:00
Andrew Tridgell 8c1cf9affe AP_Airspeed: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Peter Barker 1e512338f9 AP_AirSpeed: clarify comment 2017-11-23 10:40:30 +11:00
Lucas De Marchi 69b6d95cb2 global: use static method to construct AP_Board_Config{,_CAN} 2017-09-26 03:01:21 +01:00