/* * DisplayController.cpp * * Created on: Aug 7, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "DisplayController.h" #include "utility/config.h" namespace flippR_driver { namespace output { DisplayController::DisplayController(std::vector> displays, std::shared_ptr output_gpio_interface) : displays(std::move(displays)), output_gpio_interface(std::move(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 : this->displays) { output_gpio_interface->write_display(display); } } } } }