// 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 frc.robot.commands; import java.util.function.DoubleSupplier; import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.BasePilotable; import frc.robot.subsystems.Limelight; public class Cone extends CommandBase { private Limelight limelight; private BasePilotable basePilotable; private DoubleSupplier doubleSupplier; /** Creates a new ConeCube. */ public Cone(Limelight limelight,BasePilotable basePilotable,DoubleSupplier doubleSupplier) { this.basePilotable = basePilotable; this.limelight = limelight; this.doubleSupplier = doubleSupplier; // Use addRequirements() here to declare subsystem dependencies. addRequirements(limelight,basePilotable); } // Called when the command is initially scheduled. @Override public void initialize() { limelight.cone(); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { basePilotable.drive(doubleSupplier.getAsDouble(), limelight.getYaw(), 0); } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { limelight.pilote(); } // Returns true when the command should end. @Override public boolean isFinished() { return false; } }