Convert y2014 to y2016, and get the drivetrain running.

I made a y2016 folder based on what was in y2014. Right now, it only has
a drivetrain control loop, and all the constants are not up to date with
the current CAD design. Changes from y2014 can be viewed by comparing to
the BASE commit, since I put this commit on top of a dummy y2014 folder
renamed y2016. Hope this helps.

Change-Id: I3f1d1d1a14a99ac441c51b2a67cbade7cbd708ab
diff --git a/y2016/constants.h b/y2016/constants.h
index a31e9c0..5f55938 100644
--- a/y2016/constants.h
+++ b/y2016/constants.h
@@ -1,12 +1,12 @@
-#ifndef Y2014_CONSTANTS_H_
-#define Y2014_CONSTANTS_H_
+#ifndef Y2016_CONSTANTS_H_
+#define Y2016_CONSTANTS_H_
 
 #include <stdint.h>
 
-#include "frc971/control_loops/state_feedback_loop.h"
 #include "frc971/shifter_hall_effect.h"
+#include "frc971/control_loops/state_feedback_loop.h"
 
-namespace y2014 {
+namespace y2016 {
 namespace constants {
 
 using ::frc971::constants::ShifterHallEffect;
@@ -20,14 +20,6 @@
 
 // This structure contains current values for all of the things that change.
 struct Values {
-  // This is useful for representing the 2 sides of a hall effect sensor etc.
-  struct AnglePair {
-    // The angles for increasing values (posedge on lower, negedge on upper).
-    double lower_angle, upper_angle;
-    // The angles for decreasing values (negedge on lower, posedge on upper).
-    double lower_decreasing_angle, upper_decreasing_angle;
-  };
-
   // The ratio from the encoder shaft to the drivetrain wheels.
   double drivetrain_encoder_ratio;
 
@@ -36,7 +28,6 @@
   double low_gear_ratio;
   double high_gear_ratio;
   ShifterHallEffect left_drive, right_drive;
-  bool clutch_transmission;
 
   double turn_width;
 
@@ -44,92 +35,6 @@
   ::std::function<StateFeedbackLoop<4, 2, 2>()> make_drivetrain_loop;
 
   double drivetrain_max_speed;
-
-  struct ZeroingConstants {
-    // The number of samples in the moving average filter.
-    int average_filter_size;
-    // The difference in scaled units between two index pulses.
-    double index_difference;
-    // The absolute position in scaled units of one of the index pulses.
-    double measured_index_position;
-    // Value between 0 and 1 which determines a fraction of the index_diff
-    // you want to use.
-    double allowable_encoder_error;
-  };
-
-  // Defines a range of motion for a subsystem.
-  // These are all absolute positions in scaled units.
-  struct Range {
-    double lower_limit;
-    double upper_limit;
-    double lower_hard_limit;
-    double upper_hard_limit;
-  };
-
-  struct Shooter {
-    double lower_limit;
-    double upper_limit;
-    double lower_hard_limit;
-    double upper_hard_limit;
-    // If the plunger is further back than this position, it is safe for the
-    // latch to be down.  Anything else would be considered a collision.
-    double latch_max_safe_position;
-    AnglePair plunger_back;
-    AnglePair pusher_distal;
-    AnglePair pusher_proximal;
-    double zeroing_speed;
-    double unload_speed;
-  };
-
-  Shooter shooter;
-
-  struct Claws {
-    double claw_zeroing_off_speed;
-    double claw_zeroing_speed;
-    double claw_zeroing_separation;
-
-    // claw separation that would be considered a collision
-    double claw_min_separation;
-    double claw_max_separation;
-
-    // We should never get closer/farther than these.
-    double soft_min_separation;
-    double soft_max_separation;
-
-    // Three hall effects are known as front, calib and back
-    typedef Values::AnglePair AnglePair;
-
-    struct Claw {
-      double lower_hard_limit;
-      double upper_hard_limit;
-      double lower_limit;
-      double upper_limit;
-      AnglePair front;
-      AnglePair calibration;
-      AnglePair back;
-    };
-
-    Claw upper_claw;
-    Claw lower_claw;
-
-    double claw_unimportant_epsilon;
-    double start_fine_tune_pos;
-    double max_zeroing_voltage;
-  };
-  Claws claw;
-
-  // Has all the constants for the ShootAction class.
-  struct ShooterAction {
-    // Minimum separation required between the claws in order to be able to
-    // shoot.
-    double claw_shooting_separation;
-
-    // Goal to send to the claw when opening it up in preparation for shooting;
-    // should be larger than claw_shooting_separation so that we can shoot
-    // promptly.
-    double claw_separation_goal;
-   };
-  ShooterAction shooter_action;
 };
 
 // Creates (once) a Values instance for ::aos::network::GetTeamNumber() and
@@ -141,6 +46,6 @@
 const Values &GetValuesForTeam(uint16_t team_number);
 
 }  // namespace constants
-}  // namespace y2014
+}  // namespace y2016
 
-#endif  // Y2014_CONSTANTS_H_
+#endif  // Y2016_CONSTANTS_H_