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 
46 class IterativeRobot : public RobotBase {
47  public:
48  void StartCompetition() override;
49 
50  virtual void RobotInit();
51  virtual void DisabledInit();
52  virtual void AutonomousInit();
53  virtual void TeleopInit();
54  virtual void TestInit();
55 
56  virtual void RobotPeriodic();
57  virtual void DisabledPeriodic();
58  virtual void AutonomousPeriodic();
59  virtual void TeleopPeriodic();
60  virtual void TestPeriodic();
61 
62  protected:
63  IterativeRobot() = default;
64  virtual ~IterativeRobot() = default;
65 
66  private:
67  bool m_disabledInitialized = false;
68  bool m_autonomousInitialized = false;
69  bool m_teleopInitialized = false;
70  bool m_testInitialized = false;
71 };
72 
73 } // namespace frc
virtual void DisabledPeriodic()
Periodic code for disabled mode should go here.
Definition: IterativeRobot.cpp:196
virtual void RobotPeriodic()
Periodic code for all modes should go here.
Definition: IterativeRobot.cpp:175
virtual void RobotInit()
Robot-wide initialization code should go here.
Definition: IterativeRobot.cpp:118
void StartCompetition() override
Provide an alternate "main loop" via StartCompetition().
Definition: IterativeRobot.cpp:24
virtual void DisabledInit()
Initialization code for disabled mode should go here.
Definition: IterativeRobot.cpp:129
virtual void TeleopInit()
Initialization code for teleop mode should go here.
Definition: IterativeRobot.cpp:149
virtual void TestPeriodic()
Periodic code for test mode should go here.
Definition: IterativeRobot.cpp:259
Implement a Robot Program framework.
Definition: RobotBase.h:42
virtual void TestInit()
Initialization code for test mode should go here.
Definition: IterativeRobot.cpp:159
IterativeRobot implements a specific type of Robot Program framework, extending the RobotBase class...
Definition: IterativeRobot.h:46
virtual void AutonomousInit()
Initialization code for autonomous mode should go here.
Definition: IterativeRobot.cpp:139
virtual void AutonomousPeriodic()
Periodic code for autonomous mode should go here.
Definition: IterativeRobot.cpp:217
virtual void TeleopPeriodic()
Periodic code for teleop mode should go here.
Definition: IterativeRobot.cpp:238