diff --git a/y2023_bot3/wpilib_interface.cc b/y2023_bot3/wpilib_interface.cc
index 9b8df5d..231f2c6 100644
--- a/y2023_bot3/wpilib_interface.cc
+++ b/y2023_bot3/wpilib_interface.cc
@@ -96,7 +96,7 @@
 
 }  // namespace
 
-static constexpr int kCANFalconCount = 6;
+static constexpr int kCANTalonFXCount = 6;
 static constexpr units::frequency::hertz_t kCANUpdateFreqHz = 200_Hz;
 
 class Falcon {
@@ -177,9 +177,9 @@
 
   ctre::phoenix6::hardware::TalonFX *talon() { return &talon_; }
 
-  flatbuffers::Offset<frc971::control_loops::CANFalcon> WritePosition(
+  flatbuffers::Offset<frc971::control_loops::CANTalonFX> WritePosition(
       flatbuffers::FlatBufferBuilder *fbb) {
-    frc971::control_loops::CANFalcon::Builder builder(*fbb);
+    frc971::control_loops::CANTalonFX::Builder builder(*fbb);
     builder.add_id(device_id_);
     builder.add_device_temp(device_temp());
     builder.add_supply_voltage(supply_voltage());
@@ -275,8 +275,8 @@
       falcon->RefreshNontimesyncedSignals();
     }
 
-    aos::SizedArray<flatbuffers::Offset<frc971::control_loops::CANFalcon>,
-                    kCANFalconCount>
+    aos::SizedArray<flatbuffers::Offset<frc971::control_loops::CANTalonFX>,
+                    kCANTalonFXCount>
         falcons;
 
     for (auto falcon : {right_front_, right_back_}) {
@@ -286,14 +286,15 @@
     auto falcons_list =
         builder.fbb()
             ->CreateVector<
-                flatbuffers::Offset<frc971::control_loops::CANFalcon>>(falcons);
+                flatbuffers::Offset<frc971::control_loops::CANTalonFX>>(
+                falcons);
 
     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_talonfxs(falcons_list);
     can_position_builder.add_timestamp(right_front_->GetTimestamp());
     can_position_builder.add_status(static_cast<int>(status));
 
