Ana içeriğe geç

FRC Programlama Hızlı Başlangıç

Limelight, hedefleme verileri, durum verileri ve canlı yapılandırma için REST/HTTP, Websocket, Modbus ve NetworkTables protokollerini destekler. JSON ve ham çıktı formatları mevcuttur. Daha fazla bilgi için belgelerin API bölümüne bakın.

FRC Takımları için önerilen protokol NetworkTables'dır. Limelight, tüm hedefleme verilerini, tam bir JSON dökümü dahil olmak üzere, NetworkTables'a 100hz hızında gönderir. Takımlar ayrıca ledMode, kırpma penceresi ve daha fazlası gibi kontrolleri NetworkTables aracılığıyla ayarlayabilir. FRC takımları, Limelight ile saniyeler içinde başlamak için Limelight Lib Java ve C++ kütüphanelerini kullanabilir. Limelight Lib başlamak için en kolay yoldur.

LimelightLib:

Java, CPP

double tx = LimelightHelpers.getTX("");

LimelightLib'i atlayıp doğrudan NetworkTables ile programlamaya geçmek istiyorsanız:

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");

//değerleri periyodik olarak oku
double x = tx.getDouble(0.0);
double y = ty.getDouble(0.0);
double area = ta.getDouble(0.0);

//periyodik olarak smart dashboard'a gönder
SmartDashboard.putNumber("LimelightX", x);
SmartDashboard.putNumber("LimelightY", y);
SmartDashboard.putNumber("LimelightArea", area);