From c257411505738931ee48505e1151083466f39aa0 Mon Sep 17 00:00:00 2001 From: samuel desharnais Date: Mon, 5 Feb 2024 20:24:04 -0500 Subject: [PATCH] led --- src/main/java/frc/robot/RobotContainer.java | 7 ++- .../java/frc/robot/command/AllumeLED.java | 48 +++++++++++++++++++ src/main/java/frc/robot/subsystem/LED.java | 27 +++++++++++ 3 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 src/main/java/frc/robot/command/AllumeLED.java create mode 100644 src/main/java/frc/robot/subsystem/LED.java diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index 3fb4b54..ddffae3 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -62,8 +62,9 @@ public class RobotContainer { autoChooser = AutoBuilder.buildAutoChooser(); CameraServer.startAutomaticCapture(); - manette.a().onTrue(guiderBas); - manette.b().onTrue(guiderHaut); + manette.a().whileTrue(guiderBas); + manette.b().whileTrue(guiderHaut); + joystick.button(3).toggleOnTrue(balayer); configureBindings(); drive.setDefaultCommand(new RunCommand(()->{ drive.drive(-MathUtil.applyDeadband(joystick.getY(),0.2), MathUtil.applyDeadband(-joystick.getX(),0.2), MathUtil.applyDeadband(-joystick.getZ(), 0.2)); @@ -73,8 +74,6 @@ public class RobotContainer { private void configureBindings() { - joystick.button(3).toggleOnTrue(balayer); - } public Command getAutonomousCommand(){ diff --git a/src/main/java/frc/robot/command/AllumeLED.java b/src/main/java/frc/robot/command/AllumeLED.java new file mode 100644 index 0000000..9ba8c16 --- /dev/null +++ b/src/main/java/frc/robot/command/AllumeLED.java @@ -0,0 +1,48 @@ +// 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.command; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystem.Accumulateur; +import frc.robot.subsystem.LED; + +public class AllumeLED extends Command { + private LED led; + private Accumulateur accumulateur; + /** Creates a new AllumeLED. */ + public AllumeLED(LED led,Accumulateur accumulateur) { + this.accumulateur = accumulateur; + this.led = led; + addRequirements(led,accumulateur); + // 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() { + if(accumulateur.limitswitch()){ + led.couleur(0, 255, 0); + } + else{ + led.couleur(255, 0, 0); + } + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + led.couleur(255, 0, 0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/subsystem/LED.java b/src/main/java/frc/robot/subsystem/LED.java new file mode 100644 index 0000000..8bc91cc --- /dev/null +++ b/src/main/java/frc/robot/subsystem/LED.java @@ -0,0 +1,27 @@ +// 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.subsystem; + +import edu.wpi.first.wpilibj.AddressableLED; +import edu.wpi.first.wpilibj.AddressableLEDBuffer; +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class LED extends SubsystemBase { + /** Creates a new LED. */ + public LED() {} + AddressableLED led = new AddressableLED(9); + AddressableLEDBuffer ledBuffer = new AddressableLEDBuffer(60); + public void led(){ + led.setData(ledBuffer); + led.start(); + } + public void couleur(int R, int G, int B){ + ledBuffer.setRGB(0, R, G, B); + } + @Override + public void periodic() { + // This method will be called once per scheduler run + } +}