Commit Graph

603 Commits

Author SHA1 Message Date
yaapu ea53ce2a3f AP_Baro: support for MSP barometer 2020-09-09 06:35:50 +10:00
Harshit Kumar Sankhla d7c569c085 AP_Baro: able to freeze baro using SITL parameter 2020-08-27 20:20:51 +10:00
Andrew Tridgell 326ab0d7b8 AP_Baro: added get_primary() method 2020-08-27 20:20:51 +10:00
Siddharth Purohit dc02322017 AP_Baro: move to using CANManager library 2020-08-19 17:31:09 +10:00
Patrick José Pereira e1b6ef3e14 AP_BARO: Fix zero as nullptr in KellerLD
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-08-09 10:12:16 +10:00
Andrew Tridgell 978a7d2859 AP_Baro: added device IDs for barometers
this allows us to tell what barometers were detected in logs
2020-07-21 08:20:01 +09:00
Harshit Kumar Sankhla 27fc7dcf0a AP_Baro: get SITL to work with multiple baros
baro readings are independent of each other
and can be configured to behave differently
2020-07-08 16:25:31 +10:00
vierfuffzig 6fa7dca68b AP-Baro: fix init without baro 2020-05-26 10:04:22 +10:00
Peter Barker 6b232ee515 AP_Baro: add documentation for ICBM message (ICM20789 diagnostics) 2020-04-26 09:02:39 +10:00
Andrew Tridgell 02aebfcd6f AP_Baro: fixed build warning 2020-04-20 07:10:21 +10:00
Patrick José Pereira 4018a79f83 AP_Baro: Fix scope of HAL_INS_MPU60x0_NAME
`read_calibration_data` is defined but only used inside the
definition scope.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-17 15:58:38 +10:00
murata 10b7988092 AP_Baro: Fix timestamp wrapping 2020-04-14 07:30:58 +10:00
Andrew Tridgell 322bad3fd9 AP_Baro: 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 8c563ef1bf AP_Baro: 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
Andrew Tridgell 4d24aa43db AP_Baro: added dummy driver
useful for board bringup
2020-01-18 17:00:44 +11:00
Andrew Tridgell d8beb55e9f AP_Baro: fixed BMP388 on SPI 2020-01-18 17:00:44 +11:00
Andrew Tridgell 8e4138b503 AP_Baro: fixed baro health for AP_Periph 2020-01-18 15:44:17 +11:00
Patrick José Pereira d36157f314 AP_Baro: Add BME280 ID in BMP280
BME280 has the same memory layout than BMP280,
but with more features.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-01-16 08:01:54 +11:00
Peter Barker 4e40c39128 AP_Baro: add missing break statement 2020-01-15 13:55:42 +11:00
CUAVcaijie 8daa8f34c9 AP_Baro: added averaging of CAN baro output 2019-12-26 12:21:41 +11:00
Michel Pastor 0857cf49d5 AP_Baro: add driver for the SPL06-001 2019-11-24 16:47:31 -08:00
Michel Pastor ada1239012 AP_Baro: fix PROBE_EXT parameter description 2019-11-18 08:23:33 +08:00
Mark Whitehorn a1868b8b67 AP_Baro: rename sensor_config_error to config_error 2019-11-08 10:14:34 +11:00
murata 233fb94417 AP_Baro: Add I2C Access 2019-10-27 20:02:27 +11:00
Andrew Tridgell 94418ca70e AP_Baro: added register checking and reset to DPS280 driver
this is to fix an issue found on a mRoControlZeroF7
2019-10-15 10:22:15 +11:00
Peter Barker 04ee459e8c AP_Baro: exclude Sub pressure transducers from non-sub builds 2019-09-28 16:41:06 +10:00
liang d890203f73 AP_Baro: LPS22H: correct formatting 2019-09-24 09:50:56 -07:00
Andrew Tridgell f18a18c0ee AP_Baro: use GET_I2C_DEVICE() for i2c probes
for consistency with compass and INS
2019-09-04 16:27:47 +10:00
Andrew Tridgell 2509b50852 AP_Baro: define GET_I2C_DEVICE() 2019-09-04 16:27:47 +10:00
Michael du Breuil 5d888abfec AP_Baro: Directly include needed headers 2019-08-28 13:13:03 +10:00
Andrew Tridgell 6cecf15e6a AP_Baro: remove unused baro probe lines 2019-08-28 06:54:11 +10:00
Andrew Tridgell e8e18959f7 AP_Baro: fixed baro build with AP_Periph
no GCS available
2019-08-27 10:29:56 +10:00
Andrew Tridgell a19e55e83c AP_Baro: added BMP388 driver 2019-08-27 10:29:56 +10:00
Jaaaky fee3136b44 AP_Baro: Fix floating point exception with watchdog reset
Fixes #12132
2019-08-26 12:24:21 +10:00
Peter Barker c16504e33e AP_Baro: examples: var_info is now in GCS_MAVLINK_Parameters 2019-08-14 18:25:43 +10:00
Andrew Tridgell c9567783e6 AP_Baro: use sensor_config_error on baro cal failure
this allows the user to fix parameters
2019-07-31 14:30:49 +10:00
Michael du Breuil 5645709e50 AP_Baro: Rearrange the sensor struct
Saves 12 bytes of RAM, 144 bytes of flash on CubeBlack
2019-07-31 14:30:25 +10:00
Andrew Tridgell 6f58260d99 AP_Baro: check for all 1 ADC read on MS5611 2019-07-31 12:53:57 +10:00
Andrew Tridgell a196c54db6 AP_Baro: consider a baro unhealthy when outside of -200 to 200 C
this helps detects unhealthy baros on SPI where we can't detect comms
failure
2019-07-31 12:53:57 +10:00
Peter Barker c283bb968b AP_Baro: support 0 detected simulated baros 2019-07-09 10:01:23 +10:00
Andrew Tridgell f7b9368b94 AP_Baro: support new sensor config setup 2019-05-30 15:39:57 +10:00
Andrew Tridgell 5023b51679 AP_Baro: added semaphore for safe multi-thread use of APIs 2019-05-30 08:33:12 +10:00
Pierre Kancir 3fa419e132 AP_Baro: fix LPS22H on I2C 2019-05-22 07:37:20 +10:00
Pierre Kancir 2348fa4201 AP_Baro: probe HAL_BARO_LPS22H_I2C 2019-05-22 07:37:20 +10:00
Andrew Tridgell 097519926d AP_Baro: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Phillip Kocmoud 069d054e5c AP_Baro.cpp: support DPS280 on SPI 2019-05-10 15:05:42 +10:00
Phillip Kocmoud a24bbe0b13 AP_Baro: support DPS280 on SPI 2019-05-10 15:05:42 +10:00
Jaaaky 6ed8b2aad9 AP_Baro: Fix not healthy by watchdog reset 2019-05-03 10:42:43 +10:00
murata 716cc26082 AP_Baro: Commonize the CRC4 method 2019-04-24 08:44:11 -07:00
Jonathan Challinger c45ca690dc AP_Baro: make crc4 a static member of AP_Baro_MS56xx 2019-04-24 11:45:14 +10:00
Andrew Tridgell 8d57a6a86a AP_Baro: skip cal on watchdog reset 2019-04-22 16:53:35 +10:00
Andrew Tridgell fef42c6219 AP_Baro: fixes for LPS2XH driver
use fractional temperature, and check status register to ensure we
have data available
2019-04-08 12:52:19 +10:00
Peter Barker 10cc05c8ed AC_Baro: add floating point constant designators 2019-04-05 23:04:17 -07:00
Michael du Breuil fd8f70c098 AP_Baro: Include AP_Logger directly 2019-04-05 20:12:53 +11:00
Sagnik Bhattacharya 1830e72a0e AP_Baro: add more comments to example 2019-04-02 19:41:45 +11:00
Tom Pittenger b54da9aab8 AP_Baro: rename dataflash to logger 2019-03-28 16:40:57 +11:00
mirkix 655421c526 AP_Baro: remove unused field 2019-03-25 08:26:49 +11:00
Andrew Tridgell c31ee1f71b AP_Baro: setup for fmuv6 2019-02-26 16:18:26 +11:00
Peter Barker 5e6f02f51e AP_Baro: uavcan: reindent after WITH_SEMAPHORE change (NFC) 2019-02-16 14:33:11 +11:00
Peter Barker 78f05492d7 AP_Baro: uavcan: use WITH_SEMAPHORE in place of give/take _registry 2019-02-16 14:33:11 +11:00
Tom Pittenger 52887e1c45 AP_Baro: unify singleton naming to _singleton and get_singleton() 2019-02-10 19:09:58 -07:00
Andrew Tridgell 14172d69d5 AP_Baro: removed F4Light 2019-01-21 21:57:21 +11: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
DOMINATOR\Eugene c56188d081 AP_Baro: read temperature from AP_Airspeed singleton 2018-11-17 07:52:42 +11:00
Peter Barker ee07789383 AP_Baro: add override keyword 2018-11-08 11:30:12 +11:00
Michael du Breuil c712e926d7 AP_Baro: Avoid returning 0.0f for EAS2TAS 2018-11-06 13:44:18 +11:00
Andrew Tridgell e4e793b295 AP_Baro: use WITH_SEMAPHORE()
and removed usage of hal.util->new_semaphore()
2018-10-17 12:54:22 +11:00
Peter Barker e503df48ff AP_Baro: emit calibrated messages for each connected baro
Thanks to OlliW for pointing this out
2018-10-15 08:13:50 +11:00
Eugene Shamaev 95ea3d8726 AP_Baro: fix temperature 2018-10-12 21:53:08 +01:00
murata 2d4dd1643d AP_Baro: Delete the total temperature process.
AP_Baro: Delete the total temperature process.
2018-10-12 12:05:17 +11:00
Peter Barker d05ab1b983 AP_Baro: notify GCS of all barometer ground pressures 2018-10-11 08:05:05 +11:00
Andrew Tridgell d79386d574 AP_Baro: use GND_EXT_BUS to allow a specific bus to be probed 2018-09-07 08:36:02 +10:00
Andrew Tridgell dda8e7c35a AP_Baro: probe both i2c buses on CubeBlack for barometers 2018-09-07 08:36:02 +10:00
Randy Mackay af6e2d2c8c AP_Baro: add PROBE_EXT param values
this makes it easier for users to select the external baro they want to use on GCSs that do not display the bitmasks
2018-09-07 08:36:02 +10:00
Randy Mackay 758331612f AP_Baro: probe for MS5611 on I2C addr 0x76 2018-09-07 08:36:02 +10:00
Andrew Tridgell 5de199bc01 AP_Baro: allow for external i2c baro on most boards
only disable on those with HAL_MINIMIZE_FEATURES enabled
2018-09-06 07:21:30 +10:00
Siddharth Purohit 5ef5537371 AP_Baro: move Baro UAVCAN subscribers and handlers to AP_Baro_UAVCAN 2018-08-29 22:54:59 +01:00
Andrew Tridgell 3fd25ad548 AP_Baro: added HAL_BARO_ALLOW_INIT_NO_BARO 2018-08-23 13:29:59 +10:00
Andrew Tridgell 1439b1a730 AP_Baro: added option to probe any i2c baro using GND_PROBE_EXT
This adds a hwdef.dat define HAL_PROBE_EXTERNAL_I2C_BAROS. When set,
we get a new parameter GND_PROBE_EXT that is a bitmask of i2c
barometers to look for.

This allows boards that have no builtin baro to work without
rebuilding
2018-08-23 13:29:59 +10:00
Andrew Tridgell f937589810 AP_Baro: fixed BMP085 probe 2018-08-23 13:29:59 +10:00
Andrew Tridgell b2cc992e0c AP_Baro: convert to use WITH_SEMAPHORE() 2018-08-23 08:21:48 +10:00
Francisco Ferreira 9489ec9e7c
AP_Baro: adapt to changes in AP_BoardConfig_CAN 2018-08-12 13:35:02 +01:00
Andrew Tridgell 769c99d4d7 AP_Baro: added register checking on BMP280
this follows a log which seems to show an in-flight register
corruption on a MatekF405
2018-08-04 16:44:08 +10:00
heitiane 2c24bac79e BARO_generic: add Dummy GCS to meet the requirement of AP_Baro::calibrate(). 2018-07-14 10:32:51 +10:00
Patrick José Pereira 4ae6bd2c7e AP_Baro: Use SITL singleton
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-06-26 00:02:01 +01:00
Eugene Shamaev 13954f97cf AP_Baro: helper func 2018-06-09 22:46:48 -07:00
Eugene Shamaev f8da16d11a AP_Baro: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
Andrew Tridgell ae1a58ecb8 AP_Baro: added FMUv5 support 2018-06-06 07:15:41 +10:00
Patrick José Pereira b014b6c857 AP_Baro: Use SSL variables
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-05-23 02:36:43 +01:00
Eugene Shamaev 31628ea52f AP_Baro: functions declaration
Co-authored-by: Francisco Ferreira <OXINARF@users.noreply.github.com>
2018-05-22 08:35:01 +09:00
Francisco Ferreira de73ab6472 AP_Baro: remove Qualcomm board support 2018-05-17 09:57:20 +10:00
night-ghost 0b3514c519 AP_Baro: add support for BMP280 on alternate address 2018-05-16 18:55:29 +10:00
Patrick José Pereira f22f053c83 AP_Baro: Use C_TO_KELVIN
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-05-11 10:46:19 +10:00
Patrick José Pereira cc590ee587 AP_Baro: Add BARO_TYPE_WATER model to SITL when running for ArduSub
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-05-10 16:05:58 -04:00
Patrick José Pereira c7f832e81f AP_Baro: Add SimpleUnderWaterAtmosphere function
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-05-10 16:05:58 -04:00
Andrew Tridgell 86e85a7089 AP_Baro: fixed build warning 2018-05-07 11:43:23 +10:00
night-ghost eb0343649b Baro: fix HAL_F4light compilation errors 2018-04-30 08:32:58 +10:00
night-ghost 740e322438 AP_Baro: fix BMP280 scale 2018-04-13 20:45:48 +10:00
Peter Barker a5dc87e2af AP_Baro: do dataflash logging as part of update 2018-04-12 19:12:12 +01:00
night-ghost 33bdc9196c AP_Baro: added autodetection of popular baro types on external bus 2018-04-11 15:00:36 +10:00
night-ghost cb8a34f784 AP_Baro: added range filter to backend, use it in most sensors (thanks khancyr for style correction) 2018-04-11 14:46:42 +10:00
Peter Barker 1de68b78dc AP_Barometer: tidy handling of barometer calibrations 2018-04-02 23:25:05 +01:00
Peter Barker 0675f41d1e AP_Baro: create AP::baro() function 2018-03-08 21:20:05 -08:00
Andrew Tridgell 667093023c AP_Baro: added DPS280 barometer driver 2018-03-05 10:27:09 +00:00
Andrew Tridgell 5b7fe26f33 AP_Baro: added FBM320 driver 2018-03-05 10:27:09 +00:00
Andrew Tridgell 75a262ebf9 AP_Baro: support LPS25H on MPU9250 AUX 2018-03-02 12:52:50 +11:00
Andrew Tridgell 9e272b7a95 AP_Baro: support SP01 board 2018-02-14 18:27:00 +11:00
Andrew Tridgell f85c82ee5d AP_Baro: fixed baro scaling for LPS2XH 2018-02-14 18:27:00 +11:00
ljwang 88effef51a AP_Baro: support mini-pix using LPS25H SPI barometer
allow LPS22H and LPS25H to share a driver
2018-02-14 18:27:00 +11:00
Andrew Tridgell 00d3c158db AP_Baro: use generic defines for 20789 2018-02-08 17:36:33 +11:00
Andrew Tridgell 5a6831b606 AP_Baro: allow ICM-20789 on SPI or I2C 2018-02-08 17:36:33 +11:00
Andrew Tridgell a3dabf3c55 AP_Baro: enable 20789 baro on F412 2018-02-08 17:36:33 +11:00
Andrew Tridgell 472eed3847 AP_Baro: enable use of pressure correction
this allows for temperature correction of baro pressure
2018-02-08 17:36:33 +11:00
Andrew Tridgell b2172a0475 AP_Baro: support PCNC1 2018-02-08 17:36:33 +11:00
Peter Barker 12a3cc1179 AP_Baro: use Invensense defines when configuring ICM20789 IMU part 2018-02-08 17:36:33 +11:00
Peter Barker 3a0c5bed85 AP_Baro: ICM20789: example fixes 2018-02-08 17:36:33 +11:00
Peter Barker bf95be96f3 AP_Baro: ICM20789: stop dev_icm being an instance variable 2018-02-08 17:36:33 +11:00
Peter Barker c56486a39e AP_Baro: remove pointless destructor overrides 2018-02-08 17:36:33 +11:00
Peter Barker 05fb28c7f9 AP_Baro: use HAL_SEMAPHORE_BLOCK_FOREVER 2018-02-08 17:36:33 +11:00
Peter Barker ea83a487d4 AP_Baro: create BARO_ICM20789_DEBUG and use it 2018-02-08 17:36:33 +11:00
Peter Barker 31d8b6ba64 AP_Baro: do not take semaphore if HAL_INS_MPU60x0_NAME not set 2018-02-08 17:36:33 +11:00
Andrew Tridgell bf67153791 AP_Baro: implement ICM20789 barometer 2018-02-08 17:36:33 +11:00
Siddharth Purohit 175d806b5f AP_Baro: skip using posix headers for non-posix systems 2018-02-07 20:33:45 +11:00
Andrew Tridgell 83d1e71cb2 AP_Baro: ran BMP085 driver through code formatter 2018-02-05 12:12:03 +11:00
night-ghost 2c043b822b AP_Baro: fixed BMP085 driver for current API 2018-02-05 12:12:03 +11:00
LukeMike d48f9397d0 VRBRAIN / AP_Baro: added barometer sensor init for VR Brain boards 2018-02-05 08:26:49 +11:00
Andrew Tridgell 5846558b0e AP_Baro: moved constants to AP_Math/definitions.h 2018-01-16 07:14:20 +11:00
rde-mato 787420931e AP_Baro: make AP_Baro a singleton
for AP_Airspeed
2018-01-16 07:14:20 +11:00
Andrew Tridgell 51f9f087ab AP_Baro: support MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell 0b6659b36a AP_Baro: support ChibiOS FMUv4 2018-01-15 11:46:02 +11:00
Andrew Tridgell c8c563f90d AP_Baro: support ChibiOS 2018-01-15 11:46:02 +11:00
Pierre Kancir 14b5c8a6c4 AP_Baro: don't include vehicle specific baro by default 2017-12-27 15:13:30 +00:00
Andrew Tridgell 68f8817e97 AP_Baro: 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
Lucas De Marchi 69b6d95cb2 global: use static method to construct AP_Board_Config{,_CAN} 2017-09-26 03:01:21 +01:00
Lucas De Marchi 91feec0e14 global: use static method to construct AP_Baro 2017-09-26 03:01:21 +01:00
Lucas De Marchi c5c1d5abfe AP_Baro: add static create method 2017-09-26 03:01:21 +01:00
liorosh f2b7dc74d7 AP_Baro: Adding a new LPS25H Barometer driver
The following is a Barometer sensor driver for the LPS25H Barometer that
is integrated in the 96Boards STM32 Sensor mezzanine board.
the update includes the .cpp and .h files of the driver as well as the
updates required in AP_Baro.cpp.
2017-09-16 21:08:06 +10:00
Jacob Walser e492c733d8 AP_Baro: fixup Keller LD comments 2017-08-29 12:30:32 -04:00
Jacob Walser 07e00de549 AP_Baro: Tweak Keller LD driver for better performance after initial tests 2017-08-29 08:08:16 -04:00
Jacob Walser 2a71afd3ba AP_Baro: Remove superfluous casts 2017-08-29 08:08:16 -04:00
Jacob Walser a08da4ecc4 AP_Baro: New AP_Baro_Keller device driver 2017-08-29 08:08:16 -04:00
Lucas De Marchi 7c6f9a004e AP_Baro: 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
khancyr 2d0bce18a8 AP_Baro: rename all local variable with prefix
fix last missing spaces
2017-07-24 10:15:15 -07:00
khancyr 35ac86ff8d AP_Baro: fix some style and const correctness 2017-07-24 10:15:15 -07:00
khancyr 0e895f5c74 AP_Baro: fix instance shadowing 2017-07-24 10:15:15 -07:00
Kevin Lopez Alvarez 18dab4829a AP_Baro: initial FMUv4pro support 2017-07-24 13:45:37 +10:00
Michael du Breuil 6b60c110a5 AP_Baro: Improve GND_TEMP parameter docs 2017-07-16 20:22:00 +01:00
Michael du Breuil f14667225d AP_Baro: Avoid a FPE when ground pressure is negative 2017-07-15 10:49:16 +09:00
Peter Barker 1748e7cb0c AP_Baro: make backends responsible for setting their health
This resolves a problem in SITL where the barometer would
not change value for prolonged period of time, making it
go unhealthy
2017-07-14 07:28:48 +09:00