[wpimath] Reorder TrapezoidProfile.calculate() arguments (#5874)

ProfiledPIDController and ExponentialProfile use current, then goal.
This isn't a breaking change because this overload of calculate() is
new for 2024.
This commit is contained in:
Tyler Veness
2023-11-04 16:28:55 -07:00
committed by GitHub
parent 04a781b4d7
commit 201a42a3cd
15 changed files with 45 additions and 45 deletions

View File

@@ -322,7 +322,7 @@ class ProfiledPIDController
m_setpoint.position = setpointMinDistance + measurement;
}
m_setpoint = m_profile.Calculate(GetPeriod(), m_goal, m_setpoint);
m_setpoint = m_profile.Calculate(GetPeriod(), m_setpoint, m_goal);
return m_controller.Calculate(measurement.value(),
m_setpoint.position.value());
}

View File

@@ -29,8 +29,8 @@ namespace frc {
* Run on update:
* @code{.cpp}
* previousProfiledReference = profile.Calculate(timeSincePreviousUpdate,
* unprofiledReference,
* previousProfiledReference);
* previousProfiledReference,
* unprofiledReference);
* @endcode
*
* where `unprofiledReference` is free to change between calls. Note that when
@@ -121,10 +121,10 @@ class TrapezoidProfile {
* where the beginning of the profile was at time t = 0.
*
* @param t The time since the beginning of the profile.
* @param goal The desired state when the profile is complete.
* @param current The initial state (usually the current state).
* @param goal The desired state when the profile is complete.
*/
State Calculate(units::second_t t, State goal, State current);
State Calculate(units::second_t t, State current, State goal);
/**
* Returns the time left until a target distance in the profile is reached.

View File

@@ -97,8 +97,8 @@ TrapezoidProfile<Distance>::Calculate(units::second_t t) const {
}
template <class Distance>
typename TrapezoidProfile<Distance>::State
TrapezoidProfile<Distance>::Calculate(units::second_t t, State goal,
State current) {
TrapezoidProfile<Distance>::Calculate(units::second_t t, State current,
State goal) {
m_direction = ShouldFlipAcceleration(current, goal) ? -1 : 1;
m_current = Direct(current);
goal = Direct(goal);