From dccb32dcf9b933d2b73b0ca07521864ca21a29dc Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Mon, 5 Nov 2018 22:34:51 +0100 Subject: [PATCH 1/9] nothing important --- FlippR-Driver/src/output/DisplayController.cpp | 7 ++++--- FlippR-Driver/src/output/DisplayController.h | 4 ++-- FlippR-Driver/src/output/ICabinetItem.h | 8 ++++---- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/FlippR-Driver/src/output/DisplayController.cpp b/FlippR-Driver/src/output/DisplayController.cpp index 9a96b7e..304703f 100644 --- a/FlippR-Driver/src/output/DisplayController.cpp +++ b/FlippR-Driver/src/output/DisplayController.cpp @@ -6,8 +6,9 @@ */ #include "DisplayController.h" +#include "utility/IOutputGPIOInterface.h" -#include "utilities/config.h" +#include "utility/config.h" namespace FlippR_Driver { @@ -33,9 +34,9 @@ void DisplayController::cycle_displays() { while(is_running) { - for(auto& display : displays) + for(auto& display : this->displays) { - + } } } diff --git a/FlippR-Driver/src/output/DisplayController.h b/FlippR-Driver/src/output/DisplayController.h index 8168e7a..34bd981 100644 --- a/FlippR-Driver/src/output/DisplayController.h +++ b/FlippR-Driver/src/output/DisplayController.h @@ -14,7 +14,7 @@ #include #include "IDisplay.h" -#include "utilities/IOutputGPIOInterface.h" +#include "utility/IOutputGPIOInterface.h" namespace FlippR_Driver { @@ -42,4 +42,4 @@ private: } } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/output/ICabinetItem.h b/FlippR-Driver/src/output/ICabinetItem.h index 5c83b80..2b78b24 100644 --- a/FlippR-Driver/src/output/ICabinetItem.h +++ b/FlippR-Driver/src/output/ICabinetItem.h @@ -16,10 +16,10 @@ namespace output class ICabinetItem { - virtual ~ICabinetItem(); - virtual bool isActivated() = 0; - virtual bool activate() = 0; - virtual bool deactivate() = 0; + virtual ~ICabinetItem(); + virtual bool isActivated() = 0; + virtual bool activate() = 0; + virtual bool deactivate() = 0; }; } From b94fb345c1ad2c87693642d493dc8231d9bf6513 Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Mon, 5 Nov 2018 22:35:49 +0100 Subject: [PATCH 2/9] changed gitignore --- FlippR-Driver/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/FlippR-Driver/.gitignore b/FlippR-Driver/.gitignore index 85c2775..5f4398f 100644 --- a/FlippR-Driver/.gitignore +++ b/FlippR-Driver/.gitignore @@ -1,3 +1,4 @@ +.csettings/* build CMakeFiles CMakeCache.txt From 8e4b7391b00bea2d8ed8fccba8f16e53b75e20f9 Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Thu, 8 Nov 2018 00:42:31 +0100 Subject: [PATCH 3/9] wrote display stuff and refactored thousend things --- FlippR-Driver/src/input/Detector.cpp | 6 +-- FlippR-Driver/src/input/Detector.h | 8 ++-- FlippR-Driver/src/input/ErrorEvent.hpp | 17 +++---- FlippR-Driver/src/input/Event.cpp | 4 +- FlippR-Driver/src/input/EventHandler.cpp | 36 +++++++-------- FlippR-Driver/src/input/EventNotifier.cpp | 6 +-- FlippR-Driver/src/input/EventNotifier.h | 10 ++--- FlippR-Driver/src/input/InputDriver.cpp | 5 +-- .../src/input/InputDriverFactory.cpp | 6 +-- FlippR-Driver/src/input/InputDriverFactory.h | 4 +- FlippR-Driver/src/output/CabinetItem.h | 6 +-- FlippR-Driver/src/output/Display.cpp | 44 ++++++++++++++++++- FlippR-Driver/src/output/Display.h | 5 ++- .../src/output/DisplayController.cpp | 2 +- FlippR-Driver/src/output/DisplayController.h | 4 +- FlippR-Driver/src/output/IDisplay.h | 4 +- FlippR-Driver/src/output/Lamp.cpp | 5 ++- FlippR-Driver/src/output/Lamp.h | 6 +-- FlippR-Driver/src/output/Solenoid.cpp | 7 ++- FlippR-Driver/src/output/Solenoid.h | 6 +-- FlippR-Driver/src/output/Sound.cpp | 8 ++-- FlippR-Driver/src/output/Sound.h | 8 ++-- .../src/utility/IOutputGPIOInterface.h | 1 - FlippR-Driver/src/utility/LoggerFactory.h | 8 ++-- FlippR-Driver/tests/input/TestDetector.cpp | 29 ++++++------ .../tests/input/TestEventHandler.cpp | 3 +- .../tests/input/TestEventNotifier.cpp | 5 ++- FlippR-Driver/tests/input/TestInputDriver.cpp | 3 +- .../tests/output/TestCabinetItem.cpp | 4 +- FlippR-Driver/tests/output/TestDisplay.cpp | 42 ++++++++++++++++-- .../tests/output/TestDisplayController.cpp | 4 +- FlippR-Driver/tests/output/TestLamp.cpp | 4 +- .../tests/output/TestOutputDriver.cpp | 4 +- FlippR-Driver/tests/output/TestSolenoid.cpp | 4 +- FlippR-Driver/tests/output/TestSound.cpp | 4 +- 35 files changed, 203 insertions(+), 119 deletions(-) diff --git a/FlippR-Driver/src/input/Detector.cpp b/FlippR-Driver/src/input/Detector.cpp index 146221a..f365026 100644 --- a/FlippR-Driver/src/input/Detector.cpp +++ b/FlippR-Driver/src/input/Detector.cpp @@ -10,14 +10,14 @@ #include #include -#include "utilities/config.h" +#include "utility/config.h" namespace FlippR_Driver { namespace Input { -Detector::Detector(std::unique_ptr input_gpio_interface, std::vector> events) : +Detector::Detector(std::unique_ptr input_gpio_interface, std::vector> events) : input_gpio_interface(std::move(input_gpio_interface)), events(events), is_running(true) { this->detect_thread = std::thread(&Detector::detect, this); @@ -49,4 +49,4 @@ void Detector::check_inputs() } } -} \ No newline at end of file +} diff --git a/FlippR-Driver/src/input/Detector.h b/FlippR-Driver/src/input/Detector.h index b2cfe40..7913d5c 100644 --- a/FlippR-Driver/src/input/Detector.h +++ b/FlippR-Driver/src/input/Detector.h @@ -19,7 +19,7 @@ #include #include -#include "utilities/IInputGPIOInterface.h" +#include "utility/IInputGPIOInterface.h" #include "IDetector.h" #include "DistributingEvent.h" @@ -34,7 +34,7 @@ class Detector : public IDetector { public: - Detector(std::unique_ptr input_gpio_interface, std::vector> events); + Detector(std::unique_ptr input_gpio_interface, std::vector> events); ~Detector(); private: @@ -42,7 +42,7 @@ private: void check_inputs(); private: - std::unique_ptr input_gpio_interface; + std::unique_ptr input_gpio_interface; std::vector> events; @@ -52,4 +52,4 @@ private: } } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/input/ErrorEvent.hpp b/FlippR-Driver/src/input/ErrorEvent.hpp index 55353a4..266ee70 100644 --- a/FlippR-Driver/src/input/ErrorEvent.hpp +++ b/FlippR-Driver/src/input/ErrorEvent.hpp @@ -11,14 +11,15 @@ #include "Event.h" namespace FlippR_Driver { - namespace Input { +namespace Input { - class ErrorEvent : public Event { - public: - ErrorEvent() : - Event(0, 0, "ERROR") {} - }; - } +class ErrorEvent : public Event +{ +public: + ErrorEvent() : Event(0, 0, "ERROR") {} +}; + +} } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/input/Event.cpp b/FlippR-Driver/src/input/Event.cpp index 52c3ada..686e6eb 100644 --- a/FlippR-Driver/src/input/Event.cpp +++ b/FlippR-Driver/src/input/Event.cpp @@ -6,7 +6,7 @@ */ #include "Event.h" -#include "utilities/config.h" +#include "utility/config.h" namespace FlippR_Driver { @@ -26,4 +26,4 @@ bool operator==(const Event& left, const Event& right) } } -} \ No newline at end of file +} diff --git a/FlippR-Driver/src/input/EventHandler.cpp b/FlippR-Driver/src/input/EventHandler.cpp index c053113..927cfe7 100644 --- a/FlippR-Driver/src/input/EventHandler.cpp +++ b/FlippR-Driver/src/input/EventHandler.cpp @@ -5,32 +5,32 @@ * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht */ #include "EventHandler.h" -#include "utilities/config.h" +#include "utility/config.h" namespace FlippR_Driver { namespace Input { - EventHandler::EventHandler(std::shared_ptr input_driver) : - input_driver(input_driver) - { - this->input_driver->register_event_handler(this); +EventHandler::EventHandler(std::shared_ptr input_driver) : + input_driver(input_driver) +{ + this->input_driver->register_event_handler(this); - CLOG(INFO, INPUT_LOGGER) << "Created EventHandler"; - } + CLOG(INFO, INPUT_LOGGER) << "Created EventHandler"; +} - EventHandler::~EventHandler() - { - this->input_driver->unregister_event_handler(this); - this->input_driver = NULL; - } +EventHandler::~EventHandler() +{ + this->input_driver->unregister_event_handler(this); + this->input_driver = NULL; +} - // This function is intended to be non pure, if it is called when the derived class doesn't exist anymore - void EventHandler::handle(Event& event) - { - CLOG(WARNING, INPUT_LOGGER) << "Called EventHandler parent class"; - } +// This function is intended to be non pure, if it is called when the derived class doesn't exist anymore +void EventHandler::handle(Event& event) +{ + CLOG(WARNING, INPUT_LOGGER) << "Called EventHandler parent class"; +} } -} \ No newline at end of file +} diff --git a/FlippR-Driver/src/input/EventNotifier.cpp b/FlippR-Driver/src/input/EventNotifier.cpp index 00a786a..c1ec5d3 100644 --- a/FlippR-Driver/src/input/EventNotifier.cpp +++ b/FlippR-Driver/src/input/EventNotifier.cpp @@ -7,7 +7,7 @@ #include -#include "utilities/config.h" +#include "utility/config.h" #include "EventNotifier.h" @@ -16,7 +16,7 @@ namespace FlippR_Driver namespace Input { -EventNotifier::EventNotifier(IBlockingQueue* queue) : +EventNotifier::EventNotifier(utility::IBlockingQueue* queue) : is_running(true), event_queue(queue) { @@ -82,4 +82,4 @@ void EventNotifier::notify() } } -} \ No newline at end of file +} diff --git a/FlippR-Driver/src/input/EventNotifier.h b/FlippR-Driver/src/input/EventNotifier.h index 5d20a75..b39cbbc 100644 --- a/FlippR-Driver/src/input/EventNotifier.h +++ b/FlippR-Driver/src/input/EventNotifier.h @@ -14,8 +14,8 @@ #include #include -#include "utilities/BlockingQueue.hpp" -#include "utilities/IBlockingQueue.h" +#include "utility/BlockingQueue.hpp" +#include "utility/IBlockingQueue.h" #include "Event.h" #include "EventHandler.h" @@ -30,7 +30,7 @@ class EventNotifier : public IEventNotifier { public: - EventNotifier(IBlockingQueue* queue); + EventNotifier(utility::IBlockingQueue* queue); ~EventNotifier(); void register_event_handler(IEventHandler* handler); @@ -42,7 +42,7 @@ private: void notify(); private: - IBlockingQueue* event_queue; + utility::IBlockingQueue* event_queue; std::set event_handlers; bool is_running; @@ -54,4 +54,4 @@ private: } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/input/InputDriver.cpp b/FlippR-Driver/src/input/InputDriver.cpp index 2897af0..1e534ba 100644 --- a/FlippR-Driver/src/input/InputDriver.cpp +++ b/FlippR-Driver/src/input/InputDriver.cpp @@ -6,7 +6,7 @@ */ #include "InputDriver.h" -#include "utilities/config.h" +#include "utility/config.h" #include @@ -42,9 +42,8 @@ std::shared_ptr InputDriver::get_event(std::string name) catch(std::out_of_range &e) { CLOG_N_TIMES(1, WARNING, OUTPUT_LOGGER) << "Did not found event " << name << " please check config file!"; - - return event; } + return event; } } diff --git a/FlippR-Driver/src/input/InputDriverFactory.cpp b/FlippR-Driver/src/input/InputDriverFactory.cpp index 9f96e1f..ae60b91 100644 --- a/FlippR-Driver/src/input/InputDriverFactory.cpp +++ b/FlippR-Driver/src/input/InputDriverFactory.cpp @@ -8,15 +8,15 @@ #include "InputDriverFactory.h" -#include "utilities/config.h" +#include "utility/config.h" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" #include "InputDriver.h" #include "EventNotifier.h" using namespace nlohmann; - +using namespace FlippR_Driver::utility; namespace FlippR_Driver { diff --git a/FlippR-Driver/src/input/InputDriverFactory.h b/FlippR-Driver/src/input/InputDriverFactory.h index 34a3a8d..7639c28 100644 --- a/FlippR-Driver/src/input/InputDriverFactory.h +++ b/FlippR-Driver/src/input/InputDriverFactory.h @@ -14,7 +14,7 @@ #include "Detector.h" #include "IInputDriver.h" -#include "utilities/InputGPIOInterface.h" +#include "utility/InputGPIOInterface.h" #include "json/json.hpp" #include "IEventNotifier.h" @@ -36,4 +36,4 @@ private: }; } } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/output/CabinetItem.h b/FlippR-Driver/src/output/CabinetItem.h index 8b70cd7..604a77d 100644 --- a/FlippR-Driver/src/output/CabinetItem.h +++ b/FlippR-Driver/src/output/CabinetItem.h @@ -10,7 +10,7 @@ #include "ICabinetItem.h" -#include "utilities/IOutputGPIOInterface.h" +#include "utility/IOutputGPIOInterface.h" #include #include @@ -23,7 +23,7 @@ namespace output class CabinetItem : public ICabinetItem { public: - CabinetItem(std::shared_ptr output_gpio_interface, int address, std::string name); + CabinetItem(std::shared_ptr output_gpio_interface, int address, std::string name); virtual ~CabinetItem(); virtual bool isActivated(); @@ -39,4 +39,4 @@ protected: } /* namespace output */ } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/output/Display.cpp b/FlippR-Driver/src/output/Display.cpp index c61059e..97c56d8 100644 --- a/FlippR-Driver/src/output/Display.cpp +++ b/FlippR-Driver/src/output/Display.cpp @@ -2,11 +2,53 @@ // Created by rhetenor on 10.10.18. // +#include "Display.h" +#include "utility/config.h" + +#include +#include + + namespace FlippR_Driver { namespace output { +template +Display::Display(int address, int id) : + address(address), + id(id) +{ +} + +template +int Display::getID() +{ + return this->id; +} + +template +void Display::write_score(int score) +{ + auto score_string = std::to_string(score); + auto score_length = score_string.length(); + if (score_length > DigitCount) + { + CLOG(DEBUG, OUTPUT_LOGGER) << "Score too long for display"; + this->content = score_string.substr(score_length-DigitCount,score_length); + return; + } + + std::string spaces; + std::generate_n(spaces.begin(), DigitCount-score_length, []{return " ";}); + this->content = spaces + score_string; +} + +template +void Display::write_content( std::array content) +{ + this->content = content; +} } -} \ No newline at end of file +} diff --git a/FlippR-Driver/src/output/Display.h b/FlippR-Driver/src/output/Display.h index 66bbce0..9c68153 100644 --- a/FlippR-Driver/src/output/Display.h +++ b/FlippR-Driver/src/output/Display.h @@ -20,7 +20,7 @@ template class Display : public IDisplay { public: - Display(); + Display(int address, int id); virtual ~Display() = default; virtual int getID(); @@ -38,4 +38,5 @@ private: } /* namespace output */ } -#endif \ No newline at end of file + +#endif diff --git a/FlippR-Driver/src/output/DisplayController.cpp b/FlippR-Driver/src/output/DisplayController.cpp index 304703f..3aeb223 100644 --- a/FlippR-Driver/src/output/DisplayController.cpp +++ b/FlippR-Driver/src/output/DisplayController.cpp @@ -15,7 +15,7 @@ namespace FlippR_Driver namespace output { -DisplayController::DisplayController(std::vector> displays, std::shared_ptr output_gpio_interface) +DisplayController::DisplayController(std::vector> displays, std::shared_ptr output_gpio_interface) : displays(displays), output_gpio_interface(output_gpio_interface), is_running(true) { this->display_cycle_thread = std::thread(&DisplayController::cycle_displays, this); diff --git a/FlippR-Driver/src/output/DisplayController.h b/FlippR-Driver/src/output/DisplayController.h index 34bd981..c4fdd9a 100644 --- a/FlippR-Driver/src/output/DisplayController.h +++ b/FlippR-Driver/src/output/DisplayController.h @@ -24,7 +24,7 @@ namespace output class DisplayController : public IDisplayController { public: - explicit DisplayController(std::vector> displays, std::shared_ptr output_gpio_interface); + explicit DisplayController(std::vector> displays, std::shared_ptr output_gpio_interface); ~DisplayController(); private: @@ -35,7 +35,7 @@ private: std::thread display_cycle_thread; - std::shared_ptr output_gpio_interface; + std::shared_ptr output_gpio_interface; bool is_running; }; diff --git a/FlippR-Driver/src/output/IDisplay.h b/FlippR-Driver/src/output/IDisplay.h index 362278a..b8bfe1b 100644 --- a/FlippR-Driver/src/output/IDisplay.h +++ b/FlippR-Driver/src/output/IDisplay.h @@ -20,10 +20,8 @@ public: virtual ~IDisplay(); virtual int getID() = 0; - - virtual void write() = 0; }; } /* namespace output */ } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/output/Lamp.cpp b/FlippR-Driver/src/output/Lamp.cpp index 74d4c4b..82e5b8d 100644 --- a/FlippR-Driver/src/output/Lamp.cpp +++ b/FlippR-Driver/src/output/Lamp.cpp @@ -12,7 +12,8 @@ namespace FlippR_Driver namespace output { -Lamp::Lamp() +Lamp::Lamp(std::shared_ptr output_gpio_interface, int address, std::string name) : + CabinetItem(output_gpio_interface, address, name) { // TODO Auto-generated constructor stub @@ -24,4 +25,4 @@ Lamp::~Lamp() } } /* namespace output */ -} \ No newline at end of file +} diff --git a/FlippR-Driver/src/output/Lamp.h b/FlippR-Driver/src/output/Lamp.h index 0ca3578..7af5267 100644 --- a/FlippR-Driver/src/output/Lamp.h +++ b/FlippR-Driver/src/output/Lamp.h @@ -18,10 +18,10 @@ namespace output class Lamp : public CabinetItem { public: - Lamp(); - virtual ~Lamp(); + Lamp(std::shared_ptr output_gpio_interface, int address, std::string name); + virtual ~Lamp(); }; } /* namespace output */ } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/output/Solenoid.cpp b/FlippR-Driver/src/output/Solenoid.cpp index 6dbb635..8d2f5c9 100644 --- a/FlippR-Driver/src/output/Solenoid.cpp +++ b/FlippR-Driver/src/output/Solenoid.cpp @@ -11,12 +11,15 @@ namespace FlippR_Driver { namespace output { -Solenoid::Solenoid() { +Solenoid::Solenoid(std::shared_ptr output_gpio_interface, int address, std::string name) : + CabinetItem(output_gpio_interface, address, name) +{ // TODO Auto-generated constructor stub } -Solenoid::~Solenoid() { +Solenoid::~Solenoid() +{ // TODO Auto-generated destructor stub } diff --git a/FlippR-Driver/src/output/Solenoid.h b/FlippR-Driver/src/output/Solenoid.h index 6d8b137..10d9495 100644 --- a/FlippR-Driver/src/output/Solenoid.h +++ b/FlippR-Driver/src/output/Solenoid.h @@ -18,10 +18,10 @@ namespace output class Solenoid : public CabinetItem { public: - Solenoid(); - virtual ~Solenoid(); + Solenoid(std::shared_ptr output_gpio_interface, int address, std::string name); + virtual ~Solenoid(); }; } /* namespace output */ } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/output/Sound.cpp b/FlippR-Driver/src/output/Sound.cpp index 8f9b81c..e49d9f2 100644 --- a/FlippR-Driver/src/output/Sound.cpp +++ b/FlippR-Driver/src/output/Sound.cpp @@ -12,14 +12,14 @@ namespace FlippR_Driver namespace output { -Sound::Sound(std::shared_ptr output_gpio_interface, int address, std::string name) - : output_gpio_interface(output_gpio_interface), address(address), name(name) +Sound::Sound(std::shared_ptr output_gpio_interface, int address, std::string name) : + output_gpio_interface(output_gpio_interface), address(address), name(name) {} void Sound::play() { - this->output_gpio_interface->activate(this); +// this->output_gpio_interface->activate(this); } } /* namespace output */ -} \ No newline at end of file +} diff --git a/FlippR-Driver/src/output/Sound.h b/FlippR-Driver/src/output/Sound.h index a6a7939..e7530ad 100644 --- a/FlippR-Driver/src/output/Sound.h +++ b/FlippR-Driver/src/output/Sound.h @@ -13,7 +13,7 @@ #include #include -#include "utilities/IOutputGPIOInterface.h" +#include "utility/IOutputGPIOInterface.h" namespace FlippR_Driver { @@ -23,13 +23,13 @@ namespace output class Sound : ISound { public: - Sound(std::shared_ptr output_gpio_interface, int address, std::string name); + Sound(std::shared_ptr output_gpio_interface, int address, std::string name); virtual ~Sound() = default; virtual void play(); private: - std::shared_ptr output_gpio_interface; + std::shared_ptr output_gpio_interface; int address; std::string name; @@ -37,4 +37,4 @@ private: } /* namespace output */ } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/utility/IOutputGPIOInterface.h b/FlippR-Driver/src/utility/IOutputGPIOInterface.h index 3b443d6..c30bef9 100644 --- a/FlippR-Driver/src/utility/IOutputGPIOInterface.h +++ b/FlippR-Driver/src/utility/IOutputGPIOInterface.h @@ -12,7 +12,6 @@ namespace utility class IOutputGPIOInterface { - }; } diff --git a/FlippR-Driver/src/utility/LoggerFactory.h b/FlippR-Driver/src/utility/LoggerFactory.h index cf152f6..4b3a026 100644 --- a/FlippR-Driver/src/utility/LoggerFactory.h +++ b/FlippR-Driver/src/utility/LoggerFactory.h @@ -17,13 +17,13 @@ namespace utility namespace LoggerFactory { -void CreateInputTestLogger(el::Level level = el::Level::Global); + void CreateInputTestLogger(el::Level level = el::Level::Global); -void CreateInputLogger(el::Level level = el::Level::Info); + void CreateInputLogger(el::Level level = el::Level::Info); -void CreateOutputLogger(el::Level level = el::Level::Info); + void CreateOutputLogger(el::Level level = el::Level::Info); }; } } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/tests/input/TestDetector.cpp b/FlippR-Driver/tests/input/TestDetector.cpp index ddc5154..cf5dd5c 100644 --- a/FlippR-Driver/tests/input/TestDetector.cpp +++ b/FlippR-Driver/tests/input/TestDetector.cpp @@ -18,13 +18,14 @@ #include "input/IEventNotifier.h" #include "input/DistributingEvent.h" #include "input/Detector.h" -#include "utilities/LoggerFactory.h" -#include "utilities/InputGPIOInterface.h" +#include "utility/LoggerFactory.h" +#include "utility/InputGPIOInterface.h" using namespace fakeit; using namespace FlippR_Driver; using namespace Input; +using namespace utility; SCENARIO("Creating a Detector object", "") @@ -42,11 +43,11 @@ SCENARIO("Creating a Detector object", "") Fake(Dtor(event_notifier_mock)); When(Method(event_notifier_mock, distribute_event)).AlwaysReturn(); - std::map> events; + std::vector> events; WHEN("Detector is created") { - Detector detector(std::unique_ptr(&gpio_interface_mock.get()), events, std::shared_ptr(&event_notifier_mock.get())); + Detector detector(std::unique_ptr(&gpio_interface_mock.get()), events); THEN("a thread should be created") { REQUIRE(typeid(detector.detect_thread).hash_code() == typeid(std::thread).hash_code()); @@ -75,16 +76,16 @@ SCENARIO("There are events at the input", "") DistributingEvent event2(2, '2', "event 2", std::chrono::milliseconds(0), event_notifier); DistributingEvent event3(3, '3', "event 3", std::chrono::milliseconds(0), event_notifier); - std::map> events; + std::vector> events; auto event2ptr = std::make_shared(event2); - events.insert(std::make_pair(1, std::make_shared(event1))); - events.insert(std::make_pair(2, event2ptr)); - events.insert(std::make_pair(3, std::make_shared(event3))); + events.push_back(std::make_shared(event1)); + events.push_back(event2ptr); + events.push_back(std::make_shared(event3)); WHEN("an event can be found at gpio interface") { - Detector detector(std::unique_ptr(&gpio_interface_mock.get()), events, std::shared_ptr(&event_notifier_mock.get())); + Detector detector(std::unique_ptr(&gpio_interface_mock.get()), events); std::this_thread::sleep_for(std::chrono::milliseconds(50)); THEN("the event should be distributed") { @@ -116,15 +117,15 @@ SCENARIO("There are events at the input but no suitable event in map", "") DistributingEvent event2(2, '2', "event 2", std::chrono::milliseconds(0), event_notifier); DistributingEvent event3(3, '3', "event 3", std::chrono::milliseconds(0), event_notifier); - std::map> events; + std::vector> events; - events.insert(std::make_pair(1, std::make_shared(event1))); - events.insert(std::make_pair(2, std::make_shared(event2))); - events.insert(std::make_pair(3, std::make_shared(event3))); + events.push_back(std::make_shared(event1)); + events.push_back(std::make_shared(event2)); + events.push_back(std::make_shared(event3)); WHEN("an event can be found at gpio interface") { - Detector detector(std::unique_ptr(&gpio_interface_mock.get()), events, std::shared_ptr(&event_notifier_mock.get())); + Detector detector(std::unique_ptr(&gpio_interface_mock.get()), events); std::this_thread::sleep_for(std::chrono::milliseconds(10)); THEN("the event should be distributed") { diff --git a/FlippR-Driver/tests/input/TestEventHandler.cpp b/FlippR-Driver/tests/input/TestEventHandler.cpp index 0fa5252..ce19838 100644 --- a/FlippR-Driver/tests/input/TestEventHandler.cpp +++ b/FlippR-Driver/tests/input/TestEventHandler.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" #include "EventHandler.h" #include "IInputDriver.h" @@ -18,6 +18,7 @@ using namespace fakeit; +using namespace FlippR_Driver::utility; SCENARIO("An EventHandler gets created", "[construction}") { diff --git a/FlippR-Driver/tests/input/TestEventNotifier.cpp b/FlippR-Driver/tests/input/TestEventNotifier.cpp index ac22069..049155d 100644 --- a/FlippR-Driver/tests/input/TestEventNotifier.cpp +++ b/FlippR-Driver/tests/input/TestEventNotifier.cpp @@ -10,9 +10,9 @@ #include "fakeit.hpp" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" #include "IEventHandler.h" -#include "utilities/IBlockingQueue.h" +#include "utility/IBlockingQueue.h" // testing purposes @@ -23,6 +23,7 @@ using namespace FlippR_Driver; using namespace Input; using namespace fakeit; +using namespace utility; SCENARIO("An EventNotifier gets created", "[construction]") { diff --git a/FlippR-Driver/tests/input/TestInputDriver.cpp b/FlippR-Driver/tests/input/TestInputDriver.cpp index 3677acb..89b6f71 100644 --- a/FlippR-Driver/tests/input/TestInputDriver.cpp +++ b/FlippR-Driver/tests/input/TestInputDriver.cpp @@ -7,7 +7,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" // testing purposes #define private public @@ -21,6 +21,7 @@ using namespace fakeit; using namespace FlippR_Driver; using namespace Input; +using namespace utility; SCENARIO("An InputDriver gets created", "[construction}") { diff --git a/FlippR-Driver/tests/output/TestCabinetItem.cpp b/FlippR-Driver/tests/output/TestCabinetItem.cpp index e5b4da5..7e9bc6a 100644 --- a/FlippR-Driver/tests/output/TestCabinetItem.cpp +++ b/FlippR-Driver/tests/output/TestCabinetItem.cpp @@ -11,7 +11,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" // testing purposes @@ -19,7 +19,7 @@ #include "output/CabinetItem.h" -using namespace output; +using namespace FlippR_Driver::output; using namespace fakeit; SCENARIO("") diff --git a/FlippR-Driver/tests/output/TestDisplay.cpp b/FlippR-Driver/tests/output/TestDisplay.cpp index 68a8739..83b20a3 100644 --- a/FlippR-Driver/tests/output/TestDisplay.cpp +++ b/FlippR-Driver/tests/output/TestDisplay.cpp @@ -11,7 +11,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" // testing purposes @@ -19,11 +19,47 @@ #include "output/Display.h" -using namespace output; +using namespace FlippR_Driver::output; using namespace fakeit; -SCENARIO("") +SCENARIO("Creating a Display object", "") { + GIVEN("Just a Display with 7 digits") + { + Display<7> display(5,5); + WHEN("A content is set for the display") + { + std::string content_string = "1234567"; + std::array content; + std::copy(content_string.begin(), content_string.end(), content.data()); + display.write_content(content); + THEN("This content should be set for the display") + { + REQUIRE(content == display.content); + } + } + WHEN("A score (12345) within the size of the display is written") + { + display.write_score(12345); + THEN("The content should look like: \" 12345\" ") + { + std::string content_string = " 12345"; + std::array content; + std::copy(content_string.begin(), content_string.end(), content.data()); + REQUIRE(display.content == content); + } + } + WHEN("A score (12345678), which is longer than the digit is written") + display.write_score(12345678); + THEN("The content should look like: \"2345678\" ") + { + std::string content_string = "2345678"; + std::array content; + std::copy(content_string.begin(), content_string.end(), content.data()); + + REQUIRE(display.content == content); + } + } } diff --git a/FlippR-Driver/tests/output/TestDisplayController.cpp b/FlippR-Driver/tests/output/TestDisplayController.cpp index 744c8c8..db90a96 100644 --- a/FlippR-Driver/tests/output/TestDisplayController.cpp +++ b/FlippR-Driver/tests/output/TestDisplayController.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" // testing purposes @@ -16,7 +16,7 @@ #include "output/DisplayController.h" -using namespace output; +using namespace FlippR_Driver::output; using namespace fakeit; SCENARIO("") diff --git a/FlippR-Driver/tests/output/TestLamp.cpp b/FlippR-Driver/tests/output/TestLamp.cpp index 22d29a0..fb2d454 100644 --- a/FlippR-Driver/tests/output/TestLamp.cpp +++ b/FlippR-Driver/tests/output/TestLamp.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" // testing purposes @@ -16,7 +16,7 @@ #include "output/Lamp.h" -using namespace output; +using namespace FlippR_Driver::output; using namespace fakeit; SCENARIO("") diff --git a/FlippR-Driver/tests/output/TestOutputDriver.cpp b/FlippR-Driver/tests/output/TestOutputDriver.cpp index 4c88805..f1e77d3 100644 --- a/FlippR-Driver/tests/output/TestOutputDriver.cpp +++ b/FlippR-Driver/tests/output/TestOutputDriver.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" // testing purposes @@ -16,7 +16,7 @@ #include "output/OutputDriver.h" -using namespace output; +using namespace FlippR_Driver::output; using namespace fakeit; SCENARIO("") diff --git a/FlippR-Driver/tests/output/TestSolenoid.cpp b/FlippR-Driver/tests/output/TestSolenoid.cpp index 5d5213a..a3e2bc7 100644 --- a/FlippR-Driver/tests/output/TestSolenoid.cpp +++ b/FlippR-Driver/tests/output/TestSolenoid.cpp @@ -10,7 +10,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" // testing purposes @@ -18,7 +18,7 @@ #include "output/Solenoid.h" -using namespace output; +using namespace FlippR_Driver::output; using namespace fakeit; SCENARIO("") diff --git a/FlippR-Driver/tests/output/TestSound.cpp b/FlippR-Driver/tests/output/TestSound.cpp index 3a1de79..fd43629 100644 --- a/FlippR-Driver/tests/output/TestSound.cpp +++ b/FlippR-Driver/tests/output/TestSound.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.h" +#include "utility/LoggerFactory.h" // testing purposes @@ -16,7 +16,7 @@ #include "output/Sound.h" -using namespace output; +using namespace FlippR_Driver::output; using namespace fakeit; SCENARIO("") From c1d228b4773fc3fc0dd1023aa5ba1449fbfc08a7 Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Thu, 8 Nov 2018 17:35:21 +0100 Subject: [PATCH 4/9] changed display write method --- FlippR-Driver/src/output/Display.cpp | 25 ++++++++++++++++++------- FlippR-Driver/src/output/Display.h | 2 ++ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/FlippR-Driver/src/output/Display.cpp b/FlippR-Driver/src/output/Display.cpp index 97c56d8..c834736 100644 --- a/FlippR-Driver/src/output/Display.cpp +++ b/FlippR-Driver/src/output/Display.cpp @@ -31,17 +31,28 @@ template void Display::write_score(int score) { auto score_string = std::to_string(score); - auto score_length = score_string.length(); - if (score_length > DigitCount) + if (score_string.length() > DigitCount) { CLOG(DEBUG, OUTPUT_LOGGER) << "Score too long for display"; - this->content = score_string.substr(score_length-DigitCount,score_length); - return; } - std::string spaces; - std::generate_n(spaces.begin(), DigitCount-score_length, []{return " ";}); - this->content = spaces + score_string; + auto score_c_string = this->fit_string(score_string).c_str(); + + std::copy(std::begin(score_c_string), std::end(score_c_string), std::begin(this->content)); +} + +template +std::string Display::fit_string(std::string& score_string) +{ + auto score_length = score_string.length(); + for (int i = 0; i < DigitCount; i++) + { + score_string = " " + score_string; + } + + score_length = score_string.length(); + + return score_string.substr(score_length-DigitCount, score_length); } template diff --git a/FlippR-Driver/src/output/Display.h b/FlippR-Driver/src/output/Display.h index 9c68153..ca9f2f3 100644 --- a/FlippR-Driver/src/output/Display.h +++ b/FlippR-Driver/src/output/Display.h @@ -34,6 +34,8 @@ public: private: int address; int id; + + std::string fit_string(std::string& score_string); }; } /* namespace output */ From c53b6af33e37be0f4732a7fbe8e7b9deed279b87 Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Thu, 8 Nov 2018 18:25:10 +0100 Subject: [PATCH 5/9] changed display write method --- FlippR-Driver/src/output/Display.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/FlippR-Driver/src/output/Display.cpp b/FlippR-Driver/src/output/Display.cpp index c834736..deb0484 100644 --- a/FlippR-Driver/src/output/Display.cpp +++ b/FlippR-Driver/src/output/Display.cpp @@ -31,10 +31,6 @@ template void Display::write_score(int score) { auto score_string = std::to_string(score); - if (score_string.length() > DigitCount) - { - CLOG(DEBUG, OUTPUT_LOGGER) << "Score too long for display"; - } auto score_c_string = this->fit_string(score_string).c_str(); @@ -44,15 +40,16 @@ void Display::write_score(int score) template std::string Display::fit_string(std::string& score_string) { - auto score_length = score_string.length(); - for (int i = 0; i < DigitCount; i++) - { - score_string = " " + score_string; - } - - score_length = score_string.length(); + auto score_length = score_string.length(); + if (score_length > DigitCount) + { + CLOG(DEBUG, OUTPUT_LOGGER) << "Score too long for display"; return score_string.substr(score_length-DigitCount, score_length); + } + + score_string.insert(0, DigitCount-score_length, ' '); + return score_string; } template From 3ea37e4e537eed93304cba7f24edf7fd6b123674 Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Fri, 9 Nov 2018 01:16:35 +0100 Subject: [PATCH 6/9] refactored everything --- FlippR-Driver/cli/CMakeLists.txt | 2 +- FlippR-Driver/cli/PrintHandler.cpp | 6 ++--- FlippR-Driver/cli/PrintHandler.h | 12 ++++----- FlippR-Driver/cli/main.cpp | 4 +-- FlippR-Driver/include/DriverFactory.h | 10 +++---- FlippR-Driver/include/Event.h | 4 +-- FlippR-Driver/include/EventHandler.h | 4 +-- FlippR-Driver/include/IEventHandler.h | 2 +- FlippR-Driver/include/IInputDriver.h | 4 +-- FlippR-Driver/src/DriverFactory.cpp | 8 +++--- FlippR-Driver/src/input/Detector.cpp | 4 +-- FlippR-Driver/src/input/Detector.h | 4 +-- FlippR-Driver/src/input/DistributingEvent.cpp | 10 +++---- FlippR-Driver/src/input/DistributingEvent.h | 10 +++---- FlippR-Driver/src/input/ErrorEvent.hpp | 4 +-- FlippR-Driver/src/input/Event.cpp | 6 ++--- FlippR-Driver/src/input/EventHandler.cpp | 4 +-- FlippR-Driver/src/input/EventNotifier.cpp | 4 +-- FlippR-Driver/src/input/EventNotifier.h | 4 +-- FlippR-Driver/src/input/IDetector.h | 4 +-- FlippR-Driver/src/input/IEventNotifier.h | 4 +-- FlippR-Driver/src/input/InputDriver.cpp | 4 +-- FlippR-Driver/src/input/InputDriver.h | 4 +-- .../src/input/InputDriverFactory.cpp | 14 +++++----- FlippR-Driver/src/input/InputDriverFactory.h | 4 +-- FlippR-Driver/src/output/Display.h | 10 +++++-- .../src/output/{Display.cpp => Display.hpp} | 9 ++++--- .../src/output/DisplayController.cpp | 2 +- FlippR-Driver/src/output/DisplayController.h | 2 +- FlippR-Driver/src/output/ICabinetItem.h | 2 +- FlippR-Driver/src/output/IDisplay.h | 12 +++++++-- FlippR-Driver/src/output/IDisplayController.h | 9 ++++--- FlippR-Driver/src/output/ILamp.h | 2 +- FlippR-Driver/src/output/IOutputDriver.h | 2 +- FlippR-Driver/src/output/ISolenoid.h | 2 +- FlippR-Driver/src/output/ISound.h | 2 +- FlippR-Driver/src/output/Lamp.cpp | 4 +-- FlippR-Driver/src/output/Lamp.h | 6 ++--- FlippR-Driver/src/output/OutputDriver.cpp | 2 +- FlippR-Driver/src/output/OutputDriver.h | 26 +++++++++---------- .../src/output/OutputDriverFactory.cpp | 2 +- .../src/output/OutputDriverFactory.h | 8 +++--- .../output/{CabinetItem.h => OutputItem.h} | 13 +++++++--- FlippR-Driver/src/output/Solenoid.cpp | 4 +-- FlippR-Driver/src/output/Solenoid.h | 6 ++--- FlippR-Driver/src/output/Sound.cpp | 2 +- FlippR-Driver/src/output/Sound.h | 2 +- FlippR-Driver/src/utility/BlockingQueue.hpp | 2 +- FlippR-Driver/src/utility/GPIOInterface.cpp | 2 +- FlippR-Driver/src/utility/GPIOInterface.h | 2 +- FlippR-Driver/src/utility/IBlockingQueue.h | 2 +- .../src/utility/IInputGPIOInterface.h | 2 +- .../src/utility/IOutputGPIOInterface.h | 16 +++++++++--- .../src/utility/InputGPIOInterface.cpp | 4 +-- .../src/utility/InputGPIOInterface.h | 2 +- FlippR-Driver/src/utility/LoggerFactory.cpp | 2 +- FlippR-Driver/src/utility/LoggerFactory.h | 2 +- .../src/utility/OutputGPIOInterface.h | 2 +- FlippR-Driver/src/utility/config.h | 8 +----- FlippR-Driver/tests/input/TestDetector.cpp | 4 +-- .../tests/input/TestEventHandler.cpp | 8 +++--- .../tests/input/TestEventNotifier.cpp | 4 +-- FlippR-Driver/tests/input/TestInputDriver.cpp | 12 ++++----- FlippR-Driver/tests/output/TestDisplay.cpp | 22 +++++++++------- .../tests/output/TestDisplayController.cpp | 2 +- FlippR-Driver/tests/output/TestLamp.cpp | 2 +- .../tests/output/TestOutputDriver.cpp | 2 +- ...TestCabinetItem.cpp => TestOutputItem.cpp} | 4 +-- FlippR-Driver/tests/output/TestSolenoid.cpp | 2 +- FlippR-Driver/tests/output/TestSound.cpp | 2 +- 70 files changed, 202 insertions(+), 177 deletions(-) rename FlippR-Driver/src/output/{Display.cpp => Display.hpp} (80%) rename FlippR-Driver/src/output/{CabinetItem.h => OutputItem.h} (57%) rename FlippR-Driver/tests/output/{TestCabinetItem.cpp => TestOutputItem.cpp} (76%) diff --git a/FlippR-Driver/cli/CMakeLists.txt b/FlippR-Driver/cli/CMakeLists.txt index 0611739..e8fa52e 100644 --- a/FlippR-Driver/cli/CMakeLists.txt +++ b/FlippR-Driver/cli/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.6.2) -project(FlippR_Driver_CLI) +project(flippR_driver_CLI) set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/${OUTPUT_PATH}/cli) add_executable(${PROJECT_NAME} main.cpp PrintHandler.cpp) diff --git a/FlippR-Driver/cli/PrintHandler.cpp b/FlippR-Driver/cli/PrintHandler.cpp index 247947b..bb7dabf 100644 --- a/FlippR-Driver/cli/PrintHandler.cpp +++ b/FlippR-Driver/cli/PrintHandler.cpp @@ -5,14 +5,14 @@ #include "PrintHandler.h" #include -PrintHandler::PrintHandler(std::shared_ptr driver) : -FlippR_Driver::Input::EventHandler(driver) +PrintHandler::PrintHandler(std::shared_ptr driver) : +flippR_driver::input::EventHandler(driver) { } -void PrintHandler::handle(FlippR_Driver::Input::Event &event) +void PrintHandler::handle(flippR_driver::input::Event &event) { std::cout << "Event " << event.name << " (" << std::to_string(event.address) << ") occured!\n"; } \ No newline at end of file diff --git a/FlippR-Driver/cli/PrintHandler.h b/FlippR-Driver/cli/PrintHandler.h index c193bb0..d591eae 100644 --- a/FlippR-Driver/cli/PrintHandler.h +++ b/FlippR-Driver/cli/PrintHandler.h @@ -2,20 +2,20 @@ // Created by rhetenor on 13.09.18. // -#ifndef FLIPPR_DRIVER_PRINTHANDLER_H -#define FLIPPR_DRIVER_PRINTHANDLER_H +#ifndef flippR_driver_PRINTHANDLER_H +#define flippR_driver_PRINTHANDLER_H #include #include "EventHandler.h" #include "IInputDriver.h" -class PrintHandler : public FlippR_Driver::Input::EventHandler +class PrintHandler : public flippR_driver::input::EventHandler { public: - PrintHandler(std::shared_ptr driver); + PrintHandler(std::shared_ptr driver); - virtual void handle(FlippR_Driver::Input::Event& event) override; + virtual void handle(flippR_driver::input::Event& event) override; }; -#endif //FLIPPR_DRIVER_PRINTHANDLER_H +#endif //flippR_driver_PRINTHANDLER_H diff --git a/FlippR-Driver/cli/main.cpp b/FlippR-Driver/cli/main.cpp index a7674c4..90522e2 100644 --- a/FlippR-Driver/cli/main.cpp +++ b/FlippR-Driver/cli/main.cpp @@ -11,7 +11,7 @@ #include "PrintHandler.h" -using namespace FlippR_Driver; +using namespace flippR_driver; void siginthandler(int param) { @@ -45,7 +45,7 @@ int main (int argc, char *argv[]) exit(2); } - std::shared_ptr driver = FlippR_Driver::get_InputDriver(input_config, matrix_config); + std::shared_ptr driver = flippR_driver::get_InputDriver(input_config, matrix_config); PrintHandler* print_handler = new PrintHandler(driver); diff --git a/FlippR-Driver/include/DriverFactory.h b/FlippR-Driver/include/DriverFactory.h index cbe4340..e16b122 100644 --- a/FlippR-Driver/include/DriverFactory.h +++ b/FlippR-Driver/include/DriverFactory.h @@ -2,17 +2,17 @@ // Created by rhetenor on 13.09.18. // -#ifndef FLIPPR_DRIVER_DRIVERFACTORY_H -#define FLIPPR_DRIVER_DRIVERFACTORY_H +#ifndef flippR_driver_DRIVERFACTORY_H +#define flippR_driver_DRIVERFACTORY_H #include #include #include "IInputDriver.h" -namespace FlippR_Driver +namespace flippR_driver { - std::shared_ptr get_InputDriver(std::istream& input_config_stream, std::istream& matrix_config_stream); + std::shared_ptr get_InputDriver(std::istream& input_config_stream, std::istream& matrix_config_stream); } -#endif //FLIPPR_DRIVER_DRIVERFACTORY_H +#endif //flippR_driver_DRIVERFACTORY_H diff --git a/FlippR-Driver/include/Event.h b/FlippR-Driver/include/Event.h index 081f2e0..f14e58f 100644 --- a/FlippR-Driver/include/Event.h +++ b/FlippR-Driver/include/Event.h @@ -12,8 +12,8 @@ #include #include -namespace FlippR_Driver { - namespace Input { +namespace flippR_driver { + namespace input { class Event { public: diff --git a/FlippR-Driver/include/EventHandler.h b/FlippR-Driver/include/EventHandler.h index 3711653..5bda799 100644 --- a/FlippR-Driver/include/EventHandler.h +++ b/FlippR-Driver/include/EventHandler.h @@ -17,9 +17,9 @@ #include "IEventHandler.h" #include "Event.h" -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { class EventHandler; diff --git a/FlippR-Driver/include/IEventHandler.h b/FlippR-Driver/include/IEventHandler.h index 18b9041..5c52985 100644 --- a/FlippR-Driver/include/IEventHandler.h +++ b/FlippR-Driver/include/IEventHandler.h @@ -15,7 +15,7 @@ class IEventHandler public: virtual ~IEventHandler(){}; - virtual void handle(FlippR_Driver::Input::Event& event) = 0; + virtual void handle(flippR_driver::input::Event& event) = 0; }; #endif /* SRC_IEVENTHANDLER_H_ */ diff --git a/FlippR-Driver/include/IInputDriver.h b/FlippR-Driver/include/IInputDriver.h index 3ed4562..d3f1726 100644 --- a/FlippR-Driver/include/IInputDriver.h +++ b/FlippR-Driver/include/IInputDriver.h @@ -11,9 +11,9 @@ #include "IEventHandler.h" #include -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { class IInputDriver { public: diff --git a/FlippR-Driver/src/DriverFactory.cpp b/FlippR-Driver/src/DriverFactory.cpp index 702db9d..05bfc89 100644 --- a/FlippR-Driver/src/DriverFactory.cpp +++ b/FlippR-Driver/src/DriverFactory.cpp @@ -5,10 +5,10 @@ #include "DriverFactory.h" #include "input/InputDriverFactory.h" -namespace FlippR_Driver +namespace flippR_driver { - std::shared_ptr get_InputDriver(std::istream& input_config_stream, std::istream& matrix_config_stream) + std::shared_ptr get_InputDriver(std::istream& input_config_stream, std::istream& matrix_config_stream) { - return FlippR_Driver::Input::InputDriverFactory::get_InputDriver(input_config_stream, matrix_config_stream); + return flippR_driver::input::InputDriverFactory::get_InputDriver(input_config_stream, matrix_config_stream); } -} \ No newline at end of file +} diff --git a/FlippR-Driver/src/input/Detector.cpp b/FlippR-Driver/src/input/Detector.cpp index f365026..ffe4274 100644 --- a/FlippR-Driver/src/input/Detector.cpp +++ b/FlippR-Driver/src/input/Detector.cpp @@ -12,9 +12,9 @@ #include "utility/config.h" -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { Detector::Detector(std::unique_ptr input_gpio_interface, std::vector> events) : diff --git a/FlippR-Driver/src/input/Detector.h b/FlippR-Driver/src/input/Detector.h index 7913d5c..1b7f6fa 100644 --- a/FlippR-Driver/src/input/Detector.h +++ b/FlippR-Driver/src/input/Detector.h @@ -25,9 +25,9 @@ #include "DistributingEvent.h" #include "IEventNotifier.h" -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { class Detector : public IDetector diff --git a/FlippR-Driver/src/input/DistributingEvent.cpp b/FlippR-Driver/src/input/DistributingEvent.cpp index dbbe61c..25603de 100644 --- a/FlippR-Driver/src/input/DistributingEvent.cpp +++ b/FlippR-Driver/src/input/DistributingEvent.cpp @@ -4,7 +4,7 @@ #include "DistributingEvent.h" -FlippR_Driver::Input::DistributingEvent::DistributingEvent(char address, int priority, std::string name, +flippR_driver::input::DistributingEvent::DistributingEvent(char address, int priority, std::string name, std::chrono::milliseconds bounce_time, std::shared_ptr event_notifier): Event(address, priority, name), bounce_time(bounce_time), @@ -12,12 +12,12 @@ FlippR_Driver::Input::DistributingEvent::DistributingEvent(char address, int pri activation_state(NOT_ACTIVATED) {} -void FlippR_Driver::Input::DistributingEvent::distribute() +void flippR_driver::input::DistributingEvent::distribute() { event_notifier->distribute_event(*this); } -void FlippR_Driver::Input::DistributingEvent::active() +void flippR_driver::input::DistributingEvent::active() { if(!is_bouncing()) { @@ -35,7 +35,7 @@ void FlippR_Driver::Input::DistributingEvent::active() } } -bool FlippR_Driver::Input::DistributingEvent::is_bouncing() +bool flippR_driver::input::DistributingEvent::is_bouncing() { std::chrono::time_point now = std::chrono::high_resolution_clock::now(); std::chrono::milliseconds elapsed_time = std::chrono::duration_cast(now - last_activation); @@ -43,7 +43,7 @@ bool FlippR_Driver::Input::DistributingEvent::is_bouncing() return elapsed_time < bounce_time; } -void FlippR_Driver::Input::DistributingEvent::inactive() +void flippR_driver::input::DistributingEvent::inactive() { if(activation_state == ACTIVATED) { diff --git a/FlippR-Driver/src/input/DistributingEvent.h b/FlippR-Driver/src/input/DistributingEvent.h index 9ed30ca..3cec71a 100644 --- a/FlippR-Driver/src/input/DistributingEvent.h +++ b/FlippR-Driver/src/input/DistributingEvent.h @@ -2,15 +2,15 @@ // Created by rhetenor on 21.09.18. // -#ifndef FLIPPR_DRIVER_DISTRIBUTINGEVENT_H -#define FLIPPR_DRIVER_DISTRIBUTINGEVENT_H +#ifndef flippR_driver_DISTRIBUTINGEVENT_H +#define flippR_driver_DISTRIBUTINGEVENT_H #include "Event.h" #include "IEventNotifier.h" -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { class DistributingEvent : public Event { @@ -45,4 +45,4 @@ private: } } -#endif //FLIPPR_DRIVER_DISTRIBUTINGEVENT_H +#endif //flippR_driver_DISTRIBUTINGEVENT_H diff --git a/FlippR-Driver/src/input/ErrorEvent.hpp b/FlippR-Driver/src/input/ErrorEvent.hpp index 266ee70..12f286d 100644 --- a/FlippR-Driver/src/input/ErrorEvent.hpp +++ b/FlippR-Driver/src/input/ErrorEvent.hpp @@ -10,8 +10,8 @@ #include "Event.h" -namespace FlippR_Driver { -namespace Input { +namespace flippR_driver { +namespace input { class ErrorEvent : public Event { diff --git a/FlippR-Driver/src/input/Event.cpp b/FlippR-Driver/src/input/Event.cpp index 686e6eb..49b09f2 100644 --- a/FlippR-Driver/src/input/Event.cpp +++ b/FlippR-Driver/src/input/Event.cpp @@ -8,16 +8,16 @@ #include "utility/config.h" -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { // todo unsigned char address Event::Event(char address, int priority, std::string name) : address(address), priority(priority), name(name) { - CLOG_IF(VLOG_IS_ON(HIGHEST_LOG_VERBOSITY), INFO, INPUT_LOGGER) << "Created event: " << name << ", address: " << address; + CLOG_IF(VLOG_IS_ON(0), INFO, INPUT_LOGGER) << "Created event: " << name << ", address: " << address; } bool operator==(const Event& left, const Event& right) diff --git a/FlippR-Driver/src/input/EventHandler.cpp b/FlippR-Driver/src/input/EventHandler.cpp index 927cfe7..6f16bc3 100644 --- a/FlippR-Driver/src/input/EventHandler.cpp +++ b/FlippR-Driver/src/input/EventHandler.cpp @@ -7,9 +7,9 @@ #include "EventHandler.h" #include "utility/config.h" -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { EventHandler::EventHandler(std::shared_ptr input_driver) : diff --git a/FlippR-Driver/src/input/EventNotifier.cpp b/FlippR-Driver/src/input/EventNotifier.cpp index c1ec5d3..0e2025f 100644 --- a/FlippR-Driver/src/input/EventNotifier.cpp +++ b/FlippR-Driver/src/input/EventNotifier.cpp @@ -11,9 +11,9 @@ #include "EventNotifier.h" -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { EventNotifier::EventNotifier(utility::IBlockingQueue* queue) : diff --git a/FlippR-Driver/src/input/EventNotifier.h b/FlippR-Driver/src/input/EventNotifier.h index b39cbbc..45d51d3 100644 --- a/FlippR-Driver/src/input/EventNotifier.h +++ b/FlippR-Driver/src/input/EventNotifier.h @@ -21,9 +21,9 @@ #define HANDLER_TIMEOUT 2000 -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { class EventNotifier : public IEventNotifier diff --git a/FlippR-Driver/src/input/IDetector.h b/FlippR-Driver/src/input/IDetector.h index 65966ac..5500d33 100644 --- a/FlippR-Driver/src/input/IDetector.h +++ b/FlippR-Driver/src/input/IDetector.h @@ -9,9 +9,9 @@ #define SRC_INPUT_IDETECTOR_H_ -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { class IDetector diff --git a/FlippR-Driver/src/input/IEventNotifier.h b/FlippR-Driver/src/input/IEventNotifier.h index 4353275..425fabf 100644 --- a/FlippR-Driver/src/input/IEventNotifier.h +++ b/FlippR-Driver/src/input/IEventNotifier.h @@ -12,9 +12,9 @@ #include "IEventHandler.h" #include -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { class IEventNotifier diff --git a/FlippR-Driver/src/input/InputDriver.cpp b/FlippR-Driver/src/input/InputDriver.cpp index 1e534ba..04f8a35 100644 --- a/FlippR-Driver/src/input/InputDriver.cpp +++ b/FlippR-Driver/src/input/InputDriver.cpp @@ -10,9 +10,9 @@ #include -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { InputDriver::InputDriver(std::shared_ptr event_notifier, std::unique_ptr detector, diff --git a/FlippR-Driver/src/input/InputDriver.h b/FlippR-Driver/src/input/InputDriver.h index 02e27de..07781fd 100644 --- a/FlippR-Driver/src/input/InputDriver.h +++ b/FlippR-Driver/src/input/InputDriver.h @@ -13,9 +13,9 @@ #include "IInputDriver.h" #include "IDetector.h" -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { class InputDriver : public IInputDriver diff --git a/FlippR-Driver/src/input/InputDriverFactory.cpp b/FlippR-Driver/src/input/InputDriverFactory.cpp index ae60b91..a2dc396 100644 --- a/FlippR-Driver/src/input/InputDriverFactory.cpp +++ b/FlippR-Driver/src/input/InputDriverFactory.cpp @@ -16,13 +16,13 @@ #include "EventNotifier.h" using namespace nlohmann; -using namespace FlippR_Driver::utility; +using namespace flippR_driver::utility; -namespace FlippR_Driver +namespace flippR_driver { -namespace Input +namespace input { -std::shared_ptr InputDriverFactory::get_InputDriver(std::istream &input_config_stream, std::istream &matrix_config_stream) +std::shared_ptr InputDriverFactory::get_InputDriver(std::istream &input_config_stream, std::istream &matrix_config_stream) { LoggerFactory::CreateInputLogger(); @@ -52,9 +52,9 @@ void InputDriverFactory::create_input_events(json matrix_config, std::vector(); auto& event_array = matrix_config.at("input_matrix"); - for (auto &json_event : event_array) + for (auto &json_event : event_array) { - try + try { std::string name = json_event.at("name"); char address = json_event.at("address").get(); @@ -73,7 +73,7 @@ void InputDriverFactory::create_input_events(json matrix_config, std::vector -namespace FlippR_Driver +namespace flippR_driver { namespace output { template -class Display : public IDisplay +class Display : public IDisplay { public: Display(int address, int id); @@ -38,7 +38,13 @@ private: std::string fit_string(std::string& score_string); }; +using SevenDigitDisplay = Display<7>; +using EightDigitDisply = Display<8>; + } /* namespace output */ } +#include "Display.hpp" + + #endif diff --git a/FlippR-Driver/src/output/Display.cpp b/FlippR-Driver/src/output/Display.hpp similarity index 80% rename from FlippR-Driver/src/output/Display.cpp rename to FlippR-Driver/src/output/Display.hpp index deb0484..8845a06 100644 --- a/FlippR-Driver/src/output/Display.cpp +++ b/FlippR-Driver/src/output/Display.hpp @@ -2,14 +2,13 @@ // Created by rhetenor on 10.10.18. // -#include "Display.h" #include "utility/config.h" #include #include -namespace FlippR_Driver +namespace flippR_driver { namespace output { @@ -45,10 +44,12 @@ std::string Display::fit_string(std::string& score_string) if (score_length > DigitCount) { CLOG(DEBUG, OUTPUT_LOGGER) << "Score too long for display"; - return score_string.substr(score_length-DigitCount, score_length); + std::string full_display; + // TODO mach mal schöner hier wird 9999 angezeigt wenn die zahl zu groß is + return full_display.insert(0, DigitCount, '9'); } - score_string.insert(0, DigitCount-score_length, ' '); + score_string.insert(0, DigitCount-score_length, '\0'); return score_string; } diff --git a/FlippR-Driver/src/output/DisplayController.cpp b/FlippR-Driver/src/output/DisplayController.cpp index 3aeb223..7d72418 100644 --- a/FlippR-Driver/src/output/DisplayController.cpp +++ b/FlippR-Driver/src/output/DisplayController.cpp @@ -10,7 +10,7 @@ #include "utility/config.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/output/DisplayController.h b/FlippR-Driver/src/output/DisplayController.h index c4fdd9a..97c8069 100644 --- a/FlippR-Driver/src/output/DisplayController.h +++ b/FlippR-Driver/src/output/DisplayController.h @@ -16,7 +16,7 @@ #include "IDisplay.h" #include "utility/IOutputGPIOInterface.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/output/ICabinetItem.h b/FlippR-Driver/src/output/ICabinetItem.h index 2b78b24..fb82016 100644 --- a/FlippR-Driver/src/output/ICabinetItem.h +++ b/FlippR-Driver/src/output/ICabinetItem.h @@ -9,7 +9,7 @@ #define _SRC_OUTPUT_ICABINETITEM_H_ -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/output/IDisplay.h b/FlippR-Driver/src/output/IDisplay.h index b8bfe1b..1da90d7 100644 --- a/FlippR-Driver/src/output/IDisplay.h +++ b/FlippR-Driver/src/output/IDisplay.h @@ -8,18 +8,26 @@ #ifndef _SRC_OUTPUT_IDISPLAY_H_ #define _SRC_OUTPUT_IDISPLAY_H_ -namespace FlippR_Driver +#include + +namespace flippR_driver { namespace output { - class IDisplay { + public: IDisplay(); virtual ~IDisplay(); + virtual void write_score(int score) = 0; + virtual void write_content(std::array content) = 0; + virtual int getID() = 0; + +private: + std::string fit_string(std::string& score_string); }; } /* namespace output */ diff --git a/FlippR-Driver/src/output/IDisplayController.h b/FlippR-Driver/src/output/IDisplayController.h index 1fade72..ce55cdf 100644 --- a/FlippR-Driver/src/output/IDisplayController.h +++ b/FlippR-Driver/src/output/IDisplayController.h @@ -7,18 +7,19 @@ #ifndef _SRC_OUTPUT_IDISPLAYCONTROLLER_H_ #define _SRC_OUTPUT_IDISPLAYCONTROLLER_H_ -namespace FlippR_Driver +namespace flippR_driver { namespace output { class IDisplayController { + public: - IDisplayController(); - virtual ~IDisplayController(); + IDisplayController (); + virtual ~IDisplayController (); }; } /* namespace output */ } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/output/ILamp.h b/FlippR-Driver/src/output/ILamp.h index 08b8ec3..0484183 100644 --- a/FlippR-Driver/src/output/ILamp.h +++ b/FlippR-Driver/src/output/ILamp.h @@ -8,7 +8,7 @@ #ifndef _SRC_OUTPUT_ILAMP_H_ #define _SRC_OUTPUT_ILAMP_H_ -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/output/IOutputDriver.h b/FlippR-Driver/src/output/IOutputDriver.h index 81a3e9a..2cd3801 100644 --- a/FlippR-Driver/src/output/IOutputDriver.h +++ b/FlippR-Driver/src/output/IOutputDriver.h @@ -8,7 +8,7 @@ #ifndef _SRC_OUTPUT_IOUTPUTDRIVER_H_ #define _SRC_OUTPUT_IOUTPUTDRIVER_H_ -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/output/ISolenoid.h b/FlippR-Driver/src/output/ISolenoid.h index cd3621e..8c69c48 100644 --- a/FlippR-Driver/src/output/ISolenoid.h +++ b/FlippR-Driver/src/output/ISolenoid.h @@ -8,7 +8,7 @@ #ifndef _SRC_OUTPUT_ISOLENOID_H_ #define _SRC_OUTPUT_ISOLENOID_H_ -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/output/ISound.h b/FlippR-Driver/src/output/ISound.h index 2c63f65..8c0676a 100644 --- a/FlippR-Driver/src/output/ISound.h +++ b/FlippR-Driver/src/output/ISound.h @@ -8,7 +8,7 @@ #ifndef _SRC_OUTPUT_ISOUND_H_ #define _SRC_OUTPUT_ISOUND_H_ -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/output/Lamp.cpp b/FlippR-Driver/src/output/Lamp.cpp index 82e5b8d..48685d9 100644 --- a/FlippR-Driver/src/output/Lamp.cpp +++ b/FlippR-Driver/src/output/Lamp.cpp @@ -7,13 +7,13 @@ #include "Lamp.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { Lamp::Lamp(std::shared_ptr output_gpio_interface, int address, std::string name) : - CabinetItem(output_gpio_interface, address, name) + OutputItem(output_gpio_interface, address, name) { // TODO Auto-generated constructor stub diff --git a/FlippR-Driver/src/output/Lamp.h b/FlippR-Driver/src/output/Lamp.h index 7af5267..57e1b7a 100644 --- a/FlippR-Driver/src/output/Lamp.h +++ b/FlippR-Driver/src/output/Lamp.h @@ -8,14 +8,14 @@ #ifndef _SRC_OUTPUT_LAMP_H_ #define _SRC_OUTPUT_LAMP_H_ -#include "CabinetItem.h" +#include "OutputItem.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { -class Lamp : public CabinetItem +class Lamp : public OutputItem { public: Lamp(std::shared_ptr output_gpio_interface, int address, std::string name); diff --git a/FlippR-Driver/src/output/OutputDriver.cpp b/FlippR-Driver/src/output/OutputDriver.cpp index d3adb83..e9e3958 100644 --- a/FlippR-Driver/src/output/OutputDriver.cpp +++ b/FlippR-Driver/src/output/OutputDriver.cpp @@ -10,7 +10,7 @@ #include #include -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/output/OutputDriver.h b/FlippR-Driver/src/output/OutputDriver.h index 9b281a3..39372b7 100644 --- a/FlippR-Driver/src/output/OutputDriver.h +++ b/FlippR-Driver/src/output/OutputDriver.h @@ -17,7 +17,7 @@ #include "IDisplay.h" #include "ISound.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { @@ -25,24 +25,24 @@ namespace output class OutputDriver : public IOutputDriver { public: - OutputDriver(std::map> cabinet_items, std::map> displays, std::map> sounds); + OutputDriver(std::map> cabinet_items, std::map> displays, std::map> sounds); - virtual ~OutputDriver() = default; + virtual ~OutputDriver() = default; - std::vector> get_cabinet_items(); - std::vector> get_sounds(); - std::vector> get_displays(); + std::vector> get_cabinet_items(); + std::vector> get_sounds(); + std::vector> get_displays(); - std::shared_ptr get_cabinet_item(std::string name); - std::shared_ptr get_sound(std::string name); - std::shared_ptr get_display(char number); + std::shared_ptr get_cabinet_item(std::string name); + std::shared_ptr get_sound(std::string name); + std::shared_ptr get_display(char number); private: - std::map> cabinet_items; - std::map> displays; - std::map> sounds; + std::map> cabinet_items; + std::map> displays; + std::map> sounds; }; } /* namespace output */ } -#endif \ No newline at end of file +#endif diff --git a/FlippR-Driver/src/output/OutputDriverFactory.cpp b/FlippR-Driver/src/output/OutputDriverFactory.cpp index 5fc8d1d..b6441e6 100644 --- a/FlippR-Driver/src/output/OutputDriverFactory.cpp +++ b/FlippR-Driver/src/output/OutputDriverFactory.cpp @@ -4,7 +4,7 @@ #include "OutputDriverFactory.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/output/OutputDriverFactory.h b/FlippR-Driver/src/output/OutputDriverFactory.h index 91ebf02..640627d 100644 --- a/FlippR-Driver/src/output/OutputDriverFactory.h +++ b/FlippR-Driver/src/output/OutputDriverFactory.h @@ -2,14 +2,14 @@ // Created by rhetenor on 04.10.18. // -#ifndef FLIPPR_DRIVER_OUTPUTDRIVERFACTORY_H -#define FLIPPR_DRIVER_OUTPUTDRIVERFACTORY_H +#ifndef flippR_driver_OUTPUTDRIVERFACTORY_H +#define flippR_driver_OUTPUTDRIVERFACTORY_H #include #include "OutputDriver.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { @@ -21,4 +21,4 @@ public: } } -#endif //FLIPPR_DRIVER_OUTPUTDRIVERFACTORY_H +#endif //flippR_driver_OUTPUTDRIVERFACTORY_H diff --git a/FlippR-Driver/src/output/CabinetItem.h b/FlippR-Driver/src/output/OutputItem.h similarity index 57% rename from FlippR-Driver/src/output/CabinetItem.h rename to FlippR-Driver/src/output/OutputItem.h index 604a77d..76b4b08 100644 --- a/FlippR-Driver/src/output/CabinetItem.h +++ b/FlippR-Driver/src/output/OutputItem.h @@ -10,21 +10,22 @@ #include "ICabinetItem.h" +#include "ActivationStrategy.h" #include "utility/IOutputGPIOInterface.h" #include #include -namespace FlippR_Driver +namespace flippR_driver { namespace output { -class CabinetItem : public ICabinetItem +class OutputItem : public ICabinetItem { public: - CabinetItem(std::shared_ptr output_gpio_interface, int address, std::string name); - virtual ~CabinetItem(); + OutputItem(std::shared_ptr output_gpio_interface, int address, std::string name); + virtual ~OutputItem(); virtual bool isActivated(); virtual bool activate(); @@ -35,6 +36,10 @@ protected: std::string name; bool activated; + + strategy::ActivationStrategy* strategy; + + std::shared_ptr output_gpio_interface; }; } /* namespace output */ diff --git a/FlippR-Driver/src/output/Solenoid.cpp b/FlippR-Driver/src/output/Solenoid.cpp index 8d2f5c9..2192bcc 100644 --- a/FlippR-Driver/src/output/Solenoid.cpp +++ b/FlippR-Driver/src/output/Solenoid.cpp @@ -7,12 +7,12 @@ #include "Solenoid.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { Solenoid::Solenoid(std::shared_ptr output_gpio_interface, int address, std::string name) : - CabinetItem(output_gpio_interface, address, name) + OutputItem(output_gpio_interface, address, name) { // TODO Auto-generated constructor stub diff --git a/FlippR-Driver/src/output/Solenoid.h b/FlippR-Driver/src/output/Solenoid.h index 10d9495..01c8fd9 100644 --- a/FlippR-Driver/src/output/Solenoid.h +++ b/FlippR-Driver/src/output/Solenoid.h @@ -8,14 +8,14 @@ #ifndef _SRC_OUTPUT_SOLENOID_H_ #define _SRC_OUTPUT_SOLENOID_H_ -#include "CabinetItem.h" +#include "OutputItem.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { -class Solenoid : public CabinetItem +class Solenoid : public OutputItem { public: Solenoid(std::shared_ptr output_gpio_interface, int address, std::string name); diff --git a/FlippR-Driver/src/output/Sound.cpp b/FlippR-Driver/src/output/Sound.cpp index e49d9f2..d34ffe5 100644 --- a/FlippR-Driver/src/output/Sound.cpp +++ b/FlippR-Driver/src/output/Sound.cpp @@ -7,7 +7,7 @@ #include "Sound.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/output/Sound.h b/FlippR-Driver/src/output/Sound.h index e7530ad..2d4b35d 100644 --- a/FlippR-Driver/src/output/Sound.h +++ b/FlippR-Driver/src/output/Sound.h @@ -15,7 +15,7 @@ #include "utility/IOutputGPIOInterface.h" -namespace FlippR_Driver +namespace flippR_driver { namespace output { diff --git a/FlippR-Driver/src/utility/BlockingQueue.hpp b/FlippR-Driver/src/utility/BlockingQueue.hpp index 84e1fb4..ec955fd 100644 --- a/FlippR-Driver/src/utility/BlockingQueue.hpp +++ b/FlippR-Driver/src/utility/BlockingQueue.hpp @@ -16,7 +16,7 @@ using namespace boost; -namespace FlippR_Driver +namespace flippR_driver { namespace utility { diff --git a/FlippR-Driver/src/utility/GPIOInterface.cpp b/FlippR-Driver/src/utility/GPIOInterface.cpp index a14eb2a..6e87a5e 100644 --- a/FlippR-Driver/src/utility/GPIOInterface.cpp +++ b/FlippR-Driver/src/utility/GPIOInterface.cpp @@ -12,7 +12,7 @@ #include "wiringPi/wiringPi.h" #include "json/json.hpp" -namespace FlippR_Driver +namespace flippR_driver { namespace utility { diff --git a/FlippR-Driver/src/utility/GPIOInterface.h b/FlippR-Driver/src/utility/GPIOInterface.h index 4cc409f..3822fdd 100644 --- a/FlippR-Driver/src/utility/GPIOInterface.h +++ b/FlippR-Driver/src/utility/GPIOInterface.h @@ -15,7 +15,7 @@ #include #include -namespace FlippR_Driver +namespace flippR_driver { namespace utility { diff --git a/FlippR-Driver/src/utility/IBlockingQueue.h b/FlippR-Driver/src/utility/IBlockingQueue.h index f4eebec..1db1f67 100644 --- a/FlippR-Driver/src/utility/IBlockingQueue.h +++ b/FlippR-Driver/src/utility/IBlockingQueue.h @@ -8,7 +8,7 @@ #ifndef SRC_UTILITIES_IBLOCKINGQUEUE_H_ #define SRC_UTILITIES_IBLOCKINGQUEUE_H_ -namespace FlippR_Driver +namespace flippR_driver { namespace utility { diff --git a/FlippR-Driver/src/utility/IInputGPIOInterface.h b/FlippR-Driver/src/utility/IInputGPIOInterface.h index 02c7ce2..b1ddf9a 100644 --- a/FlippR-Driver/src/utility/IInputGPIOInterface.h +++ b/FlippR-Driver/src/utility/IInputGPIOInterface.h @@ -8,7 +8,7 @@ #ifndef SRC_UTILITIES_IINPUTGPIOINTERFACE_H_ #define SRC_UTILITIES_IINPUTGPIOINTERFACE_H_ -namespace FlippR_Driver +namespace flippR_driver { namespace utility { diff --git a/FlippR-Driver/src/utility/IOutputGPIOInterface.h b/FlippR-Driver/src/utility/IOutputGPIOInterface.h index c30bef9..449efd8 100644 --- a/FlippR-Driver/src/utility/IOutputGPIOInterface.h +++ b/FlippR-Driver/src/utility/IOutputGPIOInterface.h @@ -2,18 +2,26 @@ // Created by rhetenor on 10.10.18. // -#ifndef FLIPPR_DRIVER_IOUTPUTGPIOINTERFACE_H -#define FLIPPR_DRIVER_IOUTPUTGPIOINTERFACE_H +#ifndef flippR_driver_IOUTPUTGPIOINTERFACE_H +#define flippR_driver_IOUTPUTGPIOINTERFACE_H -namespace FlippR_Driver +#include "OutputItem.h" +#include "IOutputGPIOInterface.h" + +#include + +namespace flippR_driver { namespace utility { class IOutputGPIOInterface { +public: + void activate(int address, std::shared_ptr output_gpio_interface); + void deactivate(int address,std::shared_ptr output_gpio_interface); }; } } -#endif //FLIPPR_DRIVER_IOUTPUTGPIOINTERFACE_H +#endif //flippR_driver_IOUTPUTGPIOINTERFACE_H diff --git a/FlippR-Driver/src/utility/InputGPIOInterface.cpp b/FlippR-Driver/src/utility/InputGPIOInterface.cpp index 91d50e7..0f97507 100644 --- a/FlippR-Driver/src/utility/InputGPIOInterface.cpp +++ b/FlippR-Driver/src/utility/InputGPIOInterface.cpp @@ -13,7 +13,7 @@ #include "easylogging/easylogging++.h" #include "config.h" #include -namespace FlippR_Driver +namespace flippR_driver { namespace utility { @@ -46,7 +46,7 @@ void InputGPIOInterface::write_col(char data) write_pin(this->col_address_C, data & 0b100); } -InputGPIOInterface::InputGPIOInterface(std::istream &input_config_stream) +InputGPIOInterface::inputGPIOInterface(std::istream &input_config_stream) { init_members(input_config_stream); diff --git a/FlippR-Driver/src/utility/InputGPIOInterface.h b/FlippR-Driver/src/utility/InputGPIOInterface.h index 289b5db..2e0cc3b 100644 --- a/FlippR-Driver/src/utility/InputGPIOInterface.h +++ b/FlippR-Driver/src/utility/InputGPIOInterface.h @@ -12,7 +12,7 @@ #include "IInputGPIOInterface.h" #include "GPIOInterface.h" -namespace FlippR_Driver +namespace flippR_driver { namespace utility { diff --git a/FlippR-Driver/src/utility/LoggerFactory.cpp b/FlippR-Driver/src/utility/LoggerFactory.cpp index d294cec..f5d4cca 100644 --- a/FlippR-Driver/src/utility/LoggerFactory.cpp +++ b/FlippR-Driver/src/utility/LoggerFactory.cpp @@ -11,7 +11,7 @@ INITIALIZE_EASYLOGGINGPP #endif -namespace FlippR_Driver +namespace flippR_driver { namespace utility { diff --git a/FlippR-Driver/src/utility/LoggerFactory.h b/FlippR-Driver/src/utility/LoggerFactory.h index 4b3a026..d76ca76 100644 --- a/FlippR-Driver/src/utility/LoggerFactory.h +++ b/FlippR-Driver/src/utility/LoggerFactory.h @@ -10,7 +10,7 @@ #include "config.h" -namespace FlippR_Driver +namespace flippR_driver { namespace utility { diff --git a/FlippR-Driver/src/utility/OutputGPIOInterface.h b/FlippR-Driver/src/utility/OutputGPIOInterface.h index 0c5e86e..267a589 100644 --- a/FlippR-Driver/src/utility/OutputGPIOInterface.h +++ b/FlippR-Driver/src/utility/OutputGPIOInterface.h @@ -11,7 +11,7 @@ #include "GPIOInterface.h" #include -namespace FlippR_Driver +namespace flippR_driver { namespace utility { diff --git a/FlippR-Driver/src/utility/config.h b/FlippR-Driver/src/utility/config.h index 9815755..26295d9 100644 --- a/FlippR-Driver/src/utility/config.h +++ b/FlippR-Driver/src/utility/config.h @@ -12,15 +12,9 @@ #define LOGGER_FILE "driver.log" - - -#define DRIVER_CONF_FILE "/var/log/flippr_driver.conf" - -#define HIGHEST_LOG_VERBOSITY 10 - #define INPUT_MATRIX_SIZE 8 #define INPUT_SLEEP_DURATION_NANO 800 #define PULLDOWN false -#define HIGHEST_INPUT_EVENT_PRIORITY 0 +#define VALID_DISPLAY_CHARACTERS [1,2,3,4,5,6,7,8,9,0,\0] diff --git a/FlippR-Driver/tests/input/TestDetector.cpp b/FlippR-Driver/tests/input/TestDetector.cpp index cf5dd5c..e27c802 100644 --- a/FlippR-Driver/tests/input/TestDetector.cpp +++ b/FlippR-Driver/tests/input/TestDetector.cpp @@ -23,8 +23,8 @@ using namespace fakeit; -using namespace FlippR_Driver; -using namespace Input; +using namespace flippR_driver; +using namespace input; using namespace utility; diff --git a/FlippR-Driver/tests/input/TestEventHandler.cpp b/FlippR-Driver/tests/input/TestEventHandler.cpp index ce19838..8ab26d9 100644 --- a/FlippR-Driver/tests/input/TestEventHandler.cpp +++ b/FlippR-Driver/tests/input/TestEventHandler.cpp @@ -18,7 +18,7 @@ using namespace fakeit; -using namespace FlippR_Driver::utility; +using namespace flippR_driver::utility; SCENARIO("An EventHandler gets created", "[construction}") { @@ -26,15 +26,15 @@ SCENARIO("An EventHandler gets created", "[construction}") { LoggerFactory::CreateInputTestLogger(); - Mock input_driver_mock; + Mock input_driver_mock; Fake(Dtor(input_driver_mock)); When(Method(input_driver_mock, register_event_handler)).AlwaysReturn(); When(Method(input_driver_mock, unregister_event_handler)).AlwaysReturn(); WHEN("the event handler gets created") { - std::shared_ptr driver_ptr(&input_driver_mock.get()); - FlippR_Driver::Input::EventHandler handler(driver_ptr); + std::shared_ptr driver_ptr(&input_driver_mock.get()); + flippR_driver::input::EventHandler handler(driver_ptr); THEN("It should register itself at the input_driver") { diff --git a/FlippR-Driver/tests/input/TestEventNotifier.cpp b/FlippR-Driver/tests/input/TestEventNotifier.cpp index 049155d..709d398 100644 --- a/FlippR-Driver/tests/input/TestEventNotifier.cpp +++ b/FlippR-Driver/tests/input/TestEventNotifier.cpp @@ -20,8 +20,8 @@ #include "input/EventNotifier.h" -using namespace FlippR_Driver; -using namespace Input; +using namespace flippR_driver; +using namespace input; using namespace fakeit; using namespace utility; diff --git a/FlippR-Driver/tests/input/TestInputDriver.cpp b/FlippR-Driver/tests/input/TestInputDriver.cpp index 89b6f71..0aebf36 100644 --- a/FlippR-Driver/tests/input/TestInputDriver.cpp +++ b/FlippR-Driver/tests/input/TestInputDriver.cpp @@ -19,8 +19,8 @@ using namespace fakeit; -using namespace FlippR_Driver; -using namespace Input; +using namespace flippR_driver; +using namespace input; using namespace utility; SCENARIO("An InputDriver gets created", "[construction}") @@ -58,14 +58,14 @@ SCENARIO("An EventHandler [un]registers at the driver", "[un-register]") { LoggerFactory::CreateInputTestLogger(); - Mock detector_mock; + Mock detector_mock; Fake(Dtor(detector_mock)); Mock event_handler_mock; Fake(Method(event_handler_mock, handle)); Fake(Dtor(event_handler_mock)); - Mock event_notifier_mock; + Mock event_notifier_mock; Fake(Method(event_notifier_mock, register_event_handler)); Fake(Method(event_notifier_mock, unregister_event_handler)); Fake(Dtor(event_notifier_mock)); @@ -105,13 +105,13 @@ SCENARIO("An Input Driver is created normally", "") { LoggerFactory::CreateInputTestLogger(); - Mock detector_mock; + Mock detector_mock; Fake(Dtor(detector_mock)); Mock event_handler_mock; Fake(Dtor(event_handler_mock)); - Mock event_notifier_mock; + Mock event_notifier_mock; Fake(Dtor(event_notifier_mock)); std::shared_ptr event_notifier_ptr(&event_notifier_mock.get()); diff --git a/FlippR-Driver/tests/output/TestDisplay.cpp b/FlippR-Driver/tests/output/TestDisplay.cpp index 83b20a3..bdda1e4 100644 --- a/FlippR-Driver/tests/output/TestDisplay.cpp +++ b/FlippR-Driver/tests/output/TestDisplay.cpp @@ -17,16 +17,16 @@ // testing purposes #define private public -#include "output/Display.h" +#include "Display.h" -using namespace FlippR_Driver::output; +using namespace flippR_driver::output; using namespace fakeit; SCENARIO("Creating a Display object", "") { GIVEN("Just a Display with 7 digits") { - Display<7> display(5,5); + SevenDigitDisplay display(5,5); WHEN("A content is set for the display") { std::string content_string = "1234567"; @@ -43,7 +43,7 @@ SCENARIO("Creating a Display object", "") display.write_score(12345); THEN("The content should look like: \" 12345\" ") { - std::string content_string = " 12345"; + std::string content_string = "\0\012345"; std::array content; std::copy(content_string.begin(), content_string.end(), content.data()); @@ -51,14 +51,16 @@ SCENARIO("Creating a Display object", "") } } WHEN("A score (12345678), which is longer than the digit is written") - display.write_score(12345678); - THEN("The content should look like: \"2345678\" ") { - std::string content_string = "2345678"; - std::array content; - std::copy(content_string.begin(), content_string.end(), content.data()); + display.write_score(12345678); + THEN("The content should look like: \"9999999\"-> highest number ") + { + std::string content_string = "9999999"; + std::array content; + std::copy(content_string.begin(), content_string.end(), content.data()); - REQUIRE(display.content == content); + REQUIRE(display.content == content); + } } } } diff --git a/FlippR-Driver/tests/output/TestDisplayController.cpp b/FlippR-Driver/tests/output/TestDisplayController.cpp index db90a96..ab4e4ca 100644 --- a/FlippR-Driver/tests/output/TestDisplayController.cpp +++ b/FlippR-Driver/tests/output/TestDisplayController.cpp @@ -16,7 +16,7 @@ #include "output/DisplayController.h" -using namespace FlippR_Driver::output; +using namespace flippR_driver::output; using namespace fakeit; SCENARIO("") diff --git a/FlippR-Driver/tests/output/TestLamp.cpp b/FlippR-Driver/tests/output/TestLamp.cpp index fb2d454..08070d5 100644 --- a/FlippR-Driver/tests/output/TestLamp.cpp +++ b/FlippR-Driver/tests/output/TestLamp.cpp @@ -16,7 +16,7 @@ #include "output/Lamp.h" -using namespace FlippR_Driver::output; +using namespace flippR_driver::output; using namespace fakeit; SCENARIO("") diff --git a/FlippR-Driver/tests/output/TestOutputDriver.cpp b/FlippR-Driver/tests/output/TestOutputDriver.cpp index f1e77d3..04ef307 100644 --- a/FlippR-Driver/tests/output/TestOutputDriver.cpp +++ b/FlippR-Driver/tests/output/TestOutputDriver.cpp @@ -16,7 +16,7 @@ #include "output/OutputDriver.h" -using namespace FlippR_Driver::output; +using namespace flippR_driver::output; using namespace fakeit; SCENARIO("") diff --git a/FlippR-Driver/tests/output/TestCabinetItem.cpp b/FlippR-Driver/tests/output/TestOutputItem.cpp similarity index 76% rename from FlippR-Driver/tests/output/TestCabinetItem.cpp rename to FlippR-Driver/tests/output/TestOutputItem.cpp index 7e9bc6a..c84f75b 100644 --- a/FlippR-Driver/tests/output/TestCabinetItem.cpp +++ b/FlippR-Driver/tests/output/TestOutputItem.cpp @@ -17,9 +17,9 @@ // testing purposes #define private public -#include "output/CabinetItem.h" +#include "../../src/output/OutputItem.h" -using namespace FlippR_Driver::output; +using namespace flippR_driver::output; using namespace fakeit; SCENARIO("") diff --git a/FlippR-Driver/tests/output/TestSolenoid.cpp b/FlippR-Driver/tests/output/TestSolenoid.cpp index a3e2bc7..b420d9a 100644 --- a/FlippR-Driver/tests/output/TestSolenoid.cpp +++ b/FlippR-Driver/tests/output/TestSolenoid.cpp @@ -18,7 +18,7 @@ #include "output/Solenoid.h" -using namespace FlippR_Driver::output; +using namespace flippR_driver::output; using namespace fakeit; SCENARIO("") diff --git a/FlippR-Driver/tests/output/TestSound.cpp b/FlippR-Driver/tests/output/TestSound.cpp index fd43629..8442d48 100644 --- a/FlippR-Driver/tests/output/TestSound.cpp +++ b/FlippR-Driver/tests/output/TestSound.cpp @@ -16,7 +16,7 @@ #include "output/Sound.h" -using namespace FlippR_Driver::output; +using namespace flippR_driver::output; using namespace fakeit; SCENARIO("") From 951b6bda2c5fd79a53d94f039b86d9ceed5570e3 Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Fri, 9 Nov 2018 01:17:27 +0100 Subject: [PATCH 7/9] added strategys --- FlippR-Driver/src/output/ActivateStrategy.cpp | 31 +++++++++++++++++ FlippR-Driver/src/output/ActivateStrategy.h | 33 +++++++++++++++++++ FlippR-Driver/src/output/ActivationStrategy.h | 29 ++++++++++++++++ .../src/output/DeactivateStrategy.cpp | 31 +++++++++++++++++ FlippR-Driver/src/output/DeactivateStrategy.h | 32 ++++++++++++++++++ FlippR-Driver/src/output/TriggerStrategy.cpp | 31 +++++++++++++++++ FlippR-Driver/src/output/TriggerStrategy.h | 33 +++++++++++++++++++ 7 files changed, 220 insertions(+) create mode 100644 FlippR-Driver/src/output/ActivateStrategy.cpp create mode 100644 FlippR-Driver/src/output/ActivateStrategy.h create mode 100644 FlippR-Driver/src/output/ActivationStrategy.h create mode 100644 FlippR-Driver/src/output/DeactivateStrategy.cpp create mode 100644 FlippR-Driver/src/output/DeactivateStrategy.h create mode 100644 FlippR-Driver/src/output/TriggerStrategy.cpp create mode 100644 FlippR-Driver/src/output/TriggerStrategy.h diff --git a/FlippR-Driver/src/output/ActivateStrategy.cpp b/FlippR-Driver/src/output/ActivateStrategy.cpp new file mode 100644 index 0000000..13843fe --- /dev/null +++ b/FlippR-Driver/src/output/ActivateStrategy.cpp @@ -0,0 +1,31 @@ +/* + * ActivateStrategy.cpp + * + * Created on: Nov 8, 2018 + * Author: johannes + */ + +#include "ActivateStrategy.h" + +namespace flippR_driver +{ +namespace output +{ +namespace strategy +{ +ActivateStrategy::ActivateStrategy() +{ + // TODO Auto-generated constructor stub + +} + +ActivateStrategy::~ActivateStrategy() +{ + // TODO Auto-generated destructor stub +} + +} +} +} + + diff --git a/FlippR-Driver/src/output/ActivateStrategy.h b/FlippR-Driver/src/output/ActivateStrategy.h new file mode 100644 index 0000000..e15a2d3 --- /dev/null +++ b/FlippR-Driver/src/output/ActivateStrategy.h @@ -0,0 +1,33 @@ +/* + * ActivateStrategy.h + * + * Created on: Nov 8, 2018 + * Author: johannes + */ + +#ifndef SRC_OUTPUT_ACTIVATESTRATEGY_H_ +#define SRC_OUTPUT_ACTIVATESTRATEGY_H_ + +#include "ActivationStrategy.h" + +namespace flippR_driver +{ +namespace output +{ +namespace strategy +{ + +class ActivateStrategy : public ActivationStrategy +{ +public: + ActivateStrategy(); + virtual ~ActivateStrategy(); + + virtual void operator()(); +}; + +} +} +} + +#endif /* SRC_OUTPUT_ACTIVATESTRATEGY_H_ */ diff --git a/FlippR-Driver/src/output/ActivationStrategy.h b/FlippR-Driver/src/output/ActivationStrategy.h new file mode 100644 index 0000000..04c1f97 --- /dev/null +++ b/FlippR-Driver/src/output/ActivationStrategy.h @@ -0,0 +1,29 @@ +/* + * ActivationStrategy.h + * + * Created on: Nov 8, 2018 + * Author: johannes + */ + +#ifndef SRC_OUTPUT_ACTIVATIONSTRATEGY_H_ +#define SRC_OUTPUT_ACTIVATIONSTRATEGY_H_ + +namespace flippR_driver +{ +namespace output +{ +namespace strategy +{ +class ActivationStrategy +{ +public: + virtual ~ActivationStrategy(){} + + virtual void operator()() = 0; +}; + +} +} +} + +#endif /* SRC_OUTPUT_ACTIVATIONSTRATEGY_H_ */ diff --git a/FlippR-Driver/src/output/DeactivateStrategy.cpp b/FlippR-Driver/src/output/DeactivateStrategy.cpp new file mode 100644 index 0000000..a5331e5 --- /dev/null +++ b/FlippR-Driver/src/output/DeactivateStrategy.cpp @@ -0,0 +1,31 @@ +/* + * DeactivateStrategy.cpp + * + * Created on: Nov 8, 2018 + * Author: johannes + */ + +#include "DeactivateStrategy.h" + +namespace flippR_driver +{ +namespace output +{ +namespace strategy +{ +DeactivateStrategy::DeactivateStrategy() +{ + // TODO Auto-generated constructor stub + +} + +DeactivateStrategy::~DeactivateStrategy() +{ + // TODO Auto-generated destructor stub +} + +} +} +} + + diff --git a/FlippR-Driver/src/output/DeactivateStrategy.h b/FlippR-Driver/src/output/DeactivateStrategy.h new file mode 100644 index 0000000..ed299b6 --- /dev/null +++ b/FlippR-Driver/src/output/DeactivateStrategy.h @@ -0,0 +1,32 @@ +/* + * DeactivateStrategy.h + * + * Created on: Nov 8, 2018 + * Author: johannes + */ + +#ifndef SRC_OUTPUT_DEACTIVATESTRATEGY_H_ +#define SRC_OUTPUT_DEACTIVATESTRATEGY_H_ + +#include "ActivationStrategy.h" + +namespace flippR_driver +{ +namespace output +{ +namespace strategy +{ +class DeactivateStrategy : public ActivationStrategy +{ +public: + DeactivateStrategy(); + virtual ~DeactivateStrategy(); + + virtual void operator()(); +}; + +} +} +} + +#endif /* SRC_OUTPUT_DEACTIVATESTRATEGY_H_ */ diff --git a/FlippR-Driver/src/output/TriggerStrategy.cpp b/FlippR-Driver/src/output/TriggerStrategy.cpp new file mode 100644 index 0000000..fe8aeb2 --- /dev/null +++ b/FlippR-Driver/src/output/TriggerStrategy.cpp @@ -0,0 +1,31 @@ +/* + * TriggerStrategy.cpp + * + * Created on: Nov 8, 2018 + * Author: johannes + */ + +#include "TriggerStrategy.h" + +namespace flippR_driver +{ +namespace output +{ +namespace strategy +{ + +TriggerStrategy::TriggerStrategy() +{ + // TODO Auto-generated constructor stub + +} + +TriggerStrategy::~TriggerStrategy() +{ + // TODO Auto-generated destructor stub +} + +} +} +} + diff --git a/FlippR-Driver/src/output/TriggerStrategy.h b/FlippR-Driver/src/output/TriggerStrategy.h new file mode 100644 index 0000000..0cf7e93 --- /dev/null +++ b/FlippR-Driver/src/output/TriggerStrategy.h @@ -0,0 +1,33 @@ +/* + * TriggerStrategy.h + * + * Created on: Nov 8, 2018 + * Author: johannes + */ + +#ifndef SRC_OUTPUT_TRIGGERSTRATEGY_H_ +#define SRC_OUTPUT_TRIGGERSTRATEGY_H_ + +#include "ActivationStrategy.h" + +namespace flippR_driver +{ +namespace output +{ +namespace strategy +{ + +class TriggerStrategy : public ActivationStrategy +{ +public: + TriggerStrategy(); + virtual ~TriggerStrategy(); + + virtual void operator()(); +}; + +} +} +} + +#endif /* SRC_OUTPUT_TRIGGERSTRATEGY_H_ */ From 8583294e0d151bef26f8e60279b24afc2bb1c6db Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Fri, 9 Nov 2018 02:00:01 +0100 Subject: [PATCH 8/9] =?UTF-8?q?bis=20n=C3=A4chste=20woche?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlippR-Driver/src/output/ActivateStrategy.cpp | 31 ----------------- FlippR-Driver/src/output/ActivateStrategy.h | 33 ------------------- FlippR-Driver/src/output/ActivationStrategy.h | 29 ---------------- .../src/output/DeactivateStrategy.cpp | 31 ----------------- FlippR-Driver/src/output/DeactivateStrategy.h | 32 ------------------ FlippR-Driver/src/output/Lamp.cpp | 10 ++++++ FlippR-Driver/src/output/Lamp.h | 7 ++++ FlippR-Driver/src/output/OutputItem.h | 8 +---- FlippR-Driver/src/output/Solenoid.cpp | 9 ++++- FlippR-Driver/src/output/Solenoid.h | 3 ++ FlippR-Driver/src/output/Sound.cpp | 2 ++ FlippR-Driver/src/output/TriggerStrategy.cpp | 31 ----------------- FlippR-Driver/src/output/TriggerStrategy.h | 33 ------------------- .../src/utility/IOutputGPIOInterface.h | 6 ++-- 14 files changed, 35 insertions(+), 230 deletions(-) delete mode 100644 FlippR-Driver/src/output/ActivateStrategy.cpp delete mode 100644 FlippR-Driver/src/output/ActivateStrategy.h delete mode 100644 FlippR-Driver/src/output/ActivationStrategy.h delete mode 100644 FlippR-Driver/src/output/DeactivateStrategy.cpp delete mode 100644 FlippR-Driver/src/output/DeactivateStrategy.h delete mode 100644 FlippR-Driver/src/output/TriggerStrategy.cpp delete mode 100644 FlippR-Driver/src/output/TriggerStrategy.h diff --git a/FlippR-Driver/src/output/ActivateStrategy.cpp b/FlippR-Driver/src/output/ActivateStrategy.cpp deleted file mode 100644 index 13843fe..0000000 --- a/FlippR-Driver/src/output/ActivateStrategy.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/* - * ActivateStrategy.cpp - * - * Created on: Nov 8, 2018 - * Author: johannes - */ - -#include "ActivateStrategy.h" - -namespace flippR_driver -{ -namespace output -{ -namespace strategy -{ -ActivateStrategy::ActivateStrategy() -{ - // TODO Auto-generated constructor stub - -} - -ActivateStrategy::~ActivateStrategy() -{ - // TODO Auto-generated destructor stub -} - -} -} -} - - diff --git a/FlippR-Driver/src/output/ActivateStrategy.h b/FlippR-Driver/src/output/ActivateStrategy.h deleted file mode 100644 index e15a2d3..0000000 --- a/FlippR-Driver/src/output/ActivateStrategy.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * ActivateStrategy.h - * - * Created on: Nov 8, 2018 - * Author: johannes - */ - -#ifndef SRC_OUTPUT_ACTIVATESTRATEGY_H_ -#define SRC_OUTPUT_ACTIVATESTRATEGY_H_ - -#include "ActivationStrategy.h" - -namespace flippR_driver -{ -namespace output -{ -namespace strategy -{ - -class ActivateStrategy : public ActivationStrategy -{ -public: - ActivateStrategy(); - virtual ~ActivateStrategy(); - - virtual void operator()(); -}; - -} -} -} - -#endif /* SRC_OUTPUT_ACTIVATESTRATEGY_H_ */ diff --git a/FlippR-Driver/src/output/ActivationStrategy.h b/FlippR-Driver/src/output/ActivationStrategy.h deleted file mode 100644 index 04c1f97..0000000 --- a/FlippR-Driver/src/output/ActivationStrategy.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * ActivationStrategy.h - * - * Created on: Nov 8, 2018 - * Author: johannes - */ - -#ifndef SRC_OUTPUT_ACTIVATIONSTRATEGY_H_ -#define SRC_OUTPUT_ACTIVATIONSTRATEGY_H_ - -namespace flippR_driver -{ -namespace output -{ -namespace strategy -{ -class ActivationStrategy -{ -public: - virtual ~ActivationStrategy(){} - - virtual void operator()() = 0; -}; - -} -} -} - -#endif /* SRC_OUTPUT_ACTIVATIONSTRATEGY_H_ */ diff --git a/FlippR-Driver/src/output/DeactivateStrategy.cpp b/FlippR-Driver/src/output/DeactivateStrategy.cpp deleted file mode 100644 index a5331e5..0000000 --- a/FlippR-Driver/src/output/DeactivateStrategy.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/* - * DeactivateStrategy.cpp - * - * Created on: Nov 8, 2018 - * Author: johannes - */ - -#include "DeactivateStrategy.h" - -namespace flippR_driver -{ -namespace output -{ -namespace strategy -{ -DeactivateStrategy::DeactivateStrategy() -{ - // TODO Auto-generated constructor stub - -} - -DeactivateStrategy::~DeactivateStrategy() -{ - // TODO Auto-generated destructor stub -} - -} -} -} - - diff --git a/FlippR-Driver/src/output/DeactivateStrategy.h b/FlippR-Driver/src/output/DeactivateStrategy.h deleted file mode 100644 index ed299b6..0000000 --- a/FlippR-Driver/src/output/DeactivateStrategy.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * DeactivateStrategy.h - * - * Created on: Nov 8, 2018 - * Author: johannes - */ - -#ifndef SRC_OUTPUT_DEACTIVATESTRATEGY_H_ -#define SRC_OUTPUT_DEACTIVATESTRATEGY_H_ - -#include "ActivationStrategy.h" - -namespace flippR_driver -{ -namespace output -{ -namespace strategy -{ -class DeactivateStrategy : public ActivationStrategy -{ -public: - DeactivateStrategy(); - virtual ~DeactivateStrategy(); - - virtual void operator()(); -}; - -} -} -} - -#endif /* SRC_OUTPUT_DEACTIVATESTRATEGY_H_ */ diff --git a/FlippR-Driver/src/output/Lamp.cpp b/FlippR-Driver/src/output/Lamp.cpp index 48685d9..4c5d99a 100644 --- a/FlippR-Driver/src/output/Lamp.cpp +++ b/FlippR-Driver/src/output/Lamp.cpp @@ -24,5 +24,15 @@ Lamp::~Lamp() // TODO Auto-generated destructor stub } +void Lamp::activate() +{ +// activate +} + +void Lamp::deactivate() +{ +// deactivate +} + } /* namespace output */ } diff --git a/FlippR-Driver/src/output/Lamp.h b/FlippR-Driver/src/output/Lamp.h index 57e1b7a..b5f043f 100644 --- a/FlippR-Driver/src/output/Lamp.h +++ b/FlippR-Driver/src/output/Lamp.h @@ -20,6 +20,13 @@ class Lamp : public OutputItem public: Lamp(std::shared_ptr output_gpio_interface, int address, std::string name); virtual ~Lamp(); + + void activate(); + void deactivate(); + bool is_activated(); + +private: + bool activated; }; } /* namespace output */ diff --git a/FlippR-Driver/src/output/OutputItem.h b/FlippR-Driver/src/output/OutputItem.h index 76b4b08..228cf7b 100644 --- a/FlippR-Driver/src/output/OutputItem.h +++ b/FlippR-Driver/src/output/OutputItem.h @@ -27,16 +27,10 @@ public: OutputItem(std::shared_ptr output_gpio_interface, int address, std::string name); virtual ~OutputItem(); - virtual bool isActivated(); - virtual bool activate(); - virtual bool deactivate(); - protected: - int address; + int address, i2c_address, data_pin_address; std::string name; - bool activated; - strategy::ActivationStrategy* strategy; std::shared_ptr output_gpio_interface; diff --git a/FlippR-Driver/src/output/Solenoid.cpp b/FlippR-Driver/src/output/Solenoid.cpp index 2192bcc..a0f1c57 100644 --- a/FlippR-Driver/src/output/Solenoid.cpp +++ b/FlippR-Driver/src/output/Solenoid.cpp @@ -18,10 +18,17 @@ Solenoid::Solenoid(std::shared_ptr output_gpio_in } -Solenoid::~Solenoid() +Solenoid::~Solenoid() { // TODO Auto-generated destructor stub } +void Solenoid::trigger() +{ +// activate +// wait +// deactivate +} + } /* namespace output */ } diff --git a/FlippR-Driver/src/output/Solenoid.h b/FlippR-Driver/src/output/Solenoid.h index 01c8fd9..c3a25a6 100644 --- a/FlippR-Driver/src/output/Solenoid.h +++ b/FlippR-Driver/src/output/Solenoid.h @@ -20,6 +20,9 @@ class Solenoid : public OutputItem public: Solenoid(std::shared_ptr output_gpio_interface, int address, std::string name); virtual ~Solenoid(); + + //muss task sein + void trigger(); }; } /* namespace output */ diff --git a/FlippR-Driver/src/output/Sound.cpp b/FlippR-Driver/src/output/Sound.cpp index d34ffe5..7f28239 100644 --- a/FlippR-Driver/src/output/Sound.cpp +++ b/FlippR-Driver/src/output/Sound.cpp @@ -19,6 +19,8 @@ Sound::Sound(std::shared_ptr output_gpio_interfac void Sound::play() { // this->output_gpio_interface->activate(this); +// wait +// deactivate() } } /* namespace output */ diff --git a/FlippR-Driver/src/output/TriggerStrategy.cpp b/FlippR-Driver/src/output/TriggerStrategy.cpp deleted file mode 100644 index fe8aeb2..0000000 --- a/FlippR-Driver/src/output/TriggerStrategy.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/* - * TriggerStrategy.cpp - * - * Created on: Nov 8, 2018 - * Author: johannes - */ - -#include "TriggerStrategy.h" - -namespace flippR_driver -{ -namespace output -{ -namespace strategy -{ - -TriggerStrategy::TriggerStrategy() -{ - // TODO Auto-generated constructor stub - -} - -TriggerStrategy::~TriggerStrategy() -{ - // TODO Auto-generated destructor stub -} - -} -} -} - diff --git a/FlippR-Driver/src/output/TriggerStrategy.h b/FlippR-Driver/src/output/TriggerStrategy.h deleted file mode 100644 index 0cf7e93..0000000 --- a/FlippR-Driver/src/output/TriggerStrategy.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * TriggerStrategy.h - * - * Created on: Nov 8, 2018 - * Author: johannes - */ - -#ifndef SRC_OUTPUT_TRIGGERSTRATEGY_H_ -#define SRC_OUTPUT_TRIGGERSTRATEGY_H_ - -#include "ActivationStrategy.h" - -namespace flippR_driver -{ -namespace output -{ -namespace strategy -{ - -class TriggerStrategy : public ActivationStrategy -{ -public: - TriggerStrategy(); - virtual ~TriggerStrategy(); - - virtual void operator()(); -}; - -} -} -} - -#endif /* SRC_OUTPUT_TRIGGERSTRATEGY_H_ */ diff --git a/FlippR-Driver/src/utility/IOutputGPIOInterface.h b/FlippR-Driver/src/utility/IOutputGPIOInterface.h index 449efd8..f262cc9 100644 --- a/FlippR-Driver/src/utility/IOutputGPIOInterface.h +++ b/FlippR-Driver/src/utility/IOutputGPIOInterface.h @@ -18,8 +18,10 @@ namespace utility class IOutputGPIOInterface { public: - void activate(int address, std::shared_ptr output_gpio_interface); - void deactivate(int address,std::shared_ptr output_gpio_interface); + //muss alles geschützt sein + void set_address(int i2c_address, int address); + void activate_pin(int i2c_address, int pin); + void deactivate_pin(int i2c_address, int pin); }; } From be582e9f7f0d29518665a131afce24ca0a43386e Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Fri, 9 Nov 2018 02:10:10 +0100 Subject: [PATCH 9/9] jetzt ist schluss --- .../src/utility/DisplayGPIOInterface.cpp | 20 +++++++++++++++++++ .../src/utility/DisplayGPIOInterface.h | 19 ++++++++++++++++++ .../src/utility/IOutputGPIOInterface.h | 2 ++ 3 files changed, 41 insertions(+) create mode 100644 FlippR-Driver/src/utility/DisplayGPIOInterface.cpp create mode 100644 FlippR-Driver/src/utility/DisplayGPIOInterface.h diff --git a/FlippR-Driver/src/utility/DisplayGPIOInterface.cpp b/FlippR-Driver/src/utility/DisplayGPIOInterface.cpp new file mode 100644 index 0000000..5523a75 --- /dev/null +++ b/FlippR-Driver/src/utility/DisplayGPIOInterface.cpp @@ -0,0 +1,20 @@ +/* + * DisplayGPIOInterface.cpp + * + * Created on: Nov 9, 2018 + * Author: johannes + */ + +#include "DisplayGPIOInterface.h" + +DisplayGPIOInterface::DisplayGPIOInterface() +{ + // TODO Auto-generated constructor stub + +} + +DisplayGPIOInterface::~DisplayGPIOInterface() +{ + // TODO Auto-generated destructor stub +} + diff --git a/FlippR-Driver/src/utility/DisplayGPIOInterface.h b/FlippR-Driver/src/utility/DisplayGPIOInterface.h new file mode 100644 index 0000000..ad79e35 --- /dev/null +++ b/FlippR-Driver/src/utility/DisplayGPIOInterface.h @@ -0,0 +1,19 @@ +/* + * DisplayGPIOInterface.h + * + * Created on: Nov 9, 2018 + * Author: johannes + */ + +#ifndef SRC_UTILITY_DISPLAYGPIOINTERFACE_H_ +#define SRC_UTILITY_DISPLAYGPIOINTERFACE_H_ + +class DisplayGPIOInterface +{ +public: + DisplayGPIOInterface(); + virtual + ~DisplayGPIOInterface(); +}; + +#endif /* SRC_UTILITY_DISPLAYGPIOINTERFACE_H_ */ diff --git a/FlippR-Driver/src/utility/IOutputGPIOInterface.h b/FlippR-Driver/src/utility/IOutputGPIOInterface.h index f262cc9..177d5c5 100644 --- a/FlippR-Driver/src/utility/IOutputGPIOInterface.h +++ b/FlippR-Driver/src/utility/IOutputGPIOInterface.h @@ -22,6 +22,8 @@ public: void set_address(int i2c_address, int address); void activate_pin(int i2c_address, int pin); void deactivate_pin(int i2c_address, int pin); + + //Display gpio interface! }; }