mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
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:
@@ -82,20 +82,20 @@ double DifferentialDrivetrainSim::GetState(int state) const {
|
||||
}
|
||||
|
||||
Rotation2d DifferentialDrivetrainSim::GetHeading() const {
|
||||
return Rotation2d(units::radian_t(GetOutput(State::kHeading)));
|
||||
return units::radian_t{GetOutput(State::kHeading)};
|
||||
}
|
||||
|
||||
Pose2d DifferentialDrivetrainSim::GetPose() const {
|
||||
return Pose2d(units::meter_t(GetOutput(State::kX)),
|
||||
units::meter_t(GetOutput(State::kY)), GetHeading());
|
||||
return Pose2d{units::meter_t{GetOutput(State::kX)},
|
||||
units::meter_t{GetOutput(State::kY)}, GetHeading()};
|
||||
}
|
||||
|
||||
units::ampere_t DifferentialDrivetrainSim::GetLeftCurrentDraw() const {
|
||||
auto loadIleft =
|
||||
m_motor.Current(
|
||||
units::radians_per_second_t(m_x(State::kLeftVelocity) *
|
||||
m_currentGearing / m_wheelRadius.value()),
|
||||
units::volt_t(m_u(0))) *
|
||||
units::radians_per_second_t{m_x(State::kLeftVelocity) *
|
||||
m_currentGearing / m_wheelRadius.value()},
|
||||
units::volt_t{m_u(0)}) *
|
||||
wpi::sgn(m_u(0));
|
||||
|
||||
return loadIleft;
|
||||
@@ -104,9 +104,9 @@ units::ampere_t DifferentialDrivetrainSim::GetLeftCurrentDraw() const {
|
||||
units::ampere_t DifferentialDrivetrainSim::GetRightCurrentDraw() const {
|
||||
auto loadIRight =
|
||||
m_motor.Current(
|
||||
units::radians_per_second_t(m_x(State::kRightVelocity) *
|
||||
m_currentGearing / m_wheelRadius.value()),
|
||||
units::volt_t(m_u(1))) *
|
||||
units::radians_per_second_t{m_x(State::kRightVelocity) *
|
||||
m_currentGearing / m_wheelRadius.value()},
|
||||
units::volt_t{m_u(1)}) *
|
||||
wpi::sgn(m_u(1));
|
||||
|
||||
return loadIRight;
|
||||
|
||||
Reference in New Issue
Block a user