change update time
This commit is contained in:
@@ -49,8 +49,7 @@ std::shared_ptr<OutputDriver> get_OutputDriver(const std::string & solenoid_conf
|
|||||||
auto display_board_pin_controller = std::make_shared<detail::DisplayBoardPinController>(get_update_frequency(display_config_path));
|
auto display_board_pin_controller = std::make_shared<detail::DisplayBoardPinController>(get_update_frequency(display_config_path));
|
||||||
auto displays = get_items<DisplayFactory, detail::DisplayBoardPinController, items::Display>(display_config_path, display_board_pin_controller);
|
auto displays = get_items<DisplayFactory, detail::DisplayBoardPinController, items::Display>(display_config_path, display_board_pin_controller);
|
||||||
|
|
||||||
auto update_frequency = get_update_frequency(display_config_path);
|
auto display_controller = std::make_unique<detail::DisplayController>(displays, display_board_pin_controller);
|
||||||
auto display_controller = std::make_unique<detail::DisplayController>(displays, display_board_pin_controller, update_frequency);
|
|
||||||
|
|
||||||
return std::make_shared<OutputDriver>(std::move(display_controller), solenoids, lamps, sounds, flippers, displays);
|
return std::make_shared<OutputDriver>(std::move(display_controller), solenoids, lamps, sounds, flippers, displays);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,6 @@
|
|||||||
|
|
||||||
#include "utility/config.h"
|
#include "utility/config.h"
|
||||||
|
|
||||||
|
|
||||||
#define DISPLAY_SLEEP_TIME_MICRO 10000
|
|
||||||
namespace flippR_driver
|
namespace flippR_driver
|
||||||
{
|
{
|
||||||
namespace output
|
namespace output
|
||||||
@@ -55,6 +53,7 @@ void DisplayBoardPinController::write_display(const items::OutputDisplay &displa
|
|||||||
for (uint8_t i = 0; i < content.size(); i++)
|
for (uint8_t i = 0; i < content.size(); i++)
|
||||||
{
|
{
|
||||||
write_display_digit(display.get_address(), content.at(i) - '0', content.size() - i - 1);
|
write_display_digit(display.get_address(), content.at(i) - '0', content.size() - i - 1);
|
||||||
|
std::this_thread::sleep_for(this->update_time);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,9 +20,8 @@ namespace detail
|
|||||||
|
|
||||||
DisplayController::DisplayController(std::map<std::string, std::shared_ptr<items::Display>> & displays,
|
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::microseconds update_frequency
|
|
||||||
)
|
)
|
||||||
: pin_controller{pin_controller}, is_running(true), update_frequency(update_frequency)
|
: pin_controller{pin_controller}, is_running(true)
|
||||||
{
|
{
|
||||||
for (const auto& display : displays)
|
for (const auto& display : displays)
|
||||||
{
|
{
|
||||||
@@ -51,7 +50,6 @@ void DisplayController::cycle_displays() const
|
|||||||
|
|
||||||
while (is_running)
|
while (is_running)
|
||||||
{
|
{
|
||||||
std::this_thread::sleep_for(update_frequency);
|
|
||||||
for (auto &display : this->displays)
|
for (auto &display : this->displays)
|
||||||
{
|
{
|
||||||
pin_controller->write_display(*display);
|
pin_controller->write_display(*display);
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class DisplayController : public output::DisplayController
|
|||||||
public:
|
public:
|
||||||
DisplayController(std::map<std::string, std::shared_ptr<items::Display>> &displays,
|
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::microseconds update_frequency);
|
);
|
||||||
|
|
||||||
~DisplayController() override;
|
~DisplayController() override;
|
||||||
|
|
||||||
@@ -44,7 +44,6 @@ private:
|
|||||||
|
|
||||||
std::thread display_cycle_thread;
|
std::thread display_cycle_thread;
|
||||||
bool is_running;
|
bool is_running;
|
||||||
std::chrono::microseconds update_frequency;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user