ChangeLog¶
The Karabacon is continuously updated. The following versions are provided.
3.0.12
Bugfix: Fixed failing mesh/dmesh scans when acquisition times vector is used.
Bugfix: Set absolute motor coordinates for dmesh plots. Fixed issue where double-clicking the plot did not move motors to the correct positions.
Refactoring of extensions.
Added extension to fit results.
Added TangoMotor to supported motor interfaces.
3.0.11
DaqController tag update
3.0.10
BugFix: Fix KarabaconScheduler synchroniztion with Karabacon
3.0.9
Added new string property acquisitionMode based on an enum to adjust the data acquisition during a scan. Available acquisition modes: single: single data point after the end of a step, continues: acquire data during the acquisition time. Multiple points during the step, continues averaged: acquire data during the acquisition time. Average values and plot single data point. continues extended: acquire data during the acquisition time and time when motors are moving.
Log book integration allows to send scan reports to logbook.
setup.py replaced with pyproject.toml.
Fix: Added correct state handling if custom state is defined.
Fix: Do not populate daq info of a scan history item if the useDAQ is false.
PicoMotor added to the list of supported motors.
Karabacon goes open source.
Added attribute to define state changed timeout for motor environment.
Fix: After the end of a scan wait till daqController goes to active state.
New device KarabaconScheduler to schedule scans.
Fix: Custom coordinate upload failed if the file contains a single row. Now its handled correctly.
Fix: Pause after each step misbehaved.
Disable log button of a history item if no logbook destinations are available.
Fix cli and sync with main scantool device.
3.0.8
BugFix: Do not move motors to start positions twice.
Added boolean to allow shuffling of ascan steps
Use common ci.
Added state attribute of the custom motor interface.
Align imports.
Added sign function to allowed step functions.
Removed tabulate dependency.
Added device clones to the supported motor interfaces.
Unlock motors if the scan is paused.
3.0.7-2.16.2
DaqController tag update
3.0.6-2.16.2
Added prefix (scan index in the scan history) to the source ids to allow displaying multiple plots in the gui.
Added feature to allow uploading custom scan coordinates via uploader gui extension.
Added comments and selected daq info (proposal num, run num, sample name, experiment) fields to the scan history items.
Spectrum scan checkbox allows to acquire and plot vector type data.
3.0.5-2.16.2
Fixed bug in the scan history
3.0.4-2.16.2
Do not reconfigure DAQ if its in monitoring state
3.0.3-2.16.2
Fix: if step transform is used then instead of moving to the start position (value entered by the user and not transformed) move to the transformed start position.
3.0.2-2.16.2
Save scan history and data in xml and json files.
Lock motors before scan and unlock after the scan.
Add aligner results to the output schema
CLI aligned to the latest version
Raise KaraboError if device alias is not accepted
New scan type: custom. Ascan with user defined customScanPattern
3.0.1-2.16.2
Update DaqController to tag 1.5.1-2.16.2
3.0.0-2.16.2 (12/01/2023)
New Feature: Scan templates. Allows to store scantool settings by name.
Refactoring: Extensions moved to the extensions node.
Refactoring: motorEnv, dataEnv, triggerEnv moved to devices node. Moved all device related settings to the device node.
Refactoring: Replace ascan, a2scan, a3scan, a4scan with ascan, cscan, c2scan, c3scan, c4scan with cscan and dscan, d2scan, d3scan, d4scan with dscan. Scan settings are validated based on the number of motors.
Added new targets table item to the Aligner extension to display estimated values and allow to move motors to the corresponding position(s).
Bugfix: Move conflicting motors (for example, MultiAxis motor) sequentially.
New Feature: double click on the plot move motor(s) to the corresponding position(s).
2.4.14-2.13.4 (02/12/2022)
New Feature: Added tscan: for defined time acquire data from sources without moving motors
Repeating a scan from history sets all settings.
Bugfix: Do not plot data points if device is in ERROR state or value is None
2.4.13-2.13.4 (10/10/2022)
BugFix: fixed scene to be compatible with older Karabo versions.
2.4.12-2.13.4 (30/09/2022)
Added device selection tree to the build-in scene.
Added wait argument to the scan commands in cli.
Allow to write activeMotors, activeSources and activeTriggers for fast device selection.
2.4.11-2.13.4 (19/08/2022)
New Feature: Scan history table element stores information about executed scans. Contains buttons to repeat scan and plot scan results.
Added MonoChromator class to supported devices.
Improved main scene and added new scene with extensions and additional tools.
Added averaging of data source values.
BugFix: Fixed failing step scans in case when averageValues is True and no data source is selected.
2.4.8-2.13.4 (21/04/2022)
Staubli robot manipulator support.
Added motorIds and sourceIds to the output schema.
On initialization check if assigned device to daq controller has correct device class.
Notify user and set isConfigured to false if the scan environment has been changed.
Allow to enable/disable DAQ during the runtime.
1.6.0-2.6.0 (11/09/2019)
Pause instead of aborting scan in case of errors on motors
1.5.0-2.6.0 (04/06/2019)
Adapted DAQ integration to new DAQ state - PASSIVE
1.4.6-2.4.0 (28/05/2019)
Added BeamPositionMonitor support
1.4.5-2.4.0 (14/05/2019)
Added DoocsUndulatorEnergy and Monochromator support
1.4.4-2.4.0 (14/05/2019)
Added Proxy Processor device
1.4.3-2.4.0 (07/05/2019)
DoocsOpticalDelay support
1.4.1-2.4.0 (07/05/2019)
Gridscanner support
1.3.19-2.4.0 (26/04/2019)
Digitizer Processor support for roi integration and division
1.3.15-2.4.0 (29/03/2019)
The Karabacon can optionally pause and wait at every scan step
1.3.14-2.3.6 (22/03/2019)
Fix timestamp of actualStep on stable branch
1.3.13-2.3.6 (11/03/2019)
update-simulatedTrigger-tag for stable branch
Dont stop Karabacon when motor throws an exception !17
1.3.12-2.3 (17/12/2018)
Fix generic average implementation
1.3.11-2.2.5 (24/10/2018)
Add Image to spectrum !145
Make the runConfigurationGroup property free-form !153
Add Support for Pulse Picker Trigger!154
Added imageProcessors parameters to environment !155
Integration of DoocsPulseKicker device
Fix a software limit switch !159
genericaverage beamwidth !158
genericAverage has nodes in interface !161
compatible with new daq version !162
Include reconfigurable delay for larger configurations
1.3.10-2.2.5 (27/09/2018)
Split of development branch with master/stable, which got updated.
Full implementation of absolute gscan: CLI and Karabacon !130
First macro factory !132
Update DAQ documentation !131
Macro dscan !133
Float to Doubles !134
Provide isMoving isAcquiring booleans for daq !135
Enable Schema plugin in Karabacon !136
Support AGIPD in Karabacon !137
Bulkset of tables in Karabacon !138
Pipeline wait is configurable !139
Pipelining proxies !141
Karabacon can send now raw hash data !142
Find generically outputchannel !143
Cleaning of device proxy, trigger standard addition !144
Clean a little bit the Schema proxy !147
Add version history !148
Allow MultiAxisMotor and Motor interface simultaneously !146
Interface datasource implemented !149
Mangle the schema in SchemaProxy !150
Make the RunConfigurationGroup property freeform !151
Timestamp fix in steps !160
1.3.9-2.2.4 (22/09/2018)
Integration of DoocsPulseKicker device
1.3.8-2.2.4 (29/08/2018)
Added imageProcessors parameters to environment
1.3.6-2.2.4 (10/08/2018)
Add Support for Pulse Picker Trigger
1.3.5-2.2.4 (06/08/2018)
Make the runConfigurationGroup property free-form
1.3.4-2.2.4 (03/07/2018)
Addition of the ImageToSpectrum device
1.3.3-2.2.4 (20/06/2018)
Karabacon is made compatible with the new MDL trainId integration
The built-in TimeMiXin is removed and implemented in the framework
1.3.3-2.2.2 (08/03/2018)
Support of doocsUndulator
1.3.2-2.2.2 (02/03/2018)
Addition of a simulatedTrigger to work with Cameras.
1.3.1-2.2.2 (02/03/2018)
More DAQ protection
Scan configuration is checked, e.g. only done if the devices change. This is an essential performance fix.
ikarabo namespace is added to karabacon (connectDevice, setWait …)
1.3.0-2.2.0 (28/02/2018)
TrainId / Timeserver integration for output channel with TimeMiXin
Alignment with the new DAQ Interface, configurable number of aggregators
1.2.1-2.2.0 (15/02/2018)
Changed Karabacon device class from DeviceClientBase to Device
Actively remove Quantity Input in ScanClient in several function
1.2.0-2.2.0 (05/02/2018)
The bacon comes alive! New release with major features and changes!
Features:
Added full Command Line Interface Support (CLI) with spec pattern!
Validation of input parameters in CLI
Plotting from CLI with a scene runner
Addition of ScanClient Macro which is later provided with Macro protocol
Function added to retrieve descriptors for scalability
A single plot scene added to the Karabacon Scan device
Devices:
Abstract motor axis included considering KEP28
Fixed state machine behavior for Triggers (ACTIVE/PASSIVE/ACQUIRING)
Triggers must have specific state before start acquiring
ACTIVE state (follow target) is supported in motors.
Testing:
Multi-Axis Motor testing with motor mocks
Data source and Trigger mocks with tests
This release will only work with device versions tagged against Karabo 2.2.0.
1.1.3-2.1.18.3 (29/11/2017)
Bug fix for limit switches if the motor does not have one.
1.1.2-2.1.18.3 (27/11/2017)
Refactor base proxy in scan device and remove internal axis from triggers
CI Runner addition
Implement code style checker
Protection against concurrency access to DAQ - Check ACQUIRING state before configuring
1.1.1-2.1.18.3 (22/11/2017)
New scan option!
Implement dmesh feature
1.1.0-2.1.18.3 (22/11/2017)
Major New Feature for accounting triggers
Implement acquisition time feature
1.0.2-2.1.18.3 (16/11/2017)
ScanDevice provides deviceId’s lookup when failing to connect
Support Noded properties (Digitizer)
Limit switch implementation
1.0.1-2.1.18.3 (10/11/2017)
The eventloop gets more time to breathe to swallow all the events from the ScanDevice.
More process Event calls
1.0.0-2.1.18.3 (9/11/2017)
First version of scantool providing basic functionalities
Scans: ascan (1-4), dscan (1-4), mesh
Float plotting
scene generation protocol
beckhoff motor support
greateyes support
gotthard support
lpd support
imageprocessor, analoginput support