Bringup main robot

This gets all mechanisms zeroed and running.

Many profiles are still heavily detuned.

Catapult motors are moved to the CANivore bus.

Change-Id: I38a1845f804bd490d5fff285c636010ac8ea2c27
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/frc971/wpilib/can_sensor_reader.h b/frc971/wpilib/can_sensor_reader.h
index 8eddfca..c79d7f2 100644
--- a/frc971/wpilib/can_sensor_reader.h
+++ b/frc971/wpilib/can_sensor_reader.h
@@ -12,18 +12,23 @@
 namespace frc971::wpilib {
 class CANSensorReader {
  public:
+  enum class SignalSync {
+    kDoSync,
+    kNoSync,
+  };
   CANSensorReader(
       aos::EventLoop *event_loop,
       std::vector<ctre::phoenix6::BaseStatusSignal *> signals_registry,
       std::vector<std::shared_ptr<TalonFX>> talonfxs,
-      std::function<void(ctre::phoenix::StatusCode status)>
-          flatbuffer_callback);
+      std::function<void(ctre::phoenix::StatusCode status)> flatbuffer_callback,
+      SignalSync sync = SignalSync::kDoSync);
 
  private:
   void Loop();
 
   aos::EventLoop *event_loop_;
 
+  const SignalSync sync_;
   const std::vector<ctre::phoenix6::BaseStatusSignal *> signals_;
 
   // This is a vector of talonfxs becuase we don't need to care