[wpilibc] Fix Mecanum & Swerve ControllerCommand lambda capture (#3795)

Fixes #3765
Also fixes SwerveControllerCommand example calling command twice.
This commit is contained in:
sciencewhiz
2021-12-18 11:30:57 -08:00
committed by GitHub
parent c5ae0effac
commit d41d051f1b
3 changed files with 7 additions and 19 deletions

View File

@@ -81,9 +81,6 @@ MecanumControllerCommand::MecanumControllerCommand(
m_outputVolts(std::move(output)),
m_usePID(true) {
AddRequirements(requirements);
m_desiredRotation = [&] {
return m_trajectory.States().back().pose.Rotation();
};
}
MecanumControllerCommand::MecanumControllerCommand(
@@ -158,9 +155,6 @@ MecanumControllerCommand::MecanumControllerCommand(
m_outputVolts(std::move(output)),
m_usePID(true) {
AddRequirements(requirements);
m_desiredRotation = [&] {
return m_trajectory.States().back().pose.Rotation();
};
}
MecanumControllerCommand::MecanumControllerCommand(
@@ -203,9 +197,6 @@ MecanumControllerCommand::MecanumControllerCommand(
m_outputVel(std::move(output)),
m_usePID(false) {
AddRequirements(requirements);
m_desiredRotation = [&] {
return m_trajectory.States().back().pose.Rotation();
};
}
MecanumControllerCommand::MecanumControllerCommand(
@@ -248,12 +239,12 @@ MecanumControllerCommand::MecanumControllerCommand(
m_outputVel(std::move(output)),
m_usePID(false) {
AddRequirements(requirements);
m_desiredRotation = [&] {
return m_trajectory.States().back().pose.Rotation();
};
}
void MecanumControllerCommand::Initialize() {
m_desiredRotation = [&] {
return m_trajectory.States().back().pose.Rotation();
};
m_prevTime = 0_s;
auto initialState = m_trajectory.Sample(0_s);