Added cangrabber auto.
Change-Id: I67c2b363df5fc3e431acf0cfd56c9537bb89804b
diff --git a/frc971/wpilib/loop_output_handler.cc b/frc971/wpilib/loop_output_handler.cc
index cb5e4ec..658b064 100644
--- a/frc971/wpilib/loop_output_handler.cc
+++ b/frc971/wpilib/loop_output_handler.cc
@@ -11,9 +11,8 @@
namespace frc971 {
namespace wpilib {
-constexpr ::aos::time::Time LoopOutputHandler::kStopTimeout;
-
-LoopOutputHandler::LoopOutputHandler() : watchdog_(this) {}
+LoopOutputHandler::LoopOutputHandler(const ::aos::time::Time &timeout)
+ : watchdog_(this, timeout) {}
void LoopOutputHandler::operator()() {
::aos::SetCurrentThreadName("OutputHandler");
@@ -44,8 +43,10 @@
watchdog_thread.join();
}
-LoopOutputHandler::Watchdog::Watchdog(LoopOutputHandler *handler)
+LoopOutputHandler::Watchdog::Watchdog(LoopOutputHandler *handler,
+ const ::aos::time::Time &timeout)
: handler_(handler),
+ timeout_(timeout),
timerfd_(timerfd_create(::aos::time::Time::kDefaultClock, 0)) {
if (timerfd_.get() == -1) {
PLOG(FATAL, "timerfd_create(Time::kDefaultClock, 0)");
@@ -64,7 +65,7 @@
void LoopOutputHandler::Watchdog::Reset() {
itimerspec value = itimerspec();
- value.it_value = kStopTimeout.ToTimespec();
+ value.it_value = timeout_.ToTimespec();
PCHECK(timerfd_settime(timerfd_.get(), 0, &value, nullptr));
}