Interface to Observation Handling SW¶
OTTO is an specification of the API used to fetch and execute OBs. It implements a REST interface to the Observation Handling SW.
OTTO services allows the Sequencer to:
loading a visitor execution sequence (VES) into the UI.
fetching an OB, aka “the next unit of execution”.
reporting OB events Initiated, Started, Executed.
Configuration¶
In order to connect to OTTO server one needs its URL, username and password. This info is specified in the Sequencer GUI configuration file as:
otto:
url: http://127.0.0.1:5000/
insid: FORS2
mode: VM
user: pippo
password: 123
The Sequecer GUI allows to modify the otto server params with a dedicated dialog box. See gui for details on OTTO and its GUI options and actions.
Simulation¶
TINO is the OTTO simulator. The recommended use is to start it on a terminal session. One can invoke it from seqtool. It starts an server sporting the OTTO interface from where OBs can be fetched. The OBs are served from a directory that contains them and it is a required argument of the tino subcommand. Tino’s server port can also be specified from the command line.
TINO supports the following options:
$ seqtool tino --help
Usage: seqtool tino [OPTIONS] PATH
Friend of OTTO
Options:
--port INTEGER Tino server port
--help Show this message and exit.
Usage¶
Upon starting TINO reports the addres it is serving as:
$ seqtool tino ./OBs
Loading OB files:
* Serving Flask app "seq.otto.ottoSim" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Once TINO is running point the Sequencer GUI to the address TINO reported (normally http://127.0.0.1:5000/) see gui and OBs can be fetched from the server using the OTTO menu and ‘Fetch OB’ action.
Note
Regardless of the contents of the OB directory, TINO will only serve OBs that match the instrument configured.