78 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| // 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 edu.wpi.first.networktables.DoubleSubscriber;
 | |
| import edu.wpi.first.networktables.NetworkTable;
 | |
| import edu.wpi.first.networktables.NetworkTableInstance;
 | |
| import edu.wpi.first.wpilibj2.command.Command;
 | |
| import frc.robot.subsystems.Elevateur;
 | |
| import frc.robot.subsystems.Pince;
 | |
| 
 | |
| /* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */
 | |
| public class StationPince extends Command {
 | |
|   
 | |
|   private Pince pince;
 | |
|   private Elevateur elevateur;
 | |
|   NetworkTableInstance networktable = NetworkTableInstance.getDefault();
 | |
|   NetworkTable tabelevateur = networktable.getTable("tabelevateur");
 | |
|   private DoubleSubscriber encodeur1 = tabelevateur.getDoubleTopic("encodeur bas Station").subscribe(-0.5);
 | |
|   private DoubleSubscriber encodeur2 = tabelevateur.getDoubleTopic("encodeur haut Station").subscribe(-0.4);
 | |
|   private DoubleSubscriber encodeur3 = tabelevateur.getDoubleTopic("encodeur pince bas Station").subscribe(-1);
 | |
|   private DoubleSubscriber encodeur4 = tabelevateur.getDoubleTopic("encodeur pince haut Station").subscribe(-0.9);
 | |
|   /** Creates a new L2Pince. */
 | |
|   public StationPince(Pince pince,Elevateur elevateur) {
 | |
|     this.elevateur = elevateur;
 | |
|     this.pince = pince;
 | |
|     addRequirements(pince,elevateur);
 | |
|     // Use addRequirements() here to declare subsystem dependencies.
 | |
|   }
 | |
| 
 | |
|   // Called when the command is initially scheduled.
 | |
|   @Override
 | |
|   public void initialize() {}
 | |
| 
 | |
|   // Called every time the scheduler runs while the command is scheduled.
 | |
|   @Override
 | |
|   public void execute() {
 | |
|     double encodeurBase = encodeur1.get();
 | |
|     double encodeurhaute = encodeur2.get();
 | |
|     double encodeurbasp = encodeur3.get();
 | |
|     double encodeurhautp = encodeur4.get();
 | |
|     pince.aspirecoral(0.5);
 | |
|     if(pince.encodeurpivot()<=encodeurBase && pince.encodeurpivot()>=encodeurhaute){
 | |
|       pince.pivote(0);
 | |
|     }
 | |
|     else if(pince.encodeurpivot()>=encodeurBase){
 | |
|       pince.pivote(0.2);
 | |
|     }
 | |
|     else{
 | |
|       pince.pivote(-0.2);
 | |
|     }
 | |
|     if(elevateur.position()>=400 && elevateur.position()<=410){
 | |
|       elevateur.vitesse(0);
 | |
|     }
 | |
|     else if(elevateur.position()>=410){
 | |
|       elevateur.vitesse(0.3);
 | |
|     }
 | |
|     else{
 | |
|       elevateur.vitesse(-.3);
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   // Called once the command ends or is interrupted.
 | |
|   @Override
 | |
|   public void end(boolean interrupted) {
 | |
|     pince.pivote(0);
 | |
|     pince.aspirecoral(0);
 | |
|   }
 | |
| 
 | |
|   // Returns true when the command should end.
 | |
|   @Override
 | |
|   public boolean isFinished() {
 | |
|     return false;
 | |
|   }
 | |
| }
 |