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 sin procesar. Consulte la sección de APIs de la documentación para obtener más información.

Para los equipos FRC, el protocolo recomendado es NetworkTables. Limelight publica todos los datos de objetivo, incluido un volcado JSON completo, en NetworkTables a 100hz. Los equipos también pueden establecer controles como el ledMode, la 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 desea omitir LimelightLib y comenzar a programar directamente 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 el smart dashboard periódicamente
SmartDashboard.putNumber("LimelightX", x);
SmartDashboard.putNumber("LimelightY", y);
SmartDashboard.putNumber("LimelightArea", area);