Commit Graph

180 Commits

Author SHA1 Message Date
Ricardo de Almeida Gonzaga 2ee6a85e67 AP_RangeFinder: Fix typos 2016-05-13 19:20:05 -03:00
Randy Mackay 53785d1f72 AP_RangeFinder: add Bebop and MAVLink types
Thanks OXINARF!
2016-05-04 15:00:48 +09:00
Randy Mackay 96f665061e AP_RangeFinder: call handle_msg for all backends 2016-05-04 12:10:58 +09:00
Randy Mackay 9b940687c1 AP_RangeFinder: rename CompanionComputer files to MAVLink 2016-05-04 12:10:58 +09:00
Randy Mackay c541cb27f8 AP_RangeFinder: rename CompanionComputer to MAVLink 2016-05-04 12:10:58 +09:00
Allan Matthew d3831e4a5d RangeFinder: add MAVLink rangefinder 2016-05-04 12:10:58 +09:00
Julien Beraud 33a699f29c AP_RangeFinder: Add support for bebop Rangefinder
This rangefinder uses an spi device to send pulses and an iio driver
in buffer mode to get data
The data is then analyzed and the maximum pulse received is considered to
represent the echo of the pulses that have been sent. The distance in time
between the pulse that is sent and the pulse with the maximum amplitude
is used to calculate the altitude based on the speed of sound.

There is a dependency with libiio, and in order to build, there is a need
to provide a rootfs that includes libiio.a.
The other solution is to build dynamically after having updated the rootfs
to use on compiled with a more recent toolchain and include libiio
2016-05-03 16:43:39 -03:00
Ricardo de Almeida Gonzaga 5bd034a5a8 Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Tom Pittenger 6718241dad cleanup comments 2016-03-29 05:32:28 -07:00
Lucas De Marchi f6712c8bc4 AP_RangeFinder: replace header guard with pragma once 2016-03-16 18:40:43 +11:00
Tom Pittenger b1ea82079e AP_Rangefinder: compiler warning float to double on atof()
- this is horribly inefficient so better to change the parsing
2016-02-29 10:26:31 -08:00
Tom Pittenger 786d14cd3c AP_RangeFinder: For LightWareSerial, write 'd' to support more devices 2016-02-14 16:05:50 -08:00
Gustavo Jose de Sousa c2e3f05dbf waf: ardupilotwaf: prefix build context methods with ap_
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa 3d22490397 waf: examples: use methods from bld instead of ardupilotwaf 2016-01-22 20:10:29 -02:00
mirkix 2d9b230be1 AP_RangeFinder: Load .data section for HC-SR04 PRU driver used by BBBMINI
This adds .data section loading to the HC-SR04 range finder driver used by
BBBMINI. The firmware is running inside a PRU. It is necessary to develop more
complex driver software inside the PRU.
2016-01-21 14:02:41 -02:00
Gustavo Jose de Sousa d281067bcc waf: make example binaries be placed in 'examples' dir
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
Jonathan Challinger 780d0de4bb AP_RangeFinder: fix example build 2015-12-29 10:46:35 -08:00
Lucas De Marchi a096703b06 Global: don't link with AP_Progmem
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Lucas De Marchi fb24056ca9 AP_RangeFinder: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:44 +11:00
Caio Marcelo de Oliveira Filho 6e7b73610d waf: add waf support 2015-12-03 07:54:30 +11:00
Lucas De Marchi 2591261af6 Global: rename min and max macros to uppercase
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.

Changes generated with:

	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Caio Marcelo de Oliveira Filho 82a14b183d AP_RangeFinder: use millis/micros/panic functions 2015-11-20 12:34:10 +09:00
Lucas De Marchi 8d86d79c0b AP_RangeFinder: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Lucas De Marchi 20c6ffc5e3 Replace use of UARTDriver::printf_P() with UARTDriver::printf()
This also starts to show warnings on places that were already using
wrong printf format strings.
2015-10-30 14:35:25 +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 5d2279a554 AP_RangeFinder: remove unnecessary includes from example 2015-10-21 09:16:11 +11:00
Caio Marcelo de Oliveira Filho 6566deff66 AP_RangeFinder: fix compilation for Linux/SITL
Add libraries that those boards depend on. This should be handled in the
future elsewhere (and once for each board), but for now let's make it
compile again.
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
Randy Mackay 2deaf5280e RangeFinder: add User to param descriptions
First sensor appears in standard list, second in advanced
2015-10-07 14:10:24 +09:00
Andrew Tridgell 5800f0c884 AP_RangeFinder: default to two rangefinders
and fixed documentation strings for rangefinder 3 and 4 if enabled
2015-09-22 09:04:47 +10:00
Andrew Tridgell 8538aa9840 AP_Rangefinder: allow for up to 4 rangefinders 2015-09-13 11:29:56 +10:00
Andrew Tridgell 6afb3895c0 AP_RangeFinder: added doc strings for new rangefinder types 2015-09-08 16:46:52 +10:00
Andrew Tridgell 7d30ce2e36 AP_RangeFinder: added lightware serial rangefinder 2015-09-08 16:46:52 +10:00
Grant Morphett bec21a51a4 AP_RangeFinder: Just fixing the parameter name in the description 2015-09-07 17:48:37 +09:00
Andrew Tridgell dff235dc36 AP_RangeFinder: support LightWare I2C laser rangefinders
this has been tested with the SF10/C
2015-09-01 21:09:12 +10:00
Gustavo Jose de Sousa 5d39587469 AP_RangeFinder: 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:38:23 +10:00
mirkix 1b0f482d37 AP_RangeFinder: Add support for HC-SR04 Range Finder connected to BBB 2015-07-07 08:00:33 +10:00
Andrew Tridgell 2167675b3d AP_RangeFinder: update for upstream merge 2015-06-09 19:44:20 +10:00
Randy Mackay d366c30358 AP_RangeFinder: fix potential out-of-bounds read
Issue found by Coverity
2015-06-08 14:46:21 +09:00
Randy Mackay ac76562638 RangeFinder: init state and drivers
resolves a coverity defect
2015-06-08 14:46:14 +09:00
Andrew Tridgell b2fb2c676e AP_RangeFinder: convert example from .pde to .cpp 2015-06-01 17:07:06 +10:00
Tom Pittenger 6acd92be1e AP_RangeFinder: compiler warnings: compare signed to unsigned 2015-05-05 13:27:02 +10:00
Andrew Tridgell ac43972883 AP_RangeFinder: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Andrew Tridgell 4c4a4f9ea5 AP_RangeFinder: fixed cm to meter comparison
thanks to EShamaev for this fix (see PR #1352)
2015-04-30 11:26:36 +10:00
Tom Pittenger 5ead138917 RangeFinder: fix compile warnings re float constants 2015-04-24 14:04:10 +09:00
Randy Mackay a01fb64f12 RangeFinder: fix example sketch 2015-04-24 10:57:25 +09:00
Randy Mackay 715da653c3 RangeFinder_Analog: set status 2015-04-24 10:57:23 +09:00
Randy Mackay fadfa70e99 RangeFinder_MaxSonar: set status 2015-04-24 10:57:21 +09:00