From f70381dfddefeb0df4afdd6d0859a7d0e03572a1 Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Wed, 18 Aug 2021 13:46:40 -0700 Subject: [PATCH] i2c_spi_buses:Support devices that may change address --- platforms/common/i2c_spi_buses.cpp | 2 +- platforms/common/include/px4_platform_common/i2c_spi_buses.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/platforms/common/i2c_spi_buses.cpp b/platforms/common/i2c_spi_buses.cpp index 466928de3f..40b11f75aa 100644 --- a/platforms/common/i2c_spi_buses.cpp +++ b/platforms/common/i2c_spi_buses.cpp @@ -642,7 +642,7 @@ void I2CSPIDriverBase::print_status() bool is_i2c_bus = _bus_option == I2CSPIBusOption::I2CExternal || _bus_option == I2CSPIBusOption::I2CInternal; if (is_i2c_bus) { - PX4_INFO("Running on I2C Bus %i, Address 0x%02X", _bus, _i2c_address); + PX4_INFO("Running on I2C Bus %i, Address 0x%02X", _bus, get_i2c_address()); } else { PX4_INFO("Running on SPI Bus %i", _bus); diff --git a/platforms/common/include/px4_platform_common/i2c_spi_buses.h b/platforms/common/include/px4_platform_common/i2c_spi_buses.h index 29ad8318b9..f76d9de24c 100644 --- a/platforms/common/include/px4_platform_common/i2c_spi_buses.h +++ b/platforms/common/include/px4_platform_common/i2c_spi_buses.h @@ -62,11 +62,13 @@ class I2CSPIInstance : public ListNode { public: virtual ~I2CSPIInstance() = default; + virtual int8_t get_i2c_address() {return _i2c_address;} private: I2CSPIInstance(const char *module_name, I2CSPIBusOption bus_option, int bus, uint8_t i2c_address, uint16_t type) : _module_name(module_name), _bus_option(bus_option), _bus(bus), _type(type), _i2c_address(i2c_address) {} + friend class BusInstanceIterator; friend class I2CSPIDriverBase;