मुख्य कंटेंट तक स्किप करें

FRC प्रोग्रामिंग त्वरित प्रारंभ

Limelight लक्ष्यीकरण डेटा, स्थिति डेटा और लाइव कॉन्फ़िगरेशन के लिए REST/HTTP, Websocket, Modbus, और NetworkTables प्रोटोकॉल का समर्थन करता है। JSON और रॉ आउटपुट फॉर्मेट उपलब्ध हैं। अधिक जानकारी के लिए दस्तावेज़ों के APIs खंड को देखें।

FRC टीमों के लिए, अनुशंसित प्रोटोकॉल NetworkTables है। Limelight सभी लक्ष्यीकरण डेटा, पूर्ण JSON डंप सहित, NetworkTables पर 100hz पर पोस्ट करता है। टीमें NetworkTables के माध्यम से ledMode, क्रॉप विंडो और अन्य नियंत्रणों को भी सेट कर सकती हैं। FRC टीमें Limelight के साथ सेकंडों में शुरू करने के लिए Limelight Lib Java और C++ लाइब्रेरी का उपयोग कर सकती हैं। 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);