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

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