7 #include "IterativeRobot.h"
9 #include "DriverStation.h"
10 #include "NetworkCommunication/UsageReporting.h"
12 #include "SmartDashboard/SmartDashboard.h"
13 #include "LiveWindow/LiveWindow.h"
14 #include "networktables/NetworkTable.h"
16 constexpr
double IterativeRobot::kDefaultPeriod;
25 : m_disabledInitialized (false)
26 , m_autonomousInitialized (false)
27 , m_teleopInitialized (false)
28 , m_testInitialized (false)
29 , m_period (kDefaultPeriod)
51 m_mainLoopTimer.
Reset();
52 m_mainLoopTimer.
Start();
57 m_mainLoopTimer.
Stop();
82 return 1.0 / m_period;
95 nUsageReporting::report(nUsageReporting::kResourceType_Framework, nUsageReporting::kFramework_Iterative);
99 SmartDashboard::init();
112 if(!m_disabledInitialized)
116 m_disabledInitialized =
true;
118 m_autonomousInitialized =
false;
119 m_teleopInitialized =
false;
120 m_testInitialized =
false;
122 if (NextPeriodReady())
124 FRC_NetworkCommunication_observeUserProgramDisabled();
132 if(!m_autonomousInitialized)
136 m_autonomousInitialized =
true;
138 m_disabledInitialized =
false;
139 m_teleopInitialized =
false;
140 m_testInitialized =
false;
142 if (NextPeriodReady())
144 FRC_NetworkCommunication_observeUserProgramAutonomous();
152 if(!m_testInitialized)
156 m_testInitialized =
true;
158 m_disabledInitialized =
false;
159 m_autonomousInitialized =
false;
160 m_teleopInitialized =
false;
162 if (NextPeriodReady())
164 FRC_NetworkCommunication_observeUserProgramTest();
172 if(!m_teleopInitialized)
176 m_teleopInitialized =
true;
178 m_disabledInitialized =
false;
179 m_autonomousInitialized =
false;
180 m_testInitialized =
false;
183 if (NextPeriodReady())
185 FRC_NetworkCommunication_observeUserProgramTeleop();
204 bool IterativeRobot::NextPeriodReady()
224 printf(
"Default %s() method... Overload me!\n", __FUNCTION__);
235 printf(
"Default %s() method... Overload me!\n", __FUNCTION__);
246 printf(
"Default %s() method... Overload me!\n", __FUNCTION__);
257 printf(
"Default %s() method... Overload me!\n", __FUNCTION__);
268 printf(
"Default %s() method... Overload me!\n", __FUNCTION__);
279 static bool firstRun =
true;
282 printf(
"Default %s() method... Overload me!\n", __FUNCTION__);
296 static bool firstRun =
true;
299 printf(
"Default %s() method... Overload me!\n", __FUNCTION__);
313 static bool firstRun =
true;
316 printf(
"Default %s() method... Overload me!\n", __FUNCTION__);
330 static bool firstRun =
true;
333 printf(
"Default %s() method... Overload me!\n", __FUNCTION__);
NetworkTable * GetSubTable(std::string key)
virtual void DisabledPeriodic()
void SetEnabled(bool enabled)
virtual void AutonomousInit()
static NetworkTable * GetTable(std::string key)
void PutBoolean(std::string key, bool value)
bool HasPeriodPassed(double period)
virtual void DisabledInit()
virtual void StartCompetition()
static LiveWindow * GetInstance()
void SetPeriod(double period)
virtual void AutonomousPeriodic()
virtual void TestPeriodic()
void SetEnabled(bool enabled)
virtual ~IterativeRobot()
virtual void TeleopPeriodic()
virtual void TeleopInit()
static Scheduler * GetInstance()