Fixes some issues with sounds and the appropriate factory. Further moved the calculation of pin addresses with pin base into the factories
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
|
||||
using namespace flippR_driver::output;
|
||||
|
||||
items::detail::DriverBoardItem::DriverBoardItem(std::shared_ptr<PinController> pin_controller, const uint8_t & address, const uint8_t & pin_base) :
|
||||
address(pin_base + address)
|
||||
items::detail::DriverBoardItem::DriverBoardItem(std::shared_ptr<PinController> pin_controller, const uint8_t & address) :
|
||||
address(address)
|
||||
{
|
||||
pin_controller->initialize_output_pin(this->address);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace detail
|
||||
class DriverBoardItem : public output::items::DriverBoardItem
|
||||
{
|
||||
public:
|
||||
DriverBoardItem(std::shared_ptr<PinController> pin_controller, const uint8_t & address, const uint8_t & pin_base);
|
||||
DriverBoardItem(std::shared_ptr<PinController> pin_controller, const uint8_t & address);
|
||||
|
||||
~DriverBoardItem() override = default;
|
||||
|
||||
|
||||
@@ -20,10 +20,10 @@ namespace items
|
||||
namespace detail
|
||||
{
|
||||
|
||||
Flipper::Flipper(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name) :
|
||||
Item(std::move(name)), DriverBoardItem(pin_controller, address, pin_base), pin_controller(std::move(pin_controller))
|
||||
Flipper::Flipper(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const std::string & name) :
|
||||
Item(std::move(name)), DriverBoardItem(pin_controller, address), pin_controller(std::move(pin_controller))
|
||||
{
|
||||
CLOG(DEBUG, OUTPUT_LOGGER) << "Created flipper \"" << name << "\" with pin-base " << int(pin_base) << " and address " << int(address);
|
||||
CLOG(DEBUG, OUTPUT_LOGGER) << "Created flipper \"" << name << "\" with address " << int(address);
|
||||
}
|
||||
|
||||
Flipper::~Flipper()
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace detail
|
||||
class Flipper : public detail::Item, public items::Flipper, public detail::DriverBoardItem
|
||||
{
|
||||
public:
|
||||
Flipper(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name);
|
||||
Flipper(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const std::string & name);
|
||||
~Flipper() override;
|
||||
|
||||
void activate() override;
|
||||
|
||||
@@ -19,14 +19,14 @@ namespace items
|
||||
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 std::string & name) :
|
||||
detail::Item(std::move(name)),
|
||||
DriverBoardItem(pin_controller, address, pin_base),
|
||||
DriverBoardItem(pin_controller, address),
|
||||
pin_controller(std::move(pin_controller)),
|
||||
activated(false),
|
||||
activation_time(10)
|
||||
{
|
||||
CLOG(DEBUG, OUTPUT_LOGGER) << "Created lamp \"" << name << "\" with pin-base " << int(pin_base) << " and address " << int(address);
|
||||
CLOG(DEBUG, OUTPUT_LOGGER) << "Created lamp \"" << name << "\" with address " << int(address);
|
||||
}
|
||||
|
||||
void Lamp::activate()
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace detail
|
||||
class Lamp : public detail::DriverBoardItem, public detail::Item, public items::Lamp
|
||||
{
|
||||
public:
|
||||
Lamp(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name);
|
||||
Lamp(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const std::string & name);
|
||||
~Lamp() override = default;
|
||||
|
||||
void activate() override;
|
||||
|
||||
@@ -18,8 +18,8 @@ namespace items
|
||||
namespace detail
|
||||
{
|
||||
|
||||
Solenoid::Solenoid(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name, const std::chrono::milliseconds & deactivation_time)
|
||||
: detail::Item(std::move(name)), DriverBoardItem(pin_controller, address, pin_base), pin_controller(pin_controller), deactivation_time(deactivation_time)
|
||||
Solenoid::Solenoid(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const std::string & name, const std::chrono::milliseconds & deactivation_time)
|
||||
: detail::Item(std::move(name)), DriverBoardItem(pin_controller, address), pin_controller(pin_controller), deactivation_time(deactivation_time)
|
||||
{
|
||||
CLOG(DEBUG, OUTPUT_LOGGER) << "Created solenoid " << name << " with address " << int{address} << " and deactivation-time: " << deactivation_time.count();
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace detail
|
||||
class Solenoid : public DriverBoardItem, public detail::Item, public items::Solenoid
|
||||
{
|
||||
public:
|
||||
Solenoid(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name, const std::chrono::milliseconds & deactivation_time);
|
||||
Solenoid(std::shared_ptr<DriverBoardPinController> pin_controller, const uint8_t & address, const std::string & name, const std::chrono::milliseconds & deactivation_time);
|
||||
~Solenoid() override = default;
|
||||
|
||||
void trigger() override;
|
||||
|
||||
@@ -20,10 +20,10 @@ namespace items
|
||||
namespace detail
|
||||
{
|
||||
|
||||
Sound::Sound(std::shared_ptr<SoundBoardPinController> pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name, const std::chrono::milliseconds & deactivation_time, const u_int id)
|
||||
: detail::Item(std::move(name)), DriverBoardItem(pin_controller, address, pin_base), pin_controller(std::move(pin_controller)), deactivation_time(deactivation_time), id(id)
|
||||
Sound::Sound(std::shared_ptr<SoundBoardPinController> pin_controller, const uint8_t & address, const std::string & name, const std::chrono::milliseconds & deactivation_time, const u_int id)
|
||||
: detail::Item(std::move(name)), DriverBoardItem(pin_controller, address), pin_controller(std::move(pin_controller)), deactivation_time(deactivation_time), id(id)
|
||||
{
|
||||
CLOG(DEBUG, OUTPUT_LOGGER) << "Created sound " << id << " \"" << name << "\" with pin-base " << int(pin_base) << " and address " << int(address) << ". Deactivation time is: " << deactivation_time.count();
|
||||
CLOG(DEBUG, OUTPUT_LOGGER) << "Created sound " << id << " \"" << name << "\" with address " << int(address) << ". Deactivation time is: " << deactivation_time.count();
|
||||
}
|
||||
|
||||
void Sound::play()
|
||||
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
u_int id;
|
||||
|
||||
public:
|
||||
Sound(std::shared_ptr<SoundBoardPinController> pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name, const std::chrono::milliseconds & deactivation_time, const u_int id);
|
||||
Sound(std::shared_ptr<SoundBoardPinController> pin_controller, const uint8_t & address, const std::string & name, const std::chrono::milliseconds & deactivation_time, const u_int id);
|
||||
~Sound() override = default;
|
||||
|
||||
void play() override;
|
||||
|
||||
Reference in New Issue
Block a user