blob: aa785878ce634a5dd602a9d821afa6034a5d2824 [file] [log] [blame]
#include "WPILib/DriverStation.h"
#include "WPILib/RobotBase.h"
namespace aos {
namespace crio {
// Designed for a subclass (that implements all of the pure virtual methods...)
// to be passed to START_ROBOT_CLASS (a WPILib macro) to start all of the code.
class ControlsManager : public RobotBase {
public:
virtual void StartCompetition();
static ControlsManager &GetInstance() {
return *static_cast<ControlsManager *>(&RobotBase::getInstance());
}
DriverStation *GetDS() {
return m_ds;
}
private:
// Hooks that subclasses have to implement to do the correct things at the
// correct times.
virtual void RegisterControlLoops() = 0;
virtual void StartSensorBroadcasters() = 0;
};
} // namespace crio
} // namespace aos