Comandos predeterminados

Importante

Esta documentación describe el uso de la biblioteca dejada basada en comandos. Si bien esta documentación se ha conservado para ayudar a los equipos que aún no lo han hecho, se recomienda encarecidamente a los equipos que migren a la nueva biblioteca <docs/software/commandbased/index:Command-Based Programming>`.

En algunos casos, es posible que tenga un subsistema en el que desea ejecutar siempre un comando sin importar qué. Entonces, ¿qué haces cuando finaliza el comando que estás ejecutando actualmente? Ahí es donde entran los comandos predeterminados.

El comando predeterminado

Cada subsistema puede, pero no es obligatorio, tener un comando predeterminado que se programa siempre que el subsistema esté inactivo (el comando que actualmente requiere que el sistema se complete). El ejemplo más común de un comando predeterminado es un comando para la transmisión que implementa el control de joystick normal. Este comando puede ser interrumpido por otros comandos para maniobras específicas («modo precisión», alineación / orientación automática, etc.) pero después de que cualquier comando que requiera el tren de transmisión complete, el comando del joystick se programaría nuevamente.

Establecer el comando predeterminado

public class ExampleSubsystem extends Subsystem {

    // Put methods for controlling this subsystem
    // here. Call these from Commands.

    public void initDefaultCommand() {
        // Set the default command for a subsystem here.
        setDefaultCommand(new MyDefaultCommand());
    }
}

Todos los subsistemas deben contener un método llamado initDefaultCommand() que es donde establecerá el comando predeterminado si lo desea. Si no desea tener un comando predeterminado, simplemente deje este método en blanco. Si desea establecer un comando predeterminado, llame a setDefaultCommand desde este método, pasando el comando que se establecerá como predeterminado.