Convert all year's robots to proper event loops
Each robot has a couple of event loops, one per thread. Each of these
threads corresponds to the threads from before the change. y2016 has
been tested on real hardware.
Change-Id: I99f726a8bc0498204c1a3b99f15508119eed9ad3
diff --git a/frc971/wpilib/drivetrain_writer.h b/frc971/wpilib/drivetrain_writer.h
index ea3df46..9397230 100644
--- a/frc971/wpilib/drivetrain_writer.h
+++ b/frc971/wpilib/drivetrain_writer.h
@@ -3,16 +3,20 @@
#include "aos/commonmath.h"
+#include "frc971/control_loops/drivetrain/drivetrain.q.h"
#include "frc971/wpilib/ahal/PWM.h"
#include "frc971/wpilib/loop_output_handler.h"
namespace frc971 {
namespace wpilib {
-class DrivetrainWriter : public ::frc971::wpilib::LoopOutputHandler {
+class DrivetrainWriter : public ::frc971::wpilib::LoopOutputHandler<
+ ::frc971::control_loops::DrivetrainQueue::Output> {
public:
DrivetrainWriter(::aos::EventLoop *event_loop)
- : ::frc971::wpilib::LoopOutputHandler(event_loop) {}
+ : ::frc971::wpilib::LoopOutputHandler<
+ ::frc971::control_loops::DrivetrainQueue::Output>(
+ event_loop, ".frc971.control_loops.drivetrain_queue.output") {}
void set_left_controller0(::std::unique_ptr<::frc::PWM> t, bool reversed) {
left_controller0_ = ::std::move(t);
@@ -35,8 +39,8 @@
}
private:
- void Write() override;
- void Read() override;
+ void Write(
+ const ::frc971::control_loops::DrivetrainQueue::Output &output) override;
void Stop() override;
double SafeSpeed(bool reversed, double voltage) {