Commit Graph

291 Commits

Author SHA1 Message Date
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
Andrew Tridgell 2c68b5dac3 AP_Airspeed: fixed airspeed autocal
don't use negative pressures
2017-09-22 18:24:29 +10:00
Mark Whitehorn f32f51f843 AP_Airspeed: eliminate airspeed positive bias 2017-09-22 18:21:09 +10:00
Lucas De Marchi e2e836f676 AP_Airspeed: use FALLTHROUGH define
When falling through on a case switch, allow to add an empty statement
with the correct attribute to tell the compiler this behavior is
intended.
2017-08-22 23:59:13 -07:00
Francisco Ferreira d3ed4420e6
AP_Airspeed: remove unused MS4525D0_I2C_BUS macro 2017-08-05 03:15:52 +01:00
Vinicius Juvinski 78deddabda AP_Airspeed: MS4525: Add support to I2C Bus 2
BBBMini use I2C Bus number 2 and MS4525 just use up to bus 1, so I
addedd this bus 2 to address struct.
2017-08-05 03:15:32 +01:00
Peter Barker 3214b48f8c AP_AirSpeed: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Andrew Tridgell 7b73004882 AP_Airspeed: added ARSPD_USE=2 for gliders 2017-05-04 22:59:02 -07:00
Pierre Kancir 3f4a3e535b AP_Airspeed: example fix travis warning
missing function declaration
implicit cast
some style fix
2017-04-13 19:56:16 +01:00
Andrew Tridgell 6ec32472c5 AP_Airspeed: average two readings for airspeed
given we're using it to check for errors, we may as well reduce analog
noise too
2017-04-04 08:40:31 +10:00
Michael du Breuil 4932a8b9ef Airspeed: Sanity check MS4525DO data, and utilize a double read 2017-04-01 11:19:39 +11:00
murata af65be5aa4 AP_Airspeed: Change from magic number 0 to definition name. 2017-02-18 14:12:36 +00:00
murata 743d6e6db4 AP_Airspeed: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Lucas De Marchi f6a4a4dbe8 AP_Airspeed: MS5525: use common macros to deal with endianness
Instead of calling a special method in the device, just use be16toh()
which is implemented for all platforms in our special sparse-endian.h
file. It has the advantage of using a special type for different
endianness and makes no assumption we are running on LE.
2017-01-26 23:18:27 -08:00
Lucas De Marchi 5472bc4de1 Global: change Device::PeriodicCb signature
Remove bool return as it's never being used and not supported on PX4.
2017-01-14 10:03:54 +11:00
Tom Pittenger 84bdf15203 AP_Airspeed: updated comment to match PR 2016-12-05 17:19:57 -08:00
Andrew Tridgell 43bac678cd AP_Airspeed: Added MS5525 airspeed driver
also improved averaging in MS4525 driver
2016-12-05 16:51:49 -08:00
Andrew Tridgell 04731dccd6 AP_Airspeed: rename MS4525 driver
ready for new driver types
2016-12-05 16:51:49 -08:00
Andrew Tridgell 14a1f559c7 AP_Airspeed: added ARSPD_TYPE and use standard driver backend methods
this will allow for new sensor types
2016-12-05 16:51:49 -08:00
Andrew Tridgell 497b87fa65 AP_Airspeed: switched to in-tree I2C driver for all boards 2016-11-09 17:07:59 +11:00
murata c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
Peter Barker 42f3f7195b AP_Airspeed: add missing parameter metadata 2016-10-27 09:15:03 -07:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Lucas De Marchi ae53920e5b build: don't build examples with old build system
We currently check examples are buildable with waf which doesn't need
the libraries to be specified in a make.inc file.  Having the makefiles
there is misleading since people try to build and realize the build is
broken.
2016-10-11 13:03:08 +11:00
Andy Little 0d113b265c Examples: fix examples for px4
The change to use AP_BoardConfig messed up the examples. Here are some
updated but there are plenty more to do.
2016-10-04 12:50:47 -03:00
William Liu cc28c8e6ee AP_Airspeed: AP_Airspeed_I2C: get the right status according to datasheet 2016-09-09 10:32:14 -07:00
Tom Pittenger a66e248f5c AP_Airspeed: remove AP_Vehicle::FixedWing dependency 2016-08-08 00:12:42 -07:00
Tom Pittenger ce7b766d8b AP_Airspeed: remove AP_Vehicle::FixedWing dependency 2016-08-08 00:02:42 -07:00