10 static auto start = clock_type::now();
29 desiredRate(
'\0', name +
"-rate",
"throttle rate for " + name, 0),
30 tau(
'\0', name +
"-tau",
"time constant for " + name, 1),
31 p(
'\0', name +
"-p",
"prop constant for " + name, 1),
32 i(
'\0', name +
"-i",
"integral constant for " + name, 1),
40 auto now = clock_type::now();
41 auto dt = std::chrono::duration_cast<std::chrono::duration<double>>(now -
lastStop).count();
42 auto factor = dt /
tau;
62 std::this_thread::sleep_for(std::chrono::duration<double>(w));
64 template <
typename T,
class ... Types> T
action(T (*
f)(Types...), Types ... args) {
66 auto result =
f(args ...);