Make the internal control loop type a template argument.
We need this to switch the statespace loops over to floats for the
pistol grip controller. Also, plumb it up to the control loop writer.
Change-Id: I9e12d8d69ea7027861b488c06b45f791c71c4eb3
diff --git a/y2017/control_loops/superstructure/shooter/shooter.cc b/y2017/control_loops/superstructure/shooter/shooter.cc
index 03abd99..f8bfecf 100644
--- a/y2017/control_loops/superstructure/shooter/shooter.cc
+++ b/y2017/control_loops/superstructure/shooter/shooter.cc
@@ -23,7 +23,8 @@
// TODO(austin): Pseudo current limit?
ShooterController::ShooterController()
- : loop_(new StateFeedbackLoop<4, 1, 1, StateFeedbackHybridPlant<4, 1, 1>,
+ : loop_(new StateFeedbackLoop<4, 1, 1, double,
+ StateFeedbackHybridPlant<4, 1, 1>,
HybridKalman<4, 1, 1>>(
superstructure::shooter::MakeIntegralShooterLoop())) {
history_.fill(0);
diff --git a/y2017/control_loops/superstructure/shooter/shooter.h b/y2017/control_loops/superstructure/shooter/shooter.h
index d13d94c..3a9f3f9 100644
--- a/y2017/control_loops/superstructure/shooter/shooter.h
+++ b/y2017/control_loops/superstructure/shooter/shooter.h
@@ -50,8 +50,9 @@
// The current sensor measurement.
Eigen::Matrix<double, 1, 1> Y_;
// The control loop.
- ::std::unique_ptr<StateFeedbackLoop<
- 4, 1, 1, StateFeedbackHybridPlant<4, 1, 1>, HybridKalman<4, 1, 1>>>
+ ::std::unique_ptr<
+ StateFeedbackLoop<4, 1, 1, double, StateFeedbackHybridPlant<4, 1, 1>,
+ HybridKalman<4, 1, 1>>>
loop_;
// History array for calculating a filtered angular velocity.