dggggc
This commit is contained in:
		| @@ -20,6 +20,7 @@ import frc.robot.subsystems.Limelight; | ||||
| // command | ||||
| import frc.robot.commands.BrakeFerme; | ||||
| import frc.robot.commands.BrakeOuvre; | ||||
| import frc.robot.commands.Cone; | ||||
| import frc.robot.commands.GratteBaisser; | ||||
| import frc.robot.commands.GratteMonte; | ||||
| import frc.robot.commands.Gyro; | ||||
| @@ -52,7 +53,7 @@ PivotBrasRentre pivotBrasRentre = new PivotBrasRentre(brasTelescopique, pivot); | ||||
| PivoteBrasBas pivoteBrasBas = new PivoteBrasBas(brasTelescopique, pivot); | ||||
| PivoteBrasMilieux pivoteBrasMilieux = new PivoteBrasMilieux(brasTelescopique, pivot); | ||||
| PivoteBrasHaut pivoteBrasHaut = new PivoteBrasHaut(brasTelescopique, pivot); | ||||
|  | ||||
| Cone cone = new Cone(limelight, basePilotable, ()->-manette1.getLeftY()); | ||||
| public RobotContainer() { | ||||
|     configureBindings(); | ||||
|  | ||||
|   | ||||
							
								
								
									
										49
									
								
								src/main/java/frc/robot/commands/Cone.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								src/main/java/frc/robot/commands/Cone.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | ||||
| // 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()); | ||||
|   } | ||||
|  | ||||
|   // 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; | ||||
|   } | ||||
| } | ||||
| @@ -32,7 +32,7 @@ public class BasePilotable extends SubsystemBase { | ||||
|     return gyroscope.getPitch(); | ||||
|   } | ||||
|  | ||||
|   public void drive(double xSpeed, double zRotation, double d){ | ||||
|   public void drive(double xSpeed, double zRotation){ | ||||
|     drive.arcadeDrive(xSpeed, zRotation); | ||||
|   } | ||||
|   public double distance(){ | ||||
|   | ||||
| @@ -6,6 +6,7 @@ package frc.robot.subsystems; | ||||
|  | ||||
| import org.photonvision.PhotonCamera; | ||||
| import org.photonvision.common.hardware.VisionLEDMode; | ||||
| import org.photonvision.targeting.PhotonTrackedTarget; | ||||
|  | ||||
| import edu.wpi.first.net.PortForwarder; | ||||
| import edu.wpi.first.wpilibj2.command.SubsystemBase; | ||||
| @@ -38,6 +39,18 @@ public class Limelight extends SubsystemBase { | ||||
|     limelight.setPipelineIndex(1); | ||||
|   } | ||||
|  | ||||
|   public double getYaw() { | ||||
|     var result = limelight.getLatestResult(); | ||||
|     if(result.hasTargets()){ | ||||
|     return  result.getBestTarget().getYaw(); | ||||
|     } | ||||
|     return 0; | ||||
|    | ||||
|   } | ||||
|   public void pilote(){ | ||||
|     limelight.setLED(VisionLEDMode.kOff); | ||||
|     limelight.setDriverMode(true); | ||||
|   } | ||||
|   @Override | ||||
|   public void periodic() { | ||||
|     // This method will be called once per scheduler run | ||||
|   | ||||
		Reference in New Issue
	
	Block a user