Skip to content
This repository has been archived by the owner on Nov 3, 2021. It is now read-only.

Commit

Permalink
Merge pull request #1054 from sardana-org/release-Jan19
Browse files Browse the repository at this point in the history
Release Jan19 (2.7.0)
  • Loading branch information
daneos committed Mar 11, 2019
2 parents 3c2bb3e + e72550d commit 4424705
Show file tree
Hide file tree
Showing 179 changed files with 7,900 additions and 3,111 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Expand Up @@ -3,7 +3,7 @@ commit = True
message = Bump version {current_version} to {new_version}
tag = False
tag_name = {new_version}
current_version = 2.5.0
current_version = 2.7.0
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?
serialize =
{major}.{minor}.{patch}-{release}
Expand Down
123 changes: 122 additions & 1 deletion CHANGELOG.md
Expand Up @@ -5,6 +5,119 @@ This file follows the formats and conventions from [keepachangelog.com]

## [Unreleased]

## [2.7.0] 2019-03-11

### Added

* Possibility to directly acquire an experimental channel (without the need to define
a measurement group) (#185, #997)
* `IntegrationTime` (Tango) and `integration_time` (core) attributes to all experimental
channels
* `Timer` (Tango) and `timer` (core) attribute to all timerable experimental channels
* `default_timer` class attribute to all timerable controllers (plugins) to let them
announce the default timer axis
* `newfile` macro for setting `ScanDir`, `ScanFile` and `ScanID` env variables (#777)

### Fixed

* `expconf` warns only about the following environment variables changes: `ScanFile`,
`ScanDir`, `ActiveMntGrp`, `PreScanSnapshot` and `DataCompressionRank` (#1040)
* MeasurementGroup's Moveable attribute when set to "None" in Tango is used as None
in the core (#1001)

## [2.6.1] 2019-02-04

This is a special release for meeting the deadline of debian buster freeze (debian 10).

### Fixed
- String parameter editor in macroexecutor and sequencer (#1030, #1031)
- Documentation on differences between `Hookable.hooks` and `Hookable.appendHook`
(#962, #1013)

## [2.6.0] 2019-01-31

This is a special release for meeting the deadline of debian buster freeze (debian 10).

### Added
- New acquisition and synchronization concepts (SEP18, #773):
- Preparation of measurement group for a group of acquisitions is mandatory
(`Prepare` Tango command and `prepare` core method; `NbStarts` Tango
attribute and `nb_starts` core attribute; `count`, `count_raw` and
`count_continuous` methods in Taurus extension)
- Preparation of timerable controllers is optional (`PrepareOne` method)
- `SoftwareStart` and `HardwareStart` options in `AcqSynch` enumeration and
`Start` in `AcqSynchType` enumeration (the second one is available in
the `expconf` as synchronization option)
- `start` and `end` events in software synchronizer
- `PoolAcquisitionSoftwareStart` acquisition action
- `SoftwareStart` and `HardwareStart` synchronization in
`DummyCounterTimerController`
- Support to Qt5 for Sardana-Taurus widgets and Sardana-Taurus extensions (#1006,
#1009)
- Possibility to define macros with optional parameters. These must be the last
ones in the definition (#285, #876, #943, #941, #955)
- Possibility to pass values of repeat parameters with just one member without
the need to encapsulate them in square brackets (spock syntax) or list
(macro API) (#781, #983)
- Possibility to change data format (shape) of of pseudo counter values (#986)
- Check scan range agains motor limits wheneve possible (#46, #963)
- Workaround for API_DeviceTimedOut errors on MeasurementGroup Start. Call Stop
in case this error occured (#764).
- Optional measurement group parameter to `ct` and `uct` macros (#940, #473)
- Support to "PETRA3 P23 6C" and "PETRA3 P23 4C" diffractometers by means
of new controller classes and necessary adaptation to macros (#923, #921)
- Top LICENSE file that applies to the whole project (#938)
- Document remote connection to MacroServer Python process (RConsolePort Tango
property) (#984)
- sardana.taurus.qt.qtgui.macrolistener (moved from taurus.qt.qtgui.taurusgui)
- Documentation on differences between `Hookable.hooks` and `Hookable.appendHook`
(#962, #1013)

### Fixed
- Do not read 1D and 2D experimental channels during software acquisition loop
(#967)
- Make `expconf` react on events of environment, measurement groups and their
configurations. An event offers an option to reload the whole experiment
configuration or keep the local changes. `expconf` started with
`--auto-update` option will automatically reload the whole experiment
configuration (#806, #882, #988, #1028, #1033)
- Reload macro library overriding another library (#927, #946)
- Avoid final padding in timescan when it was stopped by user (#869, #935)
- Moveables limits check in continuous scans when moveables position attribute
has unit configured and Taurus 4 is used (quantities) (#989, #990)
- Hook places advertised by continuous scans so the `allowHooks` hint and the
code are coherent (#936)
- Macro/controller module description when module does not have a docstring
(#945)
- Make `wu` macro respect view options (#1000, #1002)
- Make cleanup (remove configuration) if spock profile creation was interrupted
or failed (#791, #793)
- Spock considers passing supernumerary parameters as errors (#438, #781)
- MacroServer starts without the Qt library installed (#781, #907, #908)
- Make `Description` an optional part of controller's properties definition (#976)
- Correcting bug in hkl macros introduced when extending macros for new
diffractometer types: angle order was switched

### Changed
- MacroButton stops macros instead of aborting them (#931, #943)
- Spock syntax and advanced spock syntax are considered as one in documentaion
(#781)
- Move pre-scan and post-scan hooks out of `scan_loop` method (#920, #922,
#933)
- Logstash handler from python-logstash to python-logstash-async (#895)
- Move `ParamParser` to `sardana.util.parser` (#781, #907, #908)
- SpockCommandWidget.returnPressed method renamed to onReturnPressed
- SpockCommandWidget.textChanged method renamed to onTextChanged

### Deprecated
- Measurement group start without prior preparation (SEP18, #773)
- Loadable controller's API: `LoadOne(axis, value, repeats)`
in favor of `LoadOne(axis, value, repeats, latency)` (SEP18, #773)
- Unused class `sardana.taurus.qt.qtgui.extra_macroexecutor.dooroutput.DoorAttrListener`

### Removed
- Support to Qt < 4.7.4 (#1006, #1009)

## [2.5.0] 2018-08-10

### Added
Expand Down Expand Up @@ -79,6 +192,11 @@ This file follows the formats and conventions from [keepachangelog.com]
- `Controller.getUsedAxis` (Taurus device extension) in favor
of `Controller.getUsedAxes` (#609)

### Removed
- Signal `modelChanged()` from ParamBase class to use the call to
method onModelChanged directly instead


## [2.4.0] 2018-03-14

### Added
Expand Down Expand Up @@ -471,7 +589,10 @@ Main improvements since sardana 1.5.0 (aka Jan15):


[keepachangelog.com]: http://keepachangelog.com
[Unreleased]: https://github.com/sardana-org/sardana/compare/2.5.0...HEAD
[Unreleased]: https://github.com/sardana-org/sardana/compare/2.7.0...HEAD
[2.7.0]: https://github.com/sardana-org/sardana/compare/2.6.1...2.7.0
[2.6.1]: https://github.com/sardana-org/sardana/compare/2.6.0...2.6.1
[2.6.0]: https://github.com/sardana-org/sardana/compare/2.5.0...2.6.0
[2.5.0]: https://github.com/sardana-org/sardana/compare/2.4.0...2.5.0
[2.4.0]: https://github.com/sardana-org/sardana/compare/2.3.2...2.4.0
[2.3.2]: https://github.com/sardana-org/sardana/compare/2.3.1...2.3.2
Expand Down
34 changes: 34 additions & 0 deletions LICENSE
@@ -0,0 +1,34 @@
Sardana is Free Software by the CELLS / ALBA Synchrotron, Bellaterra, Spain

SECTION 1: GENERAL LICENSE FOR SARDANA SOURCE CODE
=================================================

The files in Sardana, except for the cases described in SECTION 2
are distributed under the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
See <http://www.gnu.org/licenses/>

SECTION 2: EXCEPTIONS
=====================

Some files (e.g., those authored by 3rd parties or the documentation
sources) are distributed under Free Software / documentation licenses
that may differ from the the general one defined in SECTION 1.

The following is a list of these exceptions:

2.1: Explicit copyright info in header/metadata:
------------------------------------------------

If a file contains an explicit license or other copyright information in
its header or metadata which differs from the one defined in SECTION 1,
such license/copyright info mentioned in the header/metadata prevails.

2.2: Documentation:
-------------------

The .py scripts in the doc directory are treated as per SECTION 1,
and the rest of its files are distributed under a Creative Commons
Attribution 3.0 License
See <http://creativecommons.org/licenses/by/3.0/>
8 changes: 4 additions & 4 deletions doc/how_to_release.md
@@ -1,4 +1,4 @@
# How to release (draft)
# How to release

This is a guide for sardana release managers: it details the steps for making
an official release, including a checklist of stuff that should be manually
Expand Down Expand Up @@ -34,6 +34,7 @@ tested.
3. The version numbers used in the man pages of the Sardana scripts are
bumped (you may use `taurus/doc/makeman` script executing it from the
doc directory e.g. `sardana/doc`) and committing the changes.
There is a known [problem with the spock version number](https://github.com/sardana-org/sardana/issues/518).
4. In the code use version number instead of milestone in deprecation
warnings (if any) e.g. replace *Jul18* with *2.5.0*.
5. Create a PR to merge the `release-XXX` against the **`master`** branch
Expand Down Expand Up @@ -63,7 +64,7 @@ tested.
* Ilustration: sardana or official logo (use png)
* Summary: short summary of the news (do not include the whole changelog here..)
* Categories: Release
2. After submitting click on Modify this content text of the area <<Content>> and provide detailes of the release e.g. changelog.
2. After submitting click on Modify this content text of the area \<\<Content\>\> and provide detailes of the release e.g. changelog.
12. Notify mailing lists (sardana-users@lists.sourceforge.net, sardana-devel@lists.sourceforge.net, info@tango-controls.org)

## Manual test checklist
Expand Down Expand Up @@ -111,8 +112,7 @@ Hint: this list can be used as a template to be copy-pasted on a release manual
attribute.
- [ ] Add the `sys/tg_test/1/double_scalar` attribute to the measurement
group.
- [ ] Open online plot.
- [ ] Set JsonRecorder to true. In spock do `senv JsonRecorder True`
- [ ] Open online plot (This should ask to enable JsonRecorder, set it to true. Otherwise enable it in spock: `senv JsonRecorder True`).
- [ ] Run step scan
- [ ] Verify that records appear in spock output.
- [ ] Verify that records were stored in scan files.
Expand Down
4 changes: 2 additions & 2 deletions doc/man/MacroServer.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH MACROSERVER "1" "August 2018" "MacroServer 2.5.0" "User Commands"
.TH MACROSERVER "1" "February 2019" "MacroServer 2.7.0" "User Commands"
.SH NAME
MacroServer \- manual page for MacroServer 2.5.0
MacroServer \- manual page for MacroServer 2.7.0
.SH SYNOPSIS
.B usage:
\fI\,MacroServer instance_name \/\fR[\fI\,options\/\fR]
Expand Down
4 changes: 2 additions & 2 deletions doc/man/Pool.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH POOL "1" "August 2018" "Pool 2.5.0" "User Commands"
.TH POOL "1" "February 2019" "Pool 2.7.0" "User Commands"
.SH NAME
Pool \- manual page for Pool 2.5.0
Pool \- manual page for Pool 2.7.0
.SH SYNOPSIS
.B usage:
\fI\,Pool instance_name \/\fR[\fI\,options\/\fR]
Expand Down
4 changes: 2 additions & 2 deletions doc/man/Sardana.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH SARDANA "1" "August 2018" "Sardana 2.5.0" "User Commands"
.TH SARDANA "1" "February 2019" "Sardana 2.7.0" "User Commands"
.SH NAME
Sardana \- manual page for Sardana 2.5.0
Sardana \- manual page for Sardana 2.7.0
.SH SYNOPSIS
.B usage:
\fI\,Sardana instance_name \/\fR[\fI\,options\/\fR]
Expand Down
4 changes: 2 additions & 2 deletions doc/man/diffractometeralignment.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH DIFFRACTOMETERALIGNMENT "1" "August 2018" "diffractometeralignment 2.5.0" "User Commands"
.TH DIFFRACTOMETERALIGNMENT "1" "February 2019" "diffractometeralignment 2.7.0" "User Commands"
.SH NAME
diffractometeralignment \- manual page for diffractometeralignment 2.5.0
diffractometeralignment \- manual page for diffractometeralignment 2.7.0
.SH SYNOPSIS
.B diffractometeralignment
\fI\,<model> \/\fR[\fI\,door_name\/\fR]
Expand Down
4 changes: 2 additions & 2 deletions doc/man/hklscan.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH HKLSCAN "1" "August 2018" "hklscan 2.5.0" "User Commands"
.TH HKLSCAN "1" "February 2019" "hklscan 2.7.0" "User Commands"
.SH NAME
hklscan \- manual page for hklscan 2.5.0
hklscan \- manual page for hklscan 2.7.0
.SH SYNOPSIS
.B hklscan
\fI\,<model> \/\fR[\fI\,door_name\/\fR]
Expand Down
4 changes: 2 additions & 2 deletions doc/man/macroexecutor.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH MACROEXECUTOR "1" "August 2018" "macroexecutor 2.5.0" "User Commands"
.TH MACROEXECUTOR "1" "February 2019" "macroexecutor 2.7.0" "User Commands"
.SH NAME
macroexecutor \- manual page for macroexecutor 2.5.0
macroexecutor \- manual page for macroexecutor 2.7.0
.SH SYNOPSIS
.B macroexecutor
[\fI\,options\/\fR]
Expand Down
4 changes: 2 additions & 2 deletions doc/man/sardanatestsuite.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH SARDANATESTSUITE "1" "August 2018" "sardanatestsuite 2.5.0" "User Commands"
.TH SARDANATESTSUITE "1" "February 2019" "sardanatestsuite 2.7.0" "User Commands"
.SH NAME
sardanatestsuite \- manual page for sardanatestsuite 2.5.0
sardanatestsuite \- manual page for sardanatestsuite 2.7.0
.SH DESCRIPTION
usage: sardanatestsuite [\-h] [\-e EXCLUDE_PATTERN] [\-\-version]
.PP
Expand Down
4 changes: 2 additions & 2 deletions doc/man/sequencer.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH SEQUENCER "1" "August 2018" "sequencer 2.5.0" "User Commands"
.TH SEQUENCER "1" "February 2019" "sequencer 2.7.0" "User Commands"
.SH NAME
sequencer \- manual page for sequencer 2.5.0
sequencer \- manual page for sequencer 2.7.0
.SH SYNOPSIS
.B sequencer
[\fI\,options\/\fR]
Expand Down
10 changes: 5 additions & 5 deletions doc/man/spock.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH SPOCK "1" "August 2018" "spock 2.5.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
.TH SPOCK "1" "February 2019" "spock 2.7.0" "User Commands"
.SH NAME
spock \- manual page for spock 2.5.0
spock \- manual page for spock 2.7.0
.SH DESCRIPTION
=========
.IP
Expand Down Expand Up @@ -248,14 +248,14 @@ The IPython profile to use.
\fB\-\-pylab=\fR<CaselessStrEnum> (InteractiveShellApp.pylab)
.IP
Default: None
Choices: [u'auto', u'agg', u'gtk', u'gtk3', u'inline', u'ipympl', u'nbagg', u'notebook', u'osx', u'pdf', u'ps', u'qt', u'qt4', u'qt5', u'svg', u'tk', u'widget', u'wx']
Choices: [u'auto', u'gtk', u'gtk3', u'inline', u'nbagg', u'notebook', u'osx', u'qt', u'qt4', u'qt5', u'tk', u'wx']
Pre\-load matplotlib and numpy for interactive use, selecting a particular
matplotlib backend and loop integration.
.PP
\fB\-\-matplotlib=\fR<CaselessStrEnum> (InteractiveShellApp.matplotlib)
.IP
Default: None
Choices: [u'auto', u'agg', u'gtk', u'gtk3', u'inline', u'ipympl', u'nbagg', u'notebook', u'osx', u'pdf', u'ps', u'qt', u'qt4', u'qt5', u'svg', u'tk', u'widget', u'wx']
Choices: [u'auto', u'gtk', u'gtk3', u'inline', u'nbagg', u'notebook', u'osx', u'qt', u'qt4', u'qt5', u'tk', u'wx']
Configure matplotlib for interactive use with the default matplotlib
backend.
.PP
Expand Down
4 changes: 2 additions & 2 deletions doc/man/ubmatrix.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH UBMATRIX "1" "August 2018" "ubmatrix 2.5.0" "User Commands"
.TH UBMATRIX "1" "February 2019" "ubmatrix 2.7.0" "User Commands"
.SH NAME
ubmatrix \- manual page for ubmatrix 2.5.0
ubmatrix \- manual page for ubmatrix 2.7.0
.SH SYNOPSIS
.B ubmatrix
\fI\,<model>\/\fR
Expand Down
Empty file modified doc/source/_static/macrobutton.png 100755 → 100644
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified doc/source/_static/macrobutton_abort.png 100755 → 100644
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 16 additions & 2 deletions doc/source/devel/api/api_1D.rst
Expand Up @@ -18,10 +18,24 @@ The other attributes are:
data source
Unique identifier for the 1D data (value attribute)

timer
name of the timer channel (proceeding from the same controller) to be used
when the channel is acquired independently

special values:

* __default - controller's default timer
* __self - the same channel acts like a timer
* None - independent acquisition is disabled

integration time
integration time (in seconds) to be used when the channel is acquired
independently

The available operations are:

start acquisition(integration time)
starts to acquire the 1D with the given integration time
start acquisition
starts to acquire the 1D

:meth:`~PoolCounterTimer.start_acquisition`

Expand Down
18 changes: 16 additions & 2 deletions doc/source/devel/api/api_2D.rst
Expand Up @@ -18,10 +18,24 @@ The other attributes are:
data source
Unique identifier for the 2D data (value attribute)

timer
name of the timer channel (proceeding from the same controller) to be used
when the channel is acquired independently

special values:

* __default - controller's default timer
* __self - the same channel acts like a timer
* None - independent acquisition is disabled

integration time
integration time (in seconds) to be used when the channel is acquired
independently

The available operations are:

start acquisition(integration time)
starts to acquire the 2D with the given integration time
start acquisition
starts to acquire the 2Ds

:meth:`~PoolCounterTimer.start_acquisition`

Expand Down

0 comments on commit 4424705

Please sign in to comment.