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