The ``boot == Device("LTS/Boot/1")`` device is responsible for starting and initialising the other devices. Devices which are not reachable, for example because their docker container is explicitly stopped, are skipped during initialisation. This device provides the following commands:
:initialise_station(): Stop and start the other devices in the correct order, set their default values, and command them to initialise their hardware. This procedure runs asynchronously, causing this command to return immediately. Initialisation is aborted if an error is encountered.
:returns: ``None``
The initialisation process can subsequently be followed through monitoring the following attributes:
:initialising_R: Whether the initialisation procedure is still ongoing.
:type: ``bool``
:initialisation_progresS_R: Percentage completeness of the initialisation procedure. Each succesfully configured device increments progress.
:type: ``int``
:initialisation_status_R: A description of what the device is currently trying to do. If an error occurs, this will hint towards the cause.
:type: ``str``
If a device fails to initialise, most likely the :doc:`../interfaces/logs` will need to be consulted.
Docker
---------
The ``docker == Device("LTS/Docker/1")`` device controls the docker containers. It allows starting and stopping them, and querying whether they are running. Each container is represented by two attributes:
:<container>_R: Returns whether the container is running.
:type: ``bool``
:<container>_RW: Set to ``True`` to start the container, and to ``False`` to stop it.
:type: ``bool``
.. warning:: Do *not* stop the ``tango`` container, as doing so cripples the Tango infrastructure, leaving the station inoperable. It is also not wise to stop the ``device_docker`` container, as doing so would render this device unreachable.