From 00e640f469515975b8fb1d6f24906c94296c08ee Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Fri, 23 Nov 2018 13:46:09 +0100 Subject: [PATCH] working on gpio interface and refactored author names --- FlippR-Driver/contrib/Output_Config.json | 6 +-- FlippR-Driver/include/input/Event.h | 2 +- FlippR-Driver/include/input/EventHandler.h | 2 +- FlippR-Driver/include/input/IEventHandler.h | 2 +- FlippR-Driver/include/input/IInputDriver.h | 2 +- FlippR-Driver/include/output/IOutputDriver.h | 2 +- FlippR-Driver/include/output/items/ILamp.h | 2 +- .../include/output/items/IOutputDisplay.h | 2 +- .../include/output/items/ISolenoid.h | 2 +- FlippR-Driver/include/output/items/ISound.h | 2 +- FlippR-Driver/src/input/Detector.cpp | 2 +- FlippR-Driver/src/input/Detector.h | 2 +- FlippR-Driver/src/input/ErrorEvent.hpp | 2 +- FlippR-Driver/src/input/Event.cpp | 2 +- FlippR-Driver/src/input/EventHandler.cpp | 2 +- FlippR-Driver/src/input/EventNotifier.cpp | 2 +- FlippR-Driver/src/input/EventNotifier.h | 2 +- FlippR-Driver/src/input/IDetector.h | 2 +- FlippR-Driver/src/input/IEventNotifier.h | 2 +- FlippR-Driver/src/input/InputDriver.cpp | 2 +- FlippR-Driver/src/input/InputDriver.h | 2 +- .../src/input/InputDriverFactory.cpp | 2 +- FlippR-Driver/src/input/InputDriverFactory.h | 2 +- .../src/output/DisplayController.cpp | 2 +- FlippR-Driver/src/output/DisplayController.h | 2 +- FlippR-Driver/src/output/IDisplayController.h | 2 +- FlippR-Driver/src/output/OutputDriver.cpp | 2 +- FlippR-Driver/src/output/OutputDriver.h | 2 +- FlippR-Driver/src/output/items/Display.h | 2 +- FlippR-Driver/src/output/items/IDisplay.h | 2 +- FlippR-Driver/src/output/items/IItem.h | 2 +- FlippR-Driver/src/output/items/Item.h | 6 +-- FlippR-Driver/src/output/items/Lamp.cpp | 2 +- FlippR-Driver/src/output/items/Lamp.h | 4 +- FlippR-Driver/src/output/items/Solenoid.cpp | 2 +- FlippR-Driver/src/output/items/Solenoid.h | 2 +- FlippR-Driver/src/output/items/Sound.cpp | 2 +- FlippR-Driver/src/output/items/Sound.h | 2 +- FlippR-Driver/src/utility/BlockingQueue.hpp | 2 +- .../src/utility/DisplayGPIOInterface.cpp | 2 +- .../src/utility/DisplayGPIOInterface.h | 2 +- FlippR-Driver/src/utility/GPIOInterface.cpp | 11 ++-- FlippR-Driver/src/utility/GPIOInterface.h | 2 +- FlippR-Driver/src/utility/IBlockingQueue.h | 2 +- .../src/utility/IInputGPIOInterface.h | 2 +- .../src/utility/InputGPIOInterface.cpp | 2 +- .../src/utility/InputGPIOInterface.h | 2 +- FlippR-Driver/src/utility/LoggerFactory.h | 2 +- .../src/utility/OutputGPIOInterface.cpp | 50 ++++++++++++++++--- .../src/utility/OutputGPIOInterface.h | 27 +++++----- FlippR-Driver/src/utility/config.h | 2 +- FlippR-Driver/tests/input/TestDetector.cpp | 2 +- .../tests/input/TestEventHandler.cpp | 2 +- .../tests/input/TestEventNotifier.cpp | 2 +- FlippR-Driver/tests/input/TestInputDriver.cpp | 2 +- FlippR-Driver/tests/main.cpp | 2 +- FlippR-Driver/tests/output/TestDisplay.cpp | 2 +- .../tests/output/TestDisplayController.cpp | 2 +- FlippR-Driver/tests/output/TestLamp.cpp | 2 +- .../tests/output/TestOutputDriver.cpp | 2 +- FlippR-Driver/tests/output/TestOutputItem.cpp | 2 +- FlippR-Driver/tests/output/TestSolenoid.cpp | 2 +- FlippR-Driver/tests/output/TestSound.cpp | 2 +- 63 files changed, 127 insertions(+), 91 deletions(-) diff --git a/FlippR-Driver/contrib/Output_Config.json b/FlippR-Driver/contrib/Output_Config.json index 4fdd9d2..c98f069 100644 --- a/FlippR-Driver/contrib/Output_Config.json +++ b/FlippR-Driver/contrib/Output_Config.json @@ -1,5 +1,5 @@ { - "displays" : + "display_board" : { }, @@ -7,7 +7,7 @@ { "i2c_address" : 32, "pin_base" : 65, - "latch-select" : + "pin-select" : { "A" : 0, "B" : 1, @@ -15,7 +15,7 @@ }, "data" : 3, "CL" : 4, - "mux-select" : + "latch-select" : { "A" : 5, "B" : 6, diff --git a/FlippR-Driver/include/input/Event.h b/FlippR-Driver/include/input/Event.h index f14e58f..3a69f6d 100644 --- a/FlippR-Driver/include/input/Event.h +++ b/FlippR-Driver/include/input/Event.h @@ -2,7 +2,7 @@ * InputEvent.h * * Created on: Apr 5, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef INPUTEVENT_H_ diff --git a/FlippR-Driver/include/input/EventHandler.h b/FlippR-Driver/include/input/EventHandler.h index 03e052e..1f334df 100644 --- a/FlippR-Driver/include/input/EventHandler.h +++ b/FlippR-Driver/include/input/EventHandler.h @@ -6,7 +6,7 @@ * Please be aware that handle must be implemented thread safe! * * Created on: Apr 5, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef INPUTEVENTHANDLER_H_ diff --git a/FlippR-Driver/include/input/IEventHandler.h b/FlippR-Driver/include/input/IEventHandler.h index 4fe3179..11b3fff 100644 --- a/FlippR-Driver/include/input/IEventHandler.h +++ b/FlippR-Driver/include/input/IEventHandler.h @@ -2,7 +2,7 @@ * IEventHandler.h * * Created on: Jun 13, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_IEVENTHANDLER_H_ diff --git a/FlippR-Driver/include/input/IInputDriver.h b/FlippR-Driver/include/input/IInputDriver.h index 37b5bb9..df52ce0 100644 --- a/FlippR-Driver/include/input/IInputDriver.h +++ b/FlippR-Driver/include/input/IInputDriver.h @@ -2,7 +2,7 @@ * IInputDriver.h * * Created on: Jun 14, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_INPUT_IINPUTDRIVER_H_ diff --git a/FlippR-Driver/include/output/IOutputDriver.h b/FlippR-Driver/include/output/IOutputDriver.h index 2cd3801..cc1d4e6 100644 --- a/FlippR-Driver/include/output/IOutputDriver.h +++ b/FlippR-Driver/include/output/IOutputDriver.h @@ -2,7 +2,7 @@ * IOutputDriver.h * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_IOUTPUTDRIVER_H_ diff --git a/FlippR-Driver/include/output/items/ILamp.h b/FlippR-Driver/include/output/items/ILamp.h index 83af780..5285815 100644 --- a/FlippR-Driver/include/output/items/ILamp.h +++ b/FlippR-Driver/include/output/items/ILamp.h @@ -2,7 +2,7 @@ * ILamp.h * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_ILAMP_H_ diff --git a/FlippR-Driver/include/output/items/IOutputDisplay.h b/FlippR-Driver/include/output/items/IOutputDisplay.h index ba26928..6bd88b5 100644 --- a/FlippR-Driver/include/output/items/IOutputDisplay.h +++ b/FlippR-Driver/include/output/items/IOutputDisplay.h @@ -2,7 +2,7 @@ * IOutputDisplay.h * * Created on: Nov 20, 2018 - * Author: johannes + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_OUTPUT_IOUTPUTDISPLAY_H_ diff --git a/FlippR-Driver/include/output/items/ISolenoid.h b/FlippR-Driver/include/output/items/ISolenoid.h index 16625d8..2f22767 100644 --- a/FlippR-Driver/include/output/items/ISolenoid.h +++ b/FlippR-Driver/include/output/items/ISolenoid.h @@ -2,7 +2,7 @@ * ISolenoid.h * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_ISOLENOID_H_ diff --git a/FlippR-Driver/include/output/items/ISound.h b/FlippR-Driver/include/output/items/ISound.h index cc7b9a4..da1f12d 100644 --- a/FlippR-Driver/include/output/items/ISound.h +++ b/FlippR-Driver/include/output/items/ISound.h @@ -2,7 +2,7 @@ * ISound.h * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_ISOUND_H_ diff --git a/FlippR-Driver/src/input/Detector.cpp b/FlippR-Driver/src/input/Detector.cpp index ffe4274..d782da9 100644 --- a/FlippR-Driver/src/input/Detector.cpp +++ b/FlippR-Driver/src/input/Detector.cpp @@ -2,7 +2,7 @@ * Detector.cpp * * Created on: Apr 5, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "Detector.h" diff --git a/FlippR-Driver/src/input/Detector.h b/FlippR-Driver/src/input/Detector.h index 1b7f6fa..cc5902e 100644 --- a/FlippR-Driver/src/input/Detector.h +++ b/FlippR-Driver/src/input/Detector.h @@ -8,7 +8,7 @@ * The other cycles over the queue and notifies input event handlers. * * Created on: Apr 5, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef DETECTOR_H_ diff --git a/FlippR-Driver/src/input/ErrorEvent.hpp b/FlippR-Driver/src/input/ErrorEvent.hpp index 33bcf33..81a31b7 100644 --- a/FlippR-Driver/src/input/ErrorEvent.hpp +++ b/FlippR-Driver/src/input/ErrorEvent.hpp @@ -2,7 +2,7 @@ * ErrorEvent.h * * Created on: Aug 8, 2018 - * Author: johannes + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_INPUT_ERROREVENT_HPP_ diff --git a/FlippR-Driver/src/input/Event.cpp b/FlippR-Driver/src/input/Event.cpp index 1638180..b88823d 100644 --- a/FlippR-Driver/src/input/Event.cpp +++ b/FlippR-Driver/src/input/Event.cpp @@ -2,7 +2,7 @@ * Event.cpp * * Created on: Jun 15, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "input/Event.h" diff --git a/FlippR-Driver/src/input/EventHandler.cpp b/FlippR-Driver/src/input/EventHandler.cpp index 80fd9cb..55aa68d 100644 --- a/FlippR-Driver/src/input/EventHandler.cpp +++ b/FlippR-Driver/src/input/EventHandler.cpp @@ -2,7 +2,7 @@ * EventHandler.cpp * * Created on: Jun 14, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "input/EventHandler.h" #include "utility/config.h" diff --git a/FlippR-Driver/src/input/EventNotifier.cpp b/FlippR-Driver/src/input/EventNotifier.cpp index 0e2025f..6fc06b1 100644 --- a/FlippR-Driver/src/input/EventNotifier.cpp +++ b/FlippR-Driver/src/input/EventNotifier.cpp @@ -2,7 +2,7 @@ * EventNotifier.cpp * * Created on: May 17, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include diff --git a/FlippR-Driver/src/input/EventNotifier.h b/FlippR-Driver/src/input/EventNotifier.h index 40af4ad..b5295ac 100644 --- a/FlippR-Driver/src/input/EventNotifier.h +++ b/FlippR-Driver/src/input/EventNotifier.h @@ -2,7 +2,7 @@ * InputEventNotifier.h * * Created on: May 17, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_INPUT_EVENTNOTIFIER_H_ diff --git a/FlippR-Driver/src/input/IDetector.h b/FlippR-Driver/src/input/IDetector.h index 5500d33..156d795 100644 --- a/FlippR-Driver/src/input/IDetector.h +++ b/FlippR-Driver/src/input/IDetector.h @@ -2,7 +2,7 @@ * IDetector.h * * Created on: Jun 13, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_INPUT_IDETECTOR_H_ diff --git a/FlippR-Driver/src/input/IEventNotifier.h b/FlippR-Driver/src/input/IEventNotifier.h index c231fce..2cb749f 100644 --- a/FlippR-Driver/src/input/IEventNotifier.h +++ b/FlippR-Driver/src/input/IEventNotifier.h @@ -2,7 +2,7 @@ * IEventNotifier.h * * Created on: Jun 13, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_INPUT_IEVENTNOTIFIER_H_ diff --git a/FlippR-Driver/src/input/InputDriver.cpp b/FlippR-Driver/src/input/InputDriver.cpp index 04f8a35..6ce8e8a 100644 --- a/FlippR-Driver/src/input/InputDriver.cpp +++ b/FlippR-Driver/src/input/InputDriver.cpp @@ -2,7 +2,7 @@ * InputDriver.cpp * * Created on: Jun 15, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "InputDriver.h" diff --git a/FlippR-Driver/src/input/InputDriver.h b/FlippR-Driver/src/input/InputDriver.h index cc4fa24..3d600e6 100644 --- a/FlippR-Driver/src/input/InputDriver.h +++ b/FlippR-Driver/src/input/InputDriver.h @@ -2,7 +2,7 @@ * InputDriver.hpp * * Created on: May 31, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_INPUT_INPUTDRIVER_H_ #define SRC_INPUT_INPUTDRIVER_H_ diff --git a/FlippR-Driver/src/input/InputDriverFactory.cpp b/FlippR-Driver/src/input/InputDriverFactory.cpp index a2dc396..3d7a35a 100644 --- a/FlippR-Driver/src/input/InputDriverFactory.cpp +++ b/FlippR-Driver/src/input/InputDriverFactory.cpp @@ -2,7 +2,7 @@ * InputDriverFactory.cpp * * Created on: Jun 14, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ diff --git a/FlippR-Driver/src/input/InputDriverFactory.h b/FlippR-Driver/src/input/InputDriverFactory.h index 0349e3d..6fc9c44 100644 --- a/FlippR-Driver/src/input/InputDriverFactory.h +++ b/FlippR-Driver/src/input/InputDriverFactory.h @@ -2,7 +2,7 @@ * InputFactory.h * * Created on: Apr 5, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef INPUTFACTORY_H_ diff --git a/FlippR-Driver/src/output/DisplayController.cpp b/FlippR-Driver/src/output/DisplayController.cpp index e62f9c8..300d6ae 100644 --- a/FlippR-Driver/src/output/DisplayController.cpp +++ b/FlippR-Driver/src/output/DisplayController.cpp @@ -2,7 +2,7 @@ * DisplayController.cpp * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "DisplayController.h" diff --git a/FlippR-Driver/src/output/DisplayController.h b/FlippR-Driver/src/output/DisplayController.h index 73335df..e96ff19 100644 --- a/FlippR-Driver/src/output/DisplayController.h +++ b/FlippR-Driver/src/output/DisplayController.h @@ -2,7 +2,7 @@ * DisplayController.h * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_DISPLAYCONTROLLER_H_ diff --git a/FlippR-Driver/src/output/IDisplayController.h b/FlippR-Driver/src/output/IDisplayController.h index ce55cdf..ce26085 100644 --- a/FlippR-Driver/src/output/IDisplayController.h +++ b/FlippR-Driver/src/output/IDisplayController.h @@ -2,7 +2,7 @@ * IDisplayController.h * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_IDISPLAYCONTROLLER_H_ diff --git a/FlippR-Driver/src/output/OutputDriver.cpp b/FlippR-Driver/src/output/OutputDriver.cpp index 65f6325..8f83ad3 100644 --- a/FlippR-Driver/src/output/OutputDriver.cpp +++ b/FlippR-Driver/src/output/OutputDriver.cpp @@ -2,7 +2,7 @@ * OutputDriver.cpp * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "OutputDriver.h" diff --git a/FlippR-Driver/src/output/OutputDriver.h b/FlippR-Driver/src/output/OutputDriver.h index bf41863..b6f51fe 100644 --- a/FlippR-Driver/src/output/OutputDriver.h +++ b/FlippR-Driver/src/output/OutputDriver.h @@ -2,7 +2,7 @@ * OutputDriver.h * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_OUTPUTDRIVER_H_ diff --git a/FlippR-Driver/src/output/items/Display.h b/FlippR-Driver/src/output/items/Display.h index dd33c69..e073bd0 100644 --- a/FlippR-Driver/src/output/items/Display.h +++ b/FlippR-Driver/src/output/items/Display.h @@ -2,7 +2,7 @@ * Display.h * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_DISPLAY_H_ diff --git a/FlippR-Driver/src/output/items/IDisplay.h b/FlippR-Driver/src/output/items/IDisplay.h index 34794d5..a4afd2d 100644 --- a/FlippR-Driver/src/output/items/IDisplay.h +++ b/FlippR-Driver/src/output/items/IDisplay.h @@ -2,7 +2,7 @@ * IDisplay.h * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_IDISPLAY_H_ diff --git a/FlippR-Driver/src/output/items/IItem.h b/FlippR-Driver/src/output/items/IItem.h index 03e0942..d588c86 100644 --- a/FlippR-Driver/src/output/items/IItem.h +++ b/FlippR-Driver/src/output/items/IItem.h @@ -2,7 +2,7 @@ * ICabinetItem.h * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_ICABINETITEM_H_ diff --git a/FlippR-Driver/src/output/items/Item.h b/FlippR-Driver/src/output/items/Item.h index c541762..b91dbe8 100644 --- a/FlippR-Driver/src/output/items/Item.h +++ b/FlippR-Driver/src/output/items/Item.h @@ -2,7 +2,7 @@ * CabinetItem.h * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_CABINETITEM_H_ @@ -25,11 +25,11 @@ namespace items class OutputItem : public IOutputItem { public: - OutputItem(std::shared_ptr output_gpio_interface, unsigned int address, unsigned int i2c_address, unsigned int data_pin_address, std::string name); + OutputItem(std::shared_ptr output_gpio_interface, u_int8_t address, std::string name); virtual ~OutputItem(); public: - const unsigned int address, i2c_address, data_pin_address; + const u_int8_t address; const std::string name; protected: diff --git a/FlippR-Driver/src/output/items/Lamp.cpp b/FlippR-Driver/src/output/items/Lamp.cpp index 9183d68..fb90eb3 100644 --- a/FlippR-Driver/src/output/items/Lamp.cpp +++ b/FlippR-Driver/src/output/items/Lamp.cpp @@ -2,7 +2,7 @@ * Lamp.cpp * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "Lamp.h" diff --git a/FlippR-Driver/src/output/items/Lamp.h b/FlippR-Driver/src/output/items/Lamp.h index a8a8494..156bf08 100644 --- a/FlippR-Driver/src/output/items/Lamp.h +++ b/FlippR-Driver/src/output/items/Lamp.h @@ -2,7 +2,7 @@ * Lamp.h * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_LAMP_H_ @@ -21,7 +21,7 @@ namespace items class Lamp : public OutputItem, ILamp { public: - Lamp(std::shared_ptr output_gpio_interface, unsigned int address, unsigned int i2c_address, unsigned int data_pin, std::string name); + Lamp(std::shared_ptr output_gpio_interface, u_int8_t address, std::string name); virtual ~Lamp() = default; void activate(); diff --git a/FlippR-Driver/src/output/items/Solenoid.cpp b/FlippR-Driver/src/output/items/Solenoid.cpp index c99fa75..ecd9e21 100644 --- a/FlippR-Driver/src/output/items/Solenoid.cpp +++ b/FlippR-Driver/src/output/items/Solenoid.cpp @@ -2,7 +2,7 @@ * Solenoid.cpp * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "Solenoid.h" diff --git a/FlippR-Driver/src/output/items/Solenoid.h b/FlippR-Driver/src/output/items/Solenoid.h index 03b6334..5a70fb4 100644 --- a/FlippR-Driver/src/output/items/Solenoid.h +++ b/FlippR-Driver/src/output/items/Solenoid.h @@ -2,7 +2,7 @@ * Solenoid.h * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_SOLENOID_H_ diff --git a/FlippR-Driver/src/output/items/Sound.cpp b/FlippR-Driver/src/output/items/Sound.cpp index bfaa9d7..918987b 100644 --- a/FlippR-Driver/src/output/items/Sound.cpp +++ b/FlippR-Driver/src/output/items/Sound.cpp @@ -2,7 +2,7 @@ * Sound.cpp * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "Sound.h" diff --git a/FlippR-Driver/src/output/items/Sound.h b/FlippR-Driver/src/output/items/Sound.h index f5909f0..3376c9d 100644 --- a/FlippR-Driver/src/output/items/Sound.h +++ b/FlippR-Driver/src/output/items/Sound.h @@ -2,7 +2,7 @@ * Sound.h * * Created on: Aug 2, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_SOUND_H_ diff --git a/FlippR-Driver/src/utility/BlockingQueue.hpp b/FlippR-Driver/src/utility/BlockingQueue.hpp index ec955fd..886902e 100644 --- a/FlippR-Driver/src/utility/BlockingQueue.hpp +++ b/FlippR-Driver/src/utility/BlockingQueue.hpp @@ -2,7 +2,7 @@ * BlockingQueue.hpp * * Created on: May 17, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_UTILITIES_BLOCKINGQUEUE_HPP_ diff --git a/FlippR-Driver/src/utility/DisplayGPIOInterface.cpp b/FlippR-Driver/src/utility/DisplayGPIOInterface.cpp index bde212d..8ea2aec 100644 --- a/FlippR-Driver/src/utility/DisplayGPIOInterface.cpp +++ b/FlippR-Driver/src/utility/DisplayGPIOInterface.cpp @@ -2,7 +2,7 @@ * DisplayGPIOInterface.cpp * * Created on: Nov 9, 2018 - * Author: johannes + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "DisplayGPIOInterface.h" diff --git a/FlippR-Driver/src/utility/DisplayGPIOInterface.h b/FlippR-Driver/src/utility/DisplayGPIOInterface.h index 4a246b5..d7849e3 100644 --- a/FlippR-Driver/src/utility/DisplayGPIOInterface.h +++ b/FlippR-Driver/src/utility/DisplayGPIOInterface.h @@ -2,7 +2,7 @@ * DisplayGPIOInterface.h * * Created on: Nov 9, 2018 - * Author: johannes + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_UTILITY_DISPLAYGPIOINTERFACE_H_ diff --git a/FlippR-Driver/src/utility/GPIOInterface.cpp b/FlippR-Driver/src/utility/GPIOInterface.cpp index 2b8bf0f..52757b7 100644 --- a/FlippR-Driver/src/utility/GPIOInterface.cpp +++ b/FlippR-Driver/src/utility/GPIOInterface.cpp @@ -2,7 +2,7 @@ * GPIOInterface.cpp * * Created on: Jun 15, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "GPIOInterface.h" @@ -29,6 +29,11 @@ void GPIOInterface::initialize_input_pin(char address) pinMode(address, INPUT); } +void GPIOInterface::initialize_output_pin(char address) +{ + pinMode(address, OUTPUT); +} + void GPIOInterface::write_pin(char address, char data) { digitalWrite(address, data); @@ -39,10 +44,6 @@ bool GPIOInterface::read_pin(char address) return PULLDOWN == digitalRead(address); } -void GPIOInterface::initialize_output_pin(char address) -{ - pinMode(address, OUTPUT); -} } } diff --git a/FlippR-Driver/src/utility/GPIOInterface.h b/FlippR-Driver/src/utility/GPIOInterface.h index c6e62b8..bbfa88a 100644 --- a/FlippR-Driver/src/utility/GPIOInterface.h +++ b/FlippR-Driver/src/utility/GPIOInterface.h @@ -7,7 +7,7 @@ * TODO * * Created on: May 6, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_UTILITIES_GPIOINTERFACE_H_ diff --git a/FlippR-Driver/src/utility/IBlockingQueue.h b/FlippR-Driver/src/utility/IBlockingQueue.h index 1db1f67..81f9fa6 100644 --- a/FlippR-Driver/src/utility/IBlockingQueue.h +++ b/FlippR-Driver/src/utility/IBlockingQueue.h @@ -2,7 +2,7 @@ * BlockingQueue.hpp * * Created on: May 17, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_UTILITIES_IBLOCKINGQUEUE_H_ diff --git a/FlippR-Driver/src/utility/IInputGPIOInterface.h b/FlippR-Driver/src/utility/IInputGPIOInterface.h index b1ddf9a..58096b3 100644 --- a/FlippR-Driver/src/utility/IInputGPIOInterface.h +++ b/FlippR-Driver/src/utility/IInputGPIOInterface.h @@ -2,7 +2,7 @@ * InputGPIOInterface.h * * Created on: May 31, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_UTILITIES_IINPUTGPIOINTERFACE_H_ diff --git a/FlippR-Driver/src/utility/InputGPIOInterface.cpp b/FlippR-Driver/src/utility/InputGPIOInterface.cpp index 90d0cbf..98acb50 100644 --- a/FlippR-Driver/src/utility/InputGPIOInterface.cpp +++ b/FlippR-Driver/src/utility/InputGPIOInterface.cpp @@ -2,7 +2,7 @@ * InputGPIOInterface.cpp * * Created on: May 31, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include diff --git a/FlippR-Driver/src/utility/InputGPIOInterface.h b/FlippR-Driver/src/utility/InputGPIOInterface.h index 5f392ca..82bd4c2 100644 --- a/FlippR-Driver/src/utility/InputGPIOInterface.h +++ b/FlippR-Driver/src/utility/InputGPIOInterface.h @@ -2,7 +2,7 @@ * InputGPIOInterface.h * * Created on: May 31, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_UTILITIES_INPUTGPIOINTERFACE_H_ diff --git a/FlippR-Driver/src/utility/LoggerFactory.h b/FlippR-Driver/src/utility/LoggerFactory.h index d76ca76..7c380b4 100644 --- a/FlippR-Driver/src/utility/LoggerFactory.h +++ b/FlippR-Driver/src/utility/LoggerFactory.h @@ -2,7 +2,7 @@ * LoggerFactory.hpp * * Created on: Jun 19, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_UTILITIES_LOGGERFACTORY_HPP_ diff --git a/FlippR-Driver/src/utility/OutputGPIOInterface.cpp b/FlippR-Driver/src/utility/OutputGPIOInterface.cpp index 753e61a..3739162 100644 --- a/FlippR-Driver/src/utility/OutputGPIOInterface.cpp +++ b/FlippR-Driver/src/utility/OutputGPIOInterface.cpp @@ -2,7 +2,7 @@ * OutputGPIOInterface.h * * Created on: May 31, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "OutputGPIOInterface.h" @@ -18,18 +18,56 @@ OutputGPIOInterface::OutputGPIOInterface(std::istream &output_config_stream) json output_config; output_config_stream >> output_config; - parse_pin_bases(output_config); + parse_output_config(output_config); initialize_i2c_addresses(output_config); initialize_pins(); } -void OutputGPIOInterface::initialize_i2c_addresses(json &output_config) +void OutputGPIOInterface::parse_output_config(json &output_config) { - mcp23017Setup(i2c_address_driver_board, parse_i2c_address_driver_board(output_config)); - mcp23017Setup(i2c_address_sounds, parse_i2c_address_sound_board(output_config)); - mcp23017Setup(pin_base_displays, parse_i2c_address_display_board(output_config)); + parse_pins_driver_board(output_config.at("driver_board")); + parse_pins_sound(output_config.at("sound_board")); + parse_pins_sound(output_config.at("display_board")); +} + +void OutputGPIOInterface::parse_pins_driver_board(json &driver_board_config) +{ + +} + +void OutputGPIOInterface::parse_pins_sound(json &sound_board_config) +{ + +} + +void OutputGPIOInterface::parse_pins_display(json &display_board_config) +{ + +} + +void OutputGPIOInterface::initialize_pins() +{ + // Since this are all outputs we just initialize everything as output conveniently + initialize_all_pins(pins_driver_board["pin_base"]); + initialize_all_pins(pins_sound_board["pin_base"]); + initialize_all_pins(pins_display_board["pin_base"]); +} + +void OutputGPIOInterface::initialize_all_pins(u_int8_t pin_base) +{ + for(int i = 0; i < 16; i++) + { + initialize_output_pin(pin_base + i); + } +} + +void OutputGPIOInterface::initialize_i2c_addresses() +{ + mcp23017Setup(pins_driver_board["pin_base"], pins_driver_board["i2c_address"]); + mcp23017Setup(pins_sound_board["pin_base"], pins_sound_board["i2c_address"]); + mcp23017Setup(pins_display_board["pin_base"], pins_display_board["i2c_address"]); } void OutputGPIOInterface::activate_output_item(IOutputItem *item) diff --git a/FlippR-Driver/src/utility/OutputGPIOInterface.h b/FlippR-Driver/src/utility/OutputGPIOInterface.h index 678cacc..31d5ac1 100644 --- a/FlippR-Driver/src/utility/OutputGPIOInterface.h +++ b/FlippR-Driver/src/utility/OutputGPIOInterface.h @@ -2,7 +2,7 @@ * OutputGPIOInterface.h * * Created on: May 31, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_UTILITIES_OUTPUTGPIOINTERFACE_H_ @@ -15,7 +15,7 @@ #include #include - +#include namespace flippR_driver { namespace utility @@ -23,6 +23,7 @@ namespace utility class OutputGPIOInterface : public GPIOInterface { +using namespace nlohmann; public: OutputGPIOInterface(std::istream &output_config_stream); @@ -40,27 +41,23 @@ public: void write_display(output::items::IDisplay &display); private: - void parse_pin_bases(json &output_config_stream); - void initialize_i2c_addresses(json &output_config); - - char parse_i2c_address_driver_board(json &output_config_stream); - char parse_i2c_address_sound_board(json &output_config_stream); - char parse_i2c_address_display_board(json &output_config_stream); + void parse_output_config(json &output_config); + void parse_pins_driver_board(json &driver_board_config); + void parse_pins_sound(json &sound_board_config); + void parse_pins_display(json &display_board_config); + void initialize_i2c_addresses(); void initialize_pins(); + void initialize_all_pins(u_int8_t pin_base); void activate(output::items::IOutputItem outputItem); private: std::mutex output_item_mutex; - unsigned int pin_base_driver_board; - unsigned int pin_base_sounds; - unsigned int pin_base_displays; - - - - + std::map pins_driver_board = {{"i2c_address", 0}, {"pin_base", 0}, {"data", 0}. {"CL", 0}, {"latch-select-A", "0"}, {"latch-select-B", "0"}, {"latch-select-C", 0}, {"mux1", 0}, {"mux2", 0}, {"pin-select-A", 0}, {"pin-select-B", 0}, {"pin-select-C", 0}}; + std::map pins_sound = {{"i2c_address", 0}, {"pin_base", 0}, {"fire", 0}. {"A", 0}, {"B", "0"}, {"C", "0"}, {"D", 0}, {"E", 0}, {"F", 0}, {"G", 0}}; + std::map pins_display = {{"i2c_address", 0}, {"pin_base", 0}, {"fire", 0}. {"A", 0}, {"B", "0"}, {"C", "0"}, {"D", 0}, {"E", 0}, {"F", 0}, {"G", 0}}; }; } diff --git a/FlippR-Driver/src/utility/config.h b/FlippR-Driver/src/utility/config.h index 26295d9..78af372 100644 --- a/FlippR-Driver/src/utility/config.h +++ b/FlippR-Driver/src/utility/config.h @@ -2,7 +2,7 @@ * BlockingQueue.hpp * * Created on: May 17, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "easylogging++.h" diff --git a/FlippR-Driver/tests/input/TestDetector.cpp b/FlippR-Driver/tests/input/TestDetector.cpp index e27c802..0c19601 100644 --- a/FlippR-Driver/tests/input/TestDetector.cpp +++ b/FlippR-Driver/tests/input/TestDetector.cpp @@ -2,7 +2,7 @@ * TestDetector.cpp * * Created on: Jun 27, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ diff --git a/FlippR-Driver/tests/input/TestEventHandler.cpp b/FlippR-Driver/tests/input/TestEventHandler.cpp index 98b6985..10de7d9 100644 --- a/FlippR-Driver/tests/input/TestEventHandler.cpp +++ b/FlippR-Driver/tests/input/TestEventHandler.cpp @@ -2,7 +2,7 @@ * TestEventHandler.cpp * * Created on: Jun 28, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "catch.hpp" diff --git a/FlippR-Driver/tests/input/TestEventNotifier.cpp b/FlippR-Driver/tests/input/TestEventNotifier.cpp index 0753e7f..6032695 100644 --- a/FlippR-Driver/tests/input/TestEventNotifier.cpp +++ b/FlippR-Driver/tests/input/TestEventNotifier.cpp @@ -2,7 +2,7 @@ * TestEventNotifier.cpp * * Created on: Jun 19, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ diff --git a/FlippR-Driver/tests/input/TestInputDriver.cpp b/FlippR-Driver/tests/input/TestInputDriver.cpp index 0aebf36..daa858f 100644 --- a/FlippR-Driver/tests/input/TestInputDriver.cpp +++ b/FlippR-Driver/tests/input/TestInputDriver.cpp @@ -2,7 +2,7 @@ * TestInputDriver.cpp * * Created on: May 31, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "catch.hpp" diff --git a/FlippR-Driver/tests/main.cpp b/FlippR-Driver/tests/main.cpp index f01ff5f..519b7db 100644 --- a/FlippR-Driver/tests/main.cpp +++ b/FlippR-Driver/tests/main.cpp @@ -2,7 +2,7 @@ * tests-main.cpp * * Created on: May 6, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #define CATCH_CONFIG_MAIN diff --git a/FlippR-Driver/tests/output/TestDisplay.cpp b/FlippR-Driver/tests/output/TestDisplay.cpp index b21bcce..4c46e68 100644 --- a/FlippR-Driver/tests/output/TestDisplay.cpp +++ b/FlippR-Driver/tests/output/TestDisplay.cpp @@ -2,7 +2,7 @@ * TestDisplay.cpp * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ diff --git a/FlippR-Driver/tests/output/TestDisplayController.cpp b/FlippR-Driver/tests/output/TestDisplayController.cpp index ab4e4ca..57a7e73 100644 --- a/FlippR-Driver/tests/output/TestDisplayController.cpp +++ b/FlippR-Driver/tests/output/TestDisplayController.cpp @@ -2,7 +2,7 @@ * TestDisplayController.cpp * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "catch.hpp" diff --git a/FlippR-Driver/tests/output/TestLamp.cpp b/FlippR-Driver/tests/output/TestLamp.cpp index 0b083a6..d5a6ab0 100644 --- a/FlippR-Driver/tests/output/TestLamp.cpp +++ b/FlippR-Driver/tests/output/TestLamp.cpp @@ -2,7 +2,7 @@ * TestLamp.cpp * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "catch.hpp" diff --git a/FlippR-Driver/tests/output/TestOutputDriver.cpp b/FlippR-Driver/tests/output/TestOutputDriver.cpp index 04ef307..e11add3 100644 --- a/FlippR-Driver/tests/output/TestOutputDriver.cpp +++ b/FlippR-Driver/tests/output/TestOutputDriver.cpp @@ -2,7 +2,7 @@ * TestOutputDriver.cpp * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "catch.hpp" diff --git a/FlippR-Driver/tests/output/TestOutputItem.cpp b/FlippR-Driver/tests/output/TestOutputItem.cpp index 883dc0d..6720e17 100644 --- a/FlippR-Driver/tests/output/TestOutputItem.cpp +++ b/FlippR-Driver/tests/output/TestOutputItem.cpp @@ -2,7 +2,7 @@ * TestCabinetItem.cpp * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ diff --git a/FlippR-Driver/tests/output/TestSolenoid.cpp b/FlippR-Driver/tests/output/TestSolenoid.cpp index 048ae85..cc566d2 100644 --- a/FlippR-Driver/tests/output/TestSolenoid.cpp +++ b/FlippR-Driver/tests/output/TestSolenoid.cpp @@ -2,7 +2,7 @@ * TestSolenoid.cpp * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ diff --git a/FlippR-Driver/tests/output/TestSound.cpp b/FlippR-Driver/tests/output/TestSound.cpp index 112b48f..a9db9bf 100644 --- a/FlippR-Driver/tests/output/TestSound.cpp +++ b/FlippR-Driver/tests/output/TestSound.cpp @@ -2,7 +2,7 @@ * TestSound.cpp * * Created on: Aug 7, 2018 - * Author: rhetenor + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "catch.hpp"