Files
allwpilib/robotpyExamples/SysId/robot.py
PJ Reiniger 8f9fc4d1b6 [copybara] Import robotpy examples (#8608)
GitOrigin-RevId: 9ba4bc3040fa7e772f5a594039e78fc6c43d114e
2026-02-20 15:30:35 -08:00

67 lines
2.2 KiB
Python

#!/usr/bin/env python3
#
# 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.
#
from commands2 import CommandScheduler, TimedCommandRobot
from sysidroutinebot import SysIdRoutineBot
class MyRobot(TimedCommandRobot):
"""
The methods in this class are called automatically corresponding to each mode,
as described in the TimedRobot documentation.
"""
def __init__(self) -> None:
"""This function is run when the robot is first started up and should be used for any
initialization code.
"""
super().__init__()
self.robot = SysIdRoutineBot()
# Configure default commands and condition bindings on robot startup
self.robot.configureBindings()
self.autonomous_command = None
def disabledInit(self) -> None:
"""This function is called once each time the robot enters Disabled mode."""
pass
def disabledPeriodic(self) -> None:
pass
def autonomousInit(self) -> None:
self.autonomous_command = self.robot.getAutonomousCommand()
if self.autonomous_command is not None:
CommandScheduler.getInstance().schedule(self.autonomous_command)
def autonomousPeriodic(self) -> None:
"""This function is called periodically during autonomous."""
pass
def teleopInit(self) -> None:
# This makes sure that the autonomous stops running when
# teleop starts running. If you want the autonomous to
# continue until interrupted by another command, remove
# this line or comment it out.
if self.autonomous_command is not None:
self.autonomous_command.cancel()
def teleopPeriodic(self) -> None:
"""This function is called periodically during operator control."""
pass
def testInit(self) -> None:
# Cancels all running commands at the start of test mode.
CommandScheduler.getInstance().cancelAll()
def testPeriodic(self) -> None:
"""This function is called periodically during test mode."""
pass