EEROS  1.0.0.0
API for the EEROS Real-Time Robotics Framework
ControlInput.hpp
Go to the documentation of this file.
1 #ifndef ORG_EEROS_SAFETY_CONTROLINPUT_HPP_
2 #define ORG_EEROS_SAFETY_CONTROLINPUT_HPP_
3 
4 
5 #include <stdint.h>
6 
10 #include <eeros/hal/Input.hpp>
11 
12 
13 namespace eeros {
14  namespace safety {
15 
16  template <typename T>
17  class ControlInput : public hal::Input<T> {
18  public:
19  ControlInput(std::string id, control::Input<T> &input);
20  ControlInput(std::string id, control::Output<T> &output);
21  ControlInput(std::string id, control::Signal<T> &signal);
22  virtual ~ControlInput();
23  virtual T get();
24  private:
25  control::Signal<T> &signal;
26  };
27 
28  template <typename T>
30  hal::Input<T>(id), signal(input.getSignal()) { }
31 
32  template <typename T>
34  hal::Input<T>(id), signal(output.getSignal()) { }
35 
36  template <typename T>
38  hal::Input<T>(id), signal(signal) { }
39 
40  template <typename T>
42 
43  template <typename T>
44  T ControlInput<T>::get() { return signal.getValue(); }
45 
46  }
47 }
48 
49 #endif // ORG_EEROS_SAFETY_CONTROLINPUT_HPP_
ControlInput(std::string id, control::Input< T > &input)
Definition: ControlInput.hpp:29
Definition: ControlInput.hpp:17
virtual ~ControlInput()
Definition: ControlInput.hpp:41
Definition: Input.hpp:17
Definition: Config.hpp:14
virtual T get()
Definition: ControlInput.hpp:44
Definition: Output.hpp:11
Input(std::string id, void *libHandle)
Definition: Input.hpp:19
Definition: Signal.hpp:17
Definition: Input.hpp:13