2025-01-28 19:19:34 -05:00
// 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.
2025-02-27 19:33:37 -05:00
package frc.robot.commands.Elevateur ;
2025-01-28 19:19:34 -05:00
2025-02-27 19:30:59 -05:00
import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard ;
import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab ;
2025-01-28 19:19:34 -05:00
import edu.wpi.first.wpilibj2.command.Command ;
2025-01-29 20:13:38 -05:00
import frc.robot.subsystems.Elevateur ;
2025-01-28 19:19:34 -05:00
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 {
2025-02-27 19:30:59 -05:00
ShuffleboardTab teb = Shuffleboard . getTab ( " teb " ) ;
2025-01-28 19:19:34 -05:00
private Pince pince ;
2025-01-29 20:13:38 -05:00
private Elevateur elevateur ;
2025-01-28 19:19:34 -05:00
/** Creates a new L2Pince. */
2025-01-29 20:13:38 -05:00
public StationPince ( Pince pince , Elevateur elevateur ) {
this . elevateur = elevateur ;
2025-01-28 19:19:34 -05:00
this . pince = pince ;
2025-01-29 20:13:38 -05:00
addRequirements ( pince , elevateur ) ;
2025-01-28 19:19:34 -05:00
// 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 ( ) {
2025-02-22 10:30:20 -05:00
pince . aspirecoral ( 0 . 5 ) ;
2025-03-01 09:17:17 -05:00
if ( pince . encodeurpivot ( ) < = elevateur . encodeurelevateurstationbas ( ) & & pince . encodeurpivot ( ) > = elevateur . encodeurelevateurstationhaut ( ) ) {
2025-01-28 19:19:34 -05:00
pince . pivote ( 0 ) ;
}
2025-03-01 09:17:17 -05:00
else if ( pince . encodeurpivot ( ) > = elevateur . encodeurelevateurstationbas ( ) ) {
2025-02-24 18:15:32 -05:00
pince . pivote ( 0 . 2 ) ;
2025-01-28 19:19:34 -05:00
}
else {
2025-02-24 18:15:32 -05:00
pince . pivote ( - 0 . 2 ) ;
2025-01-28 19:19:34 -05:00
}
2025-01-29 20:13:38 -05:00
if ( elevateur . position ( ) > = 400 & & elevateur . position ( ) < = 410 ) {
elevateur . vitesse ( 0 ) ;
}
2025-01-29 20:15:07 -05:00
else if ( elevateur . position ( ) > = 410 ) {
2025-02-24 18:15:32 -05:00
elevateur . vitesse ( 0 . 3 ) ;
2025-01-29 20:13:38 -05:00
}
else {
2025-02-24 18:15:32 -05:00
elevateur . vitesse ( - . 3 ) ;
2025-01-29 20:13:38 -05:00
}
2025-01-28 19:19:34 -05:00
}
// Called once the command ends or is interrupted.
@Override
public void end ( boolean interrupted ) {
pince . pivote ( 0 ) ;
2025-02-22 10:30:20 -05:00
pince . aspirecoral ( 0 ) ;
2025-01-28 19:19:34 -05:00
}
// Returns true when the command should end.
@Override
public boolean isFinished ( ) {
return false ;
}
}