घड़ी#

परिचय#

timer क्लास का उपयोग समय रखने और ब्रेन के टाइमर से स्वतंत्र टाइमर के साथ बातचीत करने के लिए किया जाता है।

क्लास कंस्ट्रक्टर#

timer();

क्लास डिस्ट्रक्टर#

timer ऑब्जेक्ट को नष्ट करता है और उससे जुड़े संसाधनों को मुक्त करता है।

~timer();

पैरामीटर#

यह कंस्ट्रक्टर कोई पैरामीटर स्वीकार नहीं करता है।

उदाहरण#

// Create a timer instance
timer myTimer = timer();

सदस्य कार्य#

timer क्लास में निम्नलिखित सदस्य फ़ंक्शन शामिल हैं:

  • reset — Resets the timer to zero.

  • value — Returns the elapsed time since the timer started.

  • event — निर्दिष्ट मिलीसेकंड की संख्या के बाद एक फ़ंक्शन को कॉल करता है, वैकल्पिक तर्कों के साथ।

किसी भी timer सदस्य फ़ंक्शन को कॉल करने से पहले, एक timer इंस्टेंस बनाना आवश्यक है, जैसा कि नीचे दिखाया गया है:

/* This constructor is required to use a 
custom timer. Replace the values
as needed. */

// Create a timer instance
timer myTimer = timer();

/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */

// Create the Brain to use Brain.Timer
brain Brain = brain();

reset#

टाइमर को शून्य पर सेट करता है।

Available Functions
void reset();

Parameters

यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

Examples
while (true) {
  // Clear the timer every time the screen is pressed
  if (Brain.Screen.pressing()) {
    myTimer.reset();
  }
  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1, 1);
  Brain.Screen.print("Time: %.2f", myTimer.value());
  wait(50, msec);
}

value#

टाइमर का वर्तमान मान लौटाता है।

Available Functions
double value();

Parameters

यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।

Return Values

एक डबल जो बीते हुए समय को सेकंडों में दर्शाता है।

Notes
  • टाइमर के निर्माण के समय से ही गिनती शुरू हो जाती है।

  • Calling reset resets the timer value to zero.

Examples
// Display the timer as it ticks up
while (true) {
  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1, 1);
  Brain.Screen.print("Time: %.2f", myTimer.value());

  wait(50, msec);
}

event#

एक निर्दिष्ट विलंब के बाद निष्पादित होने वाले कॉलबैक फ़ंक्शन को पंजीकृत करता है।

Available Functions

1 — एक निर्दिष्ट विलंब के बाद चलने के लिए एक कॉलबैक पंजीकृत करता है और कॉलबैक को एक उपयोगकर्ता-परिभाषित मान पास करता है।

static void event(
    void (*callback)(void *),
    uint32_t value );

2 — एक निर्दिष्ट विलंब के बाद चलाने के लिए कॉलबैक पंजीकृत करता है।

static void event(
    void (*callback)(void),
    uint32_t value );

Parameters

पैरामीटर

प्रकार

विवरण

callback

void (*)(void *)

एक फ़ंक्शन जिसे निर्दिष्ट विलंब के बाद कॉल किया जाएगा और जो उपयोगकर्ता द्वारा परिभाषित तर्क प्राप्त करता है।

callback

void (*)(void)

एक फ़ंक्शन जिसे निर्दिष्ट विलंब के बाद कॉल किया जाएगा।

value

uint32_t

कॉलबैक फ़ंक्शन के निष्पादन से पहले का विलंब (मिलीसेकंड में)।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

Notes
  • यह फ़ंक्शन एक बार के कॉलबैक को शेड्यूल करता है; यह स्वचालित रूप से दोहराया नहीं जाता है।

  • कॉलबैक फ़ंक्शन को void लौटाना चाहिए।

  • एक ही समय में कई कार्यक्रम निर्धारित किए जा सकते हैं।

Examples

फ़ंक्शन को परिभाषित करें ( int main() के बाहर)

// Create a function to turn the screen orange
void turnOrange() {
  Brain.Screen.clearScreen(orange);
}

फ़ंक्शन को int main() के अंदर पंजीकृत करें

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  timer myTimer = timer();
  // Call turnOrange after 2 seconds
  myTimer.event(turnOrange, 2000);
}