led
This commit is contained in:
41
src/main/java/frc/robot/commands/RainBowAnim.java
Normal file
41
src/main/java/frc/robot/commands/RainBowAnim.java
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
// 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.wpilibj2.command.Command;
|
||||||
|
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 RainBowAnim extends Command {
|
||||||
|
private Led led;
|
||||||
|
/** Creates a new RainBowAnim. */
|
||||||
|
public RainBowAnim(Led led) {
|
||||||
|
this.led = led;
|
||||||
|
addRequirements(led);
|
||||||
|
// Use addRequirements() here to declare subsystem dependencies.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Called when the command is initially scheduled.
|
||||||
|
@Override
|
||||||
|
public void initialize() {
|
||||||
|
led.RainBow();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Called every time the scheduler runs while the command is scheduled.
|
||||||
|
@Override
|
||||||
|
public void execute() {}
|
||||||
|
|
||||||
|
// Called once the command ends or is interrupted.
|
||||||
|
@Override
|
||||||
|
public void end(boolean interrupted) {
|
||||||
|
led.RainBowStop();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns true when the command should end.
|
||||||
|
@Override
|
||||||
|
public boolean isFinished() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
87
src/main/java/frc/robot/subsystems/Led.java
Normal file
87
src/main/java/frc/robot/subsystems/Led.java
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
// 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.subsystems;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import com.ctre.phoenix.led.CANdle;
|
||||||
|
import com.ctre.phoenix.led.RainbowAnimation;
|
||||||
|
|
||||||
|
import edu.wpi.first.wpilibj.DriverStation;
|
||||||
|
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
||||||
|
|
||||||
|
public class Led extends SubsystemBase {
|
||||||
|
CANdle CANDle = new CANdle(7);
|
||||||
|
RainbowAnimation rainbowAnim = new RainbowAnimation();
|
||||||
|
public void bleu(){
|
||||||
|
CANDle.setLEDs(0, 0, 255);
|
||||||
|
}
|
||||||
|
public void Vert(){
|
||||||
|
CANDle.setLEDs(0,255, 0);
|
||||||
|
}
|
||||||
|
public void Rouge(){
|
||||||
|
CANDle.setLEDs(255,0, 0);
|
||||||
|
}
|
||||||
|
public void RainBow(){
|
||||||
|
CANDle.animate(rainbowAnim);
|
||||||
|
}
|
||||||
|
public void RainBowStop(){
|
||||||
|
CANDle.animate(null);
|
||||||
|
}
|
||||||
|
public boolean Equipe(){
|
||||||
|
Optional<DriverStation.Alliance> alliance = DriverStation.getAlliance();
|
||||||
|
if(alliance.get() == DriverStation.Alliance.Blue){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/** Creates a new Led. */
|
||||||
|
public Led() {}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void periodic() {
|
||||||
|
double temps = DriverStation.getMatchTime();
|
||||||
|
if(temps > 20 && temps < 30){
|
||||||
|
Vert();
|
||||||
|
}
|
||||||
|
if(Equipe()){
|
||||||
|
if(temps > 30 && temps < 55){
|
||||||
|
bleu();
|
||||||
|
}
|
||||||
|
else if(temps > 30 && temps < 80){
|
||||||
|
Rouge();
|
||||||
|
}
|
||||||
|
else if(temps > 80 && temps < 105){
|
||||||
|
bleu();
|
||||||
|
}
|
||||||
|
else if(temps > 105 && temps < 130){
|
||||||
|
Rouge();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
RainBow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(temps > 30 && temps < 55){
|
||||||
|
Rouge();
|
||||||
|
}
|
||||||
|
else if(temps > 30 && temps < 80){
|
||||||
|
bleu();
|
||||||
|
}
|
||||||
|
else if(temps > 80 && temps < 105){
|
||||||
|
Rouge();
|
||||||
|
}
|
||||||
|
else if(temps > 105 && temps < 130){
|
||||||
|
bleu();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
RainBow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// This method will be called once per scheduler run
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user