FastCS support for the Odin detector software framework
Project description
Odin FastCS
FastCS support for the Odin detector software framework
Source | https://github.com/DiamondLightSource/odin-fastcs |
---|---|
PyPI | pip install odin-fastcs |
Docker | docker run ghcr.io/diamondlightsource/odin-fastcs:latest |
Documentation | https://diamondlightsource.github.io/odin-fastcs |
Releases | https://github.com/DiamondLightSource/odin-fastcs/releases |
Development
Odin FastCS does not do much unless it has an Odin control server to talk to. It is
possible to test some functionality in isolation by dumping server responses and creating
tests that parse those responses. Responses can be dumped from various Odin systems and
tests written against them that can run in CI to ensure support for those systems is not
broken. The tests/dump_server_response.py
helper script will generate json files for
each adapter in an Odin server to write tests against.
Testing against static files is quite restrictive, so a dummy development environment is
provided to give developers a consistent live deployment to possible to work against
while developing the code. To set this up, run dev/configure.sh
with the path to an
odin-data install prefix and the path to a venv with odin-control and odin-data
installed. This will populate the dev config with your environment - these changes
should not be checked in. The dev deployment can then be run with dev/start.sh
.
Currently Odin FastCS depends on branches of both odin-control and odin-data, so these
branches are provided in dev/requirements.txt
for convenience. Make a venv and then
pip install -r dev/requirements.txt
will give an environment that the control server
and meta writer can run in. For the frameProcessor and frameReceiver, check out the
fastcs-dev branch of odin-data and build. It is recommended to use the vscode CMake
configuration to do this.
If you need to run a dev version of any of the applications, stop that process in the deployment and run/debug it manually. There is a vscode launch config for an odin server using the same config as the dev deployment for this purpose.
At boot time, FastCS will generate UIs that can be opened in Phoebus. This is the
clearest way to see the PVs that have been generated for the Odin server. It is also
possible to run dbl()
in the EPICS shell to print a flat list of PVs.
See https://diamondlightsource.github.io/odin-fastcs for more detailed documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file odin_fastcs-0.1.0.tar.gz
.
File metadata
- Download URL: odin_fastcs-0.1.0.tar.gz
- Upload date:
- Size: 41.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 452b925dd0dafc1a1076bf8b8bb7f4383162f27fa61d2c8d74caca45218b2e93 |
|
MD5 | 7fec148e3502cd676d1b85180e822aa9 |
|
BLAKE2b-256 | 9b7d974e879eb741113e547c1a3642a974a60cc4901eac644aa3b496a3f9ad25 |
File details
Details for the file odin_fastcs-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: odin_fastcs-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 600ce3cf301476a72ef8022832265f435888a4ed38b2a29db40d8e9b48bc55b7 |
|
MD5 | 393024c58dd918599bc5fd8dc3e0153f |
|
BLAKE2b-256 | 55841ac211434dee5797f84b5c69908cbefaf258444981d1aab2a28d6586ddb0 |