mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-26 01:51:41 +00:00
This is the C++ version of #1682. The old command framework is still available, but will be deprecated. Due to name conflicts, the new framework is in the frc2 namespace. Eventually (after the old command framework is removed in a future year) it will be moved into the main frc namespace.
34 lines
1014 B
C++
34 lines
1014 B
C++
/*----------------------------------------------------------------------------*/
|
|
/* Copyright (c) 2019 FIRST. All Rights Reserved. */
|
|
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
|
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
|
/* the project. */
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
#pragma once
|
|
|
|
namespace frc2 {
|
|
/**
|
|
* Class that holds scheduling state for a command. Used internally by the
|
|
* CommandScheduler
|
|
*/
|
|
class CommandState final {
|
|
public:
|
|
CommandState() = default;
|
|
|
|
explicit CommandState(bool interruptible);
|
|
|
|
bool IsInterruptible() const { return m_interruptible; }
|
|
|
|
// The time since this command was initialized.
|
|
double TimeSinceInitialized() const;
|
|
|
|
private:
|
|
double m_startTime = -1;
|
|
bool m_interruptible;
|
|
|
|
void StartTiming();
|
|
void StartRunning();
|
|
};
|
|
} // namespace frc2
|