Boot
The boot == DeviceProxy("STAT/Boot/1") device is responsible for (re)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:
- boot()
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
- resume()
Resume an earlier boot attempt: start initialising devices from the first one that failed to initialise, instead of from scratch.
- returns
None
The initialisation process can subsequently be followed through monitoring the following attributes:
- booting_R
Whether the initialisation procedure is still ongoing.
- type
bool
- progress_R
Percentage completeness of the initialisation procedure. Each succesfully configured device increments progress.
- type
int
- 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
- initialised_devices_R
Which devices were initialised succesfully.
- type
str[]
- uninitialised_devices_R
Which devices have not yet been initialised, or failed to initialiase.
- type
str[]
A useful pattern is thus to call boot(), wait for booting_R == False, and then check whether the initalisation was succesful, if progress_R == 100. If a device fails to initialise, most likely the Logs will need to be consulted.