Fixed conversion functions and modified drivetrain msg so it can be logged.
Change-Id: I925303e6ceb4d92bfde098e3580526c9eefd6a5f
diff --git a/frc971/wpilib/wpilib_interface.cc b/frc971/wpilib/wpilib_interface.cc
index de1ed32..0cebf53 100644
--- a/frc971/wpilib/wpilib_interface.cc
+++ b/frc971/wpilib/wpilib_interface.cc
@@ -69,9 +69,9 @@
}
double arm_potentiometer_translate(double voltage) {
- return voltage /
+ return voltage *
constants::GetValues().arm_pot_ratio *
- (5.0 /*volts*/ / 5.0 /*turns*/) *
+ (5.0 /*turns*/ / 5.0 /*volts*/) *
(2 * M_PI /*radians*/);
}
@@ -84,11 +84,11 @@
}
double elevator_potentiometer_translate(double voltage) {
- return voltage /
+ return voltage *
constants::GetValues().elev_pot_ratio *
(2 * M_PI /*radians*/) *
constants::GetValues().elev_distance_per_radian *
- (5.0 /*volts*/ / 5.0 /*turns*/);
+ (5.0 /*turns*/ / 5.0 /*volts*/);
}
double claw_translate(int32_t in) {
@@ -99,9 +99,9 @@
}
double claw_potentiometer_translate(double voltage) {
- return voltage /
+ return voltage *
constants::GetValues().claw_pot_ratio *
- (5.0 /*volts*/ / 5.0 /*turns*/) *
+ (5.0 /*turns*/ / 5.0 /*volts*/) *
(2 * M_PI /*radians*/);
}
@@ -249,10 +249,15 @@
new_state.Send();
}
- drivetrain_queue.position.MakeWithBuilder()
- .right_encoder(drivetrain_translate(right_encoder_->GetRaw()))
- .left_encoder(-drivetrain_translate(left_encoder_->GetRaw()))
- .Send();
+ {
+ auto drivetrain_message = drivetrain_queue.position.MakeMessage();
+ drivetrain_message->right_encoder =
+ drivetrain_translate(right_encoder_->GetRaw());
+ drivetrain_message->left_encoder =
+ -drivetrain_translate(left_encoder_->GetRaw());
+
+ drivetrain_message.Send();
+ }
dma_synchronizer_->RunIteration();