Lucas De Marchi
831d8acca5
Remove use of PROGMEM
...
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:
git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'
The 2 commands were done so we don't leave behind spurious spaces.
AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Lucas De Marchi
2c38e31c93
Remove use of PSTR
...
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.
This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.
AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Lucas De Marchi
386547427d
AP_Baro: support MS5611 on second i2c bus
2015-10-22 12:04:52 +11:00
wsilva32
da9118fbd0
AP_Baro: average SITL baro measurements using update()
2015-10-21 10:25:08 +11:00
Lucas De Marchi
4d3229daa2
AP_Baro: remove check for HAL_CPU_CLASS
...
We don't support HAL_CPU_CLASS <= HAL_CPU_CLASS_16 anymore. This makes
BARO_MAX_INSTANCES and BARO_MAX_DRIVERS constant for all supported
boards.
2015-10-21 10:05:18 +11:00
Caio Marcelo de Oliveira Filho
24178c3e10
AP_Baro: remove unnecessary includes in example
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
ec52df991c
build: compile only the HAL files needed by the board
...
Instead of requiring every program to specify the HAL related modules,
let the build system do it (in practice everything we compiled depended
on HAL anyway). This allow including only the necessary files in the
compilation.
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho
2e464a53c2
AP_HAL: make code not depend on concrete HAL implementations
...
The switching between different AP_HAL was happening by giving different
definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to
instantiate.
A program or library code would have to explicitly include (and depend)
on the concrete implementation of the HAL, even when using it only via
interface.
The proposed change move this dependency to be link time. There is a
AP_HAL::get_HAL() function that is used by the client code. Each
implementation of HAL provides its own definition of this function,
returning the appropriate concrete instance.
Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was
removed.
The static variables for PX4 and VRBRAIN were named differently to avoid
shadowing the extern symbol 'hal'.
2015-10-21 09:16:07 +11:00
José Roberto de Souza
c53e9d1ff0
AP_Baro: Fix typo
2015-10-16 10:05:03 +11:00
José Roberto de Souza
9a98eb35fc
AP_Baro: Add MS5637 over I2C to init()
2015-10-16 10:05:03 +11:00
José Roberto de Souza
c373ce34d1
AP_Baro: MS56XX: Some minor fixes
2015-10-16 10:05:03 +11:00
José Roberto de Souza
d9931b5f34
AP_Baro: Add support to MS5637
...
As AVR2560 is not supported anymore and do integer operations is
usually faster than float-point the _calculate() implementation was
done using only integer operations and as more close to what
datasheet says.
2015-10-16 10:05:03 +11:00
raspilot
831bb554e7
AP_Baro_MS5611: suspend timer when init to prevent other SPI drivers grabbing the bus.
2015-10-02 09:54:55 +10:00
mirkix
ba4db34c83
AP_Baro: Prevent busy waiting
2015-10-02 09:49:12 +10:00
Julien BERAUD
3b5d73b1fe
AP_Baro_MS5611: Fix state machine in case of error
...
If there is a read error, reading from the adc will return 0 but moreover,
we need to re-initiate a read or else we are stuck forever.
From MS5611-01BA03 datasheet, p. 10, CONVERSION SEQUENCE:
"After the conversion, using ADC read command the result is clocked out with the MSB first.
If the conversion is not executed before the ADC read command, or the ADC read command is
repeated, it will give 0 as the output result."
2015-09-23 09:19:22 +10:00
Andrew Tridgell
a5462fec0b
AP_Baro: allow selection of primary barometer and add 3rd baro
...
this is useful for external I2C barometers on a PH2
2015-09-14 14:27:41 +10:00
Gustavo Jose de Sousa
bcd5dff774
AP_Baro: MS56XX: do not change change state on error
...
If we have an error in the SPI or I2C transaction we should not change
the state. Otherwise we might read a temperature when the sensor is
reporting pressure and vice-versa.
2015-09-01 20:26:06 +10:00
Gustavo Jose de Sousa
1f29e18375
AP_Baro: make AP_SerialBus::write() return success or failure for MS56XX
2015-09-01 20:26:05 +10:00
Tom Pittenger
749c0c190f
AP_Baro - fix BARO_ALT_OFFSET param
...
This param seems to have been un-implemented. This is putting it back in. Adds a meter offset to the calculated altitude form the baro sensors.
Also changes it from int8 to float
2015-08-26 13:16:05 +10:00
Gustavo Jose de Sousa
f18802bc46
AP_Baro: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:28:42 +10:00
Grant Morphett
312184dd13
AP_Baro: coverity fixes - add param init in constructor
2015-07-30 12:37:08 +10:00
Randy Mackay
5732a6a144
Baro: update climb rate only if healthy
2015-07-29 16:32:49 +09:00
Julien BERAUD
d407737434
AP_Baro: added MS5607 support
2015-07-10 16:46:29 +10:00
Andrew Tridgell
282efe2d57
AP_Baro: fixed example to run accumulate at 50Hz
2015-07-10 09:59:35 +10:00
Andrew Tridgell
4368f922a3
AP_Baro: convert example from .pde to .cpp
2015-06-01 16:58:10 +10:00
Lucas De Marchi
df5652fa87
AP_Baro: use functor macros
...
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:52 +10:00
ziltoid2
23787cf695
AP_Baro: use ground_temperature instead of calibration_temperature for alt calculation
2015-05-20 11:42:21 +10:00
Andrew Tridgell
48fb7f8159
AP_BARO: revert AP_Math class change
2015-05-05 13:27:05 +10:00
Tom Pittenger
0b29848277
AP_Baro: compiler warnings: apply is_zero(float) or is_equal(float)
2015-05-05 13:26:56 +10:00
Andrew Tridgell
7d9d594283
AP_Baro: fix for HAL_SITL rename
2015-05-05 09:45:55 +10:00
Randy Mackay
55298a4c73
Baro: fix example sketch
2015-05-02 17:25:44 +09:00
Randy Mackay
1b381b5675
Baro: get_air_density_ratio gets div-by-zero check
2015-04-29 14:36:20 +09:00
Jonathan Challinger
f381ef93e8
AP_Baro: add get_air_density_ratio
2015-04-29 14:36:10 +09:00
Tom Pittenger
4191c44bbd
Baro: fix compile warning re member init order
2015-04-24 14:15:11 +09:00
Andrew Tridgell
2e9d2e6449
AP_Baro: load only HIL backend for hil_mode
2015-03-13 22:52:55 +11:00
Andrew Tridgell
d040318014
AP_Baro: removed unused define
2015-03-13 18:46:17 +11:00
Randy Mackay
4e7d92094c
Baro: remove glitch detection
2015-03-13 16:40:29 +09:00
Andrew Tridgell
1f70b34cbc
AP_Baro: fixed baro startup on PXF cape
2015-03-13 13:48:41 +11:00
Andrew Tridgell
beeb9173ea
AP_Baro: change for new PX4 paths
2015-02-14 12:25:43 +11:00
Andrew Tridgell
ac3dd87790
AP_Baro: added hil_mode support
2015-02-10 09:53:30 +11:00
Randy Mackay
bb4204c045
Baro: fix example sketch
2015-01-28 17:15:37 +09:00
Randy Mackay
c93e7a69a7
Baro: init external_temperature in constructor
2015-01-12 13:56:35 +09:00
Andrew Tridgell
b1d8df3d54
AP_Baro: only allow calibrated sensors to be used
2015-01-09 12:59:01 +11:00
Andrew Tridgell
3320dfd7fa
AP_Baro: fixed ms5611 spelling error
2015-01-09 11:59:49 +11:00
Andrew Tridgell
0a8677b3e2
AP_Baro: fixed build after rebase with all_healthy()
2015-01-09 11:51:52 +11:00
Andrew Tridgell
1c2a6deaaf
AP_Baro: added all_healthy() method
2015-01-09 11:51:51 +11:00
Andrew Tridgell
8359c082ca
AP_Baro: fixed baro on NavIO
...
don't use the 1kHz timer as it conflicts with other I2C devices
2015-01-09 11:51:51 +11:00
Andrew Tridgell
197c09fcd8
AP_Baro: added num_instances() API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
f1891cea1f
AP_Baro: BMP085 driver done, but untested
2015-01-09 11:50:54 +11:00
Andrew Tridgell
5bb57a31f7
AP_Baro: split into frontend/backend
...
this allows for support of multiple sensors on a board
2015-01-09 11:50:54 +11:00
Staroselskii Georgii
43c88c37eb
AP_Baro: fixed MS5611 initialisation in order to get rid off conflicts with other I2C devices
2015-01-07 08:41:13 +11:00
Randy Mackay
ddda0d52ce
Baro: reorder declaration to fix compiler warning
...
No functional change
2014-12-11 13:06:24 +09:00
Andrew Tridgell
e45522f51d
AP_Baro: fixed example build
2014-11-28 10:40:43 +11:00
Andrew Tridgell
d404cc6542
AP_Baro: add set_external_temperature()
...
this allows the use of an external temperature sensor for calibration
purposes, such as the sensor built in to the digital airspeed sensor.
The main affect this has is on the EAS2TAS calculation
The get_calibration_temperature() is used to choose either an external
temperature or an internal one. If an internal one is used then it is
clamped at no higher than 25 degrees C, to prevent hot electronics
on startup affecting altitude scaling and EAS2TAS
2014-11-12 13:36:01 +11:00
Andrew Tridgell
8b794602d1
AP_Baro: make get_temperature() a const function
2014-11-12 13:36:01 +11:00
Randy Mackay
67690553c5
BaroGlitch: add reset method
2014-11-09 13:34:15 -08:00
Randy Mackay
3a81732721
Baro: minor param description updates
2014-10-14 12:42:27 +09:00
Andrew Tridgell
5280d8936d
AP_Baro: remove usage of hrt_absolute_time()
...
use a single time base in all code
2014-08-20 08:41:15 +10:00
Andrew Tridgell
d01fa3bfbd
AP_Baro: prevent reading the MS5611 too fast
...
setup the timer start after we've started the conversion to prevent
reading faster than the MS5611 is able to produce values
2014-08-19 21:16:13 +10:00
Randy Mackay
fd5dee96e4
BaroGlitch: check baro health after alt calculation
...
Also correct type of distance_cm internal variable
2014-08-14 16:03:33 +09:00
Randy Mackay
424a65663a
Baro: init members to resolve compiler warning
2014-08-14 16:03:30 +09:00
Randy Mackay
53b073148b
BaroGlitch: use baro healthy()
2014-08-14 16:03:21 +09:00
Randy Mackay
78b1bf8282
Baro: example sketch to use healthy() function
2014-08-14 16:03:15 +09:00
Randy Mackay
76634ee8c3
Baro_PX4: use healthy flag
2014-08-14 16:03:12 +09:00
Randy Mackay
d29fe51cb3
Baro_VRBrain: use healthy flag
2014-08-14 16:03:09 +09:00
Randy Mackay
24db492131
Baro_MS5611: use healthy flag
2014-08-14 16:03:06 +09:00
Randy Mackay
72f6985bd8
Baro_HIL: use healthy flag
2014-08-14 16:03:04 +09:00
Randy Mackay
fdb38dec5f
Baro_BMP085: use healthy flag
2014-08-14 16:03:02 +09:00
Randy Mackay
330d883f97
Baro: add altitude sanity check
...
healthy flag made protected
healthy accessor fn added which also check latest calculated altitude
was ok
2014-08-14 16:02:59 +09:00
Randy Mackay
e9fbea9497
Baro: make get_altitude_difference const
2014-08-14 16:02:55 +09:00
Randy Mackay
af28b74944
Baro_BMP085: init members to resolve compiler warnings
2014-08-14 11:27:29 +09:00
Andrew Tridgell
a400cbc922
AP_Baro: fixed example build
2014-08-13 21:46:14 +10:00
Mikhail Avkhimenia
83bbee491c
AP_Baro_MS5611: add address switch for Navio board
2014-08-12 22:09:29 +10:00
Randy Mackay
5d4e019397
BaroGlitch: increase max accel to 15m/s/s
2014-08-09 15:47:52 +09:00
Andrew Tridgell
6ebff35fe2
AP_Baro: don't include I2C MS5611 on APM1 either
2014-08-03 17:17:20 +10:00
Randy Mackay
fe24721218
BaroGlitch: increase default ok distance to 5m
...
When taking off some copters hove a sudden baro altitude dip of 4m
2014-08-02 11:43:06 +09:00
Randy Mackay
c68d4fdfcb
BaroGlitch: init members to resolve compiler warning
2014-08-01 14:07:34 +09:00
Randy Mackay
728da12441
BaroGlitch: remove debug
2014-07-29 22:05:09 +09:00
Andrew Tridgell
c538cc0665
AP_Baro: fixed example build
2014-07-29 21:04:26 +10:00
Randy Mackay
2289b98d34
Baro_Glitch: initial version of baro glitch protection
...
Based on GPS Glitch protection library
2014-07-28 22:16:12 +09:00
Andrew Tridgell
a458f1bf5f
AP_Baro: minor improvements to Baro HIL code health check
2014-07-24 21:46:06 +10:00
Andrew Tridgell
2b3d17d955
AP_Baro: fixed APM1 build
2014-07-14 09:50:17 +10:00
Andrew Tridgell
be02f0c34f
AP_Baro: work around occasional 0 values from MS5611
...
this was seen on the PXF board. It isn't yet known why it happens
2014-07-14 09:44:36 +10:00
Andrew Tridgell
b0ab2671cd
AP_Baro: removed old device specific example code
...
not needed any more
2014-07-14 09:44:36 +10:00
Andrew Tridgell
028e2e34f1
AP_Baro: added generic baro test sketch
2014-07-14 09:44:36 +10:00
Andrew Tridgell
f73ec95c39
AP_Baro_MS5611: added PROM CRC checking
...
disabled on APM2 to save flash space
2014-07-14 09:44:35 +10:00
Víctor Mayoral Vilches
8a85f8d6d2
AP_Baro_MS5611_test: Add HAL specific code.
2014-07-14 09:29:53 +10:00
Víctor Mayoral Vilches
de58df6371
AP_Baro_MS5611_test: Add block for APM2-code
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
9797867067
AP_Baro_MS5611: Fix the test code so that compiles.
...
Add HAL_BOARD_LINUX and HAL_BOARD_ERLE compatibility.
2014-07-14 09:02:47 +10:00
Andrew Tridgell
74c3b404ee
AP_Baro: avoid some float conversion warnings
2014-07-08 20:26:54 +10:00
Andrew Tridgell
e118984c26
AP_Baro: save some flash and memory on APM2
...
we don't need the I2C MS5611 driver
2014-07-08 14:21:42 +10:00
Andrew Tridgell
3705c90b8e
AP_Baro: fix for HAL_GPIO_*
2014-06-02 10:42:36 +10:00
Andrew Tridgell
41dd280739
AP_Baro: expose get_altitude_difference()
...
this is useful for pressure altitude calculations
2014-04-11 16:34:02 +10:00
Emile Castelnuovo
f4784fe6a1
AP_Baro: new files for VRBRAIN board
2014-04-08 16:19:19 +10:00
Andrew Tridgell
d3d71d597c
AP_Baro: fixed example build
2014-03-19 12:14:05 +09:00
Andrew Tridgell
63234d4c22
AP_Baro: fixed linux build of BMP085 driver
2014-03-07 09:33:43 +11:00
Andrew Tridgell
b2bd81f262
AP_Baro: added alternative setHIL interface
...
uses pressure and temperature for better log replay
2014-02-18 09:25:07 +11:00
Andrew Tridgell
3af38a778d
AP_Baro: fixed example build
2014-02-15 06:40:15 +11:00
Randy Mackay
bb715424ee
Baro: fix BMP085 example sketch
2014-02-15 06:09:08 +11:00
Andrew Tridgell
6964529124
AP_Baro: _calculate can be private
2014-02-15 05:48:24 +11:00