// 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. #pragma once #include "wpi/commands2/CommandPtr.hpp" #include "wpi/commands2/SubsystemBase.hpp" class ExampleSubsystem : public wpi::cmd::SubsystemBase { public: ExampleSubsystem(); /** * Example command factory method. */ wpi::cmd::CommandPtr ExampleMethodCommand(); /** * An example method querying a boolean state of the subsystem (for example, a * digital sensor). * * @return value of some boolean subsystem state, such as a digital sensor. */ bool ExampleCondition(); /** * Will be called periodically whenever the CommandScheduler runs. */ void Periodic() override; /** * Will be called periodically whenever the CommandScheduler runs during * simulation. */ void SimulationPeriodic() override; private: // Components (e.g. motor controllers and sensors) should generally be // declared private and exposed only through public methods. };