From 07963413eb066dc0d05ce617394806826234f227 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Wed, 10 Oct 2018 12:31:20 +0200 Subject: [PATCH] ibm --- FlippR-Driver/src/output/Display.cpp | 12 ++++++++++++ FlippR-Driver/src/output/Display.h | 2 +- FlippR-Driver/src/output/DisplayController.cpp | 15 +++++++++++++-- FlippR-Driver/src/output/DisplayController.h | 13 +++++++++---- .../src/utilities/IOutputGPIOInterface.h | 12 ++++++++++++ 5 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 FlippR-Driver/src/output/Display.cpp create mode 100644 FlippR-Driver/src/utilities/IOutputGPIOInterface.h diff --git a/FlippR-Driver/src/output/Display.cpp b/FlippR-Driver/src/output/Display.cpp new file mode 100644 index 0000000..c61059e --- /dev/null +++ b/FlippR-Driver/src/output/Display.cpp @@ -0,0 +1,12 @@ +// +// Created by rhetenor on 10.10.18. +// + +namespace FlippR_Driver +{ +namespace output +{ + + +} +} \ No newline at end of file diff --git a/FlippR-Driver/src/output/Display.h b/FlippR-Driver/src/output/Display.h index eb63a9d..66bbce0 100644 --- a/FlippR-Driver/src/output/Display.h +++ b/FlippR-Driver/src/output/Display.h @@ -21,7 +21,7 @@ class Display : public IDisplay { public: Display(); - virtual ~Display(); + virtual ~Display() = default; virtual int getID(); diff --git a/FlippR-Driver/src/output/DisplayController.cpp b/FlippR-Driver/src/output/DisplayController.cpp index fe26cb7..1edddc0 100644 --- a/FlippR-Driver/src/output/DisplayController.cpp +++ b/FlippR-Driver/src/output/DisplayController.cpp @@ -14,16 +14,27 @@ namespace FlippR_Driver namespace output { -DisplayController::DisplayController(std::vector> displays) - : displays(displays) +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); CLOG(INFO, OUTPUT_LOGGER) << "Created DisplayController and started writing them."; } +DisplayController::~DisplayController() +{ + this->is_running = false; + + this->display_cycle_thread.join(); +} + void DisplayController::cycle_displays() { + while(is_running) + { + + } for(auto& display : displays) { diff --git a/FlippR-Driver/src/output/DisplayController.h b/FlippR-Driver/src/output/DisplayController.h index cc8eb5b..8168e7a 100644 --- a/FlippR-Driver/src/output/DisplayController.h +++ b/FlippR-Driver/src/output/DisplayController.h @@ -10,11 +10,12 @@ #include "IDisplayController.h" -#include "IDisplay.h" - #include #include +#include "IDisplay.h" +#include "utilities/IOutputGPIOInterface.h" + namespace FlippR_Driver { namespace output @@ -23,8 +24,8 @@ namespace output class DisplayController : public IDisplayController { public: - explicit DisplayController(std::vector> displays); - virtual ~DisplayController(); + explicit DisplayController(std::vector> displays, std::shared_ptr output_gpio_interface); + ~DisplayController(); private: void cycle_displays(); @@ -33,6 +34,10 @@ private: std::vector> displays; std::thread display_cycle_thread; + + std::shared_ptr output_gpio_interface; + + bool is_running; }; } diff --git a/FlippR-Driver/src/utilities/IOutputGPIOInterface.h b/FlippR-Driver/src/utilities/IOutputGPIOInterface.h new file mode 100644 index 0000000..9ccc098 --- /dev/null +++ b/FlippR-Driver/src/utilities/IOutputGPIOInterface.h @@ -0,0 +1,12 @@ +// +// Created by rhetenor on 10.10.18. +// + +#ifndef FLIPPR_DRIVER_IOUTPUTGPIOINTERFACE_H +#define FLIPPR_DRIVER_IOUTPUTGPIOINTERFACE_H + +class IOutputGPIOInterface +{ + +}; +#endif //FLIPPR_DRIVER_IOUTPUTGPIOINTERFACE_H