diff --git a/README.md b/README.md index d8a7ad5e0..83582b314 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ _slic_ is a re-write/re-factor of [_eco_](https://github.com/paulscherrerinstitu _slic_ consists of a [core](#sliccore) library for static recording and scans as well as a [devices](#slicdevices) library containing classes that represent physical devices. As work-in-progress, the core library has seen most changes so far while the devices have not been worked on as much. Furthermore, there's a [GUI](#slicgui) frontend built on top of _slic_ as backend included. -The beamline codes can be found here: +The beamline codes can be found [here](https://gitlab.psi.ch/slic): - [Alvra](https://gitlab.psi.ch/slic/alvra) - [Bernina](https://gitlab.psi.ch/slic/bernina) @@ -29,7 +29,7 @@ The core library contains - [epics PVs](https://github.com/pyepics/pyepics#pv-object-oriented-ca-interface) - **adjustable** — ABC for physical/virtual devices that can be moved or otherwise adjusted. The `PVAdjustable` class handles interaction with the typical set of epics PV defining a device (set value, readback, moving status). A generic class is also provided, which turns a getter/setter pair into an adjustable. - **condition** — Classes that collect statistics over a given time window and test whether a value was in a specified range often enough. This allows to define what conditions are considered good enough for a recording. -- **device** — Representation of larger hardware components that consist of several adjustables. Devices can also be nested allowing to represent, e.g, a whole beamline. `SimpleDevice` is a straight-forward interface for creating devices. The included collection of device implementations may in [`slic.devices`](#slic.devices). +- **device** — Representation of larger hardware components that consist of several adjustables. Devices can also be nested allowing to represent, e.g, a whole beamline. `SimpleDevice` is a straight-forward interface for creating devices. The included collection of device implementations can be found in [`slic.devices`](#slic.devices). - **task** — Simplifying wrappers for python's [threading.Thread](https://docs.python.org/3/library/threading.html#threading.Thread), which allow return values and forward exceptions raised within a thread to the calling scope. A nicer `__repr__` makes tasks easier to use in ipython. More specific tasks are also available: the DAQTask can hold information about the files it is writing, and the Loop comes in two variants (infinite and with time out) that both call a function repeatedly. ### Overview: Interactions of these building blocks: