From 16489d2a13fb03738dd996502444e8def7d2509a Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 4 Nov 2016 20:23:20 +1100 Subject: [PATCH] HAL_PX4: implement device IDs for I2C and SPI --- libraries/AP_HAL_PX4/I2CDevice.cpp | 2 ++ libraries/AP_HAL_PX4/I2CWrapper.h | 3 ++- libraries/AP_HAL_PX4/SPIDevice.cpp | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/AP_HAL_PX4/I2CDevice.cpp b/libraries/AP_HAL_PX4/I2CDevice.cpp index c627006493..884f9ae3b6 100644 --- a/libraries/AP_HAL_PX4/I2CDevice.cpp +++ b/libraries/AP_HAL_PX4/I2CDevice.cpp @@ -85,6 +85,8 @@ I2CDevice::I2CDevice(uint8_t bus, uint8_t address) : _px4dev(_busnum), _address(address) { + set_device_bus(_px4dev.map_bus_number(bus)); + set_device_address(address); } I2CDevice::~I2CDevice() diff --git a/libraries/AP_HAL_PX4/I2CWrapper.h b/libraries/AP_HAL_PX4/I2CWrapper.h index 0149315fbd..ab569626cc 100644 --- a/libraries/AP_HAL_PX4/I2CWrapper.h +++ b/libraries/AP_HAL_PX4/I2CWrapper.h @@ -19,9 +19,10 @@ public: void set_retries(uint8_t retries) { _retries = retries; } + + uint8_t map_bus_number(uint8_t bus) const; private: - uint8_t map_bus_number(uint8_t bus) const; static uint8_t instance; bool init_done; bool init_ok; diff --git a/libraries/AP_HAL_PX4/SPIDevice.cpp b/libraries/AP_HAL_PX4/SPIDevice.cpp index 2901f360b8..3bf6626ee2 100644 --- a/libraries/AP_HAL_PX4/SPIDevice.cpp +++ b/libraries/AP_HAL_PX4/SPIDevice.cpp @@ -64,6 +64,8 @@ SPIDevice::SPIDevice(SPIBus &_bus, SPIDesc &_device_desc) : bus(_bus) , device_desc(_device_desc) { + set_device_bus(_bus.bus); + set_device_address(_device_desc.device); } SPIDevice::~SPIDevice()