compiling but strange need to talk

This commit is contained in:
Jonas Zeunert
2018-12-11 12:11:43 +01:00
parent b0d649018e
commit 3103fb77c7
7 changed files with 70 additions and 10 deletions

View File

@@ -8,7 +8,7 @@
#include "IOutputGPIOInterface.h" #include "IOutputGPIOInterface.h"
#include "output/items/IItem.h" #include "output/items/IItem.h"
#include "output/items/ISound.h" #include "output/items/ISoundItem.h"
#include "output/items/IDisplay.h" #include "output/items/IDisplay.h"
#include <memory> #include <memory>
@@ -23,10 +23,10 @@ public:
virtual ~IOutputGPIOInterface() = default; virtual ~IOutputGPIOInterface() = default;
virtual void activate(items::IItem *driver_board_item) = 0; virtual void activate(items::IItem *driver_board_item) = 0;
virtual void activate(items::ISound *sound) = 0; virtual void activate(items::ISoundItem *sound) = 0;
virtual void deactivate(items::IItem *driver_board_item) = 0; virtual void deactivate(items::IItem *driver_board_item) = 0;
virtual void deactivate(items::ISound *sound) = 0; virtual void deactivate(items::ISoundItem *sound) = 0;
virtual void write_display(std::shared_ptr<output::items::IDisplay> display) = 0; virtual void write_display(std::shared_ptr<output::items::IDisplay> display) = 0;
//Display gpio interface! //Display gpio interface!

View File

@@ -136,7 +136,7 @@ std::map<std::string, std::shared_ptr<items::ISound>> create_sounds(std::istream
for(auto &sound_json : sounds_json) for(auto &sound_json : sounds_json)
{ {
auto sound = create_sound(sound_json, output_gpio_interface, deactivation_time); auto sound = create_sound(sound_json, output_gpio_interface, deactivation_time);
sounds.emplace(sound->get_name(), sound); sounds.emplace(sound->Item::get_name(), sound);
} }
return sounds; return sounds;

View File

@@ -45,7 +45,7 @@ void OutputGPIOInterface::initialize_i2c_addresses()
mcp23017Setup(pins_display.at("pin_base"), pins_display.at("i2c_address")); mcp23017Setup(pins_display.at("pin_base"), pins_display.at("i2c_address"));
} }
void OutputGPIOInterface::activate(output::items::ISound *sound) void OutputGPIOInterface::activate(output::items::ISoundItem *sound)
{ {
std::lock_guard<std::mutex> guard(output_item_mutex); std::lock_guard<std::mutex> guard(output_item_mutex);
@@ -72,7 +72,7 @@ void OutputGPIOInterface::deactivate(output::items::IItem *driver_board_item)
write_data(false); write_data(false);
} }
void OutputGPIOInterface::deactivate(output::items::ISound *sound) void OutputGPIOInterface::deactivate(output::items::ISoundItem *sound)
{ {
std::lock_guard<std::mutex> guard(output_item_mutex); std::lock_guard<std::mutex> guard(output_item_mutex);

View File

@@ -18,7 +18,7 @@
#include <mcp23017.h> #include <mcp23017.h>
#include <mutex> #include <mutex>
#include <map> #include <map>
#include <output/items/ISound.h>
namespace flippR_driver namespace flippR_driver
{ {
namespace output namespace output
@@ -33,10 +33,10 @@ public:
~OutputGPIOInterface() override = default; ~OutputGPIOInterface() override = default;
void activate(items::IItem *driver_board_item) override; void activate(items::IItem *driver_board_item) override;
void activate(items::ISound *sound) override; void activate(items::ISoundItem *sound) override;
void deactivate(items::IItem *driver_board_item) override; void deactivate(items::IItem *driver_board_item) override;
void deactivate(items::ISound *sound) override; void deactivate(items::ISoundItem *sound) override;
void write_display(std::shared_ptr<output::items::IDisplay> display) override; void write_display(std::shared_ptr<output::items::IDisplay> display) override;

View File

@@ -0,0 +1,29 @@
//
// Created by rhetenor on 23.11.18.
//
#ifndef FLIPPR_DRIVER_IDRIVERBOARDITEM_H
#define FLIPPR_DRIVER_IDRIVERBOARDITEM_H
#include "output/items/IItem.h"
#include <cstdint>
namespace flippR_driver
{
namespace output
{
namespace items
{
class IDriverBoardItem : public IItem
{
public:
~IDriverBoardItem() override = default;
};
}
}
}
#endif //FLIPPR_DRIVER_IDRIVERBOARDITEM_H

View File

@@ -0,0 +1,26 @@
//
// Created by rhetenor on 23.11.18.
//
#ifndef FLIPPR_DRIVER_ISOUNDITEM_H
#define FLIPPR_DRIVER_ISOUNDITEM_H
#include "IItem.h"
namespace flippR_driver
{
namespace output
{
namespace items
{
class ISoundItem : public IItem
{
public:
~ISoundItem() override = default;
};
}
}
}
#endif //FLIPPR_DRIVER_ISOUNDITEM_H

View File

@@ -9,6 +9,8 @@
#define _SRC_OUTPUT_SOUND_H_ #define _SRC_OUTPUT_SOUND_H_
#include "output/items/ISound.h" #include "output/items/ISound.h"
#include "output/items/ISoundItem.h"
#include "Item.h" #include "Item.h"
#include <memory> #include <memory>
@@ -24,7 +26,7 @@ namespace output
namespace items namespace items
{ {
class Sound : public ISound, public Item class Sound : public ISound, public Item, public ISoundItem
{ {
public: public:
u_int id; u_int id;
@@ -33,6 +35,9 @@ public:
Sound(std::shared_ptr<IOutputGPIOInterface> output_gpio_interface, uint8_t address, std::string name, std::chrono::milliseconds deactivation_time, u_int id); Sound(std::shared_ptr<IOutputGPIOInterface> output_gpio_interface, uint8_t address, std::string name, std::chrono::milliseconds deactivation_time, u_int id);
~Sound() override = default; ~Sound() override = default;
std::string get_name() override;
uint8_t get_address() override;
void play() override; void play() override;
private: private: