Use stricter C++ type conversions (#4357)

Now, implicit narrowing conversions are only used with wpi::Now(). This
also fixes clang-tidy warnings about C-style casts. For example:
```
== clang-tidy /__w/allwpilib/allwpilib/wpilibNewCommands/src/main/native/include/frc2/command/SwerveControllerCommand.inc ==
/__w/allwpilib/allwpilib/wpilibNewCommands/src/main/native/include/frc2/command/SwerveControllerCommand.inc:95:18: warning: C-style casts are discouraged; use static_cast/const_cast/reinterpret_cast [google-readability-casting]
  auto curTime = units::second_t(m_timer.Get());
                 ^
```
In that case at least, the cast was removed entirely since Get() already
returns a units::second_t.
This commit is contained in:
Tyler Veness
2022-08-17 13:42:36 -07:00
committed by GitHub
parent 151dabb2af
commit ac9be78e27
139 changed files with 547 additions and 593 deletions

View File

@@ -40,7 +40,7 @@ TEST(DifferentialDrivetrainSimTest, Convergence) {
frc::DifferentialDriveKinematicsConstraint(kinematics, 1_mps));
auto trajectory = frc::TrajectoryGenerator::GenerateTrajectory(
frc::Pose2d(), {}, frc::Pose2d(2_m, 2_m, 0_rad), config);
frc::Pose2d{}, {}, frc::Pose2d{2_m, 2_m, 0_rad}, config);
for (auto t = 0_s; t < trajectory.TotalTime(); t += 20_ms) {
auto state = trajectory.Sample(t);
@@ -51,7 +51,7 @@ TEST(DifferentialDrivetrainSimTest, Convergence) {
feedforward.Calculate(frc::Vectord<2>{l.value(), r.value()});
// Sim periodic code.
sim.SetInputs(units::volt_t(voltages(0, 0)), units::volt_t(voltages(1, 0)));
sim.SetInputs(units::volt_t{voltages(0, 0)}, units::volt_t{voltages(1, 0)});
sim.Update(20_ms);
// Update ground truth.

View File

@@ -20,9 +20,8 @@
EXPECT_LE(units::math::abs(val1 - val2), eps)
TEST(ElevatorSimTest, StateSpaceSim) {
frc::sim::ElevatorSim sim(frc::DCMotor::Vex775Pro(4), 14.67, 8_kg,
units::meter_t(0.75 * 25.4 / 1000.0), 0_m, 3_m,
true, {0.01});
frc::sim::ElevatorSim sim(frc::DCMotor::Vex775Pro(4), 14.67, 8_kg, 0.75_in,
0_m, 3_m, true, {0.01});
frc2::PIDController controller(10, 0.0, 0.0);
frc::PWMVictorSPX motor(0);
@@ -46,9 +45,8 @@ TEST(ElevatorSimTest, StateSpaceSim) {
}
TEST(ElevatorSimTest, MinMax) {
frc::sim::ElevatorSim sim(frc::DCMotor::Vex775Pro(4), 14.67, 8_kg,
units::meter_t(0.75 * 25.4 / 1000.0), 0_m, 1_m,
true, {0.01});
frc::sim::ElevatorSim sim(frc::DCMotor::Vex775Pro(4), 14.67, 8_kg, 0.75_in,
0_m, 1_m, true, {0.01});
for (size_t i = 0; i < 100; ++i) {
sim.SetInput(frc::Vectord<1>{0.0});
sim.Update(20_ms);

View File

@@ -40,7 +40,7 @@ TEST(StateSpaceSimTest, FlywheelSim) {
for (int i = 0; i < 100; i++) {
// RobotPeriodic runs first
auto voltageOut = controller.Calculate(encoder.GetRate(), 200.0);
motor.SetVoltage(units::volt_t(voltageOut) +
motor.SetVoltage(units::volt_t{voltageOut} +
feedforward.Calculate(200_rad_per_s));
// Then, SimulationPeriodic runs