diff --git a/wpilibc/src/main/native/cpp/IterativeRobotBase.cpp b/wpilibc/src/main/native/cpp/IterativeRobotBase.cpp index d96bef96f7..b20409b517 100644 --- a/wpilibc/src/main/native/cpp/IterativeRobotBase.cpp +++ b/wpilibc/src/main/native/cpp/IterativeRobotBase.cpp @@ -100,6 +100,10 @@ void IterativeRobotBase::SetNetworkTablesFlushEnabled(bool enabled) { m_ntFlushEnabled = enabled; } +units::second_t IterativeRobotBase::GetPeriod() const { + return m_period; +} + void IterativeRobotBase::LoopFunc() { m_watchdog.Reset(); diff --git a/wpilibc/src/main/native/cpp/TimedRobot.cpp b/wpilibc/src/main/native/cpp/TimedRobot.cpp index 0326859411..d4ddc6c656 100644 --- a/wpilibc/src/main/native/cpp/TimedRobot.cpp +++ b/wpilibc/src/main/native/cpp/TimedRobot.cpp @@ -69,10 +69,6 @@ void TimedRobot::EndCompetition() { HAL_StopNotifier(m_notifier, &status); } -units::second_t TimedRobot::GetPeriod() const { - return units::second_t(m_period); -} - TimedRobot::TimedRobot(double period) : TimedRobot(units::second_t(period)) {} TimedRobot::TimedRobot(units::second_t period) : IterativeRobotBase(period) { diff --git a/wpilibc/src/main/native/include/frc/IterativeRobotBase.h b/wpilibc/src/main/native/include/frc/IterativeRobotBase.h index 7d04868da7..beb7f4cbe1 100644 --- a/wpilibc/src/main/native/include/frc/IterativeRobotBase.h +++ b/wpilibc/src/main/native/include/frc/IterativeRobotBase.h @@ -160,6 +160,11 @@ class IterativeRobotBase : public RobotBase { */ void SetNetworkTablesFlushEnabled(bool enabled); + /** + * Gets time period between calls to Periodic() functions. + */ + units::second_t GetPeriod() const; + /** * Constructor for IterativeRobotBase. * @@ -186,12 +191,11 @@ class IterativeRobotBase : public RobotBase { void LoopFunc(); - units::second_t m_period; - private: enum class Mode { kNone, kDisabled, kAutonomous, kTeleop, kTest }; Mode m_lastMode = Mode::kNone; + units::second_t m_period; Watchdog m_watchdog; bool m_ntFlushEnabled = false; diff --git a/wpilibc/src/main/native/include/frc/TimedRobot.h b/wpilibc/src/main/native/include/frc/TimedRobot.h index 56221e765d..18038eaa79 100644 --- a/wpilibc/src/main/native/include/frc/TimedRobot.h +++ b/wpilibc/src/main/native/include/frc/TimedRobot.h @@ -42,11 +42,6 @@ class TimedRobot : public IterativeRobotBase { */ void EndCompetition() override; - /** - * Get the time period between calls to Periodic() functions. - */ - units::second_t GetPeriod() const; - /** * Constructor for TimedRobot. * diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/IterativeRobotBase.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/IterativeRobotBase.java index 1fc3d964a2..ca15194632 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/IterativeRobotBase.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/IterativeRobotBase.java @@ -32,8 +32,6 @@ import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; * disabledPeriodic() - autonomousPeriodic() - teleopPeriodic() - testPeriodic() */ public abstract class IterativeRobotBase extends RobotBase { - protected double m_period; - private enum Mode { kNone, kDisabled, @@ -43,6 +41,7 @@ public abstract class IterativeRobotBase extends RobotBase { } private Mode m_lastMode = Mode.kNone; + private final double m_period; private final Watchdog m_watchdog; private boolean m_ntFlushEnabled; @@ -204,6 +203,11 @@ public abstract class IterativeRobotBase extends RobotBase { m_ntFlushEnabled = enabled; } + /** Gets time period between calls to Periodic() functions. */ + public double getPeriod() { + return m_period; + } + @SuppressWarnings("PMD.CyclomaticComplexity") protected void loopFunc() { m_watchdog.reset(); diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/TimedRobot.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/TimedRobot.java index 655758b3de..561fbdc040 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/TimedRobot.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/TimedRobot.java @@ -137,11 +137,6 @@ public class TimedRobot extends IterativeRobotBase { NotifierJNI.stopNotifier(m_notifier); } - /** Get time period between calls to Periodic() functions. */ - public double getPeriod() { - return m_period; - } - /** * Add a callback to run at a specific period. *