Remove global .frc971.control_loops.drivetrain_queue object
Change-Id: I424f09dcc8bc210e49cbdc805d1a423a72332617
diff --git a/y2014/joystick_reader.cc b/y2014/joystick_reader.cc
index 5510635..ecd55c9 100644
--- a/y2014/joystick_reader.cc
+++ b/y2014/joystick_reader.cc
@@ -20,8 +20,6 @@
#include "y2014/control_loops/drivetrain/drivetrain_base.h"
#include "y2014/control_loops/shooter/shooter.q.h"
-using ::frc971::control_loops::drivetrain_queue;
-
using ::aos::input::driver_station::ButtonLocation;
using ::aos::input::driver_station::JoystickAxis;
using ::aos::input::driver_station::ControlBit;
@@ -168,6 +166,10 @@
shooter_goal_sender_(
event_loop->MakeSender<::y2014::control_loops::ShooterQueue::Goal>(
".y2014.control_loops.shooter_queue.goal")),
+ drivetrain_status_fetcher_(
+ event_loop
+ ->MakeFetcher<::frc971::control_loops::DrivetrainQueue::Status>(
+ ".frc971.control_loops.drivetrain_queue.status")),
shot_power_(80.0),
goal_angle_(0.0),
separation_angle_(kGrabSeparation),
@@ -348,11 +350,11 @@
velocity_compensation_ = 0.0;
}
- ::frc971::control_loops::drivetrain_queue.status.FetchLatest();
+ drivetrain_status_fetcher_.Fetch();
double goal_angle = goal_angle_;
- if (::frc971::control_loops::drivetrain_queue.status.get()) {
- goal_angle += SpeedToAngleOffset(
- ::frc971::control_loops::drivetrain_queue.status->robot_speed);
+ if (drivetrain_status_fetcher_.get()) {
+ goal_angle +=
+ SpeedToAngleOffset(drivetrain_status_fetcher_->robot_speed);
} else {
LOG_INTERVAL(no_drivetrain_status_);
}
@@ -417,6 +419,8 @@
claw_status_fetcher_;
::aos::Sender<::y2014::control_loops::ClawQueue::Goal> claw_goal_sender_;
::aos::Sender<::y2014::control_loops::ShooterQueue::Goal> shooter_goal_sender_;
+ ::aos::Fetcher<::frc971::control_loops::DrivetrainQueue::Status>
+ drivetrain_status_fetcher_;
double shot_power_;
double goal_angle_;
diff --git a/y2014/wpilib_interface.cc b/y2014/wpilib_interface.cc
index 5e398db..d4d7ad6 100644
--- a/y2014/wpilib_interface.cc
+++ b/y2014/wpilib_interface.cc
@@ -53,7 +53,6 @@
#define M_PI 3.14159265358979323846
#endif
-using ::frc971::control_loops::drivetrain_queue;
using ::y2014::control_loops::ClawQueue;
using ::y2014::control_loops::ShooterQueue;
using aos::make_unique;
@@ -124,7 +123,11 @@
shooter_position_sender_(event_loop->MakeSender<ShooterQueue::Position>(
".y2014.control_loops.shooter_queue.position")),
claw_position_sender_(event_loop->MakeSender<ClawQueue::Position>(
- ".y2014.control_loops.claw_queue.position")) {
+ ".y2014.control_loops.claw_queue.position")),
+ drivetrain_position_sender_(
+ event_loop->MakeSender<
+ ::frc971::control_loops::DrivetrainQueue::Position>(
+ ".frc971.control_loops.drivetrain_queue.position")) {
// Set it to filter out anything shorter than 1/4 of the minimum pulse width
// we should ever see.
UpdateMediumEncoderFilterHz(kMaximumEncoderPulsesPerSecond);
@@ -246,7 +249,7 @@
const auto &values = constants::GetValues();
{
- auto drivetrain_message = drivetrain_queue.position.MakeMessage();
+ auto drivetrain_message = drivetrain_position_sender_.MakeMessage();
drivetrain_message->right_encoder =
drivetrain_translate(drivetrain_right_encoder_->GetRaw());
drivetrain_message->left_encoder =
@@ -402,6 +405,8 @@
::aos::Sender<::y2014::sensors::AutoMode> auto_mode_sender_;
::aos::Sender<ShooterQueue::Position> shooter_position_sender_;
::aos::Sender<ClawQueue::Position> claw_position_sender_;
+ ::aos::Sender<::frc971::control_loops::DrivetrainQueue::Position>
+ drivetrain_position_sender_;
::std::unique_ptr<::frc::AnalogInput> auto_selector_analog_;