mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-27 18:27:05 +08:00
i2c_spi_buses:Support devices that may change address
This commit is contained in:
committed by
Daniel Agar
parent
075cb39c34
commit
78b76cb636
@@ -683,7 +683,7 @@ void I2CSPIDriverBase::print_status()
|
|||||||
bool is_i2c_bus = _bus_option == I2CSPIBusOption::I2CExternal || _bus_option == I2CSPIBusOption::I2CInternal;
|
bool is_i2c_bus = _bus_option == I2CSPIBusOption::I2CExternal || _bus_option == I2CSPIBusOption::I2CInternal;
|
||||||
|
|
||||||
if (is_i2c_bus) {
|
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 {
|
} else {
|
||||||
PX4_INFO("Running on SPI Bus %i", _bus);
|
PX4_INFO("Running on SPI Bus %i", _bus);
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ class I2CSPIInstance : public ListNode<I2CSPIInstance *>
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual ~I2CSPIInstance() = default;
|
virtual ~I2CSPIInstance() = default;
|
||||||
|
virtual int8_t get_i2c_address() {return _i2c_address;}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
I2CSPIInstance(const I2CSPIDriverConfig &config)
|
I2CSPIInstance(const I2CSPIDriverConfig &config)
|
||||||
@@ -100,6 +101,7 @@ private:
|
|||||||
_devid_driver_index(config.devid_driver_index), _bus_device_index(config.bus_device_index),
|
_devid_driver_index(config.devid_driver_index), _bus_device_index(config.bus_device_index),
|
||||||
_i2c_address(config.i2c_address) {}
|
_i2c_address(config.i2c_address) {}
|
||||||
|
|
||||||
|
|
||||||
friend class BusInstanceIterator;
|
friend class BusInstanceIterator;
|
||||||
friend class I2CSPIDriverBase;
|
friend class I2CSPIDriverBase;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user