Add beambreaks to wpilib_interface

Signed-off-by: Siddhant Kanwar <kanwarsiddhant@gmail.com>
Change-Id: I2615f919f438d01d764307d1b484e2c63636566b
diff --git a/y2022/control_loops/superstructure/superstructure_position.fbs b/y2022/control_loops/superstructure/superstructure_position.fbs
index cd0bc67..8de272b 100644
--- a/y2022/control_loops/superstructure/superstructure_position.fbs
+++ b/y2022/control_loops/superstructure/superstructure_position.fbs
@@ -13,6 +13,12 @@
   // Zero is straight and positive is open
   flipper_arm_left:frc971.RelativePosition (id: 4);
   flipper_arm_right:frc971.RelativePosition (id: 5);
+
+
+  // True is broken
+  intake_beambreak_front:bool (id:6);
+  intake_beambreak_back:bool (id:7);
+  turret_beambreak:bool (id:8);
 }
 
 root_type Position;
diff --git a/y2022/wpilib_interface.cc b/y2022/wpilib_interface.cc
index bd884a8..8de396c 100644
--- a/y2022/wpilib_interface.cc
+++ b/y2022/wpilib_interface.cc
@@ -193,6 +193,10 @@
       position_builder.add_intake_front(intake_offset_front);
       position_builder.add_intake_back(intake_offset_back);
       position_builder.add_turret(turret_offset);
+      position_builder.add_intake_beambreak_front(
+          intake_beambreak_front_->Get());
+      position_builder.add_intake_beambreak_back(intake_beambreak_back_->Get());
+      position_builder.add_turret_beambreak(turret_beambreak_->Get());
       builder.CheckOk(builder.Send(position_builder.Finish()));
     }
 
@@ -294,6 +298,16 @@
     turret_encoder_.set_potentiometer(::std::move(potentiometer));
   }
 
+  void set_intake_beambreak_front(::std::unique_ptr<frc::DigitalInput> sensor) {
+    intake_beambreak_front_ = ::std::move(sensor);
+  }
+  void set_intake_beambreak_back(::std::unique_ptr<frc::DigitalInput> sensor) {
+    intake_beambreak_back_ = ::std::move(sensor);
+  }
+  void set_turret_beambreak(::std::unique_ptr<frc::DigitalInput> sensor) {
+    turret_beambreak_ = ::std::move(sensor);
+  }
+
  private:
   std::shared_ptr<const Values> values_;
 
@@ -304,6 +318,9 @@
 
   std::array<std::unique_ptr<frc::DigitalInput>, 2> autonomous_modes_;
 
+  std::unique_ptr<frc::DigitalInput> intake_beambreak_front_,
+      intake_beambreak_back_, turret_beambreak_;
+
   std::unique_ptr<frc::AnalogInput> climber_potentiometer_,
       flipper_arm_right_potentiometer_, flipper_arm_left_potentiometer_;
   frc971::wpilib::AbsoluteEncoderAndPotentiometer intake_encoder_front_,
@@ -483,6 +500,10 @@
     sensor_reader.set_turret_absolute_pwm(make_unique<frc::DigitalInput>(4));
     sensor_reader.set_turret_potentiometer(make_unique<frc::AnalogInput>(4));
 
+    sensor_reader.set_intake_beambreak_front(make_unique<frc::DigitalInput>(5));
+    sensor_reader.set_intake_beambreak_back(make_unique<frc::DigitalInput>(6));
+    sensor_reader.set_turret_beambreak(make_unique<frc::DigitalInput>(7));
+
     sensor_reader.set_climber_potentiometer(make_unique<frc::AnalogInput>(5));
 
     sensor_reader.set_flipper_arm_left_potentiometer(