Switch all robots over to use EventLoop
Stop using the old QueueGroup constructor for ControlLoop
Change-Id: I027febf86e75399a97cdb4dc50dbc475705e0393
diff --git a/y2017/control_loops/superstructure/BUILD b/y2017/control_loops/superstructure/BUILD
index 732c6dc..e7e6f73 100644
--- a/y2017/control_loops/superstructure/BUILD
+++ b/y2017/control_loops/superstructure/BUILD
@@ -65,6 +65,7 @@
":superstructure_lib",
":superstructure_queue",
"//aos:init",
+ "//aos/events:shm-event-loop",
],
)
diff --git a/y2017/control_loops/superstructure/superstructure.cc b/y2017/control_loops/superstructure/superstructure.cc
index 054fab4..730cd24 100644
--- a/y2017/control_loops/superstructure/superstructure.cc
+++ b/y2017/control_loops/superstructure/superstructure.cc
@@ -23,10 +23,10 @@
typedef ::y2017::constants::Values::ShotParams ShotParams;
using ::frc971::control_loops::drivetrain_queue;
-Superstructure::Superstructure(
- control_loops::SuperstructureQueue *superstructure_queue)
- : aos::controls::ControlLoop<control_loops::SuperstructureQueue>(
- superstructure_queue) {
+Superstructure::Superstructure(::aos::EventLoop *event_loop,
+ const ::std::string &name)
+ : aos::controls::ControlLoop<control_loops::SuperstructureQueue>(event_loop,
+ name) {
shot_interpolation_table_ =
::frc971::shooter_interpolation::InterpolationTable<ShotParams>({
// { distance_to_target, { shot_angle, shot_power, indexer_velocity }},
diff --git a/y2017/control_loops/superstructure/superstructure.h b/y2017/control_loops/superstructure/superstructure.h
index 399e166..580b6a5 100644
--- a/y2017/control_loops/superstructure/superstructure.h
+++ b/y2017/control_loops/superstructure/superstructure.h
@@ -20,8 +20,8 @@
: public ::aos::controls::ControlLoop<control_loops::SuperstructureQueue> {
public:
explicit Superstructure(
- control_loops::SuperstructureQueue *my_superstructure =
- &control_loops::superstructure_queue);
+ ::aos::EventLoop *event_loop,
+ const ::std::string &name = ".y2017.control_loops.superstructure_queue");
const hood::Hood &hood() const { return hood_; }
const intake::Intake &intake() const { return intake_; }
diff --git a/y2017/control_loops/superstructure/superstructure_lib_test.cc b/y2017/control_loops/superstructure/superstructure_lib_test.cc
index de47690..c8f55ff 100644
--- a/y2017/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2017/control_loops/superstructure/superstructure_lib_test.cc
@@ -134,11 +134,12 @@
column_plant_(new ColumnPlant(
::y2017::control_loops::superstructure::column::MakeColumnPlant())),
- superstructure_queue_(".y2017.control_loops.superstructure",
- ".y2017.control_loops.superstructure.goal",
- ".y2017.control_loops.superstructure.position",
- ".y2017.control_loops.superstructure.output",
- ".y2017.control_loops.superstructure.status") {
+ superstructure_queue_(
+ ".y2017.control_loops.superstructure_queue",
+ ".y2017.control_loops.superstructure_queue.goal",
+ ".y2017.control_loops.superstructure_queue.position",
+ ".y2017.control_loops.superstructure_queue.output",
+ ".y2017.control_loops.superstructure_queue.status") {
// Start the hood out in the middle by default.
InitializeHoodPosition((constants::Values::kHoodRange.lower +
constants::Values::kHoodRange.upper) /
@@ -432,12 +433,13 @@
class SuperstructureTest : public ::aos::testing::ControlLoopTest {
protected:
SuperstructureTest()
- : superstructure_queue_(".y2017.control_loops.superstructure",
- ".y2017.control_loops.superstructure.goal",
- ".y2017.control_loops.superstructure.position",
- ".y2017.control_loops.superstructure.output",
- ".y2017.control_loops.superstructure.status"),
- superstructure_(&superstructure_queue_) {
+ : superstructure_queue_(
+ ".y2017.control_loops.superstructure_queue",
+ ".y2017.control_loops.superstructure_queue.goal",
+ ".y2017.control_loops.superstructure_queue.position",
+ ".y2017.control_loops.superstructure_queue.output",
+ ".y2017.control_loops.superstructure_queue.status"),
+ superstructure_(&event_loop_) {
set_team_id(::frc971::control_loops::testing::kTeamNumber);
}
@@ -562,6 +564,7 @@
// that is no longer valid.
SuperstructureQueue superstructure_queue_;
+ ::aos::ShmEventLoop event_loop_;
// Create a control loop and simulation.
Superstructure superstructure_;
SuperstructureSimulation superstructure_plant_;
diff --git a/y2017/control_loops/superstructure/superstructure_main.cc b/y2017/control_loops/superstructure/superstructure_main.cc
index 6ab834b..6ebf91a 100644
--- a/y2017/control_loops/superstructure/superstructure_main.cc
+++ b/y2017/control_loops/superstructure/superstructure_main.cc
@@ -1,10 +1,13 @@
#include "y2017/control_loops/superstructure/superstructure.h"
+#include "aos/events/shm-event-loop.h"
#include "aos/init.h"
int main() {
::aos::Init();
- ::y2017::control_loops::superstructure::Superstructure superstructure;
+ ::aos::ShmEventLoop event_loop;
+ ::y2017::control_loops::superstructure::Superstructure superstructure(
+ &event_loop);
superstructure.Run();
::aos::Cleanup();
return 0;