From d113e206c0490a7110305e6b27c1299322d480d8 Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Mon, 15 Jul 2019 23:59:46 +0200 Subject: [PATCH] Adapted output items. --- FlippR-Driver/src/PinController.cpp | 7 +++++++ FlippR-Driver/src/PinController.h | 1 + FlippR-Driver/src/output/OutputPinController.cpp | 8 -------- FlippR-Driver/src/output/OutputPinController.h | 2 -- .../src/output/detail/DriverBoardPinController.cpp | 2 +- FlippR-Driver/src/output/items/detail/DriverBoardItem.cpp | 2 +- FlippR-Driver/src/output/items/detail/DriverBoardItem.h | 2 +- FlippR-Driver/src/output/items/detail/Flipper.cpp | 4 ++-- FlippR-Driver/src/output/items/detail/Flipper.h | 2 +- FlippR-Driver/src/output/items/detail/Lamp.cpp | 2 +- FlippR-Driver/src/output/items/detail/Lamp.h | 2 +- FlippR-Driver/src/output/items/detail/Solenoid.cpp | 2 +- FlippR-Driver/src/output/items/detail/Solenoid.h | 2 +- FlippR-Driver/src/output/items/detail/Sound.cpp | 2 +- FlippR-Driver/src/output/items/detail/Sound.h | 2 +- 15 files changed, 20 insertions(+), 22 deletions(-) diff --git a/FlippR-Driver/src/PinController.cpp b/FlippR-Driver/src/PinController.cpp index cb72ea3..eeb83c4 100644 --- a/FlippR-Driver/src/PinController.cpp +++ b/FlippR-Driver/src/PinController.cpp @@ -10,6 +10,8 @@ #include "utility/config.h" #include "wiringPi/wiringPi.h" +#include "wiringPi/mcp23017.h" + #include "json/json.hpp" namespace flippR_driver @@ -42,5 +44,10 @@ bool PinController::read_pin(uint8_t address) return PULLDOWN == digitalRead(address); } +void PinController::initialize_port_expander(const uint8_t i2c_address, const uint8_t pin_base) +{ + mcp23017Setup(pin_base, i2c_address); +} + } diff --git a/FlippR-Driver/src/PinController.h b/FlippR-Driver/src/PinController.h index b519ba4..ee65615 100644 --- a/FlippR-Driver/src/PinController.h +++ b/FlippR-Driver/src/PinController.h @@ -23,6 +23,7 @@ public: virtual ~PinController() = default; static void initialize_output_pin(const uint8_t address); + void initialize_port_expander(const uint8_t i2c_address, const uint8_t pin_base); protected: static void initialize_input_pin(uint8_t address); diff --git a/FlippR-Driver/src/output/OutputPinController.cpp b/FlippR-Driver/src/output/OutputPinController.cpp index 5682b14..c21e27e 100644 --- a/FlippR-Driver/src/output/OutputPinController.cpp +++ b/FlippR-Driver/src/output/OutputPinController.cpp @@ -8,7 +8,6 @@ #include "OutputPinController.h" #include "utility/config.h" - #include "wiringPi/mcp23017.h" namespace flippR_driver @@ -21,12 +20,5 @@ void OutputPinController::initialize_i2c_address(const uint8_t i2c_address, cons mcp23017Setup(pin_base, i2c_address); } -void OutputPinController::initialize_port_expander(const uint8_t i2c_address, const uint8_t pin_base) -{ - mcp23017Setup(pin_base, i2c_address); -} - - - } } diff --git a/FlippR-Driver/src/output/OutputPinController.h b/FlippR-Driver/src/output/OutputPinController.h index 73bb557..44beb5d 100644 --- a/FlippR-Driver/src/output/OutputPinController.h +++ b/FlippR-Driver/src/output/OutputPinController.h @@ -27,8 +27,6 @@ class OutputPinController : public PinController public: virtual ~OutputPinController() = default; - void initialize_port_expander(const uint8_t i2c_address, const uint8_t pin_base); - protected: static void initialize_i2c_address(const uint8_t i2c_address, const uint8_t pin_base); static void initialize_pins_output(const uint8_t pin_base, std::map::iterator begin, std::map::iterator end); diff --git a/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp b/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp index 8693c6b..8c6a810 100644 --- a/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp +++ b/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp @@ -2,7 +2,7 @@ // Created by rhetenor on 14.12.18. // -#include "DriverBoardPinController.h" +#include "output/DriverBoardPinController.h" #include "output/items/DriverBoardItem.h" diff --git a/FlippR-Driver/src/output/items/detail/DriverBoardItem.cpp b/FlippR-Driver/src/output/items/detail/DriverBoardItem.cpp index fefe933..27594df 100644 --- a/FlippR-Driver/src/output/items/detail/DriverBoardItem.cpp +++ b/FlippR-Driver/src/output/items/detail/DriverBoardItem.cpp @@ -6,7 +6,7 @@ using namespace flippR_driver::output; -items::detail::DriverBoardItem::DriverBoardItem(std::shared_ptr pin_controller, const uint8_t address, const uint8_t pin_base) : +items::detail::DriverBoardItem::DriverBoardItem(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base) : address(pin_base + address) { pin_controller->initialize_output_pin(this->address); diff --git a/FlippR-Driver/src/output/items/detail/DriverBoardItem.h b/FlippR-Driver/src/output/items/detail/DriverBoardItem.h index 198e267..ddf3b7e 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(std::shared_ptr pin_controller, const uint8_t address, const uint8_t pin_base); + DriverBoardItem(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base); ~DriverBoardItem() override = default; diff --git a/FlippR-Driver/src/output/items/detail/Flipper.cpp b/FlippR-Driver/src/output/items/detail/Flipper.cpp index c1f555c..dbc1c88 100644 --- a/FlippR-Driver/src/output/items/detail/Flipper.cpp +++ b/FlippR-Driver/src/output/items/detail/Flipper.cpp @@ -20,8 +20,8 @@ namespace items namespace detail { -Flipper::Flipper(std::shared_ptr pin_controller, uint8_t address, std::string name) : - Item(std::move(name)), DriverBoardItem(address), pin_controller(std::move(pin_controller)) +Flipper::Flipper(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name) : + Item(std::move(name)), DriverBoardItem(pin_controller, address, pin_base), 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 bd872fb..9a7d044 100644 --- a/FlippR-Driver/src/output/items/detail/Flipper.h +++ b/FlippR-Driver/src/output/items/detail/Flipper.h @@ -23,7 +23,7 @@ namespace detail class Flipper : public detail::Item, public items::Flipper, public detail::DriverBoardItem { public: - Flipper(std::shared_ptr pin_controller, uint8_t address, std::string name); + Flipper(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name); ~Flipper() override; void activate() override; diff --git a/FlippR-Driver/src/output/items/detail/Lamp.cpp b/FlippR-Driver/src/output/items/detail/Lamp.cpp index e75a3e0..2ed7dbd 100644 --- a/FlippR-Driver/src/output/items/detail/Lamp.cpp +++ b/FlippR-Driver/src/output/items/detail/Lamp.cpp @@ -19,7 +19,7 @@ namespace items namespace detail { -Lamp::Lamp(std::shared_ptr pin_controller, const uint8_t address, const uint8_t pin_base, const std::string name) : +Lamp::Lamp(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name) : detail::Item(std::move(name)), DriverBoardItem(pin_controller, address, pin_base), pin_controller(std::move(pin_controller)), activated(false) { CLOG(INFO, OUTPUT_LOGGER) << "Created lamp " << name << " with address " << address; diff --git a/FlippR-Driver/src/output/items/detail/Lamp.h b/FlippR-Driver/src/output/items/detail/Lamp.h index 405830f..44f36db 100644 --- a/FlippR-Driver/src/output/items/detail/Lamp.h +++ b/FlippR-Driver/src/output/items/detail/Lamp.h @@ -27,7 +27,7 @@ namespace detail class Lamp : public detail::DriverBoardItem, public detail::Item, public items::Lamp { public: - Lamp(std::shared_ptr pin_controller, const uint8_t address, const uint8_t pin_base, const std::string name); + Lamp(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name); ~Lamp() override = default; void activate() override; diff --git a/FlippR-Driver/src/output/items/detail/Solenoid.cpp b/FlippR-Driver/src/output/items/detail/Solenoid.cpp index e6aa424..22a8710 100644 --- a/FlippR-Driver/src/output/items/detail/Solenoid.cpp +++ b/FlippR-Driver/src/output/items/detail/Solenoid.cpp @@ -18,7 +18,7 @@ namespace items namespace detail { -Solenoid::Solenoid(std::shared_ptr pin_controller, const uint8_t address, const uint8_t pin_base, const std::string name, std::chrono::milliseconds deactivation_time) +Solenoid::Solenoid(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name, const std::chrono::milliseconds & deactivation_time) : detail::Item(std::move(name)), DriverBoardItem(pin_controller, address, pin_base), pin_controller(pin_controller), deactivation_time(deactivation_time) { CLOG(INFO, OUTPUT_LOGGER) << "Created solenoid " << name << " with address " << address; diff --git a/FlippR-Driver/src/output/items/detail/Solenoid.h b/FlippR-Driver/src/output/items/detail/Solenoid.h index ab3995e..4959676 100644 --- a/FlippR-Driver/src/output/items/detail/Solenoid.h +++ b/FlippR-Driver/src/output/items/detail/Solenoid.h @@ -29,7 +29,7 @@ namespace detail class Solenoid : public DriverBoardItem, public detail::Item, public items::Solenoid { public: - Solenoid(std::shared_ptr pin_controller, const uint8_t address, const uint8_t pin_base, const std::string name, std::chrono::milliseconds deactivation_time); + Solenoid(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name, const std::chrono::milliseconds & deactivation_time); ~Solenoid() override = default; void trigger() override; diff --git a/FlippR-Driver/src/output/items/detail/Sound.cpp b/FlippR-Driver/src/output/items/detail/Sound.cpp index 5d92800..1a1eebc 100644 --- a/FlippR-Driver/src/output/items/detail/Sound.cpp +++ b/FlippR-Driver/src/output/items/detail/Sound.cpp @@ -20,7 +20,7 @@ namespace items namespace detail { -Sound::Sound(std::shared_ptr pin_controller, const uint8_t address, const uint8_t pin_base, const std::string name, std::chrono::milliseconds deactivation_time, u_int id) +Sound::Sound(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name, const std::chrono::milliseconds & deactivation_time, u_int id) : detail::Item(std::move(name)), DriverBoardItem(pin_controller, address, pin_base), pin_controller(std::move(pin_controller)), deactivation_time(deactivation_time), id(id) { CLOG(INFO, OUTPUT_LOGGER) << "Created sound " << id << " with name " << name << " and address " << address; diff --git a/FlippR-Driver/src/output/items/detail/Sound.h b/FlippR-Driver/src/output/items/detail/Sound.h index d9950ee..e0d96b2 100644 --- a/FlippR-Driver/src/output/items/detail/Sound.h +++ b/FlippR-Driver/src/output/items/detail/Sound.h @@ -35,7 +35,7 @@ public: u_int id; public: - Sound(std::shared_ptr pin_controller, const uint8_t address, const uint8_t pin_base, const std::string name, std::chrono::milliseconds deactivation_time, u_int id); + Sound(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name, const std::chrono::milliseconds & deactivation_time, u_int id); ~Sound() override = default; void play() override;