diff --git a/FlippR-Driver/src/output/DisplayBoardPinController.h b/FlippR-Driver/src/output/DisplayBoardPinController.h index a5a3ad2..9c95b72 100644 --- a/FlippR-Driver/src/output/DisplayBoardPinController.h +++ b/FlippR-Driver/src/output/DisplayBoardPinController.h @@ -6,13 +6,14 @@ #define FLIPPR_DRIVER_DISPLAYPINCONTROLLER_H #include "output/items/OutputDisplay.h" +#include "OutputPinController.h" namespace flippR_driver { namespace output { -class DisplayBoardPinController +class DisplayBoardPinController : public OutputPinController { public: virtual ~DisplayBoardPinController() = default; diff --git a/FlippR-Driver/src/output/DriverBoardPinController.h b/FlippR-Driver/src/output/DriverBoardPinController.h index 8e108a1..ff90e7b 100644 --- a/FlippR-Driver/src/output/DriverBoardPinController.h +++ b/FlippR-Driver/src/output/DriverBoardPinController.h @@ -5,6 +5,7 @@ #ifndef FLIPPR_DRIVER_DRIVERBOARDPINCONTROLLER_H #define FLIPPR_DRIVER_DRIVERBOARDPINCONTROLLER_H +#include "OutputPinController.h" namespace flippR_driver { @@ -16,7 +17,7 @@ namespace items class DriverBoardItem; } -class DriverBoardPinController +class DriverBoardPinController : public OutputPinController { public: virtual ~DriverBoardPinController() = default; diff --git a/FlippR-Driver/src/output/OutputPinController.h b/FlippR-Driver/src/output/OutputPinController.h index c58e6bb..38ca1cd 100644 --- a/FlippR-Driver/src/output/OutputPinController.h +++ b/FlippR-Driver/src/output/OutputPinController.h @@ -27,9 +27,6 @@ class OutputPinController : public PinController public: virtual ~OutputPinController() = default; - virtual void activate(items::DriverBoardItem &driver_board_item) = 0; - virtual void deactivate(items::DriverBoardItem &driver_board_item) = 0; - protected: static void initialize_i2c_address(uint8_t i2c_address, uint8_t pin_base); static void initialize_pins_output(uint8_t pin_base, std::map::iterator begin, std::map::iterator end); diff --git a/FlippR-Driver/src/output/SoundBoardPinController.h b/FlippR-Driver/src/output/SoundBoardPinController.h index e0ee46e..b07f2ce 100644 --- a/FlippR-Driver/src/output/SoundBoardPinController.h +++ b/FlippR-Driver/src/output/SoundBoardPinController.h @@ -6,13 +6,14 @@ #define FLIPPR_DRIVER_OUTPUT_SOUNDBOARDPINCONTROLLER_H #include "output/items/detail/Sound.h" +#include "OutputPinController.h" namespace flippR_driver { namespace output { -class SoundBoardPinController +class SoundBoardPinController : public OutputPinController { public: virtual ~SoundBoardPinController() = default; diff --git a/FlippR-Driver/src/output/items/detail/DriverBoardItem.h b/FlippR-Driver/src/output/items/detail/DriverBoardItem.h index c270aa8..40b027a 100644 --- a/FlippR-Driver/src/output/items/detail/DriverBoardItem.h +++ b/FlippR-Driver/src/output/items/detail/DriverBoardItem.h @@ -21,7 +21,7 @@ namespace detail class DriverBoardItem : public output::items::DriverBoardItem { public: - DriverBoardItem(const uint8_t address); + DriverBoardItem(uint8_t address); ~DriverBoardItem() override = default; diff --git a/FlippR-Driver/src/output/items/detail/Flipper.cpp b/FlippR-Driver/src/output/items/detail/Flipper.cpp index 59b7418..c1f555c 100644 --- a/FlippR-Driver/src/output/items/detail/Flipper.cpp +++ b/FlippR-Driver/src/output/items/detail/Flipper.cpp @@ -21,7 +21,7 @@ namespace detail { Flipper::Flipper(std::shared_ptr pin_controller, uint8_t address, std::string name) : - DriverBoardItem(pin_controller, address, name) + Item(std::move(name)), DriverBoardItem(address), pin_controller(std::move(pin_controller)) { CLOG(INFO, OUTPUT_LOGGER) << "Created Flipper relay " << this->name << " with address " << this->address; } diff --git a/FlippR-Driver/src/output/items/detail/Flipper.h b/FlippR-Driver/src/output/items/detail/Flipper.h index d0a01b7..bd872fb 100644 --- a/FlippR-Driver/src/output/items/detail/Flipper.h +++ b/FlippR-Driver/src/output/items/detail/Flipper.h @@ -9,7 +9,7 @@ #define _SRC_FLIPPR_CODE_FLIPPER_H #include "output/items/Flipper.h" -#include "output/items/DriverBoardItem.h" +#include "output/items/detail/DriverBoardItem.h" namespace flippR_driver { @@ -20,7 +20,7 @@ namespace items namespace detail { -class Flipper : public detail::Item, public items::Flipper, public DriverBoardItem +class Flipper : public detail::Item, public items::Flipper, public detail::DriverBoardItem { public: Flipper(std::shared_ptr pin_controller, uint8_t address, std::string name); @@ -31,6 +31,7 @@ public: bool is_activated() override; private: + const std::shared_ptr pin_controller; bool activated; }; diff --git a/FlippR-Driver/src/output/items/detail/Item.cpp b/FlippR-Driver/src/output/items/detail/Item.cpp index 4e1a1bf..942a730 100644 --- a/FlippR-Driver/src/output/items/detail/Item.cpp +++ b/FlippR-Driver/src/output/items/detail/Item.cpp @@ -13,15 +13,10 @@ namespace items namespace detail { -Item::Item(uint8_t address, std::string name) : - address(address), name(std::move(name)) +Item::Item(std::string name) : + name(std::move(name)) {} -uint8_t Item::get_address() const -{ - return this->address; -} - std::string Item::get_name() const { return this->name; diff --git a/FlippR-Driver/src/output/items/detail/Lamp.cpp b/FlippR-Driver/src/output/items/detail/Lamp.cpp index b7d237a..1b79f5f 100644 --- a/FlippR-Driver/src/output/items/detail/Lamp.cpp +++ b/FlippR-Driver/src/output/items/detail/Lamp.cpp @@ -20,7 +20,7 @@ namespace detail { Lamp::Lamp(std::shared_ptr pin_controller, uint8_t address, std::string name) : -detail::Item(std::move(name)), DriverBoardItem(address), pin_controller(std::move(pin_controller), activated(false) +detail::Item(std::move(name)), DriverBoardItem(address), pin_controller(std::move(pin_controller)), activated(false) { CLOG(INFO, OUTPUT_LOGGER) << "Created lamp " << name << " with address " << address; }