[wpilib] Remove robotInit() (#8199)

Fixes #6622.
This commit is contained in:
Tyler Veness
2025-09-08 21:17:37 -07:00
committed by GitHub
parent f8ed2a4d92
commit be72d543ad
8 changed files with 5 additions and 68 deletions

View File

@@ -20,7 +20,7 @@ public class EpilogueConfiguration {
/**
* The backend implementation for Epilogue to use. By default, this will log data directly to
* NetworkTables. NetworkTable data can be mirrored to a log file on disk by calling {@code
* DataLogManager.start()} in your {@code robotInit} method.
* DataLogManager.start()} in your robot class constructor.
*/
public EpilogueBackend backend = new NTEpilogueBackend(NetworkTableInstance.getDefault());

View File

@@ -20,8 +20,6 @@ IterativeRobotBase::IterativeRobotBase(units::second_t period)
: m_period(period),
m_watchdog(period, [this] { PrintLoopOverrunMessage(); }) {}
void IterativeRobotBase::RobotInit() {}
void IterativeRobotBase::DriverStationConnected() {}
void IterativeRobotBase::SimulationInit() {}

View File

@@ -18,8 +18,6 @@
using namespace frc;
void TimedRobot::StartCompetition() {
RobotInit();
if constexpr (IsSimulation()) {
SimulationInit();
}

View File

@@ -21,8 +21,6 @@ namespace frc {
* This class provides the following functions which are called by the main
* loop, StartCompetition(), at the appropriate times:
*
* RobotInit() -- provide for initialization at robot power-on
*
* DriverStationConnected() -- provide for initialization the first time the DS
* is connected
*
@@ -56,18 +54,6 @@ namespace frc {
*/
class IterativeRobotBase : public RobotBase {
public:
/**
* Robot-wide initialization code should go here.
*
* Users should override this method for default Robot-wide initialization
* which will be called when the robot is first powered on. It will be called
* exactly one time.
*
* Note: This method is functionally identical to the class constructor so
* that should be used instead.
*/
virtual void RobotInit();
/**
* Code that needs to know the DS state should go here.
*
@@ -81,8 +67,8 @@ class IterativeRobotBase : public RobotBase {
*
* Users should override this method for default Robot-wide simulation
* related initialization which will be called when the robot is first
* started. It will be called exactly one time after RobotInit is called
* only when the robot is in simulation.
* started. It will be called exactly one time after the robot class
* constructor is called only when the robot is in simulation.
*/
virtual void SimulationInit();

View File

@@ -28,7 +28,6 @@ class TimedRobotTest : public ::testing::Test {
class MockRobot : public TimedRobot {
public:
std::atomic<uint32_t> m_robotInitCount{0};
std::atomic<uint32_t> m_simulationInitCount{0};
std::atomic<uint32_t> m_disabledInitCount{0};
std::atomic<uint32_t> m_autonomousInitCount{0};
@@ -47,7 +46,7 @@ class MockRobot : public TimedRobot {
std::atomic<uint32_t> m_teleopPeriodicCount{0};
std::atomic<uint32_t> m_testPeriodicCount{0};
MockRobot() : TimedRobot{kPeriod} { m_robotInitCount++; }
MockRobot() : TimedRobot{kPeriod} {}
void SimulationInit() override { m_simulationInitCount++; }
@@ -90,7 +89,6 @@ TEST_F(TimedRobotTest, DisabledMode) {
frc::sim::DriverStationSim::NotifyNewData();
frc::sim::StepTiming(0_ms); // Wait for Notifiers
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(0u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);
@@ -111,7 +109,6 @@ TEST_F(TimedRobotTest, DisabledMode) {
frc::sim::StepTiming(kPeriod);
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(1u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);
@@ -132,7 +129,6 @@ TEST_F(TimedRobotTest, DisabledMode) {
frc::sim::StepTiming(kPeriod);
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(1u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);
@@ -166,7 +162,6 @@ TEST_F(TimedRobotTest, AutonomousMode) {
frc::sim::DriverStationSim::NotifyNewData();
frc::sim::StepTiming(0_ms); // Wait for Notifiers
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(0u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);
@@ -187,7 +182,6 @@ TEST_F(TimedRobotTest, AutonomousMode) {
frc::sim::StepTiming(kPeriod);
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(0u, robot.m_disabledInitCount);
EXPECT_EQ(1u, robot.m_autonomousInitCount);
@@ -208,7 +202,6 @@ TEST_F(TimedRobotTest, AutonomousMode) {
frc::sim::StepTiming(kPeriod);
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(0u, robot.m_disabledInitCount);
EXPECT_EQ(1u, robot.m_autonomousInitCount);
@@ -242,7 +235,6 @@ TEST_F(TimedRobotTest, TeleopMode) {
frc::sim::DriverStationSim::NotifyNewData();
frc::sim::StepTiming(0_ms); // Wait for Notifiers
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(0u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);
@@ -263,7 +255,6 @@ TEST_F(TimedRobotTest, TeleopMode) {
frc::sim::StepTiming(kPeriod);
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(0u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);
@@ -284,7 +275,6 @@ TEST_F(TimedRobotTest, TeleopMode) {
frc::sim::StepTiming(kPeriod);
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(0u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);
@@ -317,7 +307,6 @@ TEST_F(TimedRobotTest, TestMode) {
frc::sim::DriverStationSim::NotifyNewData();
frc::sim::StepTiming(0_ms); // Wait for Notifiers
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(0u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);
@@ -338,7 +327,6 @@ TEST_F(TimedRobotTest, TestMode) {
frc::sim::StepTiming(kPeriod);
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(0u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);
@@ -359,7 +347,6 @@ TEST_F(TimedRobotTest, TestMode) {
frc::sim::StepTiming(kPeriod);
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(0u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);
@@ -384,7 +371,6 @@ TEST_F(TimedRobotTest, TestMode) {
frc::sim::DriverStationSim::NotifyNewData();
frc::sim::StepTiming(20_ms); // Wait for Notifiers
EXPECT_EQ(1u, robot.m_robotInitCount);
EXPECT_EQ(1u, robot.m_simulationInitCount);
EXPECT_EQ(1u, robot.m_disabledInitCount);
EXPECT_EQ(0u, robot.m_autonomousInitCount);

View File

@@ -19,8 +19,6 @@ import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
* <p>This class provides the following functions which are called by the main loop,
* startCompetition(), at the appropriate times:
*
* <p>robotInit() -- provide for initialization at robot power-on
*
* <p>driverStationConnected() -- provide for initialization the first time the DS is connected
*
* <p>init() functions -- each of the following functions is called once when the appropriate mode
@@ -85,17 +83,6 @@ public abstract class IterativeRobotBase extends RobotBase {
/* ----------- Overridable initialization code ----------------- */
/**
* Robot-wide initialization code should go here.
*
* <p>Users should override this method for default Robot-wide initialization which will be called
* when the robot is first powered on. It will be called exactly one time.
*
* <p>Note: This method is functionally identical to the class constructor so that should be used
* instead.
*/
public void robotInit() {}
/**
* Code that needs to know the DS state should go here.
*
@@ -109,7 +96,7 @@ public abstract class IterativeRobotBase extends RobotBase {
*
* <p>Users should override this method for default Robot-wide simulation related initialization
* which will be called when the robot is first started. It will be called exactly one time after
* RobotInit is called only when the robot is in simulation.
* the robot class constructor is called only when the robot is in simulation.
*/
public void simulationInit() {}

View File

@@ -102,8 +102,6 @@ public class TimedRobot extends IterativeRobotBase {
/** Provide an alternate "main loop" via startCompetition(). */
@Override
public void startCompetition() {
robotInit();
if (isSimulation()) {
simulationInit();
}

View File

@@ -18,7 +18,6 @@ class TimedRobotTest {
static final double kPeriod = 0.02;
static class MockRobot extends TimedRobot {
public final AtomicInteger m_robotInitCount = new AtomicInteger(0);
public final AtomicInteger m_simulationInitCount = new AtomicInteger(0);
public final AtomicInteger m_disabledInitCount = new AtomicInteger(0);
public final AtomicInteger m_autonomousInitCount = new AtomicInteger(0);
@@ -39,8 +38,6 @@ class TimedRobotTest {
MockRobot() {
super(kPeriod);
m_robotInitCount.addAndGet(1);
}
@Override
@@ -142,7 +139,6 @@ class TimedRobotTest {
DriverStationSim.notifyNewData();
SimHooks.stepTiming(0.0); // Wait for Notifiers
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(0, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());
@@ -163,7 +159,6 @@ class TimedRobotTest {
SimHooks.stepTiming(kPeriod);
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(1, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());
@@ -184,7 +179,6 @@ class TimedRobotTest {
SimHooks.stepTiming(kPeriod);
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(1, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());
@@ -227,7 +221,6 @@ class TimedRobotTest {
DriverStationSim.notifyNewData();
SimHooks.stepTiming(0.0); // Wait for Notifiers
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(0, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());
@@ -248,7 +241,6 @@ class TimedRobotTest {
SimHooks.stepTiming(kPeriod);
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(0, robot.m_disabledInitCount.get());
assertEquals(1, robot.m_autonomousInitCount.get());
@@ -269,7 +261,6 @@ class TimedRobotTest {
SimHooks.stepTiming(kPeriod);
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(0, robot.m_disabledInitCount.get());
assertEquals(1, robot.m_autonomousInitCount.get());
@@ -312,7 +303,6 @@ class TimedRobotTest {
DriverStationSim.notifyNewData();
SimHooks.stepTiming(0.0); // Wait for Notifiers
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(0, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());
@@ -333,7 +323,6 @@ class TimedRobotTest {
SimHooks.stepTiming(kPeriod);
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(0, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());
@@ -354,7 +343,6 @@ class TimedRobotTest {
SimHooks.stepTiming(kPeriod);
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(0, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());
@@ -397,7 +385,6 @@ class TimedRobotTest {
DriverStationSim.notifyNewData();
SimHooks.stepTiming(0.0); // Wait for Notifiers
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(0, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());
@@ -418,7 +405,6 @@ class TimedRobotTest {
SimHooks.stepTiming(kPeriod);
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(0, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());
@@ -439,7 +425,6 @@ class TimedRobotTest {
SimHooks.stepTiming(kPeriod);
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(0, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());
@@ -465,7 +450,6 @@ class TimedRobotTest {
SimHooks.stepTiming(0.02);
assertEquals(1, robot.m_robotInitCount.get());
assertEquals(1, robot.m_simulationInitCount.get());
assertEquals(1, robot.m_disabledInitCount.get());
assertEquals(0, robot.m_autonomousInitCount.get());