1 #ifndef ORG_EEROS_CONTROL_D_HPP_ 2 #define ORG_EEROS_CONTROL_D_HPP_ 9 template <
typename T =
double >
14 this->
out.getSignal().clear();
19 prev = this->
in.getSignal();
20 this->
out.getSignal().setValue(0.0);
21 this->
out.getSignal().setTimestamp(this->
in.getSignal().getTimestamp());
25 double tin = this->
in.getSignal().getTimestamp() / 1000000000.0;
26 double tprev = this->
prev.getTimestamp() / 1000000000.0;
27 T valin = this->
in.getSignal().getValue();
28 T valprev = this->
prev.getValue();
31 if ((tin - tprev) == 0) valOut = valprev;
32 else valOut = (valin - valprev) / (tin - tprev);
34 this->
out.getSignal().setValue(valOut);
35 this->
out.getSignal().setTimestamp((this->
in.getSignal().getTimestamp() + this->
prev.getTimestamp()) / 2);
37 prev = this->
in.getSignal();
Input< T > in
Definition: Block1i1o.hpp:27
Definition: Config.hpp:14
bool first
Definition: D.hpp:43
Output< T > out
Definition: Block1i1o.hpp:28
Definition: Block1i1o.hpp:12
Definition: Signal.hpp:17
virtual void run()
Definition: D.hpp:17
Signal< T > prev
Definition: D.hpp:42