[wpilib] Remove IterativeRobot base class

TimedRobot supersedes it (see commit 81498e6 for reasoning).
This commit is contained in:
Tyler Veness
2019-04-10 20:21:11 -07:00
committed by Peter Johnson
parent 3c08461685
commit f00dfed7ac
3 changed files with 0 additions and 160 deletions

View File

@@ -1,64 +0,0 @@
// 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.
package edu.wpi.first.wpilibj;
import edu.wpi.first.hal.FRCNetComm.tInstances;
import edu.wpi.first.hal.FRCNetComm.tResourceType;
import edu.wpi.first.hal.HAL;
/**
* IterativeRobot implements the IterativeRobotBase robot program framework.
*
* <p>The IterativeRobot class is intended to be subclassed by a user creating a robot program.
*
* <p>periodic() functions from the base class are called each time a new packet is received from
* the driver station.
*
* @deprecated Use TimedRobot instead. It's a drop-in replacement that provides more regular
* execution periods.
*/
@Deprecated
public class IterativeRobot extends IterativeRobotBase {
private static final double kPacketPeriod = 0.02;
private volatile boolean m_exit;
/** Create a new IterativeRobot. */
public IterativeRobot() {
super(kPacketPeriod);
HAL.report(tResourceType.kResourceType_Framework, tInstances.kFramework_Iterative);
}
/** Provide an alternate "main loop" via startCompetition(). */
@Override
public void startCompetition() {
robotInit();
if (isSimulation()) {
simulationInit();
}
// Tell the DS that the robot is ready to be enabled
HAL.observeUserProgramStarting();
// Loop forever, calling the appropriate mode-dependent function
while (!Thread.currentThread().isInterrupted()) {
// Wait for new data to arrive
m_ds.waitForData();
if (m_exit) {
break;
}
loopFunc();
}
}
/** Ends the main loop in startCompetition(). */
@Override
public void endCompetition() {
m_exit = true;
m_ds.wakeupWaitForData();
}
}