From e86e8f03e3c6112aa378b74942e93e233dabdf98 Mon Sep 17 00:00:00 2001 From: Siddharth Purohit Date: Tue, 21 Jul 2020 02:56:14 +0530 Subject: [PATCH] AP_HAL: add methods to extract devid details --- libraries/AP_HAL/Device.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/libraries/AP_HAL/Device.h b/libraries/AP_HAL/Device.h index c592578225..6700a91575 100644 --- a/libraries/AP_HAL/Device.h +++ b/libraries/AP_HAL/Device.h @@ -257,6 +257,34 @@ public: return change_bus_id(get_bus_id(), devtype); } + /** + * get bus type + */ + static enum BusType devid_get_bus_type(uint32_t dev_id) { + union DeviceId d; + d.devid = dev_id; + return d.devid_s.bus_type; + } + + static uint8_t devid_get_bus(uint32_t dev_id) { + union DeviceId d; + d.devid = dev_id; + return d.devid_s.bus; + } + + static uint8_t devid_get_address(uint32_t dev_id) { + union DeviceId d; + d.devid = dev_id; + return d.devid_s.address; + } + + static uint8_t devid_get_devtype(uint32_t dev_id) { + union DeviceId d; + d.devid = dev_id; + return d.devid_s.devtype; + } + + /* set number of retries on transfers */ virtual void set_retries(uint8_t retries) {};