minor changes

This commit is contained in:
Jonas Zeunert
2018-11-21 00:21:17 +01:00
parent ab6979ae63
commit 957f1f2334
8 changed files with 38 additions and 39 deletions

View File

@@ -1,34 +0,0 @@
/*
* IOutputDisplay.h
*
* Created on: Nov 20, 2018
* Author: johannes
*/
#ifndef SRC_OUTPUT_IOUTPUTDISPLAY_H_
#define SRC_OUTPUT_IOUTPUTDISPLAY_H_
namespace flippR_driver
{
namespace output
{
namespace items
{
class IDisplay
{
public:
IDisplay();
virtual ~IDisplay();
virtual void write_score(int score) = 0;
virtual void write_content(std::array<char, DigitCount> content) = 0;
};
}
}
}
#endif /* SRC_OUTPUT_IOUTPUTDISPLAY_H_ */

View File

@@ -19,7 +19,6 @@ namespace items
class IOutputItem
{
virtual ~IOutputItem();
virtual bool isActivated() = 0;
virtual bool activate() = 0;
virtual bool deactivate() = 0;
};

View File

@@ -0,0 +1,24 @@
//
// Created by rhetenor on 21.11.18.
//
namespace flippR_driver
{
namespace output
{
namespace items
{
void OutputItem::activate()
{
}
void OutputItem::deactivate()
{
}
}
}
}

View File

@@ -34,6 +34,7 @@ protected:
std::shared_ptr<utility::IOutputGPIOInterface> output_gpio_interface;
protected:
void activate();
void deactivate();
};

View File

@@ -13,6 +13,7 @@ namespace output
{
namespace items
{
Solenoid::Solenoid(std::shared_ptr<utility::IOutputGPIOInterface> output_gpio_interface, int i2c_address, int data_pin, std::string name, std::chrono::milliseconds deactivation_time)
:
OutputItem(output_gpio_interface, i2c_address, data_pin, name),
@@ -23,10 +24,11 @@ void Solenoid::triggerTask()
{
OutputItem::activate();
std::this_thread::sleep_for(50 /*todo change magic number */);
std::this_thread::sleep_for(deactivation_time);
OutputItem::deactivate();
}
void Solenoid::trigger()
{
std::async(std::launch::async, &Solenoid::triggerTask);

View File

@@ -30,6 +30,9 @@ public:
void trigger();
private:
std::chrono::milliseconds deactivation_time;
private:
virtual void triggerTask();

View File

@@ -18,7 +18,8 @@ namespace items
Sound::Sound(std::shared_ptr<utility::IOutputGPIOInterface> output_gpio_interface, int i2c_address, int data_pin, std::string name)
:
OutputItem(output_gpio_interface, i2c_address, data_pin, name)
OutputItem(output_gpio_interface, i2c_address, data_pin, name),
deactivation_time(deactivation_time)
{}
void Sound::play()
@@ -30,7 +31,7 @@ void Sound::playTask()
{
OutputItem::activate();
std::this_thread::sleep_for(50 /*todo change magic number */);
std::this_thread::sleep_for(deactivation_time);
OutputItem::deactivate();
}

View File

@@ -25,11 +25,14 @@ namespace items
class Sound : public ISound, OutputItem
{
public:
Sound(std::shared_ptr<utility::IOutputGPIOInterface> output_gpio_interface, int i2c_address, int data_pin, std::string name);
Sound(std::shared_ptr<utility::IOutputGPIOInterface> output_gpio_interface, int i2c_address, int data_pin, std::string name, std::chrono::milliseconds deactivation_time);
virtual ~Sound() = default;
virtual void play();
private:
std::chrono::milliseconds deactivation_time;
private:
virtual void playTask();
};