From 13a84402c8e6c3c5fbe923b9c538e877f9dd3dcd Mon Sep 17 00:00:00 2001 From: Neeflix Date: Fri, 15 Jun 2018 00:15:02 +0200 Subject: [PATCH] some important hanges --- FlippR-Driver/src/utilities/BlockingQueue.cpp | 19 +++++++++++++++++++ FlippR-Driver/src/utilities/BlockingQueue.h | 16 ++-------------- FlippR-Driver/src/utilities/GPIOInterface.cpp | 13 +++++++++++++ FlippR-Driver/src/utilities/GPIOInterface.h | 11 +---------- 4 files changed, 35 insertions(+), 24 deletions(-) diff --git a/FlippR-Driver/src/utilities/BlockingQueue.cpp b/FlippR-Driver/src/utilities/BlockingQueue.cpp index 6355c04..7ba8682 100644 --- a/FlippR-Driver/src/utilities/BlockingQueue.cpp +++ b/FlippR-Driver/src/utilities/BlockingQueue.cpp @@ -5,6 +5,25 @@ * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht */ +#include "BlockingQueue.h" + +template +void BlockingQueue::push(T const& value) +{ + std::unique_lock lock(this->d_mutex); + p_queue.push(value); + this->d_condition.notify_one(); +} + +template +T BlockingQueue::pop() +{ + std::unique_lock lock(this->d_mutex); + this->d_condition.wait(lock, [=]{ return !this->p_queue.empty(); }); + T rc = *this->p_queue.end(); + this->p_queue.pop(); + return rc; +} diff --git a/FlippR-Driver/src/utilities/BlockingQueue.h b/FlippR-Driver/src/utilities/BlockingQueue.h index 1d38aec..5820875 100644 --- a/FlippR-Driver/src/utilities/BlockingQueue.h +++ b/FlippR-Driver/src/utilities/BlockingQueue.h @@ -23,21 +23,9 @@ private: heap::priority_queue> p_queue; public: - void push(T const& value) - { - std::unique_lock lock(this->d_mutex); - p_queue.push(value); - this->d_condition.notify_one(); - } + void push(T const& value); - T pop() - { - std::unique_lock lock(this->d_mutex); - this->d_condition.wait(lock, [=]{ return !this->p_queue.empty(); }); - T rc = *this->p_queue.end(); - this->p_queue.pop(); - return rc; - } + T pop(); }; diff --git a/FlippR-Driver/src/utilities/GPIOInterface.cpp b/FlippR-Driver/src/utilities/GPIOInterface.cpp index 7a5d373..60e4739 100644 --- a/FlippR-Driver/src/utilities/GPIOInterface.cpp +++ b/FlippR-Driver/src/utilities/GPIOInterface.cpp @@ -5,6 +5,19 @@ * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht */ +#include "GPIOInterface.h" + +#include "../lib/wiringPi/wiringPi.h" +#include "../lib/json/json.hpp" +static void GPIOInterface::write_pin(char address, char data) +{ + digitalWrite(address, data); +} + +static bool GPIOInterface::read_pin(char address) +{ + return digitalRead(address); +} diff --git a/FlippR-Driver/src/utilities/GPIOInterface.h b/FlippR-Driver/src/utilities/GPIOInterface.h index eea0979..0858b78 100644 --- a/FlippR-Driver/src/utilities/GPIOInterface.h +++ b/FlippR-Driver/src/utilities/GPIOInterface.h @@ -16,24 +16,15 @@ #include #include "config.h" -#include "../lib/wiringPi/wiringPi.h" -#include "../lib/json/json.hpp" - class GPIOInterface { public: GPIOInterface(); virtual ~GPIOInterface(); - static void write_pin(char address, char data) - { - digitalWrite(address, data); - } + static void write_pin(char address, char data); static bool read_pin(char address) - { - return digitalRead(address); - } };