From 34a547026de0cce29fcdb9a1c10ac2b28c0875fa Mon Sep 17 00:00:00 2001 From: Tylr-J42 Date: Thu, 30 Jan 2025 01:59:08 -0500 Subject: [PATCH] added vision class --- .../java/frc/robot/subsystems/Vision.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/frc/robot/subsystems/Vision.java diff --git a/src/main/java/frc/robot/subsystems/Vision.java b/src/main/java/frc/robot/subsystems/Vision.java new file mode 100644 index 0000000..b541514 --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Vision.java @@ -0,0 +1,47 @@ +package frc.robot.subsystems; + +import edu.wpi.first.networktables.BooleanSubscriber; +import edu.wpi.first.networktables.DoubleSubscriber; +import edu.wpi.first.networktables.NetworkTable; +import edu.wpi.first.networktables.NetworkTableInstance; +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class Vision extends SubsystemBase{ + + private DoubleSubscriber cam1GlobalPose; + private DoubleSubscriber cam1ClosestTag; + private BooleanSubscriber cam1TagDetected; + + private DoubleSubscriber framerate; + + public Vision(){ + NetworkTableInstance inst = NetworkTableInstance.getDefault(); + + NetworkTable visionTable = inst.getTable("Fiducial"); + + cam1GlobalPose = visionTable.getDoubleTopic("cam1GlobalPose").subscribe(0.0); + cam1ClosestTag = visionTable.getDoubleTopic("cam1ClosestTag").subscribe(0.0); + + cam1TagDetected = visionTable.getBooleanTopic("cam1_visible").subscribe(false); + // cam2TagDetected = visionTable.getBooleanTopic("cam2_visible").subscribe(false); + + framerate = visionTable.getDoubleTopic("fps").subscribe(0.0); + } + + public double getCam1GlobalPose(){ + return cam1GlobalPose.get(); + } + + public double getCam1ClosestTag(){ + return cam1ClosestTag.get(); + } + + public boolean getCam1TagDetected(){ + return cam1TagDetected.get(); + } + + public double getFPS(){ + return framerate.get(); + } + +}