Change falcon position scale by a gear ratio

Signed-off-by: Maxwell Henderson <maxwell.henderson@mailbox.org>
Change-Id: I5965428c19fb51bb1e86086ff56990ab5c71eaee
diff --git a/frc971/wpilib/falcon.cc b/frc971/wpilib/falcon.cc
index 6be83aa..014556d 100644
--- a/frc971/wpilib/falcon.cc
+++ b/frc971/wpilib/falcon.cc
@@ -94,7 +94,8 @@
   return status;
 }
 
-void Falcon::SerializePosition(flatbuffers::FlatBufferBuilder *fbb) {
+void Falcon::SerializePosition(flatbuffers::FlatBufferBuilder *fbb,
+                               double gear_ratio) {
   control_loops::CANFalcon::Builder builder(*fbb);
   builder.add_id(device_id_);
   builder.add_device_temp(device_temp());
@@ -102,7 +103,7 @@
   builder.add_supply_current(supply_current());
   builder.add_torque_current(torque_current());
   builder.add_duty_cycle(duty_cycle());
-  builder.add_position(position());
+  builder.add_position(position() * gear_ratio);
 
   last_position_offset_ = builder.Finish();
 }
diff --git a/frc971/wpilib/falcon.h b/frc971/wpilib/falcon.h
index 8f0f1f0..d516290 100644
--- a/frc971/wpilib/falcon.h
+++ b/frc971/wpilib/falcon.h
@@ -35,7 +35,9 @@
 
   ctre::phoenix6::hardware::TalonFX *talon() { return &talon_; }
 
-  void SerializePosition(flatbuffers::FlatBufferBuilder *fbb);
+  // The position of the Falcon output shaft is multiplied by gear_ratio
+  void SerializePosition(flatbuffers::FlatBufferBuilder *fbb,
+                         double gear_ratio);
 
   std::optional<flatbuffers::Offset<control_loops::CANFalcon>> TakeOffset();