Saltar al contenido principal

Inicio Rápido de Programación FRC

Limelight soporta los protocolos REST/HTTP, Websocket, Modbus y NetworkTables para datos de objetivo, datos de estado y configuración en vivo. Están disponibles formatos de salida JSON y raw. Consulta la sección de APIs en la documentación para más información.

Para equipos FRC, el protocolo recomendado es NetworkTables. Limelight publica todos los datos de objetivo, incluyendo un volcado JSON completo, a NetworkTables a 100hz. Los equipos también pueden establecer controles como el ledMode, ventana de recorte y más a través de NetworkTables. Los equipos FRC pueden usar las bibliotecas Limelight Lib Java y C++ para comenzar con Limelight en segundos. Limelight Lib es la forma más fácil de empezar

LimelightLib:

Java, CPP

double tx = LimelightHelpers.getTX("");

Si quieres saltarte LimelightLib y comenzar directamente a programar con NetworkTables:

import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.networktables.NetworkTable;
import edu.wpi.first.networktables.NetworkTableEntry;
import edu.wpi.first.networktables.NetworkTableInstance;
NetworkTable table = NetworkTableInstance.getDefault().getTable("limelight");
NetworkTableEntry tx = table.getEntry("tx");
NetworkTableEntry ty = table.getEntry("ty");
NetworkTableEntry ta = table.getEntry("ta");

//leer valores periódicamente
double x = tx.getDouble(0.0);
double y = ty.getDouble(0.0);
double area = ta.getDouble(0.0);

//publicar en smart dashboard periódicamente
SmartDashboard.putNumber("LimelightX", x);
SmartDashboard.putNumber("LimelightY", y);
SmartDashboard.putNumber("LimelightArea", area);