Add dependency injection of Subsystem to Command (#1275)

This commit is contained in:
Matt Soucy
2018-08-19 22:43:21 -04:00
committed by Peter Johnson
parent 6df500e726
commit e28295fc7b
12 changed files with 291 additions and 2 deletions

View File

@@ -27,6 +27,10 @@ Command::Command(const wpi::Twine& name) : Command(name, -1.0) {}
Command::Command(double timeout) : Command("", timeout) {}
Command::Command(Subsystem& requirement) : Command("", -1.0) {
Requires(&requirement);
}
Command::Command(const wpi::Twine& name, double timeout) : SendableBase(false) {
// We use -1.0 to indicate no timeout.
if (timeout < 0.0 && timeout != -1.0)
@@ -43,6 +47,21 @@ Command::Command(const wpi::Twine& name, double timeout) : SendableBase(false) {
}
}
Command::Command(const wpi::Twine& name, Subsystem& requirement)
: Command(name, -1.0) {
Requires(&requirement);
}
Command::Command(double timeout, Subsystem& requirement)
: Command("", timeout) {
Requires(&requirement);
}
Command::Command(const wpi::Twine& name, double timeout, Subsystem& requirement)
: Command(name, timeout) {
Requires(&requirement);
}
double Command::TimeSinceInitialized() const {
if (m_startTime < 0.0)
return 0.0;