# ophyd-tango-demo

## Getting started / preparation of the environment

Starting point of what is described is an empty mamba/conda environment

- prepare the mamba/conda env
```
mamba install --file requirements.txt -c conda-forge
```

- fetch the git submodule `ophyd-async` https://github.com/desy-fsec/ophyd-async.git 
- install ophyd+bluesky

```
cd ophyd-async/
git submodule init
git submodule update
pip install -e .
cd ..
```

- run `docker-compose` to start the tango db and device servers

```
docker-compose up -d
```

## run the first demo script

based on `ophyd-async/docs/user/examples/tango_scan.py`. a modified version 
of this file is in the root of this repo that uses the tango path available in 
the docker container.

```
TANGO_HOST=localhost:10000 python tango_scan.py
```

Note 1: make sure that the environment variable `TANGO_HOST` is set so that the python process can connect to the tango db inside the docker container
Note 2: it may take a few seconds before the scan starts. ... for the first scan it may even take almost a minute before the scan actually runs.

## Resources
- the forked ophyd-async repo with tango support: https://github.com/desy-fsec/ophyd-async.git 
- docker container + docker compose to run a tango DB + servers (preconfigured like at DESY): 
  https://gitlab.desy.de/marcus.fleck/fsecservers-in-default-tango-cs-docker



## to inspect Tango 
... one can install jive in a conda env ... doc still to come