made all the shooter tests pass again
There were a couple of little bugs in other stuff that broke the tests.
diff --git a/aos/linux_code/queue-tmpl.h b/aos/linux_code/queue-tmpl.h
index 98091cf..15029986 100644
--- a/aos/linux_code/queue-tmpl.h
+++ b/aos/linux_code/queue-tmpl.h
@@ -177,6 +177,7 @@
queue_ = NULL;
queue_msg_.set_queue(NULL);
}
+ index_ = 0;
}
template <class T>
diff --git a/frc971/control_loops/shooter/shooter.cc b/frc971/control_loops/shooter/shooter.cc
index fbd8c54..4a3e6e4 100755
--- a/frc971/control_loops/shooter/shooter.cc
+++ b/frc971/control_loops/shooter/shooter.cc
@@ -192,7 +192,8 @@
// Don't even let the control loops run.
bool shooter_loop_disable = false;
- const bool disabled = !::aos::robot_state->enabled;
+ const bool disabled =
+ !::aos::robot_state.get() || !::aos::robot_state->enabled;
// If true, move the goal if we saturate.
bool cap_goal = false;
diff --git a/frc971/control_loops/shooter/shooter_lib_test.cc b/frc971/control_loops/shooter/shooter_lib_test.cc
index ceb3beb..669e147 100755
--- a/frc971/control_loops/shooter/shooter_lib_test.cc
+++ b/frc971/control_loops/shooter/shooter_lib_test.cc
@@ -472,7 +472,7 @@
// power.
TEST_F(ShooterTest, LoadTooFar) {
shooter_queue_group_.goal.MakeWithBuilder().shot_power(500.0).Send();
- for (int i = 0; i < 300; ++i) {
+ for (int i = 0; i < 150; ++i) {
shooter_motor_plant_.SendPositionMessage();
shooter_motor_.Iterate();
shooter_motor_plant_.Simulate();