resolved some todos
This commit is contained in:
@@ -35,7 +35,7 @@ public:
|
|||||||
std::map<std::string, std::shared_ptr<items::Lamp>> lamps, std::map<std::string, std::shared_ptr<items::Sound>> sounds,
|
std::map<std::string, std::shared_ptr<items::Lamp>> lamps, std::map<std::string, std::shared_ptr<items::Sound>> sounds,
|
||||||
std::map<std::string, std::shared_ptr<items::Flipper>> flippers, std::map<uint8_t, std::shared_ptr<output::items::Display>> displays);
|
std::map<std::string, std::shared_ptr<items::Flipper>> flippers, std::map<uint8_t, std::shared_ptr<output::items::Display>> displays);
|
||||||
|
|
||||||
~OutputDriver() = default;//TODO aufräumen
|
~OutputDriver() = default;
|
||||||
|
|
||||||
void activate_displays() const;
|
void activate_displays() const;
|
||||||
void deactivate_displays() const;
|
void deactivate_displays() const;
|
||||||
|
|||||||
@@ -8,8 +8,6 @@
|
|||||||
#ifndef FLIPPR_DRIVER_OUTPUT_ITEMS_DISPLAY_H_
|
#ifndef FLIPPR_DRIVER_OUTPUT_ITEMS_DISPLAY_H_
|
||||||
#define FLIPPR_DRIVER_OUTPUT_ITEMS_DISPLAY_H_
|
#define FLIPPR_DRIVER_OUTPUT_ITEMS_DISPLAY_H_
|
||||||
|
|
||||||
#include <iosfwd> // todo wtf?
|
|
||||||
|
|
||||||
namespace flippR_driver
|
namespace flippR_driver
|
||||||
{
|
{
|
||||||
namespace output
|
namespace output
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
|
|
||||||
#include "Item.h"
|
#include "Item.h"
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
namespace flippR_driver
|
namespace flippR_driver
|
||||||
{
|
{
|
||||||
namespace output
|
namespace output
|
||||||
@@ -25,6 +27,7 @@ public:
|
|||||||
virtual void activate() = 0;
|
virtual void activate() = 0;
|
||||||
virtual void deactivate() = 0;
|
virtual void deactivate() = 0;
|
||||||
virtual bool is_activated() = 0;
|
virtual bool is_activated() = 0;
|
||||||
|
virtual std::chrono::milliseconds get_activation_time() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,12 +56,11 @@ void OutputDriver::activate_all_lamps() const
|
|||||||
|
|
||||||
void OutputDriver::rotate_all_lamps() const
|
void OutputDriver::rotate_all_lamps() const
|
||||||
{
|
{
|
||||||
for(const auto & lamp : lamps)
|
for(const auto & lamp : this->lamps)
|
||||||
{
|
{
|
||||||
lamp.second->activate();
|
lamp.second->activate();
|
||||||
// ToDo sleep time + is this thread safe??
|
// ToDo is this thread safe??
|
||||||
// TODO: time should be parameter
|
std::this_thread::sleep_for(lamp.second->get_activation_time());
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
|
||||||
lamp.second->deactivate();
|
lamp.second->deactivate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,11 @@ namespace detail
|
|||||||
{
|
{
|
||||||
|
|
||||||
Lamp::Lamp(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name) :
|
Lamp::Lamp(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name) :
|
||||||
detail::Item(std::move(name)), DriverBoardItem(pin_controller, address, pin_base), pin_controller(std::move(pin_controller)), activated(false)
|
detail::Item(std::move(name)),
|
||||||
|
DriverBoardItem(pin_controller, address, pin_base),
|
||||||
|
pin_controller(std::move(pin_controller)),
|
||||||
|
activated(false),
|
||||||
|
activation_time(10)
|
||||||
{
|
{
|
||||||
CLOG(INFO, OUTPUT_LOGGER) << "Created lamp " << name << " with address " << address;
|
CLOG(INFO, OUTPUT_LOGGER) << "Created lamp " << name << " with address " << address;
|
||||||
}
|
}
|
||||||
@@ -44,6 +48,11 @@ bool Lamp::is_activated()
|
|||||||
return this->activated;
|
return this->activated;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::chrono::milliseconds Lamp::get_activation_time() const
|
||||||
|
{
|
||||||
|
return this->activation_time;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} /* namespace output */
|
} /* namespace output */
|
||||||
|
|||||||
@@ -33,10 +33,12 @@ public:
|
|||||||
void activate() override;
|
void activate() override;
|
||||||
void deactivate() override;
|
void deactivate() override;
|
||||||
bool is_activated() override;
|
bool is_activated() override;
|
||||||
|
std::chrono::milliseconds get_activation_time() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const std::shared_ptr<DriverBoardPinController> pin_controller;
|
const std::shared_ptr<DriverBoardPinController> pin_controller;
|
||||||
bool activated;
|
bool activated;
|
||||||
|
std::chrono::milliseconds activation_time;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user