Change C++ WaitCommand to use units (#1865)

Also remove unique_ptr usage.
This commit is contained in:
Peter Johnson
2019-09-02 23:39:51 -07:00
committed by GitHub
parent 1fb3011235
commit 761bc3ef85
10 changed files with 27 additions and 25 deletions

View File

@@ -9,19 +9,18 @@
using namespace frc2;
WaitCommand::WaitCommand(double seconds) : m_duration{seconds} {
auto secondsStr = std::to_string(seconds);
SetName(wpi::Twine(m_name) + ": " + wpi::Twine(secondsStr) + " seconds");
m_timer = std::make_unique<frc::Timer>();
WaitCommand::WaitCommand(units::second_t duration) : m_duration{duration} {
auto durationStr = std::to_string(duration.to<double>());
SetName(wpi::Twine(m_name) + ": " + wpi::Twine(durationStr) + " seconds");
}
void WaitCommand::Initialize() {
m_timer->Reset();
m_timer->Start();
m_timer.Reset();
m_timer.Start();
}
void WaitCommand::End(bool interrupted) { m_timer->Stop(); }
void WaitCommand::End(bool interrupted) { m_timer.Stop(); }
bool WaitCommand::IsFinished() { return m_timer->HasPeriodPassed(m_duration); }
bool WaitCommand::IsFinished() { return m_timer.HasPeriodPassed(m_duration); }
bool WaitCommand::RunsWhenDisabled() const { return true; }