Add a drivetrain can position flatbuffer to frc971

Signed-off-by: Maxwell Henderson <maxwell.henderson@mailbox.org>
Change-Id: I73ab47b47327af0bf189554b030d5e5626f3df13
diff --git a/frc971/control_loops/drivetrain/BUILD b/frc971/control_loops/drivetrain/BUILD
index 86c1ec0..93b4a11 100644
--- a/frc971/control_loops/drivetrain/BUILD
+++ b/frc971/control_loops/drivetrain/BUILD
@@ -8,6 +8,12 @@
 package(default_visibility = ["//visibility:public"])
 
 flatbuffer_cc_library(
+    name = "drivetrain_can_position_fbs",
+    srcs = ["drivetrain_can_position.fbs"],
+    gen_reflections = 1,
+)
+
+flatbuffer_cc_library(
     name = "spline_goal_fbs",
     srcs = ["spline_goal.fbs"],
     gen_reflections = 1,
@@ -352,11 +358,11 @@
         ":drivetrain_config",
         ":drivetrain_states",
         ":gear",
+        ":spline_goal_fbs",
         "//aos:math",
-        "//frc971/control_loops:polytope",
         "//frc971/control_loops:coerce_goal",
         "//frc971/control_loops:control_loops_fbs",
-        ":spline_goal_fbs",
+        "//frc971/control_loops:polytope",
         "//frc971/control_loops:state_feedback_loop",
     ] + select({
         "@platforms//os:linux": [
@@ -364,8 +370,8 @@
             ":drivetrain_output_fbs",
             ":drivetrain_position_fbs",
             ":drivetrain_status_fbs",
-            "//frc971/input:robot_state_fbs",
             "//aos/util:log_interval",
+            "//frc971/input:robot_state_fbs",
         ],
         "@platforms//os:none": [
             ":drivetrain_goal_float_fbs",
@@ -469,8 +475,8 @@
         "//frc971/control_loops:control_loops_fbs",
         "//frc971/control_loops:state_feedback_loop",
         "//frc971/queues:gyro_fbs",
-        "//frc971/wpilib:imu_fbs",
         "//frc971/wpilib:imu_batch_fbs",
+        "//frc971/wpilib:imu_fbs",
         "//y2016:constants",
         "//y2016/control_loops/drivetrain:polydrivetrain_plants",
     ] + cpu_select({
@@ -498,17 +504,17 @@
     target_compatible_with = ["@platforms//os:linux"],
     deps = [
         ":drivetrain_config",
-        ":trajectory_generator",
-        ":drivetrain_lib",
-        ":localizer_fbs",
         ":drivetrain_goal_fbs",
-        ":drivetrain_status_fbs",
-        ":drivetrain_position_fbs",
+        ":drivetrain_lib",
         ":drivetrain_output_fbs",
+        ":drivetrain_position_fbs",
+        ":drivetrain_status_fbs",
         ":drivetrain_test_lib",
-        "//frc971/control_loops:control_loop_test",
+        ":localizer_fbs",
+        ":trajectory_generator",
         "//aos/events/logging:log_writer",
         "//aos/testing:googletest",
+        "//frc971/control_loops:control_loop_test",
         "//frc971/queues:gyro_fbs",
         "//frc971/wpilib:imu_fbs",
     ] + cpu_select({
@@ -633,8 +639,8 @@
     target_compatible_with = ["@platforms//os:linux"],
     deps = [
         ":distance_spline",
-        "//aos/testing:googletest",
         "//aos:flatbuffers",
+        "//aos/testing:googletest",
         "//aos/testing:test_shm",
         "@com_github_gflags_gflags//:gflags",
     ] + cpu_select({
@@ -712,8 +718,8 @@
     linkstatic = True,
     target_compatible_with = ["@platforms//os:linux"],
     deps = [
-        ":trajectory",
         ":drivetrain_test_lib",
+        ":trajectory",
         "//aos/testing:googletest",
         "//aos/testing:test_shm",
         "//y2016:constants",
diff --git a/y2023/control_loops/drivetrain/drivetrain_can_position.fbs b/frc971/control_loops/drivetrain/drivetrain_can_position.fbs
similarity index 95%
rename from y2023/control_loops/drivetrain/drivetrain_can_position.fbs
rename to frc971/control_loops/drivetrain/drivetrain_can_position.fbs
index 34fbf12..a44ef50 100644
--- a/y2023/control_loops/drivetrain/drivetrain_can_position.fbs
+++ b/frc971/control_loops/drivetrain/drivetrain_can_position.fbs
@@ -1,4 +1,4 @@
-namespace y2023.control_loops.drivetrain;
+namespace frc971.control_loops.drivetrain;
 
 table CANFalcon {
   // The CAN id of the falcon
diff --git a/y2023/BUILD b/y2023/BUILD
index fa39d3c..ed8f347 100644
--- a/y2023/BUILD
+++ b/y2023/BUILD
@@ -213,7 +213,7 @@
         "//y2023/control_loops/superstructure:superstructure_goal_fbs",
         "//y2023/control_loops/drivetrain:target_selector_hint_fbs",
         "//y2023/control_loops/drivetrain:target_selector_status_fbs",
-        "//y2023/control_loops/drivetrain:drivetrain_can_position_fbs",
+        "//frc971/control_loops/drivetrain:drivetrain_can_position_fbs",
         "//y2023/control_loops/superstructure:superstructure_output_fbs",
         "//y2023/control_loops/superstructure:superstructure_position_fbs",
         "//y2023/control_loops/superstructure:superstructure_status_fbs",
@@ -286,6 +286,7 @@
         "//frc971/autonomous:auto_mode_fbs",
         "//frc971/control_loops:control_loop",
         "//frc971/control_loops:control_loops_fbs",
+        "//frc971/control_loops/drivetrain:drivetrain_can_position_fbs",
         "//frc971/control_loops/drivetrain:drivetrain_position_fbs",
         "//frc971/input:robot_state_fbs",
         "//frc971/queues:gyro_fbs",
@@ -304,7 +305,6 @@
         "//third_party:phoenix",
         "//third_party:phoenixpro",
         "//third_party:wpilib",
-        "//y2023/control_loops/drivetrain:drivetrain_can_position_fbs",
         "//y2023/control_loops/superstructure:led_indicator_lib",
         "//y2023/control_loops/superstructure:superstructure_output_fbs",
         "//y2023/control_loops/superstructure:superstructure_position_fbs",
diff --git a/y2023/control_loops/drivetrain/BUILD b/y2023/control_loops/drivetrain/BUILD
index 063e972..f6b5655 100644
--- a/y2023/control_loops/drivetrain/BUILD
+++ b/y2023/control_loops/drivetrain/BUILD
@@ -116,15 +116,6 @@
 )
 
 flatbuffer_cc_library(
-    name = "drivetrain_can_position_fbs",
-    srcs = [
-        "drivetrain_can_position.fbs",
-    ],
-    gen_reflections = 1,
-    visibility = ["//visibility:public"],
-)
-
-flatbuffer_cc_library(
     name = "target_selector_status_fbs",
     srcs = [
         ":target_selector_status.fbs",
diff --git a/y2023/control_loops/superstructure/BUILD b/y2023/control_loops/superstructure/BUILD
index afca18b..861bbf8 100644
--- a/y2023/control_loops/superstructure/BUILD
+++ b/y2023/control_loops/superstructure/BUILD
@@ -58,8 +58,8 @@
     deps = [
         "//frc971/control_loops:control_loops_fbs",
         "//frc971/control_loops:profiled_subsystem_fbs",
+        "//frc971/control_loops/drivetrain:drivetrain_can_position_fbs",
         "//frc971/vision:calibration_fbs",
-        "//y2023/control_loops/drivetrain:drivetrain_can_position_fbs",
     ],
 )
 
@@ -103,12 +103,12 @@
         "//aos/events:event_loop",
         "//frc971/constants:constants_sender_lib",
         "//frc971/control_loops:control_loop",
+        "//frc971/control_loops/drivetrain:drivetrain_can_position_fbs",
         "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
         "//frc971/shooter_interpolation:interpolation",
         "//y2023:constants",
         "//y2023/constants:constants_fbs",
         "//y2023/constants:simulated_constants_sender",
-        "//y2023/control_loops/drivetrain:drivetrain_can_position_fbs",
         "//y2023/control_loops/superstructure/arm",
         "//y2023/control_loops/superstructure/arm:arm_trajectories_fbs",
     ],
diff --git a/y2023/control_loops/superstructure/arm/BUILD b/y2023/control_loops/superstructure/arm/BUILD
index 39e549b..a742c50 100644
--- a/y2023/control_loops/superstructure/arm/BUILD
+++ b/y2023/control_loops/superstructure/arm/BUILD
@@ -14,9 +14,9 @@
         ":generated_graph",
         "//frc971/control_loops/double_jointed_arm:ekf",
         "//frc971/control_loops/double_jointed_arm:graph",
+        "//frc971/control_loops/drivetrain:drivetrain_can_position_fbs",
         "//frc971/zeroing",
         "//y2023:constants",
-        "//y2023/control_loops/drivetrain:drivetrain_can_position_fbs",
         "//y2023/control_loops/superstructure:superstructure_position_fbs",
         "//y2023/control_loops/superstructure:superstructure_status_fbs",
         "//y2023/control_loops/superstructure/arm:arm_constants",
diff --git a/y2023/control_loops/superstructure/superstructure.h b/y2023/control_loops/superstructure/superstructure.h
index 1100b86..fdfef4e 100644
--- a/y2023/control_loops/superstructure/superstructure.h
+++ b/y2023/control_loops/superstructure/superstructure.h
@@ -5,10 +5,10 @@
 #include "aos/json_to_flatbuffer.h"
 #include "frc971/constants/constants_sender_lib.h"
 #include "frc971/control_loops/control_loop.h"
+#include "frc971/control_loops/drivetrain/drivetrain_can_position_generated.h"
 #include "frc971/control_loops/drivetrain/drivetrain_status_generated.h"
 #include "y2023/constants.h"
 #include "y2023/constants/constants_generated.h"
-#include "y2023/control_loops/drivetrain/drivetrain_can_position_generated.h"
 #include "y2023/control_loops/superstructure/arm/arm.h"
 #include "y2023/control_loops/superstructure/arm/arm_trajectories_generated.h"
 #include "y2023/control_loops/superstructure/end_effector.h"
diff --git a/y2023/wpilib_interface.cc b/y2023/wpilib_interface.cc
index 978d6e5..fc6a4ae 100644
--- a/y2023/wpilib_interface.cc
+++ b/y2023/wpilib_interface.cc
@@ -40,6 +40,7 @@
 #include "aos/util/phased_loop.h"
 #include "aos/util/wrapping_counter.h"
 #include "frc971/autonomous/auto_mode_generated.h"
+#include "frc971/control_loops/drivetrain/drivetrain_can_position_generated.h"
 #include "frc971/control_loops/drivetrain/drivetrain_position_generated.h"
 #include "frc971/input/robot_state_generated.h"
 #include "frc971/queues/gyro_generated.h"
@@ -57,7 +58,6 @@
 #include "frc971/wpilib/wpilib_robot_base.h"
 #include "y2023/can_configuration_generated.h"
 #include "y2023/constants.h"
-#include "y2023/control_loops/drivetrain/drivetrain_can_position_generated.h"
 #include "y2023/control_loops/superstructure/led_indicator.h"
 #include "y2023/control_loops/superstructure/superstructure_output_generated.h"
 #include "y2023/control_loops/superstructure/superstructure_position_generated.h"
@@ -224,9 +224,9 @@
 
   ctre::phoenixpro::hardware::TalonFX *talon() { return &talon_; }
 
-  flatbuffers::Offset<drivetrain::CANFalcon> WritePosition(
-      flatbuffers::FlatBufferBuilder *fbb) {
-    drivetrain::CANFalcon::Builder builder(*fbb);
+  flatbuffers::Offset<frc971::control_loops::drivetrain::CANFalcon>
+  WritePosition(flatbuffers::FlatBufferBuilder *fbb) {
+    frc971::control_loops::drivetrain::CANFalcon::Builder builder(*fbb);
     builder.add_id(device_id_);
     builder.add_device_temp(device_temp());
     builder.add_supply_voltage(supply_voltage());
@@ -289,7 +289,9 @@
       : event_loop_(event_loop),
         signals_(signals_registry.begin(), signals_registry.end()),
         can_position_sender_(
-            event_loop->MakeSender<drivetrain::CANPosition>("/drivetrain")),
+            event_loop
+                ->MakeSender<frc971::control_loops::drivetrain::CANPosition>(
+                    "/drivetrain")),
         roller_falcon_data_(std::nullopt) {
     event_loop->SetRuntimeRealtimePriority(40);
     event_loop->SetRuntimeAffinity(aos::MakeCpusetFromCpus({1}));
@@ -340,7 +342,9 @@
       falcon->RefreshNontimesyncedSignals();
     }
 
-    aos::SizedArray<flatbuffers::Offset<drivetrain::CANFalcon>, kCANFalconCount>
+    aos::SizedArray<
+        flatbuffers::Offset<frc971::control_loops::drivetrain::CANFalcon>,
+        kCANFalconCount>
         falcons;
 
     for (auto falcon : {right_front_, right_back_, right_under_, left_front_,
@@ -349,11 +353,14 @@
     }
 
     auto falcons_list =
-        builder.fbb()->CreateVector<flatbuffers::Offset<drivetrain::CANFalcon>>(
-            falcons);
+        builder.fbb()
+            ->CreateVector<flatbuffers::Offset<
+                frc971::control_loops::drivetrain::CANFalcon>>(falcons);
 
-    drivetrain::CANPosition::Builder can_position_builder =
-        builder.MakeBuilder<drivetrain::CANPosition>();
+    frc971::control_loops::drivetrain::CANPosition::Builder
+        can_position_builder =
+            builder
+                .MakeBuilder<frc971::control_loops::drivetrain::CANPosition>();
 
     can_position_builder.add_falcons(falcons_list);
     can_position_builder.add_timestamp(right_front_->GetTimestamp());
@@ -379,7 +386,8 @@
   aos::EventLoop *event_loop_;
 
   const std::vector<ctre::phoenixpro::BaseStatusSignalValue *> signals_;
-  aos::Sender<drivetrain::CANPosition> can_position_sender_;
+  aos::Sender<frc971::control_loops::drivetrain::CANPosition>
+      can_position_sender_;
 
   std::shared_ptr<Falcon> right_front_, right_back_, right_under_, left_front_,
       left_back_, left_under_, roller_falcon_;
diff --git a/y2023/y2023_roborio.json b/y2023/y2023_roborio.json
index 4af3d34..33d9904 100644
--- a/y2023/y2023_roborio.json
+++ b/y2023/y2023_roborio.json
@@ -154,7 +154,7 @@
     },
     {
       "name": "/drivetrain",
-      "type": "y2023.control_loops.drivetrain.CANPosition",
+      "type": "frc971.control_loops.drivetrain.CANPosition",
       "source_node": "roborio",
       "frequency": 220,
       "num_senders": 2,