Additional content for PyLECO the python reference implementation of the Laboratory Experiment COntrol (LECO) protocol (https://github.com/pymeasure/leco-protocol).
This module offers additional actors, directors, etc. It also offers some GUI utils for easier control of the PyLECO Components.
- Clone this repository,
- change your working directory to this file,
- Install with pip editable:
pip install -e .
For updates just pull the main branch.
Some GUIs related to PyLECO. They are in the gui folder.
In the gui_utils, the BaseMainWindow
and BaseSettings
classes offer default classes for a GUI main window and a corresponding settings dialog window.
The BaseMainWindow has a Listener
and a DataPublisher
(from PyLECO) already up and running.
The BaseSettings allows easy customization of a settings dialog class.
A graphical interface using under the hood the pyleco.management.data_logger.DataLogger
.
It can show the accumulated data in real time and can configure the internal data logger.
The DataLoggerRemote
is the same graphical interface which controls a DataLogger remotely, be it with or without GUI itself.
The DataLoggerViewer
can show files saved by the DataLogger.
This tool shows all the Coordinators and the Components connected to a Coordinator.
It shows the tasks of one or several starters. You can start/stop/restart tasks of these starters.
The LogLogger
logs the log entries published by other Components and shows the logs graphically.
Actors and Directors. They are, analogous to PyLECO in corresponding actors and directors folders.
This director can analyze an instrument (especially pymeasure.Instrument
) and create a device, which seems to be such an instrument.
It reproduces all methods, properties, and channels (with methods, properties, and subchannels recursively).
That removes the need to create a director for a specific instrument, but offers all the tools as if the instrument were local.
The actors.tmc_motor_actor
offers an Actor for Trinamic motor cards.
The directors.tmc_motor_director
offers the corresponding Director, which can be used as an in-place replacement for trinamic motor cards objects of the pytrinamic project.
Other tools in the tools folder.
The TopicTollector listens to published data (data protocol) for some time and collects all the topics in order to show, what is available.
More utils in utils folder, analogous to PyLECO.
The extended Publisher is one, which can send pint.Quantity
and numpy objects.
The default JSON encoder does not handle these objects.
The Republisher listens to messages of the data protocol and publishes new values based on these. For example, it can use a calibration to convert a measurement data to a calibrated value.