Pular para o conteúdo principal

Início Rápido de Programação FRC

O Limelight suporta os protocolos REST/HTTP, Websocket, Modbus e NetworkTables para dados de direcionamento, dados de status e configuração em tempo real. Formatos de saída JSON e brutos estão disponíveis. Veja a seção de APIs da documentação para mais informações.

Para equipes FRC, o protocolo recomendado é NetworkTables. O Limelight publica todos os dados de direcionamento, incluindo um dump JSON completo, para NetworkTables a 100hz. As equipes também podem definir controles como o ledMode, janela de recorte e mais via NetworkTables. Equipes FRC podem usar as bibliotecas Limelight Lib Java e C++ para começar a usar o Limelight em segundos. O Limelight Lib é a maneira mais fácil de começar.

LimelightLib:

Java, CPP

double tx = LimelightHelpers.getTX("");

Se você quiser pular o LimelightLib e ir direto para a programação com 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");

//ler valores periodicamente
double x = tx.getDouble(0.0);
double y = ty.getDouble(0.0);
double area = ta.getDouble(0.0);

//postar no smart dashboard periodicamente
SmartDashboard.putNumber("LimelightX", x);
SmartDashboard.putNumber("LimelightY", y);
SmartDashboard.putNumber("LimelightArea", area);