WPILibC++  unspecified
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
IterativeRobot.h
1 /*----------------------------------------------------------------------------*/
2 /* Copyright (c) FIRST 2008-2017. All Rights Reserved. */
3 /* Open Source Software - may be modified and shared by FRC teams. The code */
4 /* must be accompanied by the FIRST BSD license file in the root directory of */
5 /* the project. */
6 /*----------------------------------------------------------------------------*/
7 
8 #pragma once
9 
10 #include "RobotBase.h"
11 
12 namespace frc {
13 
47 class IterativeRobot : public RobotBase {
48  public:
49  virtual void StartCompetition();
50 
51  virtual void RobotInit();
52  virtual void DisabledInit();
53  virtual void AutonomousInit();
54  virtual void TeleopInit();
55  virtual void TestInit();
56 
57  virtual void RobotPeriodic();
58  virtual void DisabledPeriodic();
59  virtual void AutonomousPeriodic();
60  virtual void TeleopPeriodic();
61  virtual void TestPeriodic();
62 
63  protected:
64  virtual ~IterativeRobot() = default;
65  IterativeRobot() = default;
66 
67  private:
68  bool m_disabledInitialized = false;
69  bool m_autonomousInitialized = false;
70  bool m_teleopInitialized = false;
71  bool m_testInitialized = false;
72 };
73 
74 } // namespace frc
virtual void DisabledPeriodic()
Periodic code for disabled mode should go here.
Definition: IterativeRobot.cpp:195
virtual void RobotPeriodic()
Periodic code for all modes should go here.
Definition: IterativeRobot.cpp:174
virtual void RobotInit()
Robot-wide initialization code should go here.
Definition: IterativeRobot.cpp:117
virtual void DisabledInit()
Initialization code for disabled mode should go here.
Definition: IterativeRobot.cpp:128
virtual void StartCompetition()
Provide an alternate "main loop" via StartCompetition().
Definition: IterativeRobot.cpp:23
virtual void TeleopInit()
Initialization code for teleop mode should go here.
Definition: IterativeRobot.cpp:148
virtual void TestPeriodic()
Periodic code for test mode should go here.
Definition: IterativeRobot.cpp:257
Implement a Robot Program framework.
Definition: RobotBase.h:43
virtual void TestInit()
Initialization code for test mode should go here.
Definition: IterativeRobot.cpp:158
IterativeRobot implements a specific type of Robot Program framework, extending the RobotBase class...
Definition: IterativeRobot.h:47
virtual void AutonomousInit()
Initialization code for autonomous mode should go here.
Definition: IterativeRobot.cpp:138
virtual void AutonomousPeriodic()
Periodic code for autonomous mode should go here.
Definition: IterativeRobot.cpp:216
virtual void TeleopPeriodic()
Periodic code for teleop mode should go here.
Definition: IterativeRobot.cpp:237