Robežslēdzis#

Ievads#

limit klase tiek izmantota kopā ar robežslēdzi — nelielu digitālu sensoru, kas nosaka fizisku kontaktu ar objektu.

VEX EXP ierobežojuma slēdzis.

Klases konstruktors#

limit(
  triport::port &port);

Klases iznīcinātājs#

Iznīcina limit objektu un atbrīvo saistītos resursus.

virtual ~limit();

Parametri#

Parametrs

Tips

Apraksts

port

triport::port &

3 vadu ports, kuram ir pievienots ierobežojuma slēdzis, kas pierakstīts kā Brain.ThreeWirePort.X vai ExpanderName.X, kur X ir porta burts (piemēram, Brain.ThreeWirePort.A vai Expander1.A).

Piemērs#

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

Dalībnieku funkcijas#

limit klasē ietilpst šādas dalībfunkcijas:

  • pressing – Atgriež, vai tiek nospiests ierobežojuma slēdzis.

  • pressed – Reģistrē funkciju, kas tiks izsaukta ikreiz, kad tiek nospiests ierobežojuma slēdzis.

  • released – Reģistrē funkciju, kas tiks izsaukta ikreiz, kad tiek atbrīvots ierobežojuma slēdzis.

Pirms jebkuru limit dalībfunkciju izsaukšanas ir jāizveido limit instance, kā parādīts zemāk:

/* This constructor is required when using VS Code.
Limit Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

pressing#

Atgriež, vai pašlaik tiek nospiests ierobežojuma slēdzis. To var izmantot, lai pārbaudītu, vai robots uzduras citiem objektiem.

Available Functions
int32_t pressing();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež int32_t , kas norāda, vai tiek nospiests ierobežojuma slēdzis.

  • 1 — Tiek nospiests ierobežojuma slēdzis.

  • 0 — Robežslēdzis netiek nospiests.

pressed#

Reģistrē funkciju, kas tiks izsaukta, nospiežot ierobežojuma slēdzi.

Available Functions
void pressed(
  void (* callback)(void) );

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Rādītājs uz funkciju, kas tiks izsaukta, nospiežot robežslēdzi.

Return Values

Šī funkcija neatgriež vērtību.

Examples

Definējiet atzvanīšanas funkciju (ārpus int main())

void switchPressed() {
  // The Brain will print that the Limit Switch was pressed
  // on the Brain's screen.
  Brain.Screen.print("switch pressed");
}

Reģistrējiet atzvanīšanas funkciju int main() iekšpusē

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

  // Run switchPressed when the Limit Switch is pressed.
  LimitSwitchA.pressed(switchPressed);
}

released#

Reģistrē funkciju, kas tiks izsaukta, kad ierobežojošais slēdzis tiek atlaists.

Available Functions
void released(
  void (* callback)(void) );

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Rādītājs uz funkciju, kas tiks izsaukta, kad tiks atlaists ierobežojošais slēdzis.

Return Values

Šī funkcija neatgriež vērtību.

Examples

Definējiet atzvanīšanas funkciju (ārpus int main())

void switchReleased() {
  // The Brain will print that the Limit Switch was released
  // on the Brain's screen.
  Brain.Screen.print("switch released");
}

Reģistrējiet atzvanīšanas funkciju int main() iekšpusē

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

  // Run switchReleased when the Limit Switch is released.
  LimitSwitchA.released(switchReleased);
}