Driver: fix mb12xx driver set address feature (#26282)

* fixed set_address function
This commit is contained in:
Baardrw
2026-01-22 06:45:45 +01:00
committed by GitHub
parent 55e0810d8d
commit c9e3118fea
@@ -371,7 +371,9 @@ MB12XX::set_address(const uint8_t address)
address == 80 ||
address == 164 ||
address == 170 ||
address > 224) {
address > 224 ||
(address % 2) != 0 ||
address < MB12XX_MIN_ADDR) {
PX4_ERR("incompatible address requested");
return PX4_ERROR;
}
@@ -386,6 +388,8 @@ MB12XX::set_address(const uint8_t address)
}
set_device_address(address);
_sensor_addresses[0] = address;
PX4_INFO("device address: %u", get_device_address());
return PX4_OK;
}
@@ -423,6 +427,7 @@ extern "C" __EXPORT int mb12xx_main(int argc, char *argv[])
using ThisDriver = MB12XX;
BusCLIArguments cli{true, false};
cli.default_i2c_frequency = MB12XX_BUS_SPEED;
cli.i2c_address = MB12XX_BASE_ADDR;
const char *verb = cli.parseDefaultArguments(argc, argv);
@@ -431,8 +436,6 @@ extern "C" __EXPORT int mb12xx_main(int argc, char *argv[])
return -1;
}
cli.i2c_address = MB12XX_BASE_ADDR;
BusInstanceIterator iterator(MODULE_NAME, cli, DRV_DIST_DEVTYPE_MB12XX);
if (!strcmp(verb, "start")) {