Give DrivetrainCANPosition a static length

Signed-off-by: Maxwell Henderson <mxwhenderson@gmail.com>
Change-Id: Ia18a4d37f8f157f818bb129ec6a8ef91b4e45291
diff --git a/frc971/control_loops/drivetrain/drivetrain_can_position.fbs b/frc971/control_loops/drivetrain/drivetrain_can_position.fbs
index b451ea9..29c0b85 100644
--- a/frc971/control_loops/drivetrain/drivetrain_can_position.fbs
+++ b/frc971/control_loops/drivetrain/drivetrain_can_position.fbs
@@ -1,9 +1,10 @@
 include "frc971/control_loops/can_talonfx.fbs";
 namespace frc971.control_loops.drivetrain;
 
+attribute "static_length";
 // CAN readings from the CAN sensor reader loop
 table CANPosition {
-  talonfxs: [CANTalonFX] (id: 0);
+  talonfxs: [CANTalonFX] (id: 0, static_length: 6);
 
   // The timestamp of the measurement on the canivore clock in nanoseconds
   // This will have less jitter than the
diff --git a/y2024/wpilib_interface.cc b/y2024/wpilib_interface.cc
index b708266..b1675db 100644
--- a/y2024/wpilib_interface.cc
+++ b/y2024/wpilib_interface.cc
@@ -375,6 +375,8 @@
           auto drivetrain_falcon_vector =
               drivetrain_can_builder->add_talonfxs();
 
+          CHECK(drivetrain_falcon_vector->reserve(drivetrain_talonfxs.size()));
+
           for (auto talonfx : drivetrain_talonfxs) {
             talonfx->SerializePosition(
                 drivetrain_falcon_vector->emplace_back(),
diff --git a/y2024_defense/wpilib_interface.cc b/y2024_defense/wpilib_interface.cc
index 1584dbd..6dec3c9 100644
--- a/y2024_defense/wpilib_interface.cc
+++ b/y2024_defense/wpilib_interface.cc
@@ -324,6 +324,8 @@
 
           auto falcon_vector = builder->add_talonfxs();
 
+          CHECK(falcon_vector->reserve(falcons.size()));
+
           for (auto falcon : falcons) {
             falcon->SerializePosition(
                 falcon_vector->emplace_back(),