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.
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
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
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
this fixes the case where we have one rangefinder that can handle
short range and another that is good for long range but no good for
short range (quite common, eg radar and lidar)
If possible we want to use the first rangefinder that is in range for
the right orientation. If none are in range then use the first for the
orientation
this allows the native i2c lightware driver to work with a wide range
of lidars from LightWare, removing the specific version check, and the
version specific config commands
this supports both the native and the legacy I2C protocol for
LightWare Lidars. The native protocol is a string based protocol that
is enabled by default on new Lidars. By supporting both protocols we
avoid the need for users to re-configure their new lidar using a
serial cable before using it on I2C.
This driver was originally written by Mitch Koch and Jonathan
Challinger, and ported to master by me (it required only minor
changes)