added 2 output_tests + some add to output_driver
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <boost/range/adaptor/map.hpp>
|
||||
#include <boost/range/algorithm/copy.hpp>
|
||||
#include <thread>
|
||||
|
||||
#include "OutputDriver.h"
|
||||
|
||||
@@ -37,6 +38,28 @@ void OutputDriver::deactivate_displays() const
|
||||
display_controller->deactivate_displays();
|
||||
}
|
||||
|
||||
|
||||
void OutputDriver::deactivate_all_lamps() const
|
||||
{
|
||||
std::for_each(lamps.begin(), lamps.end(), [](items::Lamp& lamp){lamp.deactivate();});
|
||||
}
|
||||
|
||||
void OutputDriver::activate_all_lamps() const
|
||||
{
|
||||
std::for_each(lamps.begin(), lamps.end(), [](items::Lamp& lamp){lamp.activate();});
|
||||
}
|
||||
|
||||
void OutputDriver::rotate_all_lamps() const
|
||||
{
|
||||
for(auto lamp = lamps.begin(); lamp != lamps.end(); lamp++)
|
||||
{
|
||||
lamp->second->activate();
|
||||
// ToDo sleep time + is this thread safe??
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
lamp->second->deactivate();
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<std::shared_ptr<Sound>> OutputDriver::get_sounds() const
|
||||
{
|
||||
std::vector<std::shared_ptr<Sound>> sounds;
|
||||
@@ -93,6 +116,7 @@ boost::optional<std::shared_ptr<items::Display>> OutputDriver::get_display(uint8
|
||||
return this->displays.find(number)->second;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
} /* namespace output */
|
||||
}
|
||||
|
||||
@@ -23,13 +23,20 @@ namespace detail
|
||||
class OutputDriver : public output::OutputDriver
|
||||
{
|
||||
public:
|
||||
OutputDriver(std::unique_ptr<output::DisplayController> display_controller, std::map<std::string, std::shared_ptr<items::Solenoid>> solenoids, std::map<std::string, std::shared_ptr<items::Lamp>> lamps, std::map<std::string, std::shared_ptr<items::Sound>> sounds, std::map<uint8_t, std::shared_ptr<output::items::Display>> displays);
|
||||
OutputDriver(std::unique_ptr<output::DisplayController> display_controller, std::map<std::string, std::shared_ptr<items::Solenoid>> solenoids,
|
||||
std::map<std::string, std::shared_ptr<items::Lamp>> lamps, std::map<std::string, std::shared_ptr<items::Sound>> sounds,
|
||||
std::map<uint8_t, std::shared_ptr<output::items::Display>> displays);
|
||||
|
||||
~OutputDriver() override = default;
|
||||
|
||||
void activate_displays() const override;
|
||||
void deactivate_displays() const override;
|
||||
|
||||
void deactivate_all_lamps() const override;
|
||||
void activate_all_lamps() const override;
|
||||
void rotate_all_lamps() const override;
|
||||
|
||||
// todo driver board run for activate/deactivate?
|
||||
// todo what is flipper_relay ?
|
||||
std::vector<std::shared_ptr<items::Lamp>> get_lamps() const override;
|
||||
std::vector<std::shared_ptr<items::Solenoid>> get_solenoids() const override;
|
||||
|
||||
Reference in New Issue
Block a user