Files
allwpilib/commandsv2/src/main/native/cpp/frc2/command/WaitCommand.cpp

38 lines
945 B
C++
Raw Normal View History

// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
2025-11-07 19:56:21 -05:00
#include "wpi/commands2/WaitCommand.hpp"
#include <fmt/format.h>
2025-11-07 19:57:55 -05:00
2025-11-07 19:56:21 -05:00
#include "wpi/util/sendable/SendableBuilder.hpp"
2025-11-07 20:00:05 -05:00
using namespace wpi::cmd;
2025-11-07 20:00:05 -05:00
WaitCommand::WaitCommand(wpi::units::second_t duration) : m_duration{duration} {
SetName(fmt::format("{}: {}", GetName(), duration));
}
void WaitCommand::Initialize() {
2023-01-29 10:21:07 -05:00
m_timer.Restart();
}
void WaitCommand::End(bool interrupted) {
m_timer.Stop();
}
bool WaitCommand::IsFinished() {
return m_timer.HasElapsed(m_duration);
}
bool WaitCommand::RunsWhenDisabled() const {
return true;
}
2025-11-07 20:00:05 -05:00
void WaitCommand::InitSendable(wpi::util::SendableBuilder& builder) {
Command::InitSendable(builder);
builder.AddDoubleProperty(
"duration", [this] { return m_duration.value(); }, nullptr);
}