added update_frequency

This commit is contained in:
Jonas Zeunert
2020-01-10 22:02:07 +01:00
parent 6d465d1e4a
commit 9a84e4475c
6 changed files with 12 additions and 4 deletions

View File

@@ -19,9 +19,9 @@ namespace detail
{
DisplayController::DisplayController(std::map<std::string, std::shared_ptr<items::Display>> & displays,
std::shared_ptr<DisplayBoardPinController> pin_controller
std::shared_ptr<DisplayBoardPinController> pin_controller, std::chrono::milliseconds update_frequency
)
: pin_controller{pin_controller}, is_running(true)
: pin_controller{pin_controller}, update_frequency(update_frequency), is_running(true)
{
for (auto display : displays)
{
@@ -45,6 +45,7 @@ void DisplayController::cycle_displays() const
{
while (is_running)
{
std::this_thread::sleep_for(update_frequency);
for (auto &display : this->displays)
{
pin_controller->write_display(*display);

View File

@@ -25,7 +25,7 @@ namespace detail
class DisplayController : public output::DisplayController
{
public:
DisplayController(std::map<std::string, std::shared_ptr<items::Display>> &displays, std::shared_ptr<DisplayBoardPinController> pin_controller);
DisplayController(std::map<std::string, std::shared_ptr<items::Display>> &displays, std::shared_ptr<DisplayBoardPinController> pin_controller, std::chrono::milliseconds update_frequency);
~DisplayController() override;
void activate_displays() const override;
@@ -40,6 +40,7 @@ private:
const std::shared_ptr<DisplayBoardPinController> pin_controller;
std::thread display_cycle_thread;
std::chrono::milliseconds update_frequency;
bool is_running;
};