diff --git a/FlippR-Driver/CMakeLists.txt b/FlippR-Driver/CMakeLists.txt index 6c96cf2..ede9d9d 100644 --- a/FlippR-Driver/CMakeLists.txt +++ b/FlippR-Driver/CMakeLists.txt @@ -58,6 +58,7 @@ else() endif(Boost_FOUND) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/src) +target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_SOURCE_DIR}/include) # Set libraries include path target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/${LIB_DIR}) diff --git a/FlippR-Driver/src/input/IInputDriver.h b/FlippR-Driver/include/IInputDriver.h similarity index 93% rename from FlippR-Driver/src/input/IInputDriver.h rename to FlippR-Driver/include/IInputDriver.h index 3b8f867..0739ee9 100644 --- a/FlippR-Driver/src/input/IInputDriver.h +++ b/FlippR-Driver/include/IInputDriver.h @@ -9,7 +9,7 @@ #define SRC_INPUT_IINPUTDRIVER_H_ #include "utilities/IEventHandler.h" -#include "IEventNotifier.h" +#include "input/IEventNotifier.h" namespace Input { diff --git a/FlippR-Driver/src/input/IInputDriverFactory.h b/FlippR-Driver/include/IInputDriverFactory.h similarity index 100% rename from FlippR-Driver/src/input/IInputDriverFactory.h rename to FlippR-Driver/include/IInputDriverFactory.h diff --git a/FlippR-Driver/src/output/CabinetItem.h b/FlippR-Driver/src/output/CabinetItem.h new file mode 100644 index 0000000..78d5210 --- /dev/null +++ b/FlippR-Driver/src/output/CabinetItem.h @@ -0,0 +1,31 @@ +/* + * CabinetItem.h + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#ifndef SOURCE_DIRECTORY__SRC_OUTPUT_CABINETITEM_H_ +#define SOURCE_DIRECTORY__SRC_OUTPUT_CABINETITEM_H_ + +#include +namespace output { + +class CabinetItem { +public: + CabinetItem(); + virtual ~CabinetItem(); + virtual bool isActivated(); + virtual bool activate(); + virtual bool deactivate(); + +protected: + int address; + std::string name; + + bool activated; +}; + +} /* namespace output */ + +#endif /* SOURCE_DIRECTORY__SRC_OUTPUT_CABINETITEM_H_ */ diff --git a/FlippR-Driver/src/output/Display.cpp b/FlippR-Driver/src/output/Display.cpp new file mode 100644 index 0000000..0a89ba9 --- /dev/null +++ b/FlippR-Driver/src/output/Display.cpp @@ -0,0 +1,21 @@ +/* + * Display.cpp + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#include "Display.h" + +namespace output { + +Display::Display() { + // TODO Auto-generated constructor stub + +} + +Display::~Display() { + // TODO Auto-generated destructor stub +} + +} /* namespace output */ diff --git a/FlippR-Driver/src/output/Display.h b/FlippR-Driver/src/output/Display.h new file mode 100644 index 0000000..bc1f4b1 --- /dev/null +++ b/FlippR-Driver/src/output/Display.h @@ -0,0 +1,33 @@ +/* + * Display.h + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#ifndef SOURCE_DIRECTORY__SRC_OUTPUT_DISPLAY_H_ +#define SOURCE_DIRECTORY__SRC_OUTPUT_DISPLAY_H_ + +#include "IDisplay.h" + +namespace output { + +class Display: public IDisplay { +public: + Display(); + virtual ~Display(); + + virtual int getID(); + virtual void write(); + +public: + int score; + +private: + int address; + int id; +}; + +} /* namespace output */ + +#endif /* SOURCE_DIRECTORY__SRC_OUTPUT_DISPLAY_H_ */ diff --git a/FlippR-Driver/src/output/IDisplay.h b/FlippR-Driver/src/output/IDisplay.h new file mode 100644 index 0000000..d49e300 --- /dev/null +++ b/FlippR-Driver/src/output/IDisplay.h @@ -0,0 +1,25 @@ +/* + * IDisplay.h + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#ifndef SOURCE_DIRECTORY__SRC_OUTPUT_IDISPLAY_H_ +#define SOURCE_DIRECTORY__SRC_OUTPUT_IDISPLAY_H_ + +namespace output { + +class IDisplay { +public: + IDisplay(); + virtual ~IDisplay(); + + virtual int getID(); + + virtual void write() = 0; +}; + +} /* namespace output */ + +#endif /* SOURCE_DIRECTORY__SRC_OUTPUT_IDISPLAY_H_ */ diff --git a/FlippR-Driver/src/output/IDisplayController.h b/FlippR-Driver/src/output/IDisplayController.h new file mode 100644 index 0000000..5b7735c --- /dev/null +++ b/FlippR-Driver/src/output/IDisplayController.h @@ -0,0 +1,27 @@ +/* + * IDisplayController.h + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#ifndef SOURCE_DIRECTORY__SRC_OUTPUT_IDISPLAYCONTROLLER_H_ +#define SOURCE_DIRECTORY__SRC_OUTPUT_IDISPLAYCONTROLLER_H_ +#include "config.h" +#include "IDisplay.h" +#include + +namespace output { + +class IDisplayController { +public: + IDisplayController(); + virtual ~IDisplayController(); + +private: + std::array displays; +}; + +} /* namespace output */ + +#endif /* SOURCE_DIRECTORY__SRC_OUTPUT_IDISPLAYCONTROLLER_H_ */ diff --git a/FlippR-Driver/src/output/IOutputDriver.h b/FlippR-Driver/src/output/IOutputDriver.h new file mode 100644 index 0000000..0adb083 --- /dev/null +++ b/FlippR-Driver/src/output/IOutputDriver.h @@ -0,0 +1,21 @@ +/* + * IOutputDriver.h + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#ifndef SOURCE_DIRECTORY__SRC_OUTPUT_IOUTPUTDRIVER_H_ +#define SOURCE_DIRECTORY__SRC_OUTPUT_IOUTPUTDRIVER_H_ + +namespace output { + +class IOutputDriver { +public: + IOutputDriver(); + virtual ~IOutputDriver(); +}; + +} /* namespace output */ + +#endif /* SOURCE_DIRECTORY__SRC_OUTPUT_IOUTPUTDRIVER_H_ */ diff --git a/FlippR-Driver/src/output/ISound.h b/FlippR-Driver/src/output/ISound.h new file mode 100644 index 0000000..e7fec70 --- /dev/null +++ b/FlippR-Driver/src/output/ISound.h @@ -0,0 +1,23 @@ +/* + * ISound.h + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#ifndef SOURCE_DIRECTORY__SRC_OUTPUT_ISOUND_H_ +#define SOURCE_DIRECTORY__SRC_OUTPUT_ISOUND_H_ + +namespace output { + +class ISound { +public: + ISound(); + virtual ~ISound(); + + virtual void play() = 0; +}; + +} /* namespace output */ + +#endif /* SOURCE_DIRECTORY__SRC_OUTPUT_ISOUND_H_ */ diff --git a/FlippR-Driver/src/output/Lamp.cpp b/FlippR-Driver/src/output/Lamp.cpp new file mode 100644 index 0000000..4c91111 --- /dev/null +++ b/FlippR-Driver/src/output/Lamp.cpp @@ -0,0 +1,21 @@ +/* + * Lamp.cpp + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#include "Lamp.h" + +namespace output { + +Lamp::Lamp() { + // TODO Auto-generated constructor stub + +} + +Lamp::~Lamp() { + // TODO Auto-generated destructor stub +} + +} /* namespace output */ diff --git a/FlippR-Driver/src/output/Lamp.h b/FlippR-Driver/src/output/Lamp.h new file mode 100644 index 0000000..26d98fa --- /dev/null +++ b/FlippR-Driver/src/output/Lamp.h @@ -0,0 +1,23 @@ +/* + * Lamp.h + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#ifndef SOURCE_DIRECTORY__SRC_OUTPUT_LAMP_H_ +#define SOURCE_DIRECTORY__SRC_OUTPUT_LAMP_H_ + +#include "CabinetItem.h" + +namespace output { + +class Lamp: public CabinetItem { +public: + Lamp(); + virtual ~Lamp(); +}; + +} /* namespace output */ + +#endif /* SOURCE_DIRECTORY__SRC_OUTPUT_LAMP_H_ */ diff --git a/FlippR-Driver/src/output/OutputDriver.cpp b/FlippR-Driver/src/output/OutputDriver.cpp new file mode 100644 index 0000000..adc247f --- /dev/null +++ b/FlippR-Driver/src/output/OutputDriver.cpp @@ -0,0 +1,21 @@ +/* + * OutputDriver.cpp + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#include "OutputDriver.h" + +namespace output { + +OutputDriver::OutputDriver() { + // TODO Auto-generated constructor stub + +} + +OutputDriver::~OutputDriver() { + // TODO Auto-generated destructor stub +} + +} /* namespace output */ diff --git a/FlippR-Driver/src/output/OutputDriver.h b/FlippR-Driver/src/output/OutputDriver.h new file mode 100644 index 0000000..17d3c3a --- /dev/null +++ b/FlippR-Driver/src/output/OutputDriver.h @@ -0,0 +1,23 @@ +/* + * OutputDriver.h + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#ifndef SOURCE_DIRECTORY__SRC_OUTPUT_OUTPUTDRIVER_H_ +#define SOURCE_DIRECTORY__SRC_OUTPUT_OUTPUTDRIVER_H_ + +#include "IOutputDriver.h" + +namespace output { + +class OutputDriver: public IOutputDriver { +public: + OutputDriver(); + virtual ~OutputDriver(); +}; + +} /* namespace output */ + +#endif /* SOURCE_DIRECTORY__SRC_OUTPUT_OUTPUTDRIVER_H_ */ diff --git a/FlippR-Driver/src/output/Solenoid.cpp b/FlippR-Driver/src/output/Solenoid.cpp new file mode 100644 index 0000000..534e3d2 --- /dev/null +++ b/FlippR-Driver/src/output/Solenoid.cpp @@ -0,0 +1,21 @@ +/* + * Solenoid.cpp + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#include "Solenoid.h" + +namespace output { + +Solenoid::Solenoid() { + // TODO Auto-generated constructor stub + +} + +Solenoid::~Solenoid() { + // TODO Auto-generated destructor stub +} + +} /* namespace output */ diff --git a/FlippR-Driver/src/output/Solenoid.h b/FlippR-Driver/src/output/Solenoid.h new file mode 100644 index 0000000..a899f98 --- /dev/null +++ b/FlippR-Driver/src/output/Solenoid.h @@ -0,0 +1,23 @@ +/* + * Solenoid.h + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#ifndef SOURCE_DIRECTORY__SRC_OUTPUT_SOLENOID_H_ +#define SOURCE_DIRECTORY__SRC_OUTPUT_SOLENOID_H_ + +#include "CabinetItem.h" + +namespace output { + +class Solenoid: public CabinetItem { +public: + Solenoid(); + virtual ~Solenoid(); +}; + +} /* namespace output */ + +#endif /* SOURCE_DIRECTORY__SRC_OUTPUT_SOLENOID_H_ */ diff --git a/FlippR-Driver/src/output/Sound.cpp b/FlippR-Driver/src/output/Sound.cpp new file mode 100644 index 0000000..696a37f --- /dev/null +++ b/FlippR-Driver/src/output/Sound.cpp @@ -0,0 +1,21 @@ +/* + * Sound.cpp + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#include "Sound.h" + +namespace output { + +Sound::Sound() { + // TODO Auto-generated constructor stub + +} + +Sound::~Sound() { + // TODO Auto-generated destructor stub +} + +} /* namespace output */ diff --git a/FlippR-Driver/src/output/Sound.h b/FlippR-Driver/src/output/Sound.h new file mode 100644 index 0000000..87fe1de --- /dev/null +++ b/FlippR-Driver/src/output/Sound.h @@ -0,0 +1,30 @@ +/* + * Sound.h + * + * Created on: Aug 2, 2018 + * Author: rhetenor + */ + +#ifndef SOURCE_DIRECTORY__SRC_OUTPUT_SOUND_H_ +#define SOURCE_DIRECTORY__SRC_OUTPUT_SOUND_H_ + +#include "ISound.h" + +#include +namespace output { + +class Sound : ISound { +public: + Sound(); + virtual ~Sound(); + + virtual void play(); + +private: + int address; + std::string name; +}; + +} /* namespace output */ + +#endif /* SOURCE_DIRECTORY__SRC_OUTPUT_SOUND_H_ */ diff --git a/FlippR-Driver/src/utilities/config.h b/FlippR-Driver/src/utilities/config.h index 3c57158..b4c106e 100644 --- a/FlippR-Driver/src/utilities/config.h +++ b/FlippR-Driver/src/utilities/config.h @@ -16,3 +16,5 @@ #define INPUT_MATRIX_SIZE 8 #define INPUT_SLEEP_DURATION_NANO 800 + +#define NUMBER_OF_DISPLAYS 5 diff --git a/FlippR-Driver/tests/CMakeLists.txt b/FlippR-Driver/tests/CMakeLists.txt index bec6bca..574b955 100644 --- a/FlippR-Driver/tests/CMakeLists.txt +++ b/FlippR-Driver/tests/CMakeLists.txt @@ -12,6 +12,7 @@ add_executable(${PROJECT_NAME} ${SOURCES}) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/tests) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/src) +target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/include) #find_library(flippr-driver NAMES lib${CMAKE_PROJECT_NAME}.a HINTS ${CMAKE_SOURCE_DIR}/bin) #if(NOT flippr-driver) diff --git a/FlippR-Driver/tests/input/TestEventHandler.cpp b/FlippR-Driver/tests/input/TestEventHandler.cpp index 78ccbf9..60062f1 100644 --- a/FlippR-Driver/tests/input/TestEventHandler.cpp +++ b/FlippR-Driver/tests/input/TestEventHandler.cpp @@ -5,12 +5,12 @@ * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht */ -#include "../catch.hpp" -#include "../fakeit.hpp" +#include "catch.hpp" +#include "fakeit.hpp" -#include "../../src/utilities/LoggerFactory.hpp" -#include "../../src/input/EventHandler.h" -#include "../../src/input/IInputDriver.h" +#include "utilities/LoggerFactory.hpp" +#include "input/EventHandler.h" +#include "IInputDriver.h" // testing purposes