mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-24 01:31:46 +00:00
[wpilib] Remove IterativeRobot base class
TimedRobot supersedes it (see commit 81498e6 for reasoning).
This commit is contained in:
committed by
Peter Johnson
parent
3c08461685
commit
f00dfed7ac
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user