דלג לתוכן הראשי

התחלה מהירה לתכנות FRC

Limelight תומכת בפרוטוקולים REST/HTTP, Websocket, Modbus ו-NetworkTables עבור נתוני מיקוד, נתוני סטטוס ותצורה חיה. פורמטים של JSON ופלט גולמי זמינים. ראה את חלק ה-APIs במסמכים למידע נוסף.

עבור קבוצות FRC, הפרוטוקול המומלץ הוא NetworkTables. Limelight מפרסמת את כל נתוני המיקוד, כולל dump JSON מלא, ל-NetworkTables ב-100hz. קבוצות יכולות גם להגדיר בקרות כמו ledMode, חלון חיתוך ועוד באמצעות NetworkTables. קבוצות FRC יכולות להשתמש בספריות Limelight Lib 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);

//פרסום ל-smart dashboard באופן תקופתי
SmartDashboard.putNumber("LimelightX", x);
SmartDashboard.putNumber("LimelightY", y);
SmartDashboard.putNumber("LimelightArea", area);