LimeLight Helpers

This commit is contained in:
Tyler Wilcox 2026-03-20 11:15:01 -04:00
parent 915b14b4c7
commit 386a892d62
4 changed files with 2023 additions and 11 deletions

View File

@ -16,5 +16,16 @@
<classpathentry kind="src" path="build/generated/sources/annotationProcessor/java/main"/> <classpathentry kind="src" path="build/generated/sources/annotationProcessor/java/main"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17/"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17/"/>
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/> <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
<classpathentry kind="src" path="bin/generated-sources/annotations">
<attributes>
<attribute name="optional" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="bin/test" path="bin/generated-test-sources/annotations">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin/default"/> <classpathentry kind="output" path="bin/default"/>
</classpath> </classpath>

View File

@ -32,20 +32,36 @@ repositories {
dependencies { dependencies {
// Use JUnit Jupiter for testing. // Use JUnit Jupiter for testing.
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.1' // testImplementation 'org.junit.jupiter:junit-jupiter:5.10.1'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher' // testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
// WPI Lib // WPI Lib
implementation "edu.wpi.first.cscore:cscore-java:$wpiVersion" // implementation "edu.wpi.first.cscore:cscore-java:$wpiVersion"
implementation "edu.wpi.first.cameraserver:cameraserver-java:$wpiVersion" // implementation "edu.wpi.first.cameraserver:cameraserver-java:$wpiVersion"
implementation "edu.wpi.first.ntcore:ntcore-java:$wpiVersion" // implementation "edu.wpi.first.ntcore:ntcore-java:$wpiVersion"
implementation "edu.wpi.first.wpilibj:wpilibj-java:$wpiVersion" // implementation "edu.wpi.first.wpilibj:wpilibj-java:$wpiVersion"
implementation "edu.wpi.first.wpiutil:wpiutil-java:$wpiVersion" // implementation "edu.wpi.first.wpiutil:wpiutil-java:$wpiVersion"
implementation "edu.wpi.first.wpimath:wpimath-java:$wpiVersion" // implementation "edu.wpi.first.wpimath:wpimath-java:$wpiVersion"
implementation "edu.wpi.first.wpiunits:wpiunits-java:$wpiVersion" // implementation "edu.wpi.first.wpiunits:wpiunits-java:$wpiVersion"
implementation "edu.wpi.first.hal:hal-java:$wpiVersion" // implementation "edu.wpi.first.hal:hal-java:$wpiVersion"
implementation "edu.wpi.first.wpilibNewCommands:wpilibNewCommands-java:$wpiVersion" implementation "edu.wpi.first.wpilibNewCommands:wpilibNewCommands-java:$wpiVersion"
annotationProcessor wpi.java.deps.wpilibAnnotations()
implementation wpi.java.deps.wpilib()
implementation wpi.java.vendor.java()
nativeDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.desktop)
nativeDebug wpi.java.vendor.jniDebug(wpi.platforms.desktop)
simulationDebug wpi.sim.enableDebug()
nativeRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.desktop)
nativeRelease wpi.java.vendor.jniRelease(wpi.platforms.desktop)
simulationRelease wpi.sim.enableRelease()
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.1'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
// CTRE Phoenix 6 // CTRE Phoenix 6
implementation "com.ctre.phoenix6:wpiapi-java:${ctreVersion}" implementation "com.ctre.phoenix6:wpiapi-java:${ctreVersion}"
@ -58,7 +74,6 @@ dependencies {
// AdvantageKit // AdvantageKit
implementation "org.littletonrobotics.akit:akit-java:${advantageKitVersion}" implementation "org.littletonrobotics.akit:akit-java:${advantageKitVersion}"
} }
tasks.named('test') { tasks.named('test') {

View File

@ -0,0 +1,43 @@
package org.fairportrobotics.frc.robolib.simulator.apriltag;
import edu.wpi.first.networktables.NetworkTable;
import edu.wpi.first.networktables.NetworkTableInstance;
import edu.wpi.first.networktables.NetworkTableValue;
public class LimelightAprilTagSimulator {
private String cameraName;
private NetworkTableInstance ntInstance;
private NetworkTable table;
private TrackingType trackType;
private int tv;
private double tx;
private double ty;
public LimelightAprilTagSimulator(String limelightName, TrackingType trackingType){
this.cameraName = limelightName;
ntInstance = NetworkTableInstance.getDefault();
table = ntInstance.getTable(limelightName);
this.trackType = trackingType;
}
public void simulationUpdate(){
// Publish new vals
table.putValue("tv", NetworkTableValue.makeInteger(tv));
table.putValue("tx", NetworkTableValue.makeDouble(tx));
table.putValue("ty", NetworkTableValue.makeDouble(ty));
}
public enum TrackingType{
BOT_POSE,
STANDARD
}
}