Switch all robots over to use EventLoop
Stop using the old QueueGroup constructor for ControlLoop
Change-Id: I027febf86e75399a97cdb4dc50dbc475705e0393
diff --git a/frc971/control_loops/drivetrain/drivetrain.cc b/frc971/control_loops/drivetrain/drivetrain.cc
index 27a0a76..a06bc3b 100644
--- a/frc971/control_loops/drivetrain/drivetrain.cc
+++ b/frc971/control_loops/drivetrain/drivetrain.cc
@@ -29,11 +29,11 @@
namespace control_loops {
namespace drivetrain {
-DrivetrainLoop::DrivetrainLoop(
- const DrivetrainConfig<double> &dt_config,
- ::frc971::control_loops::DrivetrainQueue *my_drivetrain)
+DrivetrainLoop::DrivetrainLoop(const DrivetrainConfig<double> &dt_config,
+ ::aos::EventLoop *event_loop,
+ const ::std::string &name)
: aos::controls::ControlLoop<::frc971::control_loops::DrivetrainQueue>(
- my_drivetrain),
+ event_loop, name),
dt_config_(dt_config),
kf_(dt_config_.make_kf_drivetrain_loop()),
dt_openloop_(dt_config_, &kf_),
diff --git a/frc971/control_loops/drivetrain/drivetrain.h b/frc971/control_loops/drivetrain/drivetrain.h
index 9396aed..a357eab 100644
--- a/frc971/control_loops/drivetrain/drivetrain.h
+++ b/frc971/control_loops/drivetrain/drivetrain.h
@@ -22,9 +22,8 @@
// Constructs a control loop which can take a Drivetrain or defaults to the
// drivetrain at frc971::control_loops::drivetrain
explicit DrivetrainLoop(
- const DrivetrainConfig<double> &dt_config,
- ::frc971::control_loops::DrivetrainQueue *my_drivetrain =
- &::frc971::control_loops::drivetrain_queue);
+ const DrivetrainConfig<double> &dt_config, ::aos::EventLoop *event_loop,
+ const ::std::string &name = ".frc971.control_loops.drivetrain_queue");
int ControllerIndexFromGears();
diff --git a/frc971/control_loops/drivetrain/drivetrain_lib_test.cc b/frc971/control_loops/drivetrain/drivetrain_lib_test.cc
index bb5d5d9..5c1a8b4 100644
--- a/frc971/control_loops/drivetrain/drivetrain_lib_test.cc
+++ b/frc971/control_loops/drivetrain/drivetrain_lib_test.cc
@@ -103,11 +103,11 @@
// TODO(aschuh) Do we want to test the clutch one too?
DrivetrainSimulation()
: drivetrain_plant_(new DrivetrainPlant(MakeDrivetrainPlant())),
- my_drivetrain_queue_(".frc971.control_loops.drivetrain",
- ".frc971.control_loops.drivetrain.goal",
- ".frc971.control_loops.drivetrain.position",
- ".frc971.control_loops.drivetrain.output",
- ".frc971.control_loops.drivetrain.status"),
+ my_drivetrain_queue_(".frc971.control_loops.drivetrain_queue",
+ ".frc971.control_loops.drivetrain_queue.goal",
+ ".frc971.control_loops.drivetrain_queue.position",
+ ".frc971.control_loops.drivetrain_queue.output",
+ ".frc971.control_loops.drivetrain_queue.status"),
gyro_reading_(::frc971::sensors::gyro_reading.name()) {
Reinitialize();
last_U_.setZero();
@@ -219,17 +219,18 @@
// is no longer valid.
::frc971::control_loops::DrivetrainQueue my_drivetrain_queue_;
+ ::aos::ShmEventLoop event_loop_;
// Create a loop and simulation plant.
DrivetrainLoop drivetrain_motor_;
DrivetrainSimulation drivetrain_motor_plant_;
DrivetrainTest()
- : my_drivetrain_queue_(".frc971.control_loops.drivetrain",
- ".frc971.control_loops.drivetrain.goal",
- ".frc971.control_loops.drivetrain.position",
- ".frc971.control_loops.drivetrain.output",
- ".frc971.control_loops.drivetrain.status"),
- drivetrain_motor_(GetDrivetrainConfig(), &my_drivetrain_queue_),
+ : my_drivetrain_queue_(".frc971.control_loops.drivetrain_queue",
+ ".frc971.control_loops.drivetrain_queue.goal",
+ ".frc971.control_loops.drivetrain_queue.position",
+ ".frc971.control_loops.drivetrain_queue.output",
+ ".frc971.control_loops.drivetrain_queue.status"),
+ drivetrain_motor_(GetDrivetrainConfig(), &event_loop_),
drivetrain_motor_plant_() {
::frc971::sensors::gyro_reading.Clear();
set_battery_voltage(12.0);