// 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.Elevateur; import edu.wpi.first.networktables.DoubleSubscriber; import edu.wpi.first.networktables.DoubleTopic; import edu.wpi.first.networktables.NetworkTable; import edu.wpi.first.networktables.NetworkTableInstance; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; 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 L4 extends Command { private Elevateur elevateur; private Pince pince; NetworkTableInstance networktable = NetworkTableInstance.getDefault(); NetworkTable tabelevateur = networktable.getTable("tabelevateur"); private DoubleTopic encodeur1topic = tabelevateur.getDoubleTopic("encodeurbasL4"); DoubleSubscriber encodeur1 = encodeur1topic.subscribe(-6.4); private DoubleSubscriber encodeur2 = tabelevateur.getDoubleTopic("encodeurhautL4").subscribe(-6.5); private DoubleSubscriber encodeur3 = tabelevateur.getDoubleTopic("encodeurpincebasL4").subscribe(-1); private DoubleSubscriber encodeur4 = tabelevateur.getDoubleTopic("encodeurpincehautL4").subscribe(-0.9); /** Creates a new L2. */ public L4(Elevateur elevateur,Pince pince) { this.elevateur = elevateur; this.pince = pince; encodeur1topic.setPersistent(true); 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()<=encodeurhaute && elevateur.position()>=encodeurBase){ elevateur.vitesse(0); } else if(elevateur.position()>=encodeurhaute){ elevateur.vitesse(-0.2); } else{ elevateur.vitesse(.2); } // if(pince.encodeurpivot()>=800 && pince.encodeurpivot()<=809){ // pince.pivote(0); // } // else if(pince.encodeurpivot()>=810){ // 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; } }