Added automatic delay after firing the latch piston.

Change-Id: I5ff7292990d496cd3f33fbb82a36b79ec8923e8e
diff --git a/bot3/joystick_reader.cc b/bot3/joystick_reader.cc
index 2cc555d..e45211b 100644
--- a/bot3/joystick_reader.cc
+++ b/bot3/joystick_reader.cc
@@ -72,9 +72,9 @@
 
 const ButtonLocation kScoreBegin(4, 8);
 
-const ButtonLocation kCanGrabberLift(2, 1);
+const ButtonLocation kCanGrabberLift(3, 2);
 const ButtonLocation kFastCanGrabberLift(2, 3);
-const ButtonLocation kCanGrabberLower(2, 2);
+const ButtonLocation kCanGrabberLower(3, 5);
 
 class Reader : public ::aos::input::JoystickInput {
  public:
@@ -267,13 +267,21 @@
     // Buttons for can grabber.
     if (data.IsPressed(kCanGrabberLift)) {
       ::bot3::autonomous::can_grabber_control.MakeWithBuilder()
-          .can_grabber_voltage(-4).can_grabbers(false).Send();
+          .can_grabber_voltage(-3).can_grabbers(false).Send();
     } else if (data.IsPressed(kFastCanGrabberLift)) {
       ::bot3::autonomous::can_grabber_control.MakeWithBuilder()
           .can_grabber_voltage(-12).can_grabbers(false).Send();
     } else if (data.IsPressed(kCanGrabberLower)) {
-      ::bot3::autonomous::can_grabber_control.MakeWithBuilder()
-          .can_grabber_voltage(4).can_grabbers(true).Send();
+      if (grab_delay_ > 5) {
+        ::bot3::autonomous::can_grabber_control.MakeWithBuilder()
+            .can_grabber_voltage(2).can_grabbers(true).Send();
+      } else {
+        ::bot3::autonomous::can_grabber_control.MakeWithBuilder()
+            .can_grabber_voltage(0).can_grabbers(true).Send();
+      }
+      ++grab_delay_;
+    } else {
+      grab_delay_ = 0;
     }
 
     // Send our goals if everything looks OK.
@@ -361,6 +369,7 @@
   ::aos::util::SimpleLogInterval no_drivetrain_status_ =
       ::aos::util::SimpleLogInterval(::aos::time::Time::InSeconds(0.2), WARNING,
                                      "no drivetrain status");
+  int grab_delay_ = 0;
 };
 
 }  // namespace joysticks