Лідар Benewake на I2C відповів, але користуватися ним не можна
Що пише ArduPilot:
- TFS20L: No response from sensor
- TFMini: FW ver N.N.N (need>=2.0.3)
- TFMiniPlus: Unable to set configuration register N
Під час завантаження ArduPilot знайшов лідар Benewake на шині I2C і відмовився від нього. «TFMini: FW ver … (need>=2.0.3)»: у TFmini Plus прошивка старіша за 2.0.3, з якою драйвер I2C працювати не може. «TFS20L: No response from sensor» і «Unable to set configuration register»: датчик не відповів на команду. Драйвер не запускається, тож при спробі армування буде «Rangefinder 1: Not Detected».
Що робити: найімовірніше спершу
Прошивка TFmini Plus застара.
ПеревіртеПовідомлення містить версію, яку повідомив лідар.
ВиправтеОновіть лідар фірмовою програмою Benewake до 2.0.3 чи новішої або під'єднайте його через UART (
RNGFNDn_TYPE20), де такого обмеження немає.Підключення I2C ненадійне: довгі дроти, немає живлення з боку батареї або неправильна адреса.
Перевірте
RNGFNDn_ADDRмає бути I2C-адресою лідара в десятковому вигляді (16, тобто 0x10, — типова для TFmini Plus).ВиправтеВкоротіть дроти, забезпечте лідару нормальне живлення й перезавантажте з під'єднаною батареєю (пропелери зняті).
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
RNGFND1_TYPE | Rangefinder type |
RNGFND1_ADDR | Bus address of sensor |
Код, який це надсилає
TFS20L: No response from sensor
libraries/AP_RangeFinder/AP_RangeFinder_Benewake_TFS20L.cpp AP_RangeFinder_Benewake_TFS20L::init() · Відкрити в 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() · Відкрити в 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() · Відкрити в ArduPilot Copter-4.7.1