// 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 edu.wpi.first.wpilibj2.command.SubsystemBase; import edu.wpi.first.net.PortForwarder; import edu.wpi.first.networktables.NetworkTable; import edu.wpi.first.networktables.NetworkTableEntry; import edu.wpi.first.networktables.NetworkTableInstance; import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab; public class Limelight3G extends SubsystemBase { ShuffleboardTab dashboard = Shuffleboard.getTab("dashboard"); NetworkTable table = NetworkTableInstance.getDefault().getTable("limelight"); NetworkTableEntry tx = table.getEntry("tx"); NetworkTableEntry ty = table.getEntry("ty"); NetworkTableEntry pipeline = table.getEntry("pipeline"); NetworkTableEntry tv = table.getEntry("tv"); NetworkTableEntry camMode = table.getEntry("camMode"); NetworkTableEntry tid = table.getEntry("tid"); /** Creates a new Limelight. */ public Limelight3G() { dashboard.addDouble("tv", this::getv).withSize(0, 0).withPosition(1,3); for (int port = 5800; port <= 5807; port++) { PortForwarder.add(port, "limelight.local", port); }} public double getx(){ return tx.getDouble(0); } public double gety(){ return ty.getDouble(0); } public double getv(){ return tv.getDouble(0); } public void setpipeline(){ pipeline.setNumber(0); } public void setcamMode(){ camMode.setNumber(0); } public double getTid(){ return tid.getDouble(0); } @Override public void periodic() { // This method will be called once per scheduler run } }