Commit Graph

262 Commits

Author SHA1 Message Date
Caio Marcelo de Oliveira Filho
410bbe4c26 AP_Airspeed: examples use millis/micros/panic functions 2015-11-20 12:29:16 +09:00
Caio Marcelo de Oliveira Filho
2b10e0fac0 AP_Airspeed: use millis/micros/panic functions 2015-11-20 12:29:07 +09:00
Andrew Tridgell
8f4ce7f20b build: removed all nocore.inoflag files
these were APM2 specific
2015-11-16 08:05:17 +11:00
Andrew Tridgell
a3ca732403 AP_Airspeed: show health status in examples 2015-11-05 16:09:00 +11:00
Lucas De Marchi
221d822573 AP_Airspeed: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:11 +11:00
Lucas De Marchi
6f4904189b Replace use of println_P() with println() 2015-10-30 14:35:22 +09:00
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
Caio Marcelo de Oliveira Filho
817248b2f5 AP_Airspeed: remove unnecessary includes from example 2015-10-21 09:16:11 +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
Gustavo Jose de Sousa
d42b132507 AP_Airspeed: 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
Staroselskii Georgii
402f46c56f AP_Airspeed: fixed a typo in the ARSPD_DEFAULT_PIN define
There was a redundant elif for Linux builds.
2015-07-07 21:02:21 +10:00
Andrew Tridgell
e66b56970e AP_Airspeed: convert example from .pde to .cpp 2015-06-01 16:58:10 +10:00
Lucas De Marchi
cc1fbddc95 AP_Airspeed: 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
Andrew Tridgell
f23bc463cb AP_Airspeed: fix for HAL_SITL rename 2015-05-05 09:45:54 +10:00
Randy Mackay
2a6421d1bf Airspeed: fix example sketch 2015-05-02 20:53:49 +09:00
Andrew Tridgell
c565d3b805 AP_Airspeed: fixed example build 2015-03-14 20:00:15 +11:00
Andrew Tridgell
26a77dc502 AP_Airspeed: change for new PX4 paths 2015-02-14 12:25:43 +11:00
Andrew Tridgell
1c270d17a8 AP_Airspeed: ignore temperatures below -80
ETS driver on PX4 returns -1000
2015-02-06 21:41:15 +11:00
Emile Castelnuovo
a863f0bca8 AP_Airspeed: VRBRAIN code clean up. Deleted unused boards. 2015-02-02 08:44:01 +11:00
LukeMike
61f4239e47 AP_Airspeed: enabled PX4 library for VR boards 2015-02-02 08:44:00 +11:00
Emile Castelnuovo
25818f08a3 AP_Airspeed: added VRBRAIN board type 2015-02-02 08:43:59 +11:00
Emile Castelnuovo
de8a0ebc08 AP_Airspeed: added #defines for new VR boards. 2015-02-02 08:43:58 +11:00
LukeMike
b29f50ba9b AP_Airspeed: Defined AirSpeed analog inputs for ArduPlane on VR Micro Brain 5 2015-02-02 08:43:57 +11:00
Randy Mackay
293eb74a37 AirSpeed: fix example sketch 2015-01-28 17:15:36 +09:00
Andrew Tridgell
2235d18d67 AP_Airspeed: make it possible to tell if a airspeed sensor is unhealthy
we need use() to reflect if the user wants to use the sensor, so the
arming checks can tell if it is not working as expected
2015-01-20 11:26:20 +11:00
Andrew Tridgell
258542b939 AP_Airspeed: added ARSPD_SKIP_CAL parameter
allows airspeed calibration to be skipped for easier startup
2014-11-13 21:12:37 +11:00
Andrew Tridgell
9c631944f7 AP_Airspeed: expose raw pressure for logging 2014-11-13 17:49:04 +11:00
Andrew Tridgell
ad8b73c8aa AP_Airspeed: update ARSPD_AUTOCAL docs 2014-10-24 17:16:17 +11:00
Andrew Tridgell
ef0eca4835 AP_Airspeed: fixed airspeed in Replay 2014-10-19 19:42:15 +11:00
Andrew Tridgell
f6f51ceebe AP_Airspeed: fixed example build 2014-08-13 21:46:09 +10:00
Andrew Tridgell
a4cd9c4bd7 AP_Airspeed: added HIL support 2014-08-10 18:16:53 +10:00
Andrew Tridgell
c1646fec73 AP_Airspeed: fixed example build 2014-07-25 17:54:11 +10:00
Andrew Tridgell
0f7e78e418 Airspeed: fixed example to setup pin 2014-07-25 17:15:00 +10:00
Randy Mackay
4cf7f01694 AP_Airspeed: init members to reduce compiler warnings 2014-07-16 14:40:50 +09:00
Randy Mackay
4c76c77239 AP_Airspeed: use 'no break' to resolve compiler warning re switch 2014-07-16 14:40:49 +09:00
Andrew Tridgell
52c53e55f8 AP_Airspeed: use board subtypes 2014-07-14 09:44:35 +10:00
Andrew Tridgell
6b87c9fdf7 AP_Airspeed: avoid some float conversion warnings 2014-07-08 20:26:44 +10:00
LukeMike
8f552d5758 VRBRAIN: Changed the management of VirtualRobotix's boards. 2014-06-19 11:27:38 +02:00
Kevin Hester
d09e871319 AP_Airspeed: fixup line endings 2014-04-15 15:56:26 +09:00
Emile Castelnuovo
e8b9e9d53c AP_Airspeed: added #defines for VRBRAIN board 2014-04-08 16:19:20 +10:00
Andrew Tridgell
b8e4e35a0d AP_Airspeed: use pythagorous3() 2014-04-01 22:15:12 +11:00
Andrew Tridgell
9ab1a79b5a AP_Airspeed: changed sqrt() to sqrtf() 2014-04-01 22:09:21 +11:00
Andrew Tridgell
dbd8f4b735 AP_Airspeed: fixed example build 2014-03-19 12:14:03 +09:00
Andrew Tridgell
ad4db4de6c AP_Airspeed: added setHIL() method
useful for log playback
2014-02-18 09:25:08 +11:00
Randy Mackay
c18b3f6094 AP_Airspeed: fix example sketch 2014-02-15 06:09:08 +11:00
Andrew Tridgell
03cc777991 AP_Airspeed: added last_update_ms() interface 2014-02-15 05:27:51 +11:00
Andrew Tridgell
d853d65b84 AP_Airspeed: added ARSPD_TUBE_ORDER parameter
This allows for either order of tube connection by default, but the
order can be specified if need be
2014-02-15 05:12:15 +11:00
Andrew Tridgell
dcd7f9d26d AP_Airspeed: use raw (signed) airspeed
this allows us to detect when the user has the ports the wrong way
around, and mark the sensor unhealthy
2014-02-14 21:50:59 +11:00
Andrew Tridgell
35791e1f05 AP_Airspeed: fixed get_temperature on PX4 2014-02-12 13:46:15 +11:00
Andrew Tridgell
a339ec25c8 AP_Airspeed: fixed example build 2014-01-30 13:33:29 +11:00
Andrew Tridgell
cf1f05a198 AP_Airspeed: expose get_temperature() 2014-01-28 10:35:35 +11:00
Andrew Tridgell
c649e4b06f AP_Airspeed: avoid a warning 2013-12-11 17:29:27 +11:00
Andrew Tridgell
c22df0fa60 AP_Airspeed: fixed a build warning 2013-12-11 10:22:07 +11:00
Andrew Tridgell
ee7c742863 AP_Airspeed: changed default pin for SITL to pin 1
this leaves room for the sonar
2013-11-28 21:44:32 +11:00
Andrew Tridgell
9d7f24f754 AP_Airspeed: added healthy() API 2013-11-07 12:48:17 +11:00
Paul Riseborough
71de4ddcd0 AP_Airspeed : Fixes bug that caused airspeed calibration to be sent a zero airspeed
This bug resulted in the airspeed ratio going to the maximum value of 4 and staying there. This could lead to a very slow flying model and a stall.
2013-11-02 21:41:11 +11:00
Andrew Tridgell
c64aa0e4de AP_Airspeed: fixed I2C semaphore handling for I2C airspeed
this affects MS4525DO on APM2
2013-10-29 14:55:38 +11:00
Andrew Tridgell
e60d5d4f33 AP_Airspeed: fixed some warnings 2013-09-30 21:06:43 +10:00
Andrew Tridgell
2095b2a2d7 AP_Airspeed: updates for AP_HAL::MemberProc 2013-09-30 21:06:42 +10:00
Andrew Tridgell
291369db7f AP_Airspeed: split up airspeed driver
this gives us separate backends for PX4, analog and I2C. This allows
the MS airspeed sensor to work on Linux, and it should work on APM2 as well.
2013-09-28 21:24:03 +10:00
Mike McCauley
c1d3bedb60 AP_Airspeed: changes for Flymaple port pins and caibration constants 2013-09-24 13:33:25 +10:00
Andrew Tridgell
2e742582e4 AP_Airspeed: changed to AP_Vehicle.h
also allow updates to ARSPD_RATIO from user while autocal is running
2013-09-13 11:45:57 +10:00
Andrew Tridgell
cc4fad23d9 AP_Airspeed: updates for Pixhawk 2013-09-13 10:48:57 +10:00
Andrew Tridgell
b7e54bd463 AP_Airspeed: reduce speed of autocal
it was responding to noise too rapidly

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-09-12 07:48:57 +10:00
Andrew Tridgell
1328316bfc AP_Airspeed: fixed saving of airspeed ratios 2013-08-31 10:26:27 +10:00
Paul Riseborough
1c7bdc40ec AP_Airspeed : Expanded range of ARSPD_RATIO adjustment 2013-08-31 08:03:11 +10:00
Andrew Tridgell
97b7130bb9 libraries: update license header to GPLv3
we switched to GPLv3 a long time ago, but neglected to update the
per-file license headers
2013-08-30 13:01:39 +10:00
Andrew Tridgell
69c8df3326 AP_Airspeed: fixed example build
removed Airspeed_Calibration test, as it is not useful
2013-08-30 13:01:36 +10:00
Andrew Tridgell
0c06dff2db AP_Airspeed: constrain internal state of calibration code 2013-08-30 13:01:34 +10:00
Andrew Tridgell
3916a07dcf AP_Airspeed: added logging of airspeed calibration internals 2013-08-30 13:01:34 +10:00
Andrew Tridgell
ce3fb290f1 AP_Airspeed: fixed initialisation of auto-calibration 2013-08-30 13:01:34 +10:00
Andrew Tridgell
c6c59174b3 AP_Airspeed: return when airspeed init fails 2013-08-30 13:01:33 +10:00
Andrew Tridgell
31e1b7fcf6 AP_Airspeed: list MEAS airspeed in ARSPD_PIN docs 2013-08-30 13:01:33 +10:00
Paul Riseborough
5a68c515dc AP_Airspeed: Altitude Calibration - added constrain on P matrix diagonals 2013-07-22 12:50:02 +10:00
Andrew Tridgell
3ba0dec4b3 AP_Airspeed: fixed typo 2013-07-22 12:50:02 +10:00
Paul Riseborough
d1805f4349 AP_Airspeed: Airspeed Calibration computational efficiency improvement 2013-07-22 12:50:02 +10:00
Andrew Tridgell
e6d9d14fad AP_Airspeed: added example sketch for airspeed calibration 2013-07-22 12:50:01 +10:00
Andrew Tridgell
3c66cb8af1 AP_Airspeed: added EAS2TAS in airspeed driver
this keeps the true airspeed ratio in the airspeed driver, which seems
the most logical place
2013-07-22 12:50:01 +10:00
Andrew Tridgell
893d2da6f6 AP_Airspeed: added auto-calibration support
This uses a Kalman filter to calculate the right ARSPD_RATIO at runtime

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-22 12:50:01 +10:00
Andrew Tridgell
98d6331387 AP_Airspeed: fixed example build 2013-07-15 14:10:27 +10:00
Andrew Tridgell
9d66adae13 AP_Airspeed: added get_airspeed_ratio() and set_airspeed_ratio()
This is to help Paul develop an automatic tuning system for airspeed
ratio
2013-07-13 21:53:38 +10:00
Randy Mackay
6cd18868c2 AirSpeed: fix example sketch compile error 2013-06-25 22:45:30 +09:00
Andrew Tridgell
68adeb041d AP_Airspeed: support ARSPD_PIN option for choosing source
this gives us support for arbitrary analog pins for the airspeed
sensor, plus support for the EagleTree airspeed driver on PX4
2013-06-03 11:51:09 +10:00
Andrew Tridgell
dfb98490f4 AP_Airspeed: use rationmetric analog input for airspeed sensor 2013-05-13 15:13:19 +10:00
Andrew Tridgell
00e905b025 AP_Airspeed: use new voltage_average() API in Airspeed driver 2013-03-08 10:01:15 +11:00
James Bielman
5631f865b2 Update floating point calculations to use floats instead of doubles.
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell
374af1cd14 build: change from Arduino.mk to apm.mk 2013-01-02 17:29:37 +11:00
Andrew Tridgell
a1187519a8 AP_HAL: use AP_HAL_BOARD_DRIVER in remaining test sketches 2012-12-20 14:52:37 +11:00
Pat Hickey
eb530b86e8 move Arduino.mk to /mk/Arduino.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell
7d27e420ae AP_HAL: remove unnecessary Arduino.h includes 2012-12-20 14:52:30 +11:00
Andrew Tridgell
b5a23d934b Airspeed: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Pat Hickey
475da4eca4 CONFIG_HAL_BOARD - test sketches fixed up, build all passes 2012-12-20 14:51:37 +11:00
Pat Hickey
7017a35fc3 AP_Airspeed: fix for AnalogIn read_average 2012-12-20 14:51:35 +11:00
Pat Hickey
a4f1f6a5db AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR 2012-12-20 14:51:28 +11:00
Andrew Tridgell
53105efbcd HAL_AVR: more uart0 -> console changes 2012-12-20 14:51:27 +11:00
Pat Hickey
dfc8e91fd3 AP_Airspeed: port to AP_HAL 2012-12-20 14:51:25 +11:00
Pat Hickey
3f1d9d7f69 AP_Param: #include <AP_Param.h> fixups for libraries & sketches
* I mostly went through with grep and added an #include <AP_Param.h> below
  every #include <AP_Common.h>. Not all of these example sketches might
  strictly need AP_Param.
2012-12-20 14:51:19 +11:00
rmackay9
56f88821e9 AP_AHRS: fix example sketch
AP_Airspeed: fix example sketch
AP_Baro: fix example sketch
AP_Declination: fix example sketch
AP_Math: fix example sketch
2012-11-08 00:08:18 +09:00
rmackay9
e4c8eaa181 AP_Airspeed: fixed constructor compile error in example sketch 2012-09-23 11:44:28 +09:00
Andrew Tridgell
0c864fd4dc AP_Airspeed: a bit more filtering
this helps reduce noise at low speed
2012-09-19 16:23:25 +10:00
uncrustify
90419ad834 uncrustify libraries/AP_Airspeed/AP_Airspeed.h 2012-08-21 19:00:17 -07:00
uncrustify
37c79f5501 uncrustify libraries/AP_Airspeed/AP_Airspeed.cpp 2012-08-21 19:00:17 -07:00
uncrustify
3c2873b4f5 uncrustify libraries/AP_Airspeed/examples/Airspeed/Airspeed.pde 2012-08-21 19:00:17 -07:00
Michael Oborne
bcceedffab Fix Airspeed use use 2012-08-18 08:30:15 +08:00
Andrew Tridgell
47be6d8ad1 AP_Airspeed: remove airspeed filter and run at 10Hz
this saves on the filter memory, and gives just as good a result
2012-08-15 12:39:35 +10:00
Andrew Tridgell
f95b06a880 AHRS: make airspeed sensor available to AHRS
this will be used for long term dead-reckoning
2012-08-11 08:57:32 +10:00
Andrew Tridgell
dcc50b5705 AP_Airspeed: removed values passed to constructor 2012-08-08 16:38:39 +10:00
Andrew Tridgell
518d6365ff AP_Param: update remaining libraries for new constructor syntax 2012-08-08 12:11:57 +10:00
Michael Oborne
9e4d118fdb Airspeed Library - fix param names.
The Group definition give the start of the param name.
This way we can maintain multiple instances if required of the same library as options.
2012-07-16 21:48:47 +08:00
Andrew Tridgell
feb456de56 Airspeed: Added AP_Airspeed sensor library
this will allow an airspeed sensor object to be passed to AHRS for
dead reckoning
2012-07-16 11:21:20 +10:00