घड़ी#

परिचय#

timer क्लास brain बेस क्लास से व्युत्पन्न है और बीता हुआ समय मापने के लिए कार्यक्षमता प्रदान करता है, जिससे आप VEX EXP प्रोग्राम के भीतर अवधि को ट्रैक कर सकते हैं और समय-आधारित घटनाओं को शेड्यूल कर सकते हैं।

पहुँच#

Brain.Timer

नोट्स#

  • Brain.Timer timer वर्ग का एक उदाहरण है और समान कार्यक्षमता प्रदान करता है।

उदाहरण#

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

// Create the EXP Brain
brain Brain = brain();

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

  wait(50, msec);
}

सदस्य कार्य#

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

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

  • time — टाइमर शुरू होने के बाद से बीता हुआ समय लौटाता है।

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

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

// Create the EXP Brain
brain Brain = brain();

clear#

टाइमर का वर्तमान मान शून्य पर रीसेट करता है। इसके बाद, टाइमर तुरंत शून्य से फिर से गिनती शुरू कर देता है।

Available Functions
void clear();

Parameters

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

Return Values

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

Examples
while (true) {
  // Reset the timer every time the check button is pressed
  if (Brain.buttonCheck.pressing()) {
    Brain.Timer.clear();
  }
  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1, 1);
  Brain.Screen.print("Time: %.2f", Brain.Timer.value());
  wait(50, msec);
}

time#

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

Available Functions

1 — मिलीसेकंड में बीता हुआ समय लौटाता है।

uint32_t time() const;

2 — निर्दिष्ट समय इकाइयों में बीता हुआ समय लौटाता है।

double time(
    timeUnits units ) const;

Parameters

पैरामीटर

प्रकार

विवरण

units

timeUnits

बीता हुआ समय लौटाने के लिए प्रयुक्त इकाइयाँ:

  • seconds / sec सेकंड
  • msec मिलीसेकंड

Return Values
  • पैरामीटर रहित फ़ंक्शन (1) मिलीसेकंड में बीते समय को दर्शाने वाला uint32_t लौटाता है।

  • timeUnits पैरामीटर (2) वाला फ़ंक्शन निर्दिष्ट इकाइयों में बीता हुआ समय दर्शाने वाला double लौटाता है।

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

  • clear को कॉल करने से टाइमर का मान शून्य पर रीसेट हो जाता है।

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

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

  // Call turnOrange after 2 seconds
  Brain.Timer.event(turnOrange, 2000);
}