LinearOpMode vs OpMode#

Hay dos clases OpMode en el SDK de FTC: OpMode y LinearOpMode. El que se utiliza afecta a la forma de escribir el programa. Para ver ejemplos de cómo utilizar OpMode y LinearOpMode, refiérase a los OpModes de ejemplo en el SDK.

Métodos LinearOpMode#

  • runOpMode(): El código dentro de este método se ejecutará exactamente una vez después de presionar el botón INIT. Aquí es donde usted debe poner todo el código para el OpMode.

  • waitForStart(): Este método pausa el Op-Mode hasta que se pulsa el botón START en estación del conductor.

  • isStarted(): devuelve true si se ha pulsado el botón START, en caso contrario devuelve false.

  • isStopRequested(): devuelve true si se ha pulsado el botón STOP, en caso contrario devuelve false.

  • idle(): llama a Thread.yield, permitiendo la ejecución de otras acciones con el mismo nivel de prioridad.

  • opModeIsActive(): devuelve isStarted() && !isStopRequested() y llama a idle().

  • opModeInInInit(): devuelve !isStarted() && !isStopRequested() y no llama a idle().

Métodos OpMode#

  • init(): El código dentro de este método se ejecutará exactamente una vez después de pulsar el botón INIT en la estación del conductor.

  • init_loop(): Una vez ejecutado el código en init(), el código dentro de este método se ejecutará continuamente hasta que se pulse el botón START en la estación del conductor.

  • start(): El código dentro de este método se ejecutará exactamente una vez después de pulsar el botón START en la estación del conductor.

  • bucle()``: Una vez que se ha ejecutado el código en start(), el código dentro de este método se ejecutará continuamente hasta que se pulse el botón STOP en la estación del conductor.

  • stop(): El código dentro de este método se ejecutará exactamente una vez después de pulsar el botón STOP en la estación del conductor.

Nota

A partir de la versión 8.1 del SDK, cuando se ejecuta OpMode hay un retardo insignificante de un milisegundo entre llamadas a loop(). Anteriormente, tenía retrasos impredecibles, sin embargo desde la versión 8.1 tiene un rendimiento similar a LinearOpMode.

Conclusión#

En general, el uso de LinearOpMode o OpMode depende de las preferencias. Game Manual 0 utiliza LinearOpMode en todas partes por coherencia.