← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

A Benewake lidar on I2C answered, but cannot be used

WarningRangefinder, optical flow, camera, OSD and other devices

What ArduPilot says:

At boot ArduPilot found a Benewake lidar on the I2C bus and gave up on it. “TFMini: FW ver … (need>=2.0.3)”: the TFmini Plus has firmware older than 2.0.3, which the I2C driver cannot work with. “TFS20L: No response from sensor” and “Unable to set configuration register”: the sensor did not answer a command. The driver is not started, so “Rangefinder 1: Not Detected” follows when you try to arm.

What to do, most likely first

  1. The TFmini Plus firmware is too old.

    CheckThe message gives the version the lidar reported.

    FixUpdate the lidar with Benewake's own PC tool to 2.0.3 or newer, or connect it by UART instead (RNGFNDn_TYPE 20), which has no such limit.

  2. The I2C wiring is marginal: long wires, no power from the battery side, or a wrong address.

    CheckRNGFNDn_ADDR must be the lidar's I2C address in decimal (16, that is 0x10, is the TFmini Plus default).

    FixShorten the wires, power the lidar properly and reboot with the battery connected (props off).

Parameters to look at

ParameterWhat it is
RNGFND1_TYPERangefinder type
RNGFND1_ADDRBus address of sensor
The code that sends it

TFS20L: No response from sensor

libraries/AP_RangeFinder/AP_RangeFinder_Benewake_TFS20L.cpp AP_RangeFinder_Benewake_TFS20L::init() · Open in ArduPilot Copter-4.7.1

TFMini: FW ver N.N.N (need>=2.0.3)

libraries/AP_RangeFinder/AP_RangeFinder_Benewake_TFMiniPlus.cpp AP_RangeFinder_Benewake_TFMiniPlus::init() · Open in ArduPilot Copter-4.7.1

TFMiniPlus: Unable to set configuration register N

libraries/AP_RangeFinder/AP_RangeFinder_Benewake_TFMiniPlus.cpp AP_RangeFinder_Benewake_TFMiniPlus::init() · Open in ArduPilot Copter-4.7.1

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer