Update swerve drivetrain position messages & logic

This makes it so that the swerve drivetrain positions are sent in two
separate position messages (for FPGA-based and CAN-based positions),
using message definitions from the frc971/ folder.

Also refactors the SwerveModule class/usage a bit.

Removes the follower wheels from the y2024_swerve code.

Change-Id: I36898c3337b5a1437ce0c2a0189fd317929f1986
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/y2024_swerve/swerve_publisher_lib.cc b/y2024_swerve/swerve_publisher_lib.cc
index 771d770..2eb9cce 100644
--- a/y2024_swerve/swerve_publisher_lib.cc
+++ b/y2024_swerve/swerve_publisher_lib.cc
@@ -5,16 +5,18 @@
                                                const std::string &filename,
                                                double duration)
     : drivetrain_output_sender_(
-          event_loop->MakeSender<drivetrain::swerve::Output>("/drivetrain")) {
+          event_loop->MakeSender<frc971::control_loops::swerve::Output>(
+              "/drivetrain")) {
   event_loop
       ->AddTimer([this, filename]() {
         auto output_builder = drivetrain_output_sender_.MakeBuilder();
 
         auto drivetrain_output =
-            aos::JsonFileToFlatbuffer<drivetrain::swerve::Output>(filename);
+            aos::JsonFileToFlatbuffer<frc971::control_loops::swerve::Output>(
+                filename);
 
         auto copied_flatbuffer =
-            aos::CopyFlatBuffer<drivetrain::swerve::Output>(
+            aos::CopyFlatBuffer<frc971::control_loops::swerve::Output>(
                 drivetrain_output, output_builder.fbb());
         CHECK(drivetrain_output.Verify());
 
@@ -26,16 +28,18 @@
   event_loop
       ->AddTimer([this, exit_handle]() {
         auto builder = drivetrain_output_sender_.MakeBuilder();
-        drivetrain::swerve::SwerveModuleOutput::Builder swerve_module_builder =
-            builder.MakeBuilder<drivetrain::swerve::SwerveModuleOutput>();
+        frc971::control_loops::swerve::SwerveModuleOutput::Builder
+            swerve_module_builder = builder.MakeBuilder<
+                frc971::control_loops::swerve::SwerveModuleOutput>();
 
         swerve_module_builder.add_rotation_current(0.0);
         swerve_module_builder.add_translation_current(0.0);
 
         auto swerve_module_offset = swerve_module_builder.Finish();
 
-        drivetrain::swerve::Output::Builder drivetrain_output_builder =
-            builder.MakeBuilder<drivetrain::swerve::Output>();
+        frc971::control_loops::swerve::Output::Builder
+            drivetrain_output_builder =
+                builder.MakeBuilder<frc971::control_loops::swerve::Output>();
 
         drivetrain_output_builder.add_front_left_output(swerve_module_offset);
         drivetrain_output_builder.add_front_right_output(swerve_module_offset);