From ffd36eb09149c3a4a5affc01e6693d11496e82fb Mon Sep 17 00:00:00 2001 From: Thad House Date: Thu, 14 May 2026 21:48:09 -0700 Subject: [PATCH] [developerRobot] Add an OpModeRobot instance to DeveloperRobot (#8891) You can switch to it just by switching Main.java --- .../java/wpilib/robot/DefaultAutoMode.java | 24 +++++++++++++++++ .../java/wpilib/robot/DefaultTeleMode.java | 26 +++++++++++++++++++ .../src/main/java/wpilib/robot/OpRobot.java | 16 ++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 developerRobot/src/main/java/wpilib/robot/DefaultAutoMode.java create mode 100644 developerRobot/src/main/java/wpilib/robot/DefaultTeleMode.java create mode 100644 developerRobot/src/main/java/wpilib/robot/OpRobot.java diff --git a/developerRobot/src/main/java/wpilib/robot/DefaultAutoMode.java b/developerRobot/src/main/java/wpilib/robot/DefaultAutoMode.java new file mode 100644 index 0000000000..b50aeae67a --- /dev/null +++ b/developerRobot/src/main/java/wpilib/robot/DefaultAutoMode.java @@ -0,0 +1,24 @@ +// 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 wpilib.robot; + +import org.wpilib.opmode.Autonomous; +import org.wpilib.opmode.PeriodicOpMode; + +@Autonomous +public class DefaultAutoMode extends PeriodicOpMode { + @SuppressWarnings("unused") + private final OpRobot robot; + + public DefaultAutoMode(OpRobot robot) { + this.robot = robot; + } + + @Override + public void start() {} + + @Override + public void periodic() {} +} diff --git a/developerRobot/src/main/java/wpilib/robot/DefaultTeleMode.java b/developerRobot/src/main/java/wpilib/robot/DefaultTeleMode.java new file mode 100644 index 0000000000..f859207b7b --- /dev/null +++ b/developerRobot/src/main/java/wpilib/robot/DefaultTeleMode.java @@ -0,0 +1,26 @@ +// 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 wpilib.robot; + +import org.wpilib.driverstation.DefaultUserControls; +import org.wpilib.opmode.PeriodicOpMode; +import org.wpilib.opmode.Teleop; + +@Teleop +public class DefaultTeleMode extends PeriodicOpMode { + @SuppressWarnings("unused") + private final OpRobot robot; + + @SuppressWarnings("unused") + private final DefaultUserControls userControls; + + public DefaultTeleMode(OpRobot robot, DefaultUserControls userControls) { + this.robot = robot; + this.userControls = userControls; + } + + @Override + public void periodic() {} +} diff --git a/developerRobot/src/main/java/wpilib/robot/OpRobot.java b/developerRobot/src/main/java/wpilib/robot/OpRobot.java new file mode 100644 index 0000000000..096b905f35 --- /dev/null +++ b/developerRobot/src/main/java/wpilib/robot/OpRobot.java @@ -0,0 +1,16 @@ +// 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 wpilib.robot; + +import org.wpilib.driverstation.DefaultUserControls; +import org.wpilib.driverstation.UserControlsInstance; +import org.wpilib.framework.OpModeRobot; + +/** This is a dev program for testing OpModeRobot. */ +@UserControlsInstance(DefaultUserControls.class) +public class OpRobot extends OpModeRobot { + /** Called once at the beginning of the robot program. */ + public OpRobot() {} +}