Reduce users of rollers_queue
The last user is in the output handler, and that'll take an event loop
rewrite.
Change-Id: I0e79520f25981b879fb02ebf21ebfaad1699d9f8
diff --git a/y2014_bot3/control_loops/rollers/rollers.q b/y2014_bot3/control_loops/rollers/rollers.q
index e36d43e..a6a6d0e 100644
--- a/y2014_bot3/control_loops/rollers/rollers.q
+++ b/y2014_bot3/control_loops/rollers/rollers.q
@@ -3,6 +3,7 @@
import "aos/controls/control_loops.q";
import "frc971/control_loops/control_loops.q";
+// on ".y2014_bot3.control_loops.rollers_queue"
queue_group RollersQueue {
implements aos.control_loops.ControlLoop;
diff --git a/y2014_bot3/joystick_reader.cc b/y2014_bot3/joystick_reader.cc
index a9c369c..847adf7 100644
--- a/y2014_bot3/joystick_reader.cc
+++ b/y2014_bot3/joystick_reader.cc
@@ -19,7 +19,6 @@
#include "y2014_bot3/control_loops/rollers/rollers.q.h"
using ::frc971::control_loops::drivetrain_queue;
-using ::y2014_bot3::control_loops::rollers_queue;
using ::frc971::sensors::gyro_reading;
using ::aos::input::driver_station::ButtonLocation;
@@ -50,6 +49,10 @@
public:
Reader(::aos::EventLoop *event_loop)
: ::aos::input::JoystickInput(event_loop),
+ rollers_goal_sender_(
+ event_loop
+ ->MakeSender<::y2014_bot3::control_loops::RollersQueue::Goal>(
+ ".y2014_bot3.control_loops.rollers_queue.goal")),
autonomous_action_factory_(
::frc971::autonomous::BaseAutonomousActor::MakeFactory(
event_loop)) {
@@ -89,7 +92,7 @@
}
// Rollers.
- auto rollers_goal = control_loops::rollers_queue.goal.MakeMessage();
+ auto rollers_goal = rollers_goal_sender_.MakeMessage();
rollers_goal->Zero();
if (data.IsPressed(kFrontRollersIn)) {
rollers_goal->intake = 1;
@@ -129,6 +132,8 @@
::aos::common::actions::ActionQueue action_queue_;
::std::unique_ptr<DrivetrainInputReader> drivetrain_input_reader_;
+ ::aos::Sender<::y2014_bot3::control_loops::RollersQueue::Goal>
+ rollers_goal_sender_;
::frc971::autonomous::BaseAutonomousActor::Factory autonomous_action_factory_;
};
diff --git a/y2014_bot3/wpilib_interface.cc b/y2014_bot3/wpilib_interface.cc
index 8d7ddb2..bd5ae3d 100644
--- a/y2014_bot3/wpilib_interface.cc
+++ b/y2014_bot3/wpilib_interface.cc
@@ -78,7 +78,11 @@
class SensorReader : public ::frc971::wpilib::SensorReader {
public:
SensorReader(::aos::EventLoop *event_loop)
- : ::frc971::wpilib::SensorReader(event_loop) {}
+ : ::frc971::wpilib::SensorReader(event_loop),
+ rollers_position_sender_(
+ event_loop->MakeSender<
+ ::y2014_bot3::control_loops::RollersQueue::Position>(
+ ".y2014_bot3.control_loops.rollers_queue.position")) {}
void RunIteration() {
// Drivetrain
@@ -98,10 +102,14 @@
// Rollers
{
- auto rollers_message = rollers_queue.position.MakeMessage();
+ auto rollers_message = rollers_position_sender_.MakeMessage();
rollers_message.Send();
}
}
+
+ private:
+ ::aos::Sender<::y2014_bot3::control_loops::RollersQueue::Position>
+ rollers_position_sender_;
};
// Writes out our pneumatic outputs.