// 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.wpilibj.Timer; import edu.wpi.first.wpilibj2.command.Command; import frc.robot.subsystems.Balayeuse; import frc.robot.subsystems.Led; /* 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 Aspirer extends Command { private Balayeuse balayeuse; private Timer timer; private Led led; /** Creates a new Aspirer. */ public Aspirer(Balayeuse balayeuse, Led led) { this.balayeuse = balayeuse; this.led = led; this.timer = new Timer(); addRequirements(balayeuse, led); // Use addRequirements() here to declare subsystem dependencies. } // Called when the command is initially scheduled. @Override public void initialize() { timer.reset(); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { timer.start(); int nbFois = 0; double moyenneAmp = 0; if(timer.get() <3){ nbFois++; moyenneAmp += balayeuse.Amp() / nbFois; } else{ timer.reset(); } if(moyenneAmp < 40){ timer.reset(); balayeuse.Balayer(0.5); } else if(moyenneAmp > 40){ balayeuse.Balayer(0); led.Jaune2(); } } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { balayeuse.Balayer(0); timer.stop(); } // Returns true when the command should end. @Override public boolean isFinished() { return false; } }