Test cases all pass. Wrist should be good. Made it a bit snappier.
diff --git a/aos/common/control_loop/ControlLoop-tmpl.h b/aos/common/control_loop/ControlLoop-tmpl.h
index 80d592a..a15d909 100644
--- a/aos/common/control_loop/ControlLoop-tmpl.h
+++ b/aos/common/control_loop/ControlLoop-tmpl.h
@@ -64,8 +64,10 @@
return;
}
}
- position->Print(state, sizeof(state));
- LOG(DEBUG, "position={%s}\n", state);
+ if (position) {
+ position->Print(state, sizeof(state));
+ LOG(DEBUG, "position={%s}\n", state);
+ }
}
bool outputs_enabled = false;
diff --git a/aos/common/control_loop/ControlLoop.h b/aos/common/control_loop/ControlLoop.h
index e866bb7..ac88c98 100644
--- a/aos/common/control_loop/ControlLoop.h
+++ b/aos/common/control_loop/ControlLoop.h
@@ -49,9 +49,9 @@
public:
// Maximum age of position packets before the loop will be disabled due to
// invalid position data.
- static const int kPositionTimeoutMs = 100;
+ static const int kPositionTimeoutMs = 1000;
// Maximum age of driver station packets before the loop will be disabled.
- static const int kDSPacketTimeoutMs = 100;
+ static const int kDSPacketTimeoutMs = 500;
ControlLoop(T *control_loop) : control_loop_(control_loop) {}