// 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.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 L2 extends Command { private Elevateur elevateur; private Pince pince; NetworkTableInstance networktable = NetworkTableInstance.getDefault(); NetworkTable tabelevateur = networktable.getTable("tabelevateur"); private DoubleSubscriber encodeur1 = tabelevateur.getDoubleTopic("encodeur elevateur bas L2").subscribe(-1); private DoubleSubscriber encodeur2 = tabelevateur.getDoubleTopic("encodeur elevateur haut L2").subscribe(-0.9); private DoubleSubscriber encodeur3 = tabelevateur.getDoubleTopic("encodeur pince bas L2").subscribe(-1); private DoubleSubscriber encodeur4 = tabelevateur.getDoubleTopic("encodeur pince haut L2").subscribe(-0.9); /** Creates a new L2. */ public L2(Elevateur elevateur,Pince pince) { this.elevateur = elevateur; this.pince = pince; addRequirements(elevateur,pince); // 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(); if(elevateur.position()<=encodeurbase && elevateur.position()>=-encodeurhaute){ elevateur.vitesse(0); } else if(elevateur.position()>=encodeurbase){ elevateur.vitesse(-0.2); } else{ elevateur.vitesse(.2); // } // if(pince.encodeurpivot()>=500 && pince.encodeurpivot()<=510){ // pince.pivote(0); // } // else if(pince.encodeurpivot()>=510){ // pince.pivote(0.2); // } // else{ // pince.pivote(-0.2); } } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { elevateur.vitesse(0); pince.pivote(0); } // Returns true when the command should end. @Override public boolean isFinished() { return false; } }