From 43965c6e10efa4c4badb2af0fe0cd1fe3d20b91a Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Sat, 18 Aug 2018 15:06:40 -0400 Subject: [PATCH] batt_smbus cleanup unnecessary Device CDev usage --- src/drivers/batt_smbus/batt_smbus.cpp | 18 +++++++----------- src/drivers/batt_smbus/batt_smbus.h | 10 ++++------ 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/drivers/batt_smbus/batt_smbus.cpp b/src/drivers/batt_smbus/batt_smbus.cpp index 0fae8d61eb..4652d01caa 100644 --- a/src/drivers/batt_smbus/batt_smbus.cpp +++ b/src/drivers/batt_smbus/batt_smbus.cpp @@ -48,7 +48,7 @@ #include "batt_smbus.h" BATT_SMBUS::BATT_SMBUS(device::Device *interface, const char *path) : - CDev("BATT_SMBUS", path), + CDev(path), _interface(interface), _batt_topic(nullptr), _batt_orb_id(nullptr), @@ -61,10 +61,6 @@ BATT_SMBUS::BATT_SMBUS(device::Device *interface, const char *path) : _low_thr(0.0f), _manufacturer_name(nullptr) { - // Set the device type from the interface. - _device_id.devid_s.bus_type = _interface->get_device_bus_type(); - _device_id.devid_s.bus = _interface->get_device_bus(); - _device_id.devid_s.address = _interface->get_device_address(); } BATT_SMBUS::~BATT_SMBUS() @@ -107,7 +103,7 @@ int BATT_SMBUS::block_read(const uint8_t cmd_code, void *data, const unsigned le } // addr(wr), cmd_code, addr(r), byte_count, rx_data[] - uint8_t device_address = get_device_address(); + uint8_t device_address = _interface->get_device_address(); uint8_t full_data_packet[DATA_BUFFER_SIZE + 4] = {0}; full_data_packet[0] = (device_address << 1) | 0x00; @@ -560,7 +556,7 @@ int BATT_SMBUS::read_word(const uint8_t cmd_code, void *data) if (PX4_OK == result) { // Check PEC. - uint8_t addr = (get_device_address() << 1); + uint8_t addr = (_interface->get_device_address() << 1); uint8_t full_data_packet[5]; full_data_packet[0] = addr | 0x00; full_data_packet[1] = cmd_code; @@ -584,12 +580,12 @@ int BATT_SMBUS::search_addresses() { uint16_t tmp; - set_device_address(BATT_SMBUS_ADDR); + _interface->set_device_address(BATT_SMBUS_ADDR); if (PX4_OK != read_word(BATT_SMBUS_VOLTAGE, &tmp)) { // Search through all valid SMBus addresses. for (uint8_t i = BATT_SMBUS_ADDR_MIN; i < BATT_SMBUS_ADDR_MAX; i++) { - set_device_address(i); + _interface->set_device_address(i); if (read_word(BATT_SMBUS_VOLTAGE, &tmp) == PX4_OK) { if (tmp > 0) { @@ -604,7 +600,7 @@ int BATT_SMBUS::search_addresses() } } - PX4_INFO("Smart battery found at 0x%x", get_device_address()); + PX4_INFO("Smart battery found at 0x%x", _interface->get_device_address()); PX4_INFO("Smart battery connected"); return PX4_OK; @@ -633,4 +629,4 @@ int BATT_SMBUS::unseal() } return PX4_OK; -} \ No newline at end of file +} diff --git a/src/drivers/batt_smbus/batt_smbus.h b/src/drivers/batt_smbus/batt_smbus.h index a2442fe9c0..ab9ddd7a97 100644 --- a/src/drivers/batt_smbus/batt_smbus.h +++ b/src/drivers/batt_smbus/batt_smbus.h @@ -43,7 +43,6 @@ * @author Jacob Dahl */ - #include #include @@ -52,7 +51,7 @@ #include #include -#include +#include #include #include #include @@ -119,7 +118,7 @@ int serial_number(); extern device::Device *BATT_SMBUS_I2C_interface(int bus); typedef device::Device *(*BATT_SMBUS_constructor)(int); -class BATT_SMBUS : public device::CDev +class BATT_SMBUS : public cdev::CDev { public: @@ -264,9 +263,8 @@ public: */ int unseal(); - protected: - Device *_interface; + device::Device *_interface; private: @@ -319,4 +317,4 @@ private: /* Do not allow copy construction or move assignment of this class. */ BATT_SMBUS(const BATT_SMBUS &); BATT_SMBUS operator=(const BATT_SMBUS &); -}; \ No newline at end of file +};