Class TimedRobot

  • All Implemented Interfaces:
    AutoCloseable
    Direct Known Subclasses:
    TimesliceRobot

    public class TimedRobot
    extends IterativeRobotBase
    TimedRobot implements the IterativeRobotBase robot program framework.

    The TimedRobot class is intended to be subclassed by a user creating a robot program.

    periodic() functions from the base class are called on an interval by a Notifier instance.

    • Constructor Detail

      • TimedRobot

        protected TimedRobot()
        Constructor for TimedRobot.
      • TimedRobot

        protected TimedRobot​(double period)
        Constructor for TimedRobot.
        Parameters:
        period - Period in seconds.
    • Method Detail

      • addPeriodic

        public void addPeriodic​(Runnable callback,
                                double periodSeconds)
        Add a callback to run at a specific period.

        This is scheduled on TimedRobot's Notifier, so TimedRobot and the callback run synchronously. Interactions between them are thread-safe.

        Parameters:
        callback - The callback to run.
        periodSeconds - The period at which to run the callback in seconds.
      • addPeriodic

        public void addPeriodic​(Runnable callback,
                                double periodSeconds,
                                double offsetSeconds)
        Add a callback to run at a specific period with a starting time offset.

        This is scheduled on TimedRobot's Notifier, so TimedRobot and the callback run synchronously. Interactions between them are thread-safe.

        Parameters:
        callback - The callback to run.
        periodSeconds - The period at which to run the callback in seconds.
        offsetSeconds - The offset from the common starting time in seconds. This is useful for scheduling a callback in a different timeslot relative to TimedRobot.