メインコンテンツまでスキップ

FRC プログラミングクイックスタート

Limelightは、ターゲティングデータ、ステータスデータ、およびライブ設定のためのREST/HTTP、Websocket、Modbus、およびNetworkTablesプロトコルをサポートしています。 JSONおよび生の出力形式が利用可能です。詳細については、ドキュメントのAPIセクションを参照してください。

FRCチームの場合、推奨されるプロトコルはNetworkTablesです。Limelightは、完全なJSONダンプを含むすべてのターゲティングデータを100Hzでネットワークテーブルに投稿します。 チームはまた、NetworkTablesを介してledMode、クロップウィンドウなどのコントロールを設定することもできます。 FRCチームは、LimelightのJavaおよびC++ライブラリを使用して、数秒でLimelightの使用を開始できます。Limelight Libは、開始するための最も簡単な方法です。

LimelightLib:

Java, CPP

double tx = LimelightHelpers.getTX("");

LimelightLibをスキップして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");

//定期的に値を読み取る
double x = tx.getDouble(0.0);
double y = ty.getDouble(0.0);
double area = ta.getDouble(0.0);

//定期的にスマートダッシュボードに投稿する
SmartDashboard.putNumber("LimelightX", x);
SmartDashboard.putNumber("LimelightY", y);
SmartDashboard.putNumber("LimelightArea", area);