CHANGELOG.md 75.2 KB
Newer Older
Piergiorgio Pancino's avatar
Piergiorgio Pancino committed
1
# Changelog
Benoit Formet's avatar
Benoit Formet committed
2

Piergiorgio Pancino's avatar
Piergiorgio Pancino committed
3
4
5
6
7
8
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
Benoit Formet's avatar
Benoit Formet committed
9

Valentin Valls's avatar
Valentin Valls committed
10
### Added
11

Valentin Valls's avatar
Valentin Valls committed
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
- Flint
   - Added widget in the regulation plot to specify a time to life for the data

### Changed

- Flint
   - Changed time to life of regulation plot is now independent to the x-axis
     selected duration

### Fixed

### Removed

## [1.10.1]

### Added

Valentin Valls's avatar
Valentin Valls committed
29
- Flint
Valentin Valls's avatar
Valentin Valls committed
30
31
32
33
   - Added FFT tool for curve plots
   - Added marker API for live image plots
   - Added nbdata in the title of live scatter plots
   - Added frameid in the title of live onedim plots
Valentin Valls's avatar
Valentin Valls committed
34
35
   - Added workspace setting to enable/disable auto focus on a plot when a new
     scan is discovered
Valentin Valls's avatar
Valentin Valls committed
36
   - Added a tool to load previous ROIs from a Nexus file during the ROI edition
Valentin Valls's avatar
Valentin Valls committed
37
   - Added Lima monitoring tool based on image (instead of video)
Valentin Valls's avatar
Valentin Valls committed
38
39
40
- Scan info
   - Added `add_1d_plot` to describe plots based on 1D data (MCAs kind of)

Valentin Valls's avatar
Valentin Valls committed
41
42
43
44
### Fixed

- Flint
   - Fixed cleaning of plot after a user shape selection requested by the shell
Valentin Valls's avatar
Valentin Valls committed
45
46
   - Fixed inconsistencies when switching to different x-axis
   - Fixed property view used to display 1D profile ROIs
Valentin Valls's avatar
Valentin Valls committed
47
   - Fixed result when trying to use a remote live curve plot containing no data
Valentin Valls's avatar
Valentin Valls committed
48
49
50
51
52

### Removed

- Flint:
   - Removed red cross to remove plot items
Valentin Valls's avatar
Valentin Valls committed
53

Valentin Valls's avatar
Valentin Valls committed
54
55
56
57
## [1.9.1 - 2022-01-04]

### Added

Valentin Valls's avatar
Valentin Valls committed
58
- Flint
Valentin Valls's avatar
Valentin Valls committed
59
60
61
   - Custom plots
      - Added remote property to config `yaxis_direction` from an image plot
      - Added remote property to config `xscale` and `yscale` from a curve plot
Valentin Valls's avatar
Valentin Valls committed
62
      - Added tooltip to display pixel values from an image plot
Valentin Valls's avatar
Valentin Valls committed
63
64
65
66
67
   - Live plots
      - Added remote property to config `xscale` and `yscale` from a curve plot
- Shell
   - `where` command how displays also motors not yet selected as Flint plot x-axis
   - `where` command displays real motors from calc motors
Valentin Valls's avatar
Valentin Valls committed
68

Matias Guijarro's avatar
Matias Guijarro committed
69
70
71
72
### Changed

### Fixed

Valentin Valls's avatar
Valentin Valls committed
73
74
75
76
77
- Flint
   - Fixed Lima edit rois tools was not starting anymore
   - Fixed display of RGB image from Lima detector
   - Fixed tooltip from RGB image
   - Fixed video monitoring with non-frelon camera
Valentin Valls's avatar
Valentin Valls committed
78
   - Fixed save/restore of normalized curve item
Valentin Valls's avatar
Valentin Valls committed
79
   - Fixed arc ROI validation with some specific angles
Valentin Valls's avatar
Valentin Valls committed
80
81
   - Custom plot API
      - Fixed unsupported origin/scale for image plot
Valentin Valls's avatar
Valentin Valls committed
82
83
- Shell
   - Fixed data display selection using plotselect
Valentin Valls's avatar
Valentin Valls committed
84

Matias Guijarro's avatar
Matias Guijarro committed
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
### Removed

## [1.9.0 - 2021-10-12]

### Added

- ICAT & metadata
   - support for "definition" field
   - direct communication, Tango metadata servers not needed anymore
   - feedback on ICAT datasets "ingestion"
- Core
   - BLissController for most controllers (motors, regulation, musst, wago, etc.)
   - new rules for TTL on scan nodes and datasets
       - avoid keeping scan data alive in Redis, which fills up memory and can lead to unintentional key eviction
       - do not remove data policy nodes until data is ingested
   - Lima
       - work around Tango bug with timeout (Tango issue #859)
       - save camera information (energy threshold, etc.) in redis, in HDF5 file
       - '.take_dark()' method for background substraction
       - allow concatenation mode 'concat_nb_frames' parameter
   - use of perfcounter for time differences instead of time.time()
   - fix CTRL-C (KeyboardInterrupt exception) issue
- Shell
   - user preference configuration file (.config/ESRF/bliss.ini)
   - themes for syntax highlighting: color is back to the terminal
- Spectrometers framework
- oscilloscopes: add missing time channel (for Tektronix, Lecroy, ...)
Valentin Valls's avatar
Valentin Valls committed
112
- Flint
Valentin Valls's avatar
Valentin Valls committed
113
114
    - Added a `time-curve-plot` custom plot
    - Added a new API from custom curve plots
Valentin Valls's avatar
Valentin Valls committed
115
116
    - Added feedback on user plot selection in curve and scatter plots
    - Added option to load history from scatter plot
117
    - Added `side_histogram_displayed` property to custom image plots
Valentin Valls's avatar
Valentin Valls committed
118
    - Live image plot
Valentin Valls's avatar
Valentin Valls committed
119
        - Added filter methods to handle image down scaling (min, max, mean)
Valentin Valls's avatar
Valentin Valls committed
120
        - Added user mask to filter the data, which also can be displayed
Valentin Valls's avatar
Valentin Valls committed
121
122
        - Added embedded side histogram
    - Added documentation to write your own Flint plot in beamline space
Valentin Valls's avatar
Valentin Valls committed
123
    - Added curve normalization to translate the Y range between 0 and 1
Valentin Valls's avatar
Valentin Valls committed
124
    - Added a widget to compare scans in the curve plot
Valentin Valls's avatar
Valentin Valls committed
125
- scan_info:
Valentin Valls's avatar
Valentin Valls committed
126
    - Added plot description for curve plots
Valentin Valls's avatar
Valentin Valls committed
127
128
- BLISS standard commands
    - Added `elog_plot` to export the actual curve/lima image into the logbook
Valentin Valls's avatar
Valentin Valls committed
129
130
131
132
- Lima controller
    - Added `start_live` and `stop_live` to start/stop the video live of a
      detector and monitor it in Flint
    - Added `edit_rois` an alias to `edit_roi_counters`
Valentin Valls's avatar
Valentin Valls committed
133

Matias Guijarro's avatar
Matias Guijarro committed
134
135
### Changed

Valentin Valls's avatar
Valentin Valls committed
136
- Flint
Valentin Valls's avatar
Valentin Valls committed
137
    - Update to silx 1.0.0b1
Valentin Valls's avatar
Valentin Valls committed
138
    - Custom plot API
Valentin Valls's avatar
Valentin Valls committed
139
        - Rewritten custom plot user documentation including examples
Valentin Valls's avatar
Valentin Valls committed
140
        - `plot_image` now uses `ImageView` (which includes histogram)
Valentin Valls's avatar
Valentin Valls committed
141
        - `plot_image_with_histogram` is deprecated (use `plot_image`)
Valentin Valls's avatar
Valentin Valls committed
142
143
        - `plot_scatter` signature was changed (`x`, `y`, `value` have to be
           individually defined)
Valentin Valls's avatar
Valentin Valls committed
144
        - `select_data`/`deselect_data`/`add_data` are deprecated
Valentin Valls's avatar
Valentin Valls committed
145
146
147
    - Changed icons used to reset and clear displayed curves and scatters
    - Plot axis are not anymore inferred from masters of the acquisition chain
        - This have to be defined manually in custom plots using the `ScanInfo` API
Valentin Valls's avatar
Valentin Valls committed
148
- The regulation plot now uses `time-curve-plot`
Matias Guijarro's avatar
Matias Guijarro committed
149
- Wago interlocks: raise error in case of YAML parsing error
Valentin Valls's avatar
Valentin Valls committed
150

Matias Guijarro's avatar
Matias Guijarro committed
151
152
### Fixed

Valentin Valls's avatar
Valentin Valls committed
153
154
- Flint
    - Fixed many inconsistencies in the custom plot API
Valentin Valls's avatar
Valentin Valls committed
155
156
    - Fixed default curve counter when `plotselect` is empty
    - Fixed property widget not displayed for the very first scan
Matias Guijarro's avatar
Matias Guijarro committed
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
- calc counters: set shape of output nodes at first emit
- session: ERROR_REPORT and DEFAULT_CHAIN available in setup

### Removed

- "-D" command line option of BLISS shell, to delete a session
- Actuator state checking when no 'state_in'/'state_out' is configured

## [1.8.2 - 2021-10-12]

### Added

- Monochromator framework
- Lecroy oscilloscope: improved data and time management
- City controller: new method to enable/disable
- Flint: backport from 1.9, new "add_curve_plot"
- Zaber motion controller

### Changed

- shutter: allow external control mode without external object

### Fixed

- tcp: distinguish no timeout (timeout=None) and 'default timeout'
- serial
    - flush on exception
    - typo on `parse_nego` call
- measurement group enable/disable when counter name is the same as an alias
- NF8753 motor controller serial line mode
- Lima
    - IMAGE synchronization mode for xpad and lambda detectors
- opiomoutput: fixed logging calls
- oxford 800 controller: add 'status packet' like oxford 700
- Newport XPS: fixed blocking `GroupMoveAbsolute`, second connection to get position updates
- Tango DB: fixed `get_device_properties`
- Tango shutter: wait for closed state on 'reset', fixed timeout of `_wait` method
- Tango machine info: use of a single counter controller
- Symetrie hexapod: do not specify timeout in read loop
- MUSST: mitigate controller bug to filter out bad readings
- metadata for NHQ variant with single channel (SHQ)
- cyclic trajectory: properly handle offset on axis
- scan saving
    - add 'proposal_dirname' when making template for scan file, to handle corner cases with CRG beamlines
    - fix INTERNAL_TRIGGER acquisitions not properly linked in HDF5 file written by Writer
- Flint: fix error during termination of Lima monitoring
- P201: fix for 'read_all_triggers' mode
- autofilters: fix MCA data publishing, allow MCA to be used as main detector
- session: make ERROR_REPORT available in setup
Valentin Valls's avatar
Valentin Valls committed
206

Matias Guijarro's avatar
Matias Guijarro committed
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
## [1.8.1 - 2021-08-30]

### Added

- Flint custom plots
    - Added `set_data`,`add_curve`,`add_image` to the expected plot
      (forward compatibility with BLISS 1.9)
- Arc roi validation
- BLISS controller base class
- Micos controller encoder now have steps_per_unit
- print exception at encoder init failure
- PEPU info
- new scan property to Sequence objects
- Tango attributes as counters: added 'allow_failure' flag in config
- autofilters
    - fix filter back
    - enhancement for wago filterset configuration with 2 status input channels
    - add subset command for wago filterset to use only few filters 
    - properly add references to HDF5 files (MANUAL saving)
- MCCE Tango server

### Changed

- better error message for HDF5 locking errors

### Fixed

- Fixed regulation plot in case Flint is closed before the loop
- Newport XPS
    - 2s delay after move
    - simultaneous move (start_all, stop_all)
    - number of axes from config
- PI 517 and 518
    - initialization bug
    - do not consider "stop" as an error 
- PM600: reset() now also clears trajectory program cache
- NHQ controller "ct" bug fix
- EPICEA controller range setting
- ESRF undulator "undu_prefix" bug fix
- prevent Speedgoat DLL loading on Linux
- Transfocator pinhole bug
- ICAT metadata objects autocompletion
- Redis subscriber "new scan" events on existing parents
- elog_add properly logs command output again
- regulation plot: exception when Flint is closed before the regulation loop is fixed
- scan data acquisition: stop reading before stopping devices
- fix first access on Oxford 800
- matt: fix Wago mapping bug
- 'umv' dial position not printed when same position
- protect axis 'sign' property against invalid values
- shell (ptpython)
    - prevent bytes output -from external libraries like 'click' for example- to raise exception
    - ignore weird autocompletion import exception (occuring with jedi 0.17.2)
    - custom scan display output
- GPIB server bytes/string conversion
- Lima
    - support of old image dimension attributes of legacy Lima servers
    - acquisition: fix when both prepare_once and start_once are True
- Axis events sent more than once 

Matias Guijarro's avatar
Matias Guijarro committed
267
268
### Removed

Valentin Valls's avatar
Valentin Valls committed
269
270
271
272
- Flint
    - Custom plot API
        - Removed method `add_single_data`

Matias Guijarro's avatar
Matias Guijarro committed
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
## [1.8.0 - 2021-05-28]

### Added

- new 'goto_min()' standard shell function
- diffractometer support
    - calculations using libhkl from F.Picca (SOLEIL)
    - new HKLTrajectoryMaster for scans
    - 47 new spec-like commands: br, ubr, ca, ci, pa, setmode, ..., hklscan, etc.
- Axis
    - user message when changing velocity or acceleration
    - encoder steps per unit in info string
- Frontend shutter displays message on mode setting error
- ESRF CITY synchronization device support
- OPIOM output signals generator
- MOCO controller
    - add set_default_config method which set parameters from yml file
    - new oprange method
    - check inbeam/outbeam methods
    - take source=SOFT into account for 'inbeam' method
- allow 'undulator_prefix' in addition to 'undu_prefix' in Undulator yml configuration
- Writer
    - prevents HDF5 file corruption in case of full disk
        - print warning every 3 seconds if free disk space is below 1 GB
        - FAULT state (will stop scan) if free space is below 200 MB
    - add chunking and compression
- Display positions of real axes of calc motors during 'umv'
- MCS LA2000 Linear Servo Amplifier
- TwoMotorMaster: acquisition master for 2 independent motors
- additional check for good type of master and device in custom default chain
- ScanWagoHook: init, post_move, pre_move only called at first motion and last motion of a scan
- esrf hexapode reports metadata
- CT2
    - Integrator functionality
    - server: multi-board support for spec
- Lima
    - NOSAVING mode handling
    - ROI counters validity checks
    - automatic adaptation of ROI after camera geometry changes
- RPC
    - improve error message on connection failure
- Shell
    - new hardware initialization display during BLISS session initialization
    - new 'tw' standard shell command
        - display a graphical interface to move selected motors and count
    - log message at BLISS startup
    - session creation script displays Beacon server
Valentin Valls's avatar
Valentin Valls committed
320
- Flint
Valentin Valls's avatar
Valentin Valls committed
321
    - Added a tool to reset a curve plot to the used plotselect
Valentin Valls's avatar
Valentin Valls committed
322
323
324
325
326
327
    - Added dedicated widget for acqobj exposing 1D data
        - Only 1D data from this acqobj is displayed
        - Supports metadata from controllers or acqobj to custom the X-axis
            - `xaxis_channel`, `xaxis_array`
    - Added data display as index for curve plots and onedim plots
    - Group MCA channels per detectors in the curve plot property tree
Valentin Valls's avatar
Valentin Valls committed
328
329
    - Added histogram tool when displaying image in custom plots
    - Added a content menu option to center profile ROIs in image/scatter
Valentin Valls's avatar
Valentin Valls committed
330
    - Added curve stack as custom plot
Valentin Valls's avatar
Valentin Valls committed
331
    - Added an overlay with size of Lima rect ROIs
Valentin Valls's avatar
Valentin Valls committed
332
    - Added tools to duplicate/rename ROIs during ROI edition
Valentin Valls's avatar
Valentin Valls committed
333
334
335
336
337
338
339
340
341
342
    - Better handling of timeout, and try not to have 30s
    - Better handling of stucked state
        - Added `restart_flint` command from `bliss.common.plot`
        - Added `restart_if_stucked` argument to `get_flint()` (False by default)
        - Added `restart_flint_if_stucked` attribute to `SCAN_DISPLAY`, used when
          `auto=True`
    - Monitoring problems
        - Added `USR1` and `USR2` signals to interrupt and log internal information
        - Added `--enable-watchdog` command line argument to log and kill Flint if
          too much memory is used
Valentin Valls's avatar
Valentin Valls committed
343
    - `scan_info["requests"]` is not anymore read (replaced by `channels`)
Valentin Valls's avatar
Valentin Valls committed
344
    - Update to silx 0.15.1
Valentin Valls's avatar
Valentin Valls committed
345
346
- Demo
    - Added regulation mock to the demo session
Valentin Valls's avatar
Valentin Valls committed
347
348
349
350
351
352
- Scan publication
    - Added device/channel metadata to the `scan_info`
    - Added a `PREPARED` event with an updated scan_info
    - `AcqObj.fill_meta_at_scan_start` is used to fill to `scan_info`
    - Added metadata `type` for Lima detector and MCAs
    - Added `ScansWatcher` and `ScansObserver` to replace `watch_session_scans`
Valentin Valls's avatar
Valentin Valls committed
353

Matias Guijarro's avatar
Matias Guijarro committed
354
355
### Changed

Matias Guijarro's avatar
Matias Guijarro committed
356
357
358
359
360
361
362
363
364
365
366
367
368
- Shell
    - based on ptpython 3
        - integration with asyncio with aiogevent
    - starts in monochrome mode
- relative scans (dscans) translated to absolute scans in data saving
- ICEPAP motor controller: better error message if connection cannot be established
    - raises CommunicationError exception
- Lima
    - '.use_background_substraction' is replaced by 'use_background' True/False, and 'background_source'image/file
- progress bar refactoring
    - new progress bar based on tqdm, avoid memory leak
    - progress bar is no more intertwined with scan chain
- ct output: refactoring of formatting code
Valentin Valls's avatar
Valentin Valls committed
369
370
371
- Flint
    - When Flint is not fast enough to reach data from Redis, NaN values
      are used in order to keep the data alignment
Valentin Valls's avatar
Valentin Valls committed
372
373
    - Improve initial curve plot selection to care about plotselect or user selection
      The earlier one have the priority
Cyril Guilloud's avatar
Cyril Guilloud committed
374
375
376
377
378
- XIA mca
    - Logger improved (can log at handel lib and BLISS levels)
    - Run server according to config retrieved from beacon
    - Client re-connection on server restart
    - Improved management of current_configuration / default_configuration
Valentin Valls's avatar
Valentin Valls committed
379
- Project: Remove `-conda` suffix from requirement files
380
381
382
383
- PI E712 E753
    - uniformization of communication and recorder.
    - "wave" motion generator.

Matias Guijarro's avatar
Matias Guijarro committed
384
385
### Fixed

Matias Guijarro's avatar
Matias Guijarro committed
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
- Motion hook: post_scan is now executed after motor moved back to original position in case of 'dscan'
- MCA
    - better identification of communication errors
    - when server is restarted, reconfigures device automatically
    - block size adjusts automatically for Mercury and FalconX
- RPC
    - avoid collision between server and service methods
    - disconnect callback
    - reporting of BaseException raised in server to client
    - reporting of Timeout exception
- Settings
    - Struct: avoid too many calls to redis by using `__getattr__` instead of `__getattribute__`
    - use redis to determine last access time
- CalcMotorController: avoid recursive calls in '_real_position_update'
- Display of Alias column in lscnt()
- Measurement Group
    - fix counters returned in random order
Valentin Valls's avatar
Valentin Valls committed
403
- Flint
Valentin Valls's avatar
Valentin Valls committed
404
    - Fix initial curve plot selection in order to properly reuse user selection
Valentin Valls's avatar
Valentin Valls committed
405
    - Fixed slow rendering occurred on live curves and scatters with fast scans
Valentin Valls's avatar
Valentin Valls committed
406
    - The video image is now also used for Lima EXTRERNAL_TRIGGER and EXTERNAL_GATE
Valentin Valls's avatar
Valentin Valls committed
407
    - Fixed blinking of the regulation plot legend
Valentin Valls's avatar
Valentin Valls committed
408
    - Fixed hidden ROIs during a scan. A tool is provided to display them
Valentin Valls's avatar
Valentin Valls committed
409
      if not already selected.
Valentin Valls's avatar
Valentin Valls committed
410
411
    - Fixed update of the property view after an update of the backend
    - Fixed colormap LUT of the scatter plot when it is set with the style dialog
Valentin Valls's avatar
Valentin Valls committed
412

Matias Guijarro's avatar
Matias Guijarro committed
413
414
### Removed

Matias Guijarro's avatar
Matias Guijarro committed
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
- import of SpecClient_gevent in spec communication module
    - as a consequence, "spec array" type is not supported
- .statistics for scans
    - was source of a memory leak
    - for now: replaced by debugging with yappi
    - equivalent, graphical version based on work by Linus before he left will be proposed

## [1.7.4 - 2021-05-27]

### Added

- saving of Lima ROI collection
- regulation
    - new Pace controller
    - Eurotherm 2000 (old temperature framework Eurotherm is kept for compatibility)
- new Smaract MCS2 motor controller
- new "oscilloscope" module, new Lecroy oscilloscope 

### Changed

- Bump silx version to 0.14.1

### Fixed

- Newport XPS: autoHome is now properly set to False by default, config checks for boolean value
- fix logging of unicode characters in Electronic Logbook
- CalcCounterController now works with aliases
- fixed bad sleep time in integrating counter reading loop
- removed 3-second hardcoded timeout waiting for STARTING state in scan group
- saving: ensure dataset is sent to ICAT even when missing Redis nodes (incomplete metadata)
- reset md5 cache on MUSST after RESET command is called
- scanning: ensure reading tasks are killed when acquisition stop fails
- Pilatus hardware ROIs
- Aerotech motor controller bug in "._cmd" method
- P201 (client side): clear buffer at the end of reading, in case acq. obj is reused
- Elmo controller, added retries and communication improvement
- Calc motor controller and dial_position with disabled caching
- Flint
    - Default workspace per BLISS session
    - Fixed slow rendering occurred on live curves and scatters with fast scans
    - The video image is now also used for Lima EXTRERNAL_TRIGGER and EXTERNAL_GATE
    - Fixed memory leak on OpenGL when a widget is not visible
    - Fixed blinking of the regulation plot legend

### Removed

Matias Guijarro's avatar
Matias Guijarro committed
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
## [1.7.3 - 2021-03-22]

### Added

- BCDU8 controller
- HMC8041 power supply
- more complete Aerotech Soloist support
- Lima
    - addons for Eiger camera
    - more explicit "no saving" enum
    - Andor3 camera
    - add access to BufferSize/MaskFile on RoiCounters
    - new roi counters collection support
- Wago modules catalogue: 750-342,352,363,515
- Writer
    - explicit exception if parent node is missing
Valentin Valls's avatar
Valentin Valls committed
477
    - OFF and RUNNING states, now means respectively "not listening to events and resources released" and "writer alive"
Matias Guijarro's avatar
Matias Guijarro committed
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501

### Changed

### Fixed

- calculation counters with 1D or 2D inputs or outputs
- motor controller hardware initialization call, in case motor controller had no name
- filter set transmission calculation
- auto filters
- CT2
    - memory leak and excessive memory reallocations
- MCA
    - refresh rate bug for Xia Falcon X
    - memory leak with cumulated MCA data in MCA counters
- PM600: steps_position_precision fix (defaults to 1)
- PI E712: position offset
- PI E727: connection refused happening sometimes
- Symetrie hexapod: wrong units
- xyonrotation controller
- Regulation
    - avoid hardware call in "_store_history_data"
    - last output value when in deadband
    - Oxford 700 and 800 communication issues
- Pace controller communication
Valentin Valls's avatar
Valentin Valls committed
502
- Flint
Matias Guijarro's avatar
Matias Guijarro committed
503
504
    - memory leak with regulation plots
    - ignore timeout in regulation plots
Valentin Valls's avatar
Valentin Valls committed
505
    - Fix storage of line profiles in the image/scatter plot
Matias Guijarro's avatar
Matias Guijarro committed
506
507
508
509
510
511
512
513
514
515
516
    - matplotlib patching to avoid memory leak
- data publishing: too many KEYS calls
- limatake __info__

 
### Removed

## [1.7.2 - 2021-01-26]

### Added

Valentin Valls's avatar
Valentin Valls committed
517
518
519
- Flint
    - Added a tool to display many scans in the curve widget

Matias Guijarro's avatar
Matias Guijarro committed
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
### Changed

### Fixed

- scan metadata: add missing 'technique' field
- rpc: return None for object type if connection is not established
- aliases: report errors via debug log message
- Lima
    - never fail when retrieving counters, if Lima server is off
    - Eiger detector: use TRIGGER synchronization mode
    - BPM: ensure BPM task is stopped, if no BPM calculation is asked
- ct2
    - fix inheritance bug introduced in 1.7.0 by using delegation
    - release CPU pressure by buffering acq. data
- musst
    - cache "event buffer size"
    - release CPU pressure in reading loop
    - filter bad EPTR values, sometimes received from the device
- default max publishing time set to 0.2 seconds
- fix 'fcntl' import (Windows)
- "ct" display: handle numbers with a lot of digits and sign
- spec motor controler: removed bad SpecClient import
- icepap: warning message in case of close loop Settling Timeout error
- calc. motors: fix when motors are already on target
- mca: fix for block_size set to None
- oxford cryo: fix missing lazy initialization call
- timescan, loopscan: fix 'sleep_time' argument
- moco: disable ECHO mode
- icat: fix newsample, newdataset
- measurement group: when device is enabled, use all counters if there is no default counters
- axis: initialize set_position with controller position, even if read mode is "encoder"
- Flint: workspace saving/loading fix
Valentin Valls's avatar
Valentin Valls committed
552

Matias Guijarro's avatar
Matias Guijarro committed
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
### Removed

## [1.7.0 - 2021-01-04]

### Added

- Axis
    - new `velocity_low_limit` and `velocity_high_limit` settings
    - disable (= no communication at all) if controller cannot initialize, or if axis cannot initialize
        - call `enable()` to try again when problem is solved
- Controllers
    - Tektronix oscilloscope support
    - Vacuum gauge
- Documentation    
    - added info on "tcp proxy" (for PI piezos in multiple sessions, for example)
    - PEPU documentation
- Controllers
    - attocube AMC 100
    - icepap: multiple encoders reading optimization
- Core
    - frequency option to sampling counters, and reasonable defaults (1 Hz, or more depending on the controller)
- Flint
Valentin Valls's avatar
Valentin Valls committed
575
576
    - Display ROI geometries with the detector image widget during a scan
    - Allow to switch OpenGL/matplotlib from "Display" menu
Valentin Valls's avatar
Valentin Valls committed
577
578
579
580
581
582
583
584
585
586
587
588
        - This setting is saved in a config file in the computer per user
        - Added `--disable-opengl`
    - Autoscale +/-3stddev on colormap is now clamped with the input data range
    - Arc ROI is provided with 2 interactive modes: 3 points (default) or polar mode
    - Refresh rate are displayed in both period and frequency
    - Display scatter and image size in the plot title
    - Workspace
        - Rework the way workspace are managed
        - Rework the workspace menu and provide an explicit "save" action
        - Better handling of the workspace state
        - Image profile selection is saved/restored (experimental)
        - Workspace are now anymore session dependent
Valentin Valls's avatar
Valentin Valls committed
589
- Scan description (`scan_info`)
Valentin Valls's avatar
Valentin Valls committed
590
591
592
593
    - `bliss.scanning.scan_info.ScanInfo` was created in order to replace
      scan_info dictionary and ScanInfoFactory
    - A `set_sequence_info` helper was added to define the amount of excepted
      scans from a sequence
Valentin Valls's avatar
Valentin Valls committed
594
595
    - Creates a `channels` structure for metadata like `display_name` and `unit`
    - Provides ROI geometry
Matias Guijarro's avatar
Matias Guijarro committed
596
597
598
599
600
601
602
- Standard functions
    - timestamp for `last_error()`
- Motion hooks
    - new `pre_scan`, `post_scan` methods
- Nexus Writer
    - profiling using yappi
- Wago hook: added `__info__`
Valentin Valls's avatar
Valentin Valls committed
603

604
605
### Changed

Matias Guijarro's avatar
Matias Guijarro committed
606
607
608
609
610
611
612
613
614
615
616
617
618
619
- aliases can now be created in YML config files, directly from object if it has only 1 counter
- Controllers
    - actuators: handle devices with no state reading (in/out)
    - CT2: configuration is loaded on the server side
    - new KB controller (focusing procedure)
    - NewFocus controller refurb.
    - multiple positions controller: show positions while moving
    - Wago: show host in connection error message
- Scanning
    - automatically add encoders, if any, for axes in for standard scans
- Documentation
    - regulation and temperature frameworks clearly separated
    - MCA documentation update
- Flint
Valentin Valls's avatar
Valentin Valls committed
620
621
622
    - Skip warning about missing elogbook when BLISS is used as library
    - Workspaces are not anymore automatically saved between Flint executions,
      and explicit "save" action is provided in the "workspace" menu
Matias Guijarro's avatar
Matias Guijarro committed
623
624
625
626
627
628
629
630
631
- Nexus Writer
    - better error message when file is locked
    - pin-point h5py library to version 2.10
- Standard functions
    - better output for `ct()`
    - disable soft axes from positioners and axes displayed with `wa()` by default
- Temperature => Regulation
    - nanodac fully integrated in regulation framework
    - oxford controllers
Valentin Valls's avatar
Valentin Valls committed
632

633
634
### Fixed

Matias Guijarro's avatar
Matias Guijarro committed
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
- Beacon web portal
    - buttons to work outside ESRF
- Beacon channels
    - initialization optimisation (via pipeline)
- Controllers
    - Beam shutter `close` error if hutch is not searched
    - CT2
        - too many RPC calls for `__info__`
        - allow channel 10 to be used as a counter
        - blocking acquisition loop
    - icepap shutter: initialization blocks forever
    - lakeshore: "EOL" fix
    - Machine Current: makes Tango proxies too often, SR_mode can return -1
    - MUSST: wrong channel for icepap switch
    - PI-E517 error when closing loop
    - PM600: serial communication fix
    - Wago: interlock fixes, allow FS for analog output channels
    - xia: decouple sending current pixel data and acquisition polling
- Core
    - remove invalid use of runtime interface discovery (protocol), that is doing hw access when traversing devices map
- Data publishing
    - synchronization issue with streams
    - change `idle` to `sleep(0)`: ensure data to be published when CPU usage is high
    - scan groups and caching race condition
    - optimisation of devices preparation in scans
    - CPU intensive publishing
- elogbook
    - do not show error message when there is no metadata server
- Flint
Valentin Valls's avatar
Valentin Valls committed
664
665
    - Data from Lima detectors and MCAs are not anymore hidden on a `amesh` scan
    - Data from MCAs are again displayed inside an MCA widget
Valentin Valls's avatar
Valentin Valls committed
666
667
    - Data from Lima detectors and MCAs from a sub scan of a sequence are not
      anymore hidden
Matias Guijarro's avatar
Matias Guijarro committed
668
    - Fixed vmax on `set_plot_colormap` remote API
Valentin Valls's avatar
Valentin Valls committed
669
    - Fixed initial ROIs provided as a dict
Matias Guijarro's avatar
Matias Guijarro committed
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
- ICAT
    - allow single motors in "positioners" group
    - fix race condition with metadata gathering and parallel scans
    - attenuator metadata compliant with ICAT
- Lima
    - dexela: use "image" synchro
    - frelon: update size
- Nexus Writer
    - fix wrong timestamp (+1 hour)
    - scan info can contain npoints and data_dim while missing npoints{i}
    - inconsistency in ROI naming
    - fix Tango timeouts
    - "DIS" positions reported in positioners
- Regulation framework
    - start ramping from current input value
    - less hardware calls when ramping
- RPC
    - extend read buffer to 128 KB
    - service: load the package in case of local beamline controllers
    - unneeded calls to `__eq__`, `__hash__`, `__neq__`
- Shell
    - progress bar synchronization problem
    - step scan data watch optimization
- Standard functions
    - `goto_cen()` fix for "step"-like data (#2230)
    - `umv`: fixed error message when move fails
Valentin Valls's avatar
Valentin Valls committed
696

697
698
### Removed

Matias Guijarro's avatar
Matias Guijarro committed
699
700
701
- ID31 specific controller (fuelcell)
- MX-specific Flex controller

702
703
704
705
706
707
708
709
710
711
712
713
## [1.6.0 - 2020-10-25]

### Added

- ICAT metadata can now be saved to ICAT
- Controllers
    - shutter can be now used in cleanup context managers (will close the shutter on cleanup)
    - Micos motor controller: add steps_position_precision
    - Symetrie hexapod: added `origin` and `user_origin` options in YML config
    - Keithley temperature sensor
    - wago: added modules 750-464 & 750-473
    - Elmo: added support for linear motors
714
    - Stackmotors: pair of motors mounted on top of each other
Valentin Valls's avatar
Valentin Valls committed
715
- Flint
Valentin Valls's avatar
Valentin Valls committed
716
    - A splash screen to wait for start up
Valentin Valls's avatar
Valentin Valls committed
717
    - A scan sequence can now display plots
Valentin Valls's avatar
Valentin Valls committed
718
719
    - Extra items (fit, derivative) from default curve plot will be inherited
      into the next scan
Valentin Valls's avatar
Valentin Valls committed
720
721
722
723
    - Irregular scatters can be displayed with a solid rendering using 2D
      histogram
    - n-dim scatters can be displayed in 2D if extra dimensions are steppers
      (if behave like many frames, only the last one is displayed)
Valentin Valls's avatar
Valentin Valls committed
724
    - Dedicated widget to display data from profile ROIs
Valentin Valls's avatar
Valentin Valls committed
725
    - Added negative function filter on curves
Valentin Valls's avatar
Valentin Valls committed
726
727
728
    - The colormap is now part of the live image/scatter widget configuration
      and reused for each new scans
    - The colormaps from live plots are now editable in a common dockable widget
Valentin Valls's avatar
Valentin Valls committed
729
    - Logs are saved using beacon service (`/var/log/bliss/flint_{session}.log`)
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
    - Remote Flint API
        - Added `get_plot` and `get_live_plot` from `flint()` proxy to create and
          retrieve plots
        - Provides a `set_colormap` method to custom live image/scatter plots
        - Provide `focus` method to set the focus to a plot
        - Provide a method to export a plot to the logbook
        - Provide `update_user_data` method to feed live plot with processed data
          from BLISS shell
- Lima
    - Provide codecs for few RGB format from Lima video image
        - To use it, an optional dependency 'opencv' have to installed in the env
    - Arc rois (for sinograms)
    - Update `edit_roi_counters` to also edit ROIs from Lima roi2spectrum (roi profile)
      and arc ROIs
    - new Eiger camera class
- Nexus Writer
    - NXData with default plot following plotinit, plotselect in HDF5 file
    - MCA counters in NXDetector
- Redis
    - added option to start 2 databases, one for settings one for data
    - client-side caching to optimize settings
- RPC
    - Easily expose bliss object through server service
- Scans
    - custom scan math functions
        - `find_position` and `goto_custom` take an user-supplied callback
    - Custom scan description (`scan_info`)
        - Added fields to explicitly describe scatter plots
        - Added fields to group channels of the same size
        - Added fields to describes complex scatters
        - Added `axis-id` to order the scatter axis
    - chain: add `before_stop` hook just before stopping devices
    - display filename, scan number and date at the beginning of a scan
    - CT2: new acquisition master for Variable Integration time in step scans for p201 and calc counters linked to p201
    - improved scan statistics
        - added metadata to timing measure
        - include `wait_reading` timing
    - ESRF data policy event channel
    - AutoFilter providing a step-by-step ascan which can repeat counting to fit with the countrate range by changing the filter provided by the FilterSet controller behind
- Standard functions
    - added `pprint`
    - added `rockit`
    - umvd, umvdr, mvd, mvdr: functions for moving in dial position
Valentin Valls's avatar
Valentin Valls committed
773
774

### Changed
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792

- references in configuration YML files are now evaluated on demand, not only once
- lprint, ladd renamed to user_print or elog_print and elog_add
- expression-based calc counters can now have their constants as configuration references
- Axis
    - Indicate position when hard limit is reached
- BLISS commands
    - `edit_roi_counters` now set the focus on the detector widget
- Controllers
    - machinfo "wait for refill" is no longer shared between multiple sessions
    - nanodac moved to Regulation framework
    - icepap: take stop code into account (put controller in FAULT state)
    - symetrie hexapod: added timeout argument in connecto
    - MCCE refactoring
        - serial object configuration to use official get_comm
        - Manage retry in case of timeout
        - Add range as string
    - move moco motor code in `bliss.controllers.motors.moco` instead of `bliss.controllers.moco`
Valentin Valls's avatar
Valentin Valls committed
793
794
795
- Flint
    - On a new scan, the focus is set to a widget, only if the scan is not
      visible on one of them
Valentin Valls's avatar
Valentin Valls committed
796
797
    - On live curve plot property, clicking on radio button when it is already
      checked will remove the curve
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
    - Custom scan description (`scan_info`)
        - `fast`/`slow` axis kind was replaced by `axis-id`
        - Axis kind only contains `forth/backnforth/step`
- Lima
    - accumulation parameters for Lima devices are now controller parameters, and handled via a Beacon object (saved in redis)
    - image and roi dialogs
- Redis
    - turned on I/O threads for data
    - data is not persisted to disk anymore (when the second redis DB is used)
- Scans
    - scan_saving: remove tango manager status from the display table
    - SCAN_SAVING.dataset moved to SCAN_SAVING.dataset_name, SCAN_SAVING.dataset now represents
      an object handling icat metadata of the dataset
    - SCAN_SAVING.sample moved to SCAN_SAVING.sample_name
    - SCAN_SAVING.proposal moved to SCAN_SAVING.proposal_name
- Tango MetadataManager device
  - latest version of MetadataManager(4.0.7) required.
  - by default datasets are no longer in `running` state on MetadataManager. Instead they are
    pushed including their metadata once the dataset is closed.
817
818
819
820
821
- tmux
    - independent tmux servers & sockets are used for diffrent sessions this way
      the tmux process of one session can be killed without affecting the otheres
    - the default session will no longer use tmux as it is meant for dev. and
      debug usage. It is not expected to have seral useres in these sessions
822
823
- Tests
    - improved dangling greenlets monitoring
Valentin Valls's avatar
Valentin Valls committed
824

Valentin Valls's avatar
Valentin Valls committed
825
### Fixed
826

Valentin Valls's avatar
Valentin Valls committed
827
- Fixed first motor position for `amesh` with backnforth enabled
828
829
- Fixed memory leak on Tango DeviceProxy
    - Used by Redis stream client retrieving image from node (like Flint)
Matias Guijarro's avatar
Matias Guijarro committed
830
- `user_script_load` now really reloads the script file
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
- aliases: avoid object comparisons with == as it calls __eq__
    - potentially on remote objects
- modbus communication fix
- too many opened file descriptors because of channels initialization
- Axis
    - ensure no communication with hardware if movement does not happen (for example, if movement is too small)
    - NoSettingsAxis in calc. controller
    - NoSettingsAxis missing settings
    - prevent recursion when settings are set
- Beacon configuration application
    - documentation search bar not working in Firefox
- Controllers
    - wago interlocks: fixed a bug on names longer than 32 chars
    - Moco move state
    - machinfo
        - counters now show in measurement group
        - metadata saving when session is restarted
    - speedgoat: prevent movement when already in position
    - nhq communication parsing
    - white beam attenuator dialog
    - oxford800 info and doc
    - Mythen detector support
    - Eurotherm 2000 also works with 32XX models
    - Linkam
    - P201/CT2: fix `acq_count_time` not defined when in ExtGate
    - icepap trajectory: do not require velocity and acceleration in config
    - MUSST counters
    - ESRF Undulators
Valentin Valls's avatar
Valentin Valls committed
859
- Flint
Valentin Valls's avatar
Valentin Valls committed
860
    - Fixed memory leak on tree property and data
Valentin Valls's avatar
Valentin Valls committed
861
    - Fixed plot display in order to always use `plotselect` selection
Valentin Valls's avatar
Valentin Valls committed
862
863
864
    - Fixed `plotselect` was requesting Flint creating with some conditions
    - Fixed inconsistency with Flint layout at startup. Now the exact same
      layout is supposed retrieved
Valentin Valls's avatar
Valentin Valls committed
865
866
867
868
    - Fixed Flint segmentation fault on GLX initialization
    - Fixed default selected x-axis on ascan scans
    - Fixed black background on OpenGL rendering
    - Fixed display of statistics on curves using integer array
Valentin Valls's avatar
Valentin Valls committed
869
    - Fixed displayed mask after the user mask selection
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
- Lima
    - Frelon "frame transfer" mode
    - Perkin Elmer "synchro" mode to IMAGE + EXTERNAL_START_STOP trigger mode
    - operations on image (flipping, binning, rotation) vs ROIs
- Nexus Writer
    - slitset positions inverted for offset and gap
    - nexus file: link names not nexus compliant
- Regulation framework
    - calling "stop" on loop only stops ramping, not regulation
    - better documentation
- Scans
    - Synchronization issues with data streams
    - cen, com and scan math functions greatly improved
    - measurement groups: Lima counters were all enabled when starting device server
    - Cannot dmesh two pseudo motors with number of scan points on each
    - Error in `goto_peak` with Calc Motor when the real motor is not in the session
    - better error message when a motor is used twice in the same multi-motors scan
- Shell
    - file descriptors not being cleaned up because of progress bar
    - user_scripts: command line completion works for function names, but not for arguments
    - blocking calls in gevent loop
- Tests
    - properly wait for Tango devices to be started
    - property wait for Tango DB to be started
- Tmux
    - one tmux server per session, one socket per tmux server

### Removed

- tmux context menu
- TCP_NODELAY option (Nagle algorithm for tinygrams) removed in Command object
- pixmaptools SIP extension
- posix_queue command line option for Beacon server startup script
Valentin Valls's avatar
Valentin Valls committed
903

904
905
## [1.5.0] - 2020-07-21

Valentin Valls's avatar
Valentin Valls committed
906
### Added
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
- event when Tango shutter state changes from BLISS 
- `reset_equipment` command in standard commands (bliss.common.standard)
- new `__info__` in motor group
- Mythen ROI counters
- hide methods starting with `_` in autocomplete in shell
- Taco client in bliss.comm
- new BackgroundCalcCounterController, to manage background for counters
- 'endproposal', 'enddataset' commands to manually stop an ICAT dataset
- 'reset()' command in Tango shutter
- new 'ladd' command to send output to logbook
- 'machinfo' object: new read-only properties to get storage ring current, and so on
- homing of Symetrie hexapod
- tmux option to change terminal window title
- protection of BLISS builtins in global dictionary
- Speedgoat motor controller
- generalized way to add dialogs for BLISS objects
- root path for data policy when using a LBS or BeGFS caching system
- dialogs for ascan, dscan, amesh, dmesh
- new features for axis jog move: change of velocity on-the-fly, jog_velocity property
- MUSST: timebase and memory info
Matias Guijarro's avatar
Matias Guijarro committed
927
- ISG shutter controller
928
929
930
931
- sync() error message now add name of the axis in case of problem
- Watchdog feature for scans
- Tolerance for pseudo-axes in NHQ power supply
- PM600: added flag to allow uploading of trajectory program only if needed
Valentin Valls's avatar
Valentin Valls committed
932
- Flint:
Valentin Valls's avatar
Valentin Valls committed
933
    - `flint()` command can be used to start Flint
Valentin Valls's avatar
Valentin Valls committed
934
935
    - Added API to start/stop monitorig on Lima
    - Added image plot GUI to custom live and exposure time while monitoring
Valentin Valls's avatar
Valentin Valls committed
936
937
938
    - Added export to logbook
    - Added extra markers to manually put in the plots
    - Added a window menu to change default docks visibility
Valentin Valls's avatar
Valentin Valls committed
939
940
    - Added tools to custom style and contrast of the scatters and images
      in the plot tool bar (and not only on the item property)
Valentin Valls's avatar
Valentin Valls committed
941
942
943
944
    - Update to silx 0.13
        - Provide cross profile for images and scatters
        - Provide extra profile tools for regular scatters to display data slice
          without interpolation
Valentin Valls's avatar
Valentin Valls committed
945
        - Provide histogram for scatters
Valentin Valls's avatar
Valentin Valls committed
946
947
948
        - Free line image profile for diffraction images
          (2 dedicated anchors for the start and a stop)
        - Added image colormap normalization: square-root, gamma, arcsinh
949
- sct: like ct but saves data by default
Valentin Valls's avatar
Valentin Valls committed
950

951
952
953
954
955
956
957
958
### Changed
- always display first master channel in F5 output
- user_script_load does not do backup anymore
- motor.position = X now displays a message for users with new position, offset
- CalcCounterController can use input/output counters specified in Python code
- remove counter group info from scan data table (F5)
- standardized OPIOM device communication configuration (YML)
- disable axis if autopower fails, without raising an error
Valentin Valls's avatar
Valentin Valls committed
959
960
961
- Flint:
    - Allow to select another curve when the fit dialog is open
    - Profile windows are now docks
Valentin Valls's avatar
Valentin Valls committed
962
    - Tune the scan status widget to resize the width smaller
963
964
  	- Provide tool to remove curves close to the y1/y2 indicators
	  - Rework the check of the flint API at startup to reduce pointless warnings
Valentin Valls's avatar
Valentin Valls committed
965
    - Group Lima ROI channels by ROI name in the property tree
966
- ct: 
967
    - ct as a default count time (1 second)
968
969
970
971
972
973
    - ct now works with count_time or counter as first argument.
      if count_time default value of 1s will be used.
    - ct does no longer allow to save data, use sct instead
    - ct does no longer collect metadata and positioners for scan_info
      this is to reduce the time cosumed by ct on top of the counting time
      in case positioners or metadata is needed, use `sct` instead.
Linus Pithan's avatar
Linus Pithan committed
974
    - ct (and sct) will no longer be added to SCANS queue of the session
975
- scan numbering: scans that are not saved use a shadow scan number and do not increase the scan numbers used in the hdf5 file.
976
977
- user_script:
    - `user_load_script` now exports to "user" namespace in session env dict by default.
Valentin Valls's avatar
Valentin Valls committed
978
979

### Fixed
980
981
982
983
984
985
- Axes
    - Geometry 8 of tab3 controller
    - axis group move exception and uninterruptible backlash issue
    - prevent communication with hardware if move is too small
    - motion hooks `_set_position` reset
    - sync_hard() no more raises an exception on disabled undulators
Matias Guijarro's avatar
Matias Guijarro committed
986
- Shell
987
988
989
990
    - incorrect SyntaxError in cells
    - function arguments completion in shell
    - doubling of entries in scan saving
- MUSST: fix for integrating counter read for any count time
Matias Guijarro's avatar
Matias Guijarro committed
991
- Lima
992
993
994
995
996
997
998
999
1000
    - pilatus: internal trigger multi needs synch on trigger
    - ROI with 0 size
    - zombie threads when Lima bpm is used
    - 'acc_max_expo_time' not taken into account in default chain
- Scans
    - error in com calculation
    - rounding problem on goto_cen()
    - empty scan groups raising errors due to their state preset
    - scan numbers mixup
For faster browsing, not all history is shown. View entire blame