Amaireadóir#

Réamhrá#

Tá an rang timer díorthaithe ón rang bonn brain agus soláthraíonn sé feidhmiúlacht chun am caite a thomhas, rud a ligeann duit faid ama a rianú agus imeachtaí bunaithe ar am a sceidealú laistigh de chlár VEX EXP.

Rochtain#

Brain.Timer

Nótaí#

  • Is sampla den rang timer é Brain.Timer agus soláthraíonn sé an fheidhmiúlacht chéanna.

Sampla#

/* 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);
}

Feidhmeanna na mBall#

Áirítear leis an rang timer na feidhmeanna comhalta seo a leanas:

  • clear — Athshocraíonn sé an lasc ama go náid.

  • time — Tugann sé seo an t-am atá caite ó thosaigh an lasc ama ar ais.

  • event — Glaonn feidhm tar éis líon sonraithe milleasoicindí, le hargóintí roghnacha.

Sula nglaotar ar aon fheidhmeanna timer ball, ní mór sampla brain a chruthú, mar a thaispeántar thíos:

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

clear#

Athshocraíonn sé luach reatha an lasc ama go náid. Ina dhiaidh sin, tosaíonn an lasc ama ag comhaireamh suas arís ó náid láithreach.

Available Functions
void clear();

Parameters

Ní ghlacann an fheidhm seo le haon pharaiméadair.

Return Values

Ní thugann an fheidhm seo luach ar ais.

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#

Tugann sé luach reatha an lasc ama ar ais.

Available Functions

1 — Tugann sé seo an t-am caite ar ais i milleasoicindí.

uint32_t time() const;

2 — Tugann sé seo an t-am caite ar ais sna haonaid ama sonraithe.

double time(
    timeUnits units ) const;

Parameters

Paraiméadar

Cineál

Cur síos

units

timeUnits

Na haonaid a úsáidtear chun an t-am caite a thabhairt ar ais:

  • seconds / sec — soicind
  • msec — milleasoicind

Return Values
  • Tugann an fheidhm gan pharaiméadair (1) uint32_t a léiríonn an t-am caite i milleasoicindí.

  • Tugann an fheidhm le paraiméadar timeUnits (2) double ar ais a léiríonn an t-am caite sna haonaid shonraithe.

Notes
  • Tosaíonn an lasc ama ag comhaireamh nuair a thosaíonn an tionscadal.

  • Athshocraítear luach an lasc ama go náid trí ghlaoch ar 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#

Cláraíonn sé feidhm athghlaoite le forghníomhú tar éis moill shonraithe.

Available Functions

1 — Cláraíonn sé seo glao ar ais le rith tar éis moill shonraithe agus cuireann sé luach sainmhínithe ag an úsáideoir ar aghaidh chuig an nglao ar ais.

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

2 — Cláraíonn sé glao ar ais le rith tar éis moill shonraithe.

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

Parameters

Paraiméadar

Cineál

Cur síos

callback

void ()(void)

Feidhm a ghlaofar tar éis na moille sonraithe agus a fhaigheann argóint atá sainithe ag an úsáideoir.

callback

void (*)(void)

Feidhm a ghlaofar tar éis na moille sonraithe.

value

uint32_t

An mhoill, i milleasoicindí, sula ndéantar an fheidhm athghlaoite a fhorghníomhú.

Return Values

Ní thugann an fheidhm seo luach ar ais.

Notes
  • Sceidealaíonn an fheidhm seo glao ar ais aonuaire; ní athdhéantar í go huathoibríoch.

  • Caithfidh an fheidhm athghlaoite void a thabhairt ar ais.

  • Féadfar roinnt imeachtaí a sceidealú ag an am céanna.

Examples

Sainmhínigh an fheidhm (lasmuigh de int main())

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

Cláraigh an fheidhm taobh istigh de 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);
}