Switch all robots over to use EventLoop
Stop using the old QueueGroup constructor for ControlLoop
Change-Id: I027febf86e75399a97cdb4dc50dbc475705e0393
diff --git a/y2014/control_loops/claw/BUILD b/y2014/control_loops/claw/BUILD
index f267251..0764895 100644
--- a/y2014/control_loops/claw/BUILD
+++ b/y2014/control_loops/claw/BUILD
@@ -1,105 +1,106 @@
-package(default_visibility = ['//visibility:public'])
+package(default_visibility = ["//visibility:public"])
-load('//aos/build:queues.bzl', 'queue_library')
+load("//aos/build:queues.bzl", "queue_library")
cc_binary(
- name = 'replay_claw',
- srcs = [
- 'replay_claw.cc',
- ],
- deps = [
- ':claw_queue',
- '//aos/controls:replay_control_loop',
- '//aos:init',
- ],
+ name = "replay_claw",
+ srcs = [
+ "replay_claw.cc",
+ ],
+ deps = [
+ ":claw_queue",
+ "//aos:init",
+ "//aos/controls:replay_control_loop",
+ ],
)
queue_library(
- name = 'claw_queue',
- srcs = [
- 'claw.q',
- ],
- deps = [
- '//aos/controls:control_loop_queues',
- '//frc971/control_loops:queues',
- ],
+ name = "claw_queue",
+ srcs = [
+ "claw.q",
+ ],
+ deps = [
+ "//aos/controls:control_loop_queues",
+ "//frc971/control_loops:queues",
+ ],
)
genrule(
- name = 'genrule_claw',
- visibility = ['//visibility:private'],
- cmd = '$(location //y2014/control_loops/python:claw) $(OUTS)',
- tools = [
- '//y2014/control_loops/python:claw',
- ],
- outs = [
- 'claw_motor_plant.h',
- 'claw_motor_plant.cc',
- ],
+ name = "genrule_claw",
+ outs = [
+ "claw_motor_plant.h",
+ "claw_motor_plant.cc",
+ ],
+ cmd = "$(location //y2014/control_loops/python:claw) $(OUTS)",
+ tools = [
+ "//y2014/control_loops/python:claw",
+ ],
+ visibility = ["//visibility:private"],
)
cc_library(
- name = 'claw_lib',
- srcs = [
- 'claw.cc',
- 'claw_motor_plant.cc',
- ],
- hdrs = [
- 'claw.h',
- 'claw_motor_plant.h',
- ],
- deps = [
- ':claw_queue',
- '//aos/controls:control_loop',
- '//aos/controls:polytope',
- '//aos/logging:queue_logging',
- '//aos/logging:matrix_logging',
- '//aos:math',
- '//frc971/control_loops:state_feedback_loop',
- '//frc971/control_loops:coerce_goal',
- '//frc971/control_loops:hall_effect_tracker',
- '//y2014:constants',
- ],
- linkopts = [
- '-lm',
- ],
+ name = "claw_lib",
+ srcs = [
+ "claw.cc",
+ "claw_motor_plant.cc",
+ ],
+ hdrs = [
+ "claw.h",
+ "claw_motor_plant.h",
+ ],
+ linkopts = [
+ "-lm",
+ ],
+ deps = [
+ ":claw_queue",
+ "//aos:math",
+ "//aos/controls:control_loop",
+ "//aos/controls:polytope",
+ "//aos/logging:matrix_logging",
+ "//aos/logging:queue_logging",
+ "//frc971/control_loops:coerce_goal",
+ "//frc971/control_loops:hall_effect_tracker",
+ "//frc971/control_loops:state_feedback_loop",
+ "//y2014:constants",
+ ],
)
cc_test(
- name = 'claw_lib_test',
- srcs = [
- 'claw_lib_test.cc',
- ],
- deps = [
- ':claw_lib',
- ':claw_queue',
- '//aos/controls:control_loop_test',
- '//aos/testing:googletest',
- '//frc971/control_loops:state_feedback_loop',
- '//frc971/control_loops:team_number_test_environment',
- ],
+ name = "claw_lib_test",
+ srcs = [
+ "claw_lib_test.cc",
+ ],
+ deps = [
+ ":claw_lib",
+ ":claw_queue",
+ "//aos/controls:control_loop_test",
+ "//aos/testing:googletest",
+ "//frc971/control_loops:state_feedback_loop",
+ "//frc971/control_loops:team_number_test_environment",
+ ],
)
cc_binary(
- name = 'claw_calibration',
- srcs = [
- 'claw_calibration.cc',
- ],
- deps = [
- '//aos:init',
- ':claw_queue',
- '//aos/controls:control_loop',
- '//y2014:constants',
- ],
+ name = "claw_calibration",
+ srcs = [
+ "claw_calibration.cc",
+ ],
+ deps = [
+ ":claw_queue",
+ "//aos:init",
+ "//aos/controls:control_loop",
+ "//y2014:constants",
+ ],
)
cc_binary(
- name = 'claw',
- srcs = [
- 'claw_main.cc',
- ],
- deps = [
- '//aos:init',
- ':claw_lib',
- ],
+ name = "claw",
+ srcs = [
+ "claw_main.cc",
+ ],
+ deps = [
+ ":claw_lib",
+ "//aos:init",
+ "//aos/events:shm-event-loop",
+ ],
)
diff --git a/y2014/control_loops/claw/claw.cc b/y2014/control_loops/claw/claw.cc
index 82ca3a5..7a28a23 100644
--- a/y2014/control_loops/claw/claw.cc
+++ b/y2014/control_loops/claw/claw.cc
@@ -373,8 +373,9 @@
return false;
}
-ClawMotor::ClawMotor(::y2014::control_loops::ClawQueue *my_claw)
- : aos::controls::ControlLoop<::y2014::control_loops::ClawQueue>(my_claw),
+ClawMotor::ClawMotor(::aos::EventLoop *event_loop, const ::std::string &name)
+ : aos::controls::ControlLoop<::y2014::control_loops::ClawQueue>(event_loop,
+ name),
has_top_claw_goal_(false),
top_claw_goal_(0.0),
top_claw_(this),
diff --git a/y2014/control_loops/claw/claw.h b/y2014/control_loops/claw/claw.h
index 7995512..082ddce 100644
--- a/y2014/control_loops/claw/claw.h
+++ b/y2014/control_loops/claw/claw.h
@@ -185,8 +185,9 @@
class ClawMotor
: public aos::controls::ControlLoop<::y2014::control_loops::ClawQueue> {
public:
- explicit ClawMotor(::y2014::control_loops::ClawQueue *my_claw =
- &::y2014::control_loops::claw_queue);
+ explicit ClawMotor(
+ ::aos::EventLoop *event_loop,
+ const ::std::string &name = ".y2014.control_loops.claw_queue");
// True if the state machine is ready.
bool capped_goal() const { return capped_goal_; }
diff --git a/y2014/control_loops/claw/claw_lib_test.cc b/y2014/control_loops/claw/claw_lib_test.cc
index f10e61e..6545dcb 100644
--- a/y2014/control_loops/claw/claw_lib_test.cc
+++ b/y2014/control_loops/claw/claw_lib_test.cc
@@ -245,6 +245,7 @@
// is no longer valid.
::y2014::control_loops::ClawQueue claw_queue;
+ ::aos::ShmEventLoop event_loop_;
// Create a loop and simulation plant.
ClawMotor claw_motor_;
ClawMotorSimulation claw_motor_plant_;
@@ -259,7 +260,7 @@
".y2014.control_loops.claw_queue.position",
".y2014.control_loops.claw_queue.output",
".y2014.control_loops.claw_queue.status"),
- claw_motor_(&claw_queue),
+ claw_motor_(&event_loop_),
claw_motor_plant_(0.4, 0.2),
min_separation_(constants::GetValues().claw.claw_min_separation) {}
diff --git a/y2014/control_loops/claw/claw_main.cc b/y2014/control_loops/claw/claw_main.cc
index 5bb61ba..85497d9 100644
--- a/y2014/control_loops/claw/claw_main.cc
+++ b/y2014/control_loops/claw/claw_main.cc
@@ -1,10 +1,12 @@
#include "y2014/control_loops/claw/claw.h"
+#include "aos/events/shm-event-loop.h"
#include "aos/init.h"
int main() {
::aos::Init();
- ::y2014::control_loops::ClawMotor claw;
+ ::aos::ShmEventLoop event_loop;
+ ::y2014::control_loops::ClawMotor claw(&event_loop);
claw.Run();
::aos::Cleanup();
return 0;
diff --git a/y2014/control_loops/drivetrain/BUILD b/y2014/control_loops/drivetrain/BUILD
index bed5cd9..858f7e0 100644
--- a/y2014/control_loops/drivetrain/BUILD
+++ b/y2014/control_loops/drivetrain/BUILD
@@ -77,6 +77,7 @@
deps = [
":drivetrain_base",
"//aos:init",
+ "//aos/events:shm-event-loop",
"//frc971/control_loops/drivetrain:drivetrain_lib",
],
)
diff --git a/y2014/control_loops/drivetrain/drivetrain_main.cc b/y2014/control_loops/drivetrain/drivetrain_main.cc
index ae20bc8..19c2659 100644
--- a/y2014/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2014/control_loops/drivetrain/drivetrain_main.cc
@@ -1,13 +1,16 @@
#include "aos/init.h"
-#include "y2014/control_loops/drivetrain/drivetrain_base.h"
+#include "aos/events/shm-event-loop.h"
#include "frc971/control_loops/drivetrain/drivetrain.h"
+#include "y2014/control_loops/drivetrain/drivetrain_base.h"
using ::frc971::control_loops::drivetrain::DrivetrainLoop;
int main() {
::aos::Init();
- DrivetrainLoop drivetrain(::y2014::control_loops::GetDrivetrainConfig());
+ ::aos::ShmEventLoop event_loop;
+ DrivetrainLoop drivetrain(::y2014::control_loops::GetDrivetrainConfig(),
+ &event_loop);
drivetrain.Run();
::aos::Cleanup();
return 0;
diff --git a/y2014/control_loops/shooter/BUILD b/y2014/control_loops/shooter/BUILD
index 810d239..b58ff98 100644
--- a/y2014/control_loops/shooter/BUILD
+++ b/y2014/control_loops/shooter/BUILD
@@ -1,91 +1,92 @@
-package(default_visibility = ['//visibility:public'])
+package(default_visibility = ["//visibility:public"])
-load('//aos/build:queues.bzl', 'queue_library')
+load("//aos/build:queues.bzl", "queue_library")
cc_binary(
- name = 'replay_shooter',
- srcs = [
- 'replay_shooter.cc',
- ],
- deps = [
- ':shooter_queue',
- '//aos/controls:replay_control_loop',
- '//aos:init',
- ],
+ name = "replay_shooter",
+ srcs = [
+ "replay_shooter.cc",
+ ],
+ deps = [
+ ":shooter_queue",
+ "//aos:init",
+ "//aos/controls:replay_control_loop",
+ ],
)
queue_library(
- name = 'shooter_queue',
- srcs = [
- 'shooter.q',
- ],
- deps = [
- '//aos/controls:control_loop_queues',
- '//frc971/control_loops:queues',
- ],
+ name = "shooter_queue",
+ srcs = [
+ "shooter.q",
+ ],
+ deps = [
+ "//aos/controls:control_loop_queues",
+ "//frc971/control_loops:queues",
+ ],
)
genrule(
- name = 'genrule_shooter',
- visibility = ['//visibility:private'],
- cmd = '$(location //y2014/control_loops/python:shooter) $(OUTS)',
- tools = [
- '//y2014/control_loops/python:shooter',
- ],
- outs = [
- 'shooter_motor_plant.cc',
- 'shooter_motor_plant.h',
- 'unaugmented_shooter_motor_plant.cc',
- 'unaugmented_shooter_motor_plant.h',
- ],
+ name = "genrule_shooter",
+ outs = [
+ "shooter_motor_plant.cc",
+ "shooter_motor_plant.h",
+ "unaugmented_shooter_motor_plant.cc",
+ "unaugmented_shooter_motor_plant.h",
+ ],
+ cmd = "$(location //y2014/control_loops/python:shooter) $(OUTS)",
+ tools = [
+ "//y2014/control_loops/python:shooter",
+ ],
+ visibility = ["//visibility:private"],
)
cc_library(
- name = 'shooter_lib',
- srcs = [
- 'shooter.cc',
- 'shooter_motor_plant.cc',
- 'unaugmented_shooter_motor_plant.cc',
- ],
- hdrs = [
- 'shooter.h',
- 'shooter_motor_plant.h',
- 'unaugmented_shooter_motor_plant.h',
- ],
- deps = [
- ':shooter_queue',
- '//aos/controls:control_loop',
- '//y2014:constants',
- '//frc971/control_loops:state_feedback_loop',
- '//aos/logging:queue_logging',
- ],
- linkopts = [
- '-lm',
- ],
+ name = "shooter_lib",
+ srcs = [
+ "shooter.cc",
+ "shooter_motor_plant.cc",
+ "unaugmented_shooter_motor_plant.cc",
+ ],
+ hdrs = [
+ "shooter.h",
+ "shooter_motor_plant.h",
+ "unaugmented_shooter_motor_plant.h",
+ ],
+ linkopts = [
+ "-lm",
+ ],
+ deps = [
+ ":shooter_queue",
+ "//aos/controls:control_loop",
+ "//aos/logging:queue_logging",
+ "//frc971/control_loops:state_feedback_loop",
+ "//y2014:constants",
+ ],
)
cc_test(
- name = 'shooter_lib_test',
- srcs = [
- 'shooter_lib_test.cc',
- ],
- deps = [
- ':shooter_lib',
- ':shooter_queue',
- '//aos/controls:control_loop_test',
- '//aos/testing:googletest',
- '//frc971/control_loops:state_feedback_loop',
- '//frc971/control_loops:team_number_test_environment',
- ],
+ name = "shooter_lib_test",
+ srcs = [
+ "shooter_lib_test.cc",
+ ],
+ deps = [
+ ":shooter_lib",
+ ":shooter_queue",
+ "//aos/controls:control_loop_test",
+ "//aos/testing:googletest",
+ "//frc971/control_loops:state_feedback_loop",
+ "//frc971/control_loops:team_number_test_environment",
+ ],
)
cc_binary(
- name = 'shooter',
- srcs = [
- 'shooter_main.cc',
- ],
- deps = [
- '//aos:init',
- ':shooter_lib',
- ],
+ name = "shooter",
+ srcs = [
+ "shooter_main.cc",
+ ],
+ deps = [
+ ":shooter_lib",
+ "//aos:init",
+ "//aos/events:shm-event-loop",
+ ],
)
diff --git a/y2014/control_loops/shooter/shooter.cc b/y2014/control_loops/shooter/shooter.cc
index 7f3a3b0..d87c638 100644
--- a/y2014/control_loops/shooter/shooter.cc
+++ b/y2014/control_loops/shooter/shooter.cc
@@ -116,9 +116,10 @@
previous_offset, offset_));
}
-ShooterMotor::ShooterMotor(::y2014::control_loops::ShooterQueue *my_shooter)
+ShooterMotor::ShooterMotor(::aos::EventLoop *event_loop,
+ const ::std::string &name)
: aos::controls::ControlLoop<::y2014::control_loops::ShooterQueue>(
- my_shooter),
+ event_loop, name),
shooter_(MakeShooterLoop()),
state_(STATE_INITIALIZE),
cycles_not_moved_(0),
diff --git a/y2014/control_loops/shooter/shooter.h b/y2014/control_loops/shooter/shooter.h
index 75a05db..a9a255b 100644
--- a/y2014/control_loops/shooter/shooter.h
+++ b/y2014/control_loops/shooter/shooter.h
@@ -129,8 +129,9 @@
class ShooterMotor
: public aos::controls::ControlLoop<::y2014::control_loops::ShooterQueue> {
public:
- explicit ShooterMotor(::y2014::control_loops::ShooterQueue *my_shooter =
- &::y2014::control_loops::shooter_queue);
+ explicit ShooterMotor(
+ ::aos::EventLoop *event_loop,
+ const ::std::string &name = ".y2014.control_loops.shooter_queue");
// True if the goal was moved to avoid goal windup.
bool capped_goal() const { return shooter_.capped_goal(); }
diff --git a/y2014/control_loops/shooter/shooter_lib_test.cc b/y2014/control_loops/shooter/shooter_lib_test.cc
index a5ac55c..e88a33e 100644
--- a/y2014/control_loops/shooter/shooter_lib_test.cc
+++ b/y2014/control_loops/shooter/shooter_lib_test.cc
@@ -289,6 +289,7 @@
// is no longer valid.
::y2014::control_loops::ShooterQueue shooter_queue_;
+ ::aos::ShmEventLoop event_loop_;
// Create a loop and simulation plant.
ShooterMotor shooter_motor_;
ShooterSimulation shooter_motor_plant_;
@@ -303,7 +304,7 @@
".y2014.control_loops.shooter_queue.position",
".y2014.control_loops.shooter_queue.output",
".y2014.control_loops.shooter_queue.status"),
- shooter_motor_(&shooter_queue_),
+ shooter_motor_(&event_loop_),
shooter_motor_plant_(0.2) {}
void VerifyNearGoal() {
diff --git a/y2014/control_loops/shooter/shooter_main.cc b/y2014/control_loops/shooter/shooter_main.cc
index b6f4a8c..a7b60f9 100644
--- a/y2014/control_loops/shooter/shooter_main.cc
+++ b/y2014/control_loops/shooter/shooter_main.cc
@@ -1,10 +1,12 @@
#include "y2014/control_loops/shooter/shooter.h"
+#include "aos/events/shm-event-loop.h"
#include "aos/init.h"
int main() {
::aos::Init();
- ::y2014::control_loops::ShooterMotor shooter;
+ ::aos::ShmEventLoop event_loop;
+ ::y2014::control_loops::ShooterMotor shooter(&event_loop);
shooter.Run();
::aos::Cleanup();
return 0;