2025-01-27 18:40:58 -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 18:33:08 -05:00
package frc.robot.commands.grimpeur ;
2025-01-27 18:40:58 -05:00
2025-02-26 19:47:32 -05:00
import edu.wpi.first.networktables.DoubleSubscriber ;
import edu.wpi.first.networktables.NetworkTable ;
import edu.wpi.first.networktables.NetworkTableInstance ;
2025-01-27 18:40:58 -05:00
import edu.wpi.first.wpilibj2.command.Command ;
import frc.robot.subsystems.Grimpeur ;
/* 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 */
2025-01-28 17:51:17 -05:00
public class GrimpeurBas extends Command {
2025-01-27 18:40:58 -05:00
private Grimpeur grimpeur ;
2025-02-26 19:47:32 -05:00
NetworkTableInstance networktable = NetworkTableInstance . getDefault ( ) ;
NetworkTable tabelevateur = networktable . getTable ( " tabelevateur " ) ;
2025-02-26 20:12:22 -05:00
private DoubleSubscriber encodeur1 = tabelevateur . getDoubleTopic ( " encodeurgrimpeurbas " ) . subscribe ( - 39 . 19 ) ;
private DoubleSubscriber encodeur2 = tabelevateur . getDoubleTopic ( " encodeurgrimpeurhaut " ) . subscribe ( - 38 . 5 ) ;
2025-01-28 17:51:17 -05:00
/** Creates a new GrimpeurBas. */
public GrimpeurBas ( Grimpeur grimpeur ) {
this . grimpeur = grimpeur ;
2025-01-27 18:40:58 -05:00
addRequirements ( grimpeur ) ;
// 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-26 19:47:32 -05:00
double encodeurbas = encodeur1 . get ( ) ;
double encodeurhaut = encodeur2 . get ( ) ;
if ( grimpeur . encodeur ( ) > = encodeurhaut & & grimpeur . encodeur ( ) < = encodeurbas ) {
2025-01-27 18:40:58 -05:00
grimpeur . grimpe ( 0 ) ;
}
2025-02-26 19:47:32 -05:00
else if ( grimpeur . encodeur ( ) > = encodeurhaut ) {
2025-02-26 19:09:33 -05:00
grimpeur . grimpe ( - 0 . 5 ) ;
2025-01-28 19:22:43 -05:00
}
2025-02-26 19:09:33 -05:00
else { grimpeur . grimpe ( 0 . 5 ) ;
2025-02-03 18:52:32 -05:00
}
2025-01-27 18:40:58 -05:00
}
// Called once the command ends or is interrupted.
@Override
public void end ( boolean interrupted ) {
grimpeur . grimpe ( 0 ) ;
}
// Returns true when the command should end.
@Override
public boolean isFinished ( ) {
2025-01-28 17:51:17 -05:00
return false ;
2025-01-27 18:40:58 -05:00
}
}