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

FRC प्रोग्रामिंग क्विक स्टार्ट

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

FRC टीमों के लिए, अनुशंसित प्रोटोकॉल NetworkTables है। लाइमलाइट सभी टारगेटिंग डेटा, पूर्ण JSON डंप सहित, नेटवर्कटेबल्स में 100hz पर पोस्ट करता है। टीमें नेटवर्कटेबल्स के माध्यम से ledMode, क्रॉप विंडो और अन्य नियंत्रणों को भी सेट कर सकती हैं। FRC टीमें लाइमलाइट को सेकंडों में शुरू करने के लिए लाइमलाइट लिब जावा और C++ लाइब्रेरी का उपयोग कर सकती हैं। लाइमलाइट लिब शुरू करने का सबसे आसान तरीका है।

लाइमलाइटलिब:

Java, CPP

double tx = LimelightHelpers.getTX("");

यदि आप लाइमलाइटलिब को छोड़कर सीधे नेटवर्कटेबल्स के साथ प्रोग्रामिंग शुरू करना चाहते हैं:

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