Interrupteur de fin de course#

Introduction#

La classe limit est utilisée avec le capteur de fin de course, un petit capteur numérique qui détecte le contact physique avec un objet.

Le commutateur de fin de course VEX EXP.

Constructeur de classe#

limit(
  triport::port &port);

Destructeur de classe#

Détruit l’objet limit et libère les ressources associées.

virtual ~limit();

Paramètres#

Paramètre

Taper

Description

port

triport::port &

Le port à 3 fils auquel le commutateur de fin de course est connecté, écrit comme Brain.ThreeWirePort.X ou ExpanderName.X, où X est la lettre du port (par exemple, Brain.ThreeWirePort.A ou Expander1.A).

Exemple#

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

Fonctions des membres#

La classe limit comprend les fonctions membres suivantes :

  • pressing – Renvoie si le commutateur de fin de course est enfoncé.

  • pressed – Enregistre une fonction à appeler chaque fois que le commutateur de fin de course est pressé.

  • released – Enregistre une fonction à appeler chaque fois que le commutateur de fin de course est libéré.

Avant d’appeler une quelconque fonction membre limit , une instance limit doit être créée, comme indiqué ci-dessous :

/* 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#

Indique si le contacteur de fin de course est actuellement actionné. Cela permet de vérifier si le robot entre en collision avec d’autres objets.

Available Functions
int32_t pressing();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie un int32_t indiquant si le contacteur de fin de course est enfoncé.

  • 1 — Le contacteur de fin de course est enfoncé.

  • 0 — Le contacteur de fin de course n’est pas actionné.

pressed#

Enregistre une fonction qui sera appelée lorsque le contacteur de fin de course est enfoncé.

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

Un pointeur vers une fonction qui sera appelée lorsque le bouton de fin de course sera enfoncé.

Return Values

Cette fonction ne renvoie aucune valeur.

Examples

Définissez la fonction de rappel (en dehors de int main())

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

Enregistrez le rappel à l’intérieur de int main()

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#

Enregistre une fonction qui sera appelée lorsque le contacteur de fin de course est relâché.

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

Un pointeur vers une fonction qui sera appelée lorsque le contacteur de fin de course sera relâché.

Return Values

Cette fonction ne renvoie aucune valeur.

Examples

Définissez la fonction de rappel (en dehors de int main())

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

Enregistrez le rappel à l’intérieur de int main()

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