Convert joystick readers to ActionJoystickInput
This removes most direct users of the autonomous queues. Convert the
rest over to EventLoops.
Change-Id: I47ac7d5583d597cc9244573d810d512210d1e111
diff --git a/y2017/wpilib_interface.cc b/y2017/wpilib_interface.cc
index 5dbf29d..6fd02fc 100644
--- a/y2017/wpilib_interface.cc
+++ b/y2017/wpilib_interface.cc
@@ -126,7 +126,10 @@
class SensorReader : public ::frc971::wpilib::SensorReader {
public:
SensorReader(::aos::EventLoop *event_loop)
- : ::frc971::wpilib::SensorReader(event_loop) {
+ : ::frc971::wpilib::SensorReader(event_loop),
+ auto_mode_sender_(
+ event_loop->MakeSender<::frc971::autonomous::AutonomousMode>(
+ ".frc971.autonomous.auto_mode")) {
// Set to filter out anything shorter than 1/4 of the minimum pulse width
// we should ever see.
UpdateFastEncoderFilterHz(kMaxFastEncoderPulsesPerSecond);
@@ -244,7 +247,7 @@
}
{
- auto auto_mode_message = ::frc971::autonomous::auto_mode.MakeMessage();
+ auto auto_mode_message = auto_mode_sender_.MakeMessage();
auto_mode_message->mode = 0;
for (size_t i = 0; i < autonomous_modes_.size(); ++i) {
if (autonomous_modes_[i] && autonomous_modes_[i]->Get()) {
@@ -257,6 +260,8 @@
}
private:
+ ::aos::Sender<::frc971::autonomous::AutonomousMode> auto_mode_sender_;
+
DigitalGlitchFilter hall_filter_;
::frc971::wpilib::AbsoluteEncoderAndPotentiometer intake_encoder_;