Commit Graph

452 Commits

Author SHA1 Message Date
Peter Barker af80c4a29f AP_RangeFinder: remove move-to-error-state for LeddarOne driver
Just because there's a lot in your input buffer doesn't necessarily mean
the rangefinder is faulty.
2020-05-26 09:20:32 +10:00
Peter Barker 95f9769041 AP_RangeFinder: use new UARTDriver discard_input method 2020-05-26 09:20:32 +10:00
Henry Wurzburg 23e7e2d193 AP_RangeFinder: rename Benewake types for easier identification 2020-05-21 08:45:30 +09:00
Andrew Tridgell d16f31711e AP_RangeFinder: fixed mixing UAVCAN and non-UAVCAN rangefinders
UAVCAN rangefinders add themselves to the frontend drivers as the
devices appear. If they turn up before RangeFinder::init() is run then
this prevented init() from scanning for the other rangefinders as
num_instances is non-zero

This also fixes a race condition in updating num_instances in the
UAVCAN backend
2020-05-12 09:45:15 +10:00
Andrew Tridgell 603e5c4b55 AP_RangeFinder: added get_address()
allows AP_Periph to supply sensor_id for multiple CAN rangefinders
2020-05-11 18:36:46 +10:00
Andrew Tridgell ffe9fa22a1 AP_RangeFinder: invalidate param count when changing param tree structure 2020-04-29 07:36:55 +10:00
Andrew Tridgell b102fd6b59 AP_RangeFinder: use GCS_SEND_TEXT() 2020-04-29 07:36:55 +10:00
Peter Barker b7a03ae5ad AP_RangeFinder: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker adcfb60850 AP_RangeFinder: comment out no-loner-used PX4 enum entry 2020-02-12 21:18:47 +11:00
Peter Barker 6febbcdc13 AP_RangeFinder: remove incorrect and misleading comment
Wrong on several counts.  detect calls this method.  The constructor
doesn't initialise the rangefinder.  detect doesn't return boolean.
2020-02-12 21:18:47 +11:00
Patrick José Pereira a183d00b7e AP_RangeFinder: BLPing: Rework class to work with new firmware version 3.28
- Uses the continuous message request

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-02-11 11:49:11 -05:00
Randy Mackay 7d8952a48a AP_RangeFinder: fix offset param for PWM driver 2020-02-03 19:32:34 +09:00
Randy Mackay 52ca1e016e AP_RangeFinder: minor fix in POS param description 2020-02-01 08:46:03 +09:00
Randy Mackay 9f3154372d AP_RangeFinder: POS param range of 5m and 1cm increment 2020-02-01 08:46:03 +09:00
Michael du Breuil 7bc1f4ff9b AP_RangeFinder: a to close reading is not the minimum distance 2020-01-28 11:32:19 +11:00
Andrew Tridgell 2fa6f534ab AP_RangeFinder: added get_type() API 2020-01-26 09:12:55 +11:00
murata b0af48745e AP_RangeFinder: VL53L1X LONG can be specified
AP_RangeFinder: VL53L1X LONG can be specified

AP_RangeFinder: Add VL53L1X to device number 16

AP_RangeFinder: Add VL53L1X to device number 16
2020-01-24 13:46:35 -07:00
Randy Mackay 141099078c AP_RangeFinder: increase leddarvu8 timeout to 0.5sec 2020-01-23 16:24:33 +11:00
Randy Mackay f269004610 AP_RangeFinder: fix detect for LeddarVu8
Co-Authored-By: Peter Barker <pb-gh@barker.dropbear.id.au>
2020-01-23 16:24:33 +11:00
Randy Mackay b068f15932 AP_RangeFinder: LeddarVu8 driver 2020-01-23 16:24:33 +11:00
Randy Mackay e5c3a7f7b5 AP_RangeFinder: typo fix for LeddarOne 2020-01-23 16:24:33 +11:00
Randy Mackay 266a908b83 AP_RangeFinder: serial backend get_reading returns false 2020-01-23 16:24:33 +11:00
Randy Mackay 9ac10c3af9 AP_RangeFinder: remove virtual from _get_mav_distance_sensor_type 2020-01-23 16:24:33 +11:00
Andrew Tridgell 7dcb5c60b0 AP_RangeFinder: use take_blocking instead of HAL_SEMAPHORE_BLOCK_FOREVER
this makes for cleaner and smaller code as the failure case is not
needed
2020-01-19 20:19:30 +11:00
Randy Mackay bcef478eab AP_RangeFinder: update OFFSET param description to clarify only for analog and pwm 2020-01-18 14:15:20 +09:00
Randy Mackay 2bdb2f67ab AP_RangeFinder: PWM driver adds offset param value 2020-01-18 14:15:20 +09:00
Michael du Breuil d92c4dc892 AP_Rangefinder: Fix bad subgroup pointer for drivers 2020-01-15 12:13:44 +11:00
Rishabh fd2c6baf5d AP_RangeFinder: added RNGFNDx_TYPE parameter description for the Lanbao lidar 2020-01-13 20:34:48 +11:00
Michael du Breuil 8bd4f2b097 AP_RangeFinder: Allow the VL53L1X to be put into short range mode 2019-12-24 11:40:47 +11:00
Michael du Breuil 224ea744e3 AP_Rangefinder: Reset the VL53L1X before setup
A number of the config steps make the assumption they are running from
the sensors default power on state. If you do a soft reset of the
vehicle without killing power to the sensor this means the second time
you configure the sensor you will start from a state which didn't match
the base assumptions and can lead to the sensor preforming signficantly
differently then it was intended to. This issues a soft reset, and waits
for it to reboot before proceeding with configuration. If it's a
watchdog reset we don't want to spend long enough to have ensured the
sensor reset, so we say the sensor setup completely failed and don't use
it, as not using it will be less erroneous then using a misconfigured
sensor.
2019-12-24 11:40:47 +11:00
Randy Mackay e12e0d95ae AP_RangeFinder: remove param conversion for 3rd and 4th
3rd and 4th instances were not available to users unless they used their own builds which is rare
this reduces the firmware's flash size a small amount
2019-12-03 13:06:10 +08:00
Randy Mackay 1b84c8132e AP_RangeFinder: param conversion fix
This resolves an issue with the parameter conversion when moving from Copter-3.6.x to 4.0 (and similar moves for other vehicle types)
2019-12-03 13:06:10 +08:00
Randy Mackay 0844077df8 AP_RangeFinder: TYPE param desc clarification for Benewake lidar
This renames some of the TYPE parameter's driver options:

19 :BenewakeTF02 is unchanged
20: BenewakeTFMini becomes BenewakeTFMini/Plus-Serial
25: BenewakeTFMiniPlus becomes BenewakeTFMini/Plus-I2C
27: BenewakeTF03 is unchanged
2019-11-13 10:28:17 +08:00
Randy Mackay ae8f9a70d0 AP_RangeFinder: update Type and Pin parameter values
The _TYPE change is to remove the "v2" from the LidarLite description because both v2 and v3 are supported
The _PIN change is to make it more clear that any of the auxiliary pwm pins can be used for PWM input
2019-11-12 07:30:55 +08:00
Peter Barker 35e987c663 AP_RangeFinder: adjust for renaming of RangeFinder files 2019-11-12 07:14:37 +08:00
Peter Barker 7c9ab0203d AP_RangeFinder: rename source files to include AP_ prefix
This makes them look like most of our libraries
2019-11-12 07:14:37 +08:00
Peter Barker b1f8982292 AP_RangeFinder: remove old AP_RangeFinder.h
Making way to move the actual header into place
2019-11-12 07:14:37 +08:00
Peter Barker d0e62b0e0b AP_RangeFinder: serial subclasses rely on base class for update() 2019-11-09 08:01:53 +11:00
Peter Barker 60cbefc1ae AP_RangeFinder: move update function to serial base class 2019-11-09 08:01:53 +11:00
Peter Barker b18f1a8e22 AP_RangeFinder: move uLanding to using common serial backend 2019-11-09 08:01:53 +11:00
Peter Barker 9829a1d08b AP_RangeFinder: move wasp to using common serial backend 2019-11-09 08:01:53 +11:00
Peter Barker 62f2f3e19e AP_RangeFinder: factor constructor, use to move Lanbao to serial baseclass 2019-11-09 08:01:53 +11:00
Peter Barker acc1f955ef AP_RangeFinder: make Benewake backend use new intermediate class 2019-11-09 08:01:53 +11:00
Peter Barker 0246dd990e AP_RangeFinder: make MaxsonarSerialLV backend use new intermediate class 2019-11-09 08:01:53 +11:00
Peter Barker ff7c5af437 AP_RangeFinder: make LeddarOne backend use new intermediate class 2019-11-09 08:01:53 +11:00
Peter Barker 15d3a59d67 AP_RangeFinder: make NMEA backend use new intermediate class 2019-11-09 08:01:53 +11:00
Peter Barker 82268ab12c AP_RangeFinder: make BLPing backend use new intermediate class 2019-11-09 08:01:53 +11:00
Peter Barker 692c89a972 AP_RangeFinder: make LightWareSerial backend use new intermediate class 2019-11-09 08:01:53 +11:00
Peter Barker 3538fe360b AP_RangeFinder: add intermediate serial backend class to share common code 2019-11-09 08:01:53 +11:00
Peter Barker 82db4383d4 AP_RangeFinder: use enum-class for Status 2019-11-09 08:01:53 +11:00