NICOS 3.0 has been released
NICOS 3.0 is now available for download.
Changes in this release series:
In this release, the “custom” directory with setups and modules for instruments has been replaced by Python packages. The most important consequences from this change are:
Individual instrument customizations are separated by facility, called
nicos_<facility>. By default, all such packages are installed alongside with the main
Custom modules no longer need to be mapped into
nicos.<instrument>with a nonstandard manipulation of
__path__, which makes it much easier for tools and IDEs to find and process them.
All device and class names in setups, as well as
guiconfig.py, must now be fully qualified. There are no shortcuts (leave out
nicos.confhas been replaced with a setting
setup_package. It specifies only a Python package name. The package is found along
INSTRUMENTenvironment variable should now be of the form
The GR-based live detector view can show ROIs.
The device list can now show arbitrary parameters of a device, in addition to the current value and status. Which devices should show which parameters is configured in the
guiconfig.pyfor each instrument.
In the scans panel, opening new scans automatically can now be switched off.
If a script exits with an error, the last executed line is marked with a red arrow in the script view.
Multiple bugs have been fixed in the find/replace dialog of the script editor.
A new sequence item,
SeqWait, has been added for sequencer devices.
EPICS support has been improved considerably.
ScanningDetectorhas been added to the generic devices. On count, it will perform a scan of a device and collect the subscan results.
- A new
waitforcommand has been added to replace simple while-loops.
- A new
rsamodule is now a required dependency, and will always be used for encrypting credentials between the daemon and its clients.
Support has been added for encrypted password and other credentials storage.
Daemon slowdown due to slow/hanging/intermittent network connections has been reduced.
- The user documentation for some commands was extended.
Many tests have been added, and the test suite is more reliable due to a rework of test fixtures.
Tests can be run in Docker containers.