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()
: devuelvetrue
si se ha pulsado el botón START, en caso contrario devuelvefalse
.isStopRequested()
: devuelvetrue
si se ha pulsado el botón STOP, en caso contrario devuelvefalse
.idle()
: llama aThread.yield
, permitiendo la ejecución de otras acciones con el mismo nivel de prioridad.opModeIsActive()
: devuelveisStarted() && !isStopRequested()
y llama aidle()
.opModeInInInit()
: devuelve!isStarted() && !isStopRequested()
y no llama aidle()
.
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 eninit()
, 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.