Add flatbuffer for roller current

Signed-off-by: Maxwell Henderson <mxwhenderson@gmail.com>
Change-Id: I4e7ac183400260ff04d24623e2467eac0d08c801
diff --git a/y2023/control_loops/superstructure/BUILD b/y2023/control_loops/superstructure/BUILD
index d00489a..5da5250 100644
--- a/y2023/control_loops/superstructure/BUILD
+++ b/y2023/control_loops/superstructure/BUILD
@@ -56,6 +56,8 @@
     includes = [
         "//frc971/control_loops:control_loops_fbs_includes",
         "//frc971/control_loops:profiled_subsystem_fbs_includes",
+        "//frc971/vision:calibration_fbs_includes",
+        "//y2023/control_loops/drivetrain:drivetrain_can_position_fbs_includes",
     ],
 )
 
@@ -69,7 +71,6 @@
     ],
     deps = [
         ":superstructure_goal_fbs",
-        ":superstructure_position_fbs",
         ":superstructure_status_fbs",
         "//aos/events:event_loop",
         "//aos/time",
@@ -97,6 +98,7 @@
         "//frc971/control_loops:control_loop",
         "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
         "//y2023:constants",
+        "//y2023/control_loops/drivetrain:drivetrain_can_position_fbs",
         "//y2023/control_loops/superstructure/arm",
     ],
 )
diff --git a/y2023/control_loops/superstructure/arm/BUILD b/y2023/control_loops/superstructure/arm/BUILD
index ce226d1..e1e3392 100644
--- a/y2023/control_loops/superstructure/arm/BUILD
+++ b/y2023/control_loops/superstructure/arm/BUILD
@@ -14,6 +14,7 @@
         "//frc971/control_loops/double_jointed_arm:graph",
         "//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/end_effector.h b/y2023/control_loops/superstructure/end_effector.h
index 16007de..8c9b37b 100644
--- a/y2023/control_loops/superstructure/end_effector.h
+++ b/y2023/control_loops/superstructure/end_effector.h
@@ -6,7 +6,6 @@
 #include "frc971/control_loops/control_loop.h"
 #include "y2023/constants.h"
 #include "y2023/control_loops/superstructure/superstructure_goal_generated.h"
-#include "y2023/control_loops/superstructure/superstructure_position_generated.h"
 #include "y2023/control_loops/superstructure/superstructure_status_generated.h"
 
 namespace y2023 {
diff --git a/y2023/control_loops/superstructure/superstructure.h b/y2023/control_loops/superstructure/superstructure.h
index 827cc40..87a5395 100644
--- a/y2023/control_loops/superstructure/superstructure.h
+++ b/y2023/control_loops/superstructure/superstructure.h
@@ -5,6 +5,7 @@
 #include "frc971/control_loops/control_loop.h"
 #include "frc971/control_loops/drivetrain/drivetrain_status_generated.h"
 #include "y2023/constants.h"
+#include "y2023/control_loops/drivetrain/drivetrain_can_position_generated.h"
 #include "y2023/control_loops/superstructure/arm/arm.h"
 #include "y2023/control_loops/superstructure/end_effector.h"
 #include "y2023/control_loops/superstructure/superstructure_goal_generated.h"
diff --git a/y2023/control_loops/superstructure/superstructure_position.fbs b/y2023/control_loops/superstructure/superstructure_position.fbs
index cf8a843..3c7a33b 100644
--- a/y2023/control_loops/superstructure/superstructure_position.fbs
+++ b/y2023/control_loops/superstructure/superstructure_position.fbs
@@ -18,6 +18,28 @@
   roll_joint:frc971.PotAndAbsolutePosition (id: 2);
 }
 
+table CANFalcon {
+  // The CAN id of the falcon
+  id:int (id: 0);
+
+  // In Amps
+  supply_current:float (id: 1);
+
+  // In Amps
+  // Stator current where positive current means torque is applied in
+  // the motor's forward direction as determined by its Inverted setting.
+  torque_current:float (id: 2);
+
+  // In Volts
+  supply_voltage:float (id: 3);
+
+  // In degrees Celsius
+  device_temp:float (id: 4);
+
+  // Raw position
+  position:float (id: 5);
+}
+
 table Position {
     arm:ArmPosition (id: 0);
 
@@ -30,6 +52,9 @@
 
     // If this is true, the cube beam break is triggered.
     end_effector_cube_beam_break:bool (id: 3);
+
+    // Roller falcon data
+    roller_falcon:CANFalcon (id: 4);
 }
 
 root_type Position;