The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Muestra: Un programa de muestra para que un robot recorra una distancia recta
La siguiente función permitirá que el robot avance hacia el codificador totalEnc. Utiliza la configuración V5 Clawbot.
Esta función spinToPosition no volverá hasta que se complete el movimiento. Esto se llama acción "sincronizada", determinada por el último parámetro true.
Sin usar una función definida por el usuario:
int main() {
vexcodeInit ();
LeftMotor.resetPosition ();
LeftMotor.setVelocity (100.0, percent);
LeftMotor.spinToPosition (500.0, deg, true);
Brain.Screen.printAt (5,30, "secs rev deg" );
Brain.Screen.printAt (5,60, "%.2f: %8.2f %8.2f",
Brain.Timer.value (),
LeftMotor.position (rev),
LeftMotor.position (deg));
wait(1000, msec)
; LeftMotor.resetPosition ()
; LeftMotor.setVelocity (-100.0, percent)
; LeftMotor.spinToPosition (-1000.0, c, true)
; Brain.Screen.printAt (5,100, "secs rev deg" )
; Brain.Screen.printAt (5,130, "%%.2f: %8.2f %8.2f"
, Brain.Timer.value ()
, LeftMotor.position (rev)
, LeftMotor.position (deg);
wait(1000, msec);
}
La muestra puede dar el siguiente resultado:
seg. rev. bruta grado 2,06 5445 3,12 1089
Tenga en cuenta que su prueba variará dentro de un margen muy pequeño en los lugares decimales.
Con una función definida por el usuario:
El siguiente ejemplo muestra cómo capturar un conjunto de operaciones en una sola llamada de "función" reutilizable.
void reportMotionValues() {
Brain.Screen.printAt (5, 60, "%.2f: %8.2f %8.2f",
Brain.Timer.value (),
LeftMotor.position (rev),
LeftMotor.position (deg));
}
int main() {
vexcodeInit ();
LeftMotor.resetPosition ();
LeftMotor.setVelocity (50.0, percent);
LeftMotor.spinToPosition (500.0, deg, true);
reportMotionValues ();
LeftMotor.resetPosition ();
LeftMotor.setVelocity (-50.0, percent);
LeftMotor.spinToPosition (-500.0, deg, true);
reportMotionValues();
}
Aquí se muestra la secuencia del flujo lógico de la función de llamada main():