Files
flippr-code/FlippR-Driver/src/input/Detector.h
Jonas Zeunert ab63adde93 adding comment
2018-05-31 20:24:31 +02:00

56 lines
1022 B
C++

/*
* Detector.h
*
* Responsible for detecting InputEvents.
*
* Creates two Threads;
* One cycles over the inputs gpios and pushes detected input events to a queue.
* 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
*/
#ifndef DETECTOR_H_
#define DETECTOR_H_
#include <thread>
#include <map>
#include "../utilities/InputGPIOInterface.h"
#include "Event.hpp"
#include "EventNotifier.h"
#define SLEEP_DURATION_NANO 900
namespace Input
{
class Detector
{
public:
Detector(InputGPIOInterface* input_gpio_interface, std::map<char, Event> events, EventNotifier* event_notifier);
~Detector();
private:
void detect();
bool check_inputs(char& address);
private:
InputGPIOInterface* input_gpio_interface;
std::map<char, Event> events;
EventNotifier* event_notifier;
bool is_running;
std::thread detect_thread;
};
}
#endif /* DETECTOR_H_ */