From c655f3f8ab63d19414271265379a2c3c26741792 Mon Sep 17 00:00:00 2001 From: Armin Co <armin.co@hs-bochum.de> Date: Sun, 4 Oct 2020 17:29:56 +0200 Subject: [PATCH] Slow down simulation and sending. --- src/smart_grid/SmartGridModell.cpp | 16 ++++++++++------ src/smg_server.cpp | 3 ++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/smart_grid/SmartGridModell.cpp b/src/smart_grid/SmartGridModell.cpp index 89697a1..0eae7bf 100644 --- a/src/smart_grid/SmartGridModell.cpp +++ b/src/smart_grid/SmartGridModell.cpp @@ -58,14 +58,18 @@ void SmartGridModell::default_state_fancy() void SmartGridModell::update_windmill_speed(uint8_t speed) { - constexpr uint8_t min_motor_speed {35}; - if (speed >= min_motor_speed) + constexpr uint8_t min_motor_speed {40}; + if (speed == 0) { - set_output_pin(Pin::WindmillMotor, speed); + set_output_pin(Pin::WindmillMotor, 0); } - else if (speed == 0) + else if (speed > 180) { - set_output_pin(Pin::WindmillMotor, 0); + set_output_pin(Pin::WindmillMotor, 140); + } + else if (speed <= min_motor_speed) + { + set_output_pin(Pin::WindmillMotor, speed); } else { @@ -115,7 +119,7 @@ void SmartGridModell::set_output_pin(Pin pin, uint8_t value) bool succ = m_modell.send(static_cast<uint8_t>(pin), value); spdlog::debug("Send: {} {}, success: {}", pin, value, succ); using namespace std; - this_thread::sleep_for(chrono::milliseconds(12)); + this_thread::sleep_for(chrono::milliseconds(14)); } void SmartGridModell::set_house_color(House number, uint8_t red, uint8_t green) diff --git a/src/smg_server.cpp b/src/smg_server.cpp index 7d5af53..f7dfec4 100644 --- a/src/smg_server.cpp +++ b/src/smg_server.cpp @@ -65,7 +65,8 @@ void run_sim() sim_state = SimState::Do; break; case SimState::Do: - std::this_thread::sleep_for(std::chrono::milliseconds(50)); + // limit speed of simulation + std::this_thread::sleep_for(std::chrono::milliseconds(500)); if (sim_state_do(day) == true) { sim_state = SimState::Exit; -- GitLab