Ana içeriğe geç

FRC Programlama Hızlı Başlangıç

Limelight, hedefleme verisi, durum verisi 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 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'ı saniyeler içinde kullanmaya 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 başlamak 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);

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