AP_Periph: cope with peripherals with i2c only rangefinders

if no uart then still check for non-uart sensors
This commit is contained in:
Andrew Tridgell 2023-03-06 09:02:07 +11:00
parent 7be6fe9841
commit a4a52c3e8c

View File

@ -206,13 +206,16 @@ void AP_Periph_FW::init()
#endif
#ifdef HAL_PERIPH_ENABLE_RANGEFINDER
if (rangefinder.get_type(0) != RangeFinder::Type::NONE && g.rangefinder_port >= 0) {
auto *uart = hal.serial(g.rangefinder_port);
if (uart != nullptr) {
uart->begin(g.rangefinder_baud);
serial_manager.set_protocol_and_baud(g.rangefinder_port, AP_SerialManager::SerialProtocol_Rangefinder, g.rangefinder_baud);
rangefinder.init(ROTATION_NONE);
if (rangefinder.get_type(0) != RangeFinder::Type::NONE) {
if (g.rangefinder_port >= 0) {
// init uart for serial rangefinders
auto *uart = hal.serial(g.rangefinder_port);
if (uart != nullptr) {
uart->begin(g.rangefinder_baud);
serial_manager.set_protocol_and_baud(g.rangefinder_port, AP_SerialManager::SerialProtocol_Rangefinder, g.rangefinder_baud);
}
}
rangefinder.init(ROTATION_NONE);
}
#endif