From 1030a95456280ffc62080fb3fb70c06a2dc53275 Mon Sep 17 00:00:00 2001 From: OlivierDubois Date: Mon, 15 Jan 2024 18:56:17 -0500 Subject: [PATCH] limelight --- .../java/frc/robot/commands/AprilTag.java | 45 +++++++++++++++ .../java/frc/robot/subsystems/limelight.java | 29 ++++++++++ vendordeps/photonlib.json | 57 +++++++++++++++++++ 3 files changed, 131 insertions(+) create mode 100644 src/main/java/frc/robot/commands/AprilTag.java create mode 100644 src/main/java/frc/robot/subsystems/limelight.java create mode 100644 vendordeps/photonlib.json diff --git a/src/main/java/frc/robot/commands/AprilTag.java b/src/main/java/frc/robot/commands/AprilTag.java new file mode 100644 index 0000000..72c936a --- /dev/null +++ b/src/main/java/frc/robot/commands/AprilTag.java @@ -0,0 +1,45 @@ +// 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.CommandBase; +import frc.robot.subsystems.Lanceur; +import frc.robot.subsystems.limelight; + +public class AprilTag extends CommandBase { + private limelight limelight; + private Lanceur lanceur; + /** Creates a new Limelight. */ + public AprilTag(limelight limelight,Lanceur lanceur) { + this.lanceur = lanceur; + this.limelight = limelight; + addRequirements(limelight,lanceur); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() { + limelight.lumiere(); + } + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + lanceur.lancer(0.5); + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + lanceur.lancer(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/subsystems/limelight.java b/src/main/java/frc/robot/subsystems/limelight.java new file mode 100644 index 0000000..7284b76 --- /dev/null +++ b/src/main/java/frc/robot/subsystems/limelight.java @@ -0,0 +1,29 @@ +// 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 org.photonvision.PhotonCamera; +import org.photonvision.common.hardware.VisionLEDMode; + + +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class limelight extends SubsystemBase { + + PhotonCamera limelight = new PhotonCamera("limelight"); + + /** Creates a new limelight. */ + public limelight() {} + public void lumiere(){ + limelight.setLED(VisionLEDMode.kOff); + limelight.setPipelineIndex(0); + } + + @Override + public void periodic() { + // This method will be called once per scheduler run + } +} diff --git a/vendordeps/photonlib.json b/vendordeps/photonlib.json new file mode 100644 index 0000000..7bdce28 --- /dev/null +++ b/vendordeps/photonlib.json @@ -0,0 +1,57 @@ +{ + "fileName": "photonlib.json", + "name": "photonlib", + "version": "v2024.1.4", + "uuid": "515fe07e-bfc6-11fa-b3de-0242ac130004", + "frcYear": "2024", + "mavenUrls": [ + "https://maven.photonvision.org/repository/internal", + "https://maven.photonvision.org/repository/snapshots" + ], + "jsonUrl": "https://maven.photonvision.org/repository/internal/org/photonvision/photonlib-json/1.0/photonlib-json-1.0.json", + "jniDependencies": [], + "cppDependencies": [ + { + "groupId": "org.photonvision", + "artifactId": "photonlib-cpp", + "version": "v2024.1.4", + "libName": "photonlib", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxathena", + "linuxx86-64", + "osxuniversal" + ] + }, + { + "groupId": "org.photonvision", + "artifactId": "photontargeting-cpp", + "version": "v2024.1.4", + "libName": "photontargeting", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxathena", + "linuxx86-64", + "osxuniversal" + ] + } + ], + "javaDependencies": [ + { + "groupId": "org.photonvision", + "artifactId": "photonlib-java", + "version": "v2024.1.4" + }, + { + "groupId": "org.photonvision", + "artifactId": "photontargeting-java", + "version": "v2024.1.4" + } + ] +} \ No newline at end of file