Commit Graph

157 Commits

Author SHA1 Message Date
Peter Barker
30c4ea8123 AP_RangeFinder: stop storing sensor type as a variable
And change method name
2017-08-15 18:58:16 +01:00
Peter Barker
c0aa10d84b AP_RangeFinder: move rangefinder backend data accessors to backend 2017-08-15 18:30:45 +01:00
Peter Barker
127edce39e AP_RangeFinder: move prearm checks into backend 2017-08-09 13:58:53 +01:00
Peter Barker
0b1c67d170 AP_RangeFinder: remove unused parameters from detect and constructors 2017-08-09 13:58:53 +01:00
Peter Barker
08cd3f4a77 AP_RangeFinder: move instance parameters into instance state 2017-08-09 13:58:53 +01:00
Pierre Kancir
8b38bd2e33 AP_RangeFinder: add sensor type to backend 2017-06-08 01:22:07 +01:00
Andrew Tridgell
b29db0aa5b AP_RangeFinder: implement VL53L0X rangefinder 2017-06-07 23:05:01 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
78b7207ab4 AP_RangeFinder: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Grant Morphett
792bf70c40 RangeFinder: Fixed the value labels for LidarLite
LidarLiteV2 ---> LidarLiteV2-I2C
LidarLiteV3 ---> LidarLiteV3-I2C
2017-04-11 20:54:19 +09:00
Andrew Tridgell
05cbc19ad6 AP_RangeFinder: added type 15 for LidareLiteV3 2017-03-01 22:44:37 +11:00
Randy Mackay
e7dd21a0bb AP_RangeFinder: remove primary, add orientation 2017-02-27 15:18:03 +09:00
priseborough
bf51da224a AP_RangeFinder: Update min value for RNGFND_GNDCLEAR parameter 2017-02-15 07:04:38 +09:00
Andrew Tridgell
848c03650b AP_RangeFinder: removed old PX4 rangefinder drivers 2017-01-27 18:12:20 +11:00
Andrew Tridgell
3b42289475 AP_RangeFinder: added doc listing for TrOneI2C 2017-01-27 18:11:29 +11:00
Andrew Tridgell
68ff71e4c0 AP_RangeFinder: added trone in-tree driver 2017-01-27 18:11:29 +11:00
Francisco Ferreira
202c33491e RangeFinder: remove useless returns and update comment 2016-12-03 17:44:06 +00:00
murata
a99bde9dad RangeFinder: Change type determination from if state to switch state. 2016-12-03 17:33:01 +00:00
Randy Mackay
99fafcb495 RangeFinder: add uLanding to TYPE parameter description 2016-11-21 13:52:15 +09:00
Ricardo de Almeida Gonzaga
148fa03d6b AP_RangeFinder: support MaxBotix Serial rangefinders
This has been tested with LV-MaxSonar®-EZ1 MB1010
2016-11-21 11:21:56 +09:00
davidaroyer
69bc4c42c9 AP_RangeFinder: Add support for Aerotenna uLanding radar altimeter 2016-11-21 11:07:41 +09:00
Andrew Tridgell
0c7dd99d7e AP_RangeFinder: support LidarLite V2 using in-tree driver
needs to run in continuous mode
2016-11-12 14:18:14 +11:00
Andrew Tridgell
516141edf3 AP_RangeFinder: start PX4 rangefinder drivers on demand 2016-11-11 15:49:53 +11:00
Shingo Matsuura
4b127edd5e AP_RangeFinder: fixed LeddarOne busy wait 2016-11-06 05:22:30 -08: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
Andrew Tridgell
df23c4857e AP_RangeFinder: disabled LeddarOne driver
this driver is broken and could cause a vehicle to crash. It does busy
waits on a UART from the main thread.

It will be re-enabled when fixed
2016-10-31 13:40:49 +11:00
Peter Barker
c1f455f904 AP_RangeFinder: correct parameter metadata 2016-10-27 09:15:03 -07:00
priseborough
f722ddf615 AP_RangeFinder: Update parameter documentation
Add brief description of body frame conventions.
2016-10-27 14:54:45 +11:00
priseborough
4499ed437c AP_RangeFinder: remove space before preprocessor directive 2016-10-27 14:54:44 +11:00
priseborough
3ca6c12344 AP_RangeFinder: Improve consistency of parameter naming 2016-10-27 14:54:44 +11:00
priseborough
24f9e7365d AP_RangeFinder: Add parameters defining sensor position offset 2016-10-27 14:54:41 +11: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
Randy Mackay
f94f7e2aa0 AP_RangeFinder: add leddarone to TYPE parameter description
No functional change
2016-09-19 14:35:41 +09:00
ShingoMatsuura
3123bd6d7d AP_RangeFinder: add LeddarOne support 2016-09-19 13:25:35 +09:00
Peter Barker
2844190e5b AP_RangeFinder: correct DisplayName comments 2016-08-01 09:55:25 -03:00
Peter Barker
1bb73383ec AP_RangeFinder: group _ADDR with other first-rangefinder params 2016-08-01 09:55:24 -03:00
Peter Barker
d5ffc8a863 AP_RangeFinder: define 3_ADDR when we have three rangefinders
Without this patch this field would only be defined when 4 rangefinders
were specified
2016-08-01 09:55:24 -03:00
Lucas De Marchi
a159eedd8c AP_RangeFinder: fix bus for Lightware on some boards 2016-07-26 00:52:54 -03:00
Luiz Ywata
c167364fa0 AP_RangeFinder: MaxsonarI2CXL: use I2CDevice interface 2016-07-22 13:18:37 -03:00
Luiz Ywata
49d1520850 AP_RangeFinder: LightWareI2C: use I2CDevice interface 2016-07-22 13:18:36 -03:00
Luiz Ywata
e1342eb533 AP_RangeFinder: PulsedLightLRF: use I2CDevice interface 2016-07-22 13:10:51 -03:00
Luiz Ywata
a7fddc0594 AP_RangeFinder: add method _add_backend()
Wrapper method that saves a detected driver
2016-07-22 13:10:51 -03:00
Andrew Tridgell
e0047d81a2 AP_RangeFinder: enable sonar on Disco 2016-07-20 13:38:18 +10: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
Tom Pittenger
6718241dad cleanup comments 2016-03-29 05:32:28 -07: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
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
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
mirkix
1b0f482d37 AP_RangeFinder: Add support for HC-SR04 Range Finder connected to BBB 2015-07-07 08:00:33 +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
Tom Pittenger
6acd92be1e AP_RangeFinder: compiler warnings: compare signed to unsigned 2015-05-05 13:27:02 +10:00
Tom Pittenger
5ead138917 RangeFinder: fix compile warnings re float constants 2015-04-24 14:04:10 +09:00
Randy Mackay
7663b8eade RangeFinder: replace healthy with status and no_data methods 2015-04-24 10:57:10 +09:00
Randy Mackay
8ed6207ca8 RangeFinder: add pre-arm checks 2015-04-24 10:57:05 +09:00
Randy Mackay
f1cbd1f03b RangeFinder: add ground clearance parameter 2015-04-24 10:57:03 +09:00
Andrew Tridgell
389148ac54 AP_RangeFinder: use RNGFND_OFFSET for distance offset in PWM and I2C 2015-04-04 17:03:00 -07:00
Andrew Tridgell
a6d76b4e03 AP_RangeFinder: added PX4-PWM rangefinder
uses PWM input driver to read a rangefinder
2015-02-23 14:15:14 +11:00
Emile Castelnuovo
c38b11eec8 AP_RangeFinder: added VRBRAIN to use PX4 libraries 2015-02-02 08:43:59 +11:00
Emile Castelnuovo
b0b892e578 AP_Rangefinder: added support for VRBRAIN boards 2015-02-02 08:43:59 +11:00
Randy Mackay
01c669ee15 RangeFinder: minor param description update
Also initialise primary instance to 0.
No functional change.
2015-01-22 14:40:16 +09:00
Andrew Tridgell
2eeec3fabe AP_RangeFinder: fixed oversized parameter RNGFND2_SETTLE_MS 2014-11-10 08:09:41 +11:00
Andrew Tridgell
70ca87c4e6 AP_RangeFinder: handle all I2C rangefinder types on PX4 in PX4Firmware 2014-10-09 11:06:16 +11:00
Randy Mackay
b3bbec24e4 RangeFinder: TYPE param description to PX4-I2C 2014-10-02 20:24:14 +09:00
Randy Mackay
8ce4893180 RangeFinder: TYPE param description to PX4-MaxbotixI2C
This hopefully reduces confusion for PX4/Pixhawk users with MaxBotix I2C
sonar
2014-10-02 16:49:15 +09:00
Andrew Tridgell
b38c9544f9 AP_RangeFinder: make values clearer for APM2 2014-08-15 20:28:22 +10:00
akdslr
54d0db863b AP_RangeFinder: Changed sonar to rangefinder in the parameter descriptions 2014-07-24 14:41:54 +10:00
akdslr
8c6718fe2d AP_RangeFinder: Removed the use of type Auto 2014-07-24 14:41:54 +10:00
Andrew Tridgell
f6d9bc5d7e AP_RangeFinder: fixed detection of multiple types
Pair-Programmed-With: Allyson Kreft
2014-07-08 15:08:18 +10:00
Andrew Tridgell
9386295428 AP_RangeFinder: added SONAR2_TYPE parameter
thanks to Allyson for noticing
2014-07-08 15:08:18 +10:00
Andrew Tridgell
05d4f5fb5a AP_RangeFinder: convert PX4 driver to new API 2014-07-08 15:08:18 +10:00
Andrew Tridgell
ed346fd639 AP_RangeFinder: convert MaxbotixI2C driver to new API 2014-07-08 15:07:51 +10:00
Andrew Tridgell
0063d83dbc AP_RangeFinder: convert the PulsedLight driver to new API
not tested yet
2014-07-08 15:07:50 +10:00
Andrew Tridgell
6f33ca4988 AP_RangeFinder: added SONAR_RMETRIC option
this allows correct support for non-ratiometric rangefinders such as
the SF/02
2014-07-08 15:07:50 +10:00
Andrew Tridgell
cb037f3416 AP_RangeFinder: new rangefinder API ready for its first backend
the backends are setup to have just the minimum functionality needed
for a rangefinder, with all of the higher level logic in the
frontend. This should make writing a new backend easier
2014-07-08 15:07:50 +10:00
akdslr
3f17969b19 AP_RangeFinder: Changes from the May 4th plane test flight 2014-07-08 15:07:49 +10:00
Randy Mackay
8d54e50897 RangeFinder: remove raw_value, orientation variables
This saves 10bytes of RAM
2014-02-10 14:56:52 +09: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
e69e4a5695 AP_RangeFinder: fixed indent-tabs-mode 2013-05-30 09:51:11 +10:00
Andrew Tridgell
ba83950fc4 libraries: replace constrain() with constrain_float()
this makes the type much more obvious. Thanks to Tobias for the
suggestion.
2013-05-02 10:25:40 +10:00
Pat Hickey
a38ce8962e AP_Rangefinder: ported to AP_HAL. Only officially supports MaxsonarXL. 2012-12-20 14:51:30 +11:00
uncrustify
b57832e19b uncrustify libraries/AP_RangeFinder/RangeFinder.cpp 2012-08-21 19:04:10 -07:00
rmackay9
f264e29814 AP_RangeFinder - cut over to use new ModeFilter from Filter library 2012-02-26 15:34:50 +09:00
Randy Mackay
ed19c25a97 Arduino 1.0 - changed all #includes of "WProgram.h", "wiring.h" and "WConstants.h to "Arduino.h".
Modified FastSerial's write function to return size_t (number of bytes written).
2012-01-28 12:25:47 +09:00
Jason Short
b6fc8e519c AP Rangefinder had some bad characters in it. Converted and cleaned the text files. 2012-01-10 23:42:26 -08:00
Randy Mackay
67855b207d Arducopter, RangeFinder - added SONAR_TYPE parameter and properly support the XL (default), LV and long distance XL (aka XLL) sonar types 2011-12-11 16:40:59 +09:00
Pat Hickey
f36ded2854 RangeFinder: rework to use AnalogSource library
this removes the hacks that check for the ADC object, and instead
choose the method of getting the analog sonar value via the
AnalogSource API
2011-11-25 20:00:16 -08:00
Andrew Tridgell
acb4538073 RangeFinder: use new ADC interface
the new interface gives values 8 times as large as previously
2011-09-17 14:58:02 +10:00
jasonshort
e1b677a25d Reworked the filtering algorithm based on Maxbotics recommendations to use a Mode filter
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2965 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-30 20:35:36 +00:00
jasonshort
c79ff4f583 doubled Slew rate limiter to 2 m/s max @ 10 hz.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2912 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-18 18:18:47 +00:00