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
Randy Mackay
e212ebb0d0
RangeFinder_PulsedLight: set status
2015-04-24 10:57:19 +09:00
Randy Mackay
aa04bef5af
RangeFinder_PX4: set status and consume out of range samples
2015-04-24 10:57:16 +09:00
Randy Mackay
71de0ab815
RangeFinder_PX4_PWM: set status and consume out of range samples
2015-04-24 10:57:12 +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
9c0614c7bb
AP_RangeFinder: default test to I2C Lidar
2015-03-15 13:50:59 +11: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
Andrew Tridgell
38d63d51a5
AP_RangeFinder: change for new PX4 device paths
2015-02-14 12:25:44 +11:00
Emile Castelnuovo
3e97592e5c
AP_Rangefinder: added #if for VRBRAIN boards.
2015-02-02 08:43:59 +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
d5f02ec0df
RangeFinder: fix example sketch
2015-01-28 17:15:50 +09: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
Randy Mackay
41a6393356
RangeFinder: PulsedLight I2C addr to 0x62
2014-10-24 15:08:04 +09:00
Andrew Tridgell
3c7cc5f40c
AP_RangeFinder: auto-update PX4 ll40ls max/min distance
...
this allows the range of the Lidar to be set by the user using
RNGFND_MAX_CM and RNGFND_MIN_CM
2014-10-13 19:07:38 +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
43e8b36e5b
AP_RangeFinder: removed use of hrt_absolute_time()
2014-08-20 09:10:25 +10:00
Andrew Tridgell
b38c9544f9
AP_RangeFinder: make values clearer for APM2
2014-08-15 20:28:22 +10:00
Andrew Tridgell
8540174854
AP_Rangefinder: fixed example build
2014-08-13 21:48:36 +10:00
akdslr
a404404806
AP_RangeFinder: Added a call to sonar.update in RFIND_test
2014-08-04 22:13:16 +10:00
Andrew Tridgell
7bf72d1c2b
AP_RangeFinder: fixed example build
2014-07-25 17:55:11 +10:00
akdslr
2c86f5df94
AP_RangeFinder: Updated RFIND_test example to not use Auto and added more device details
2014-07-24 14:41:55 +10:00
akdslr
a1861125e6
AP_RangeFinder_PulsedLightLRF: Modified to do a 2 byte transfer for the distance read
2014-07-24 14:41:54 +10:00
akdslr
b08e3d0ee4
AP_RangeFinder_PX4: Added the destructor to close the file descriptor
2014-07-24 14:41:54 +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
c45f1961f6
AP_RangeFinder: removed old test code
2014-07-21 09:39:48 +10:00
Andrew Tridgell
fe92ef5c32
AP_RangeFinder: added an example program
2014-07-21 09:39:12 +10:00
Andrew Tridgell
fe475a3561
AP_RangeFinder: removed old PulsedLightLRF example
2014-07-14 10:43:17 +10:00
Andrew Tridgell
5d6ef45662
AP_RangeFinder: removed old MaxSonarXL example
2014-07-14 10:42:20 +10:00
Andrew Tridgell
c425e7e060
AP_RangeFinder: fixed example build
2014-07-14 10:41:28 +10:00
Andrew Tridgell
baa0217bec
AP_RangeFinder: trigger a new reading automatically
...
this fixes Maxbotix I2C
2014-07-08 16:28:18 +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
4cba48ade2
AP_RangeFinder: removed old style analog drivers
...
replaced by generic analog driver
2014-07-08 15:07:51 +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
22b9059647
AP_RangeFinder: have two instances on all platforms
...
rover needs two sonars for obstacle avoidance
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
92b76b4be4
AP_RangeFinder: converted analog rangefinder backend to new API
...
this gets analog rangefinders of all types working
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
Andrew Tridgell
429431157b
AP_RangeFinder: disable old rangefinder drivers
...
these will be re-enabled when they are converted to the new class API
2014-07-08 15:07:50 +10:00
akdslr
d759a9dd9b
AP_RangeFinder: Seperated the Backend driver functionality into a separate class
2014-07-08 15:07:49 +10:00
akdslr
3f17969b19
AP_RangeFinder: Changes from the May 4th plane test flight
2014-07-08 15:07:49 +10:00
akdslr
2e586ccfb2
AP_RangeFinder_PulsedLightLRF: Updated the value to write to the register to trigger a measurement
2014-07-08 15:07:49 +10:00
akdslr
5f4168d5f8
AP_RangeFinder_PX4_test: Added an example sketch for the PX4 range finder
2014-07-08 15:07:49 +10:00
akdslr
18c06277f8
AP_RangeFinder: Added a new PX4 range finder and modified the RangeFinder parent class to support having multiple devices simultaneously
2014-07-08 15:07:49 +10:00
akdslr
a2df275bd9
AP_RangeFinder_PulsedLightLRF: Updated the register definitions for the new hardware
2014-07-08 15:07:49 +10:00
Randy Mackay
4c38999ca6
Maxsonar Test: remove raw from output to user
2014-02-10 15:00:08 +09:00
Randy Mackay
e1fabadd3c
MaxsonarI2C: read method returns int16_t
2014-02-10 14:59:46 +09:00
Randy Mackay
ab22d11110
MaxsonarRFinder: convert_raw returns int16_t
2014-02-10 14:59:27 +09:00
Randy Mackay
32820b4260
PulsedLightRFinder: read method returns int16_t
2014-02-10 14:58:27 +09:00
Randy Mackay
bf3fa8b99b
RangeFinder: remove raw_value from SharpGP2Y
2014-02-10 14:57:17 +09:00
Randy Mackay
8d54e50897
RangeFinder: remove raw_value, orientation variables
...
This saves 10bytes of RAM
2014-02-10 14:56:52 +09:00
Randy Mackay
e54bf3e87c
RangeFinder: reduce PulsedLight max distance
...
Reduced from 25m to 14m
2013-12-03 20:26:23 +09:00
Randy Mackay
3970c8f038
RangeFinder: add PulsedLight example sketch
2013-12-02 20:06:49 +09:00
Randy Mackay
e88251f7e1
RangeFinder: add PulsedLight LRF
2013-12-02 20:06:43 +09:00
Andrew Tridgell
72b97168c9
AP_RangeFinder: improved SONAR_PIN docs
2013-10-14 10:03:52 +11: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
cec08be9cb
AP_Rangefinder: use ratiometric analog input for analog sonar
2013-05-13 15:13:43 +10:00
Andrew Tridgell
223dfe4de5
AP_Rangefinder: added units for settle time
2013-05-08 14:21:32 +10:00
Andrew Tridgell
0e66bac70b
AP_RangeFinder: removed special case for APM1
...
the airspeed port doesn't have enough power for the sonar anyway
2013-05-03 10:09:54 +10:00
Andrew Tridgell
09ca9d4283
AP_Rangefinder_analog: implement settle time and stop_pin
2013-05-03 09:45:19 +10:00