Implement new Command Based Framework

This commit is contained in:
Keenan D. Buckley
2020-01-05 18:59:50 -07:00
parent 6fb373969d
commit c52bbdd2ee
13 changed files with 185 additions and 314 deletions
+13 -17
View File
@@ -1,5 +1,5 @@
/*----------------------------------------------------------------------------*/
/* Copyright (c) 2017-2018 FIRST. All Rights Reserved. */
/* Copyright (c) 2017-2019 FIRST. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
@@ -8,8 +8,8 @@
package frc4388.robot;
import edu.wpi.first.wpilibj.TimedRobot;
import edu.wpi.first.wpilibj.command.Command;
import edu.wpi.first.wpilibj.command.Scheduler;
import edu.wpi.first.wpilibj2.command.Command;
import edu.wpi.first.wpilibj2.command.CommandScheduler;
/**
* The VM is configured to automatically run this class, and to call the
@@ -20,7 +20,8 @@ import edu.wpi.first.wpilibj.command.Scheduler;
*/
public class Robot extends TimedRobot {
Command m_autonomousCommand;
public static RobotContainer m_robotContainer;
private RobotContainer m_robotContainer;
/**
* This function is run when the robot is first started up and should be
@@ -43,6 +44,11 @@ public class Robot extends TimedRobot {
*/
@Override
public void robotPeriodic() {
// Runs the Scheduler. This is responsible for polling buttons, adding newly-scheduled
// commands, running already-scheduled commands, removing finished or interrupted commands,
// and running subsystem periodic() methods. This must be called from the robot's periodic
// block in order for anything in the Command-based framework to work.
CommandScheduler.getInstance().run();
}
/**
@@ -56,19 +62,10 @@ public class Robot extends TimedRobot {
@Override
public void disabledPeriodic() {
Scheduler.getInstance().run();
}
/**
* This autonomous (along with the chooser code above) shows how to select
* between different autonomous modes using the dashboard. The sendable
* chooser code works with the Java SmartDashboard. If you prefer the
* LabVIEW Dashboard, remove all of the chooser code and uncomment the
* getString code to get the auto name from the text box below the Gyro
*
* <p>You can add additional auto modes by adding additional commands to the
* chooser code above (like the commented example) or additional comparisons
* to the switch structure below with additional strings & commands.
* This autonomous runs the autonomous command selected by your {@link RobotContainer} class.
*/
@Override
public void autonomousInit() {
@@ -83,7 +80,7 @@ public class Robot extends TimedRobot {
// schedule the autonomous command (example)
if (m_autonomousCommand != null) {
m_autonomousCommand.start();
m_autonomousCommand.schedule();
}
}
@@ -92,7 +89,6 @@ public class Robot extends TimedRobot {
*/
@Override
public void autonomousPeriodic() {
Scheduler.getInstance().run();
}
@Override
@@ -111,7 +107,7 @@ public class Robot extends TimedRobot {
*/
@Override
public void teleopPeriodic() {
Scheduler.getInstance().run();
}
/**