0.23.0
CI / lint (push) Successful in 39s
Docs build and publish / docker (push) Successful in 19s
Build and Publish / release (push) Successful in 22s
CI / test (3.12) (push) Successful in 1m3s
CI / test (3.13) (push) Successful in 1m0s
CI / test (3.14) (push) Successful in 1m2s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m13s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m21s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m21s
CI / test-with-coverage (push) Successful in 1m45s
CI / coverage-analysis (push) Skipped
CI / lint (push) Successful in 39s
Docs build and publish / docker (push) Successful in 19s
Build and Publish / release (push) Successful in 22s
CI / test (3.12) (push) Successful in 1m3s
CI / test (3.13) (push) Successful in 1m0s
CI / test (3.14) (push) Successful in 1m2s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m13s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m21s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m21s
CI / test-with-coverage (push) Successful in 1m45s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-release
This commit is contained in:
+109
@@ -1,6 +1,115 @@
|
||||
# CHANGELOG
|
||||
|
||||
|
||||
## v0.23.0 (2026-09-08)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Keep user values in the scan panels across sample mounts
|
||||
([`8833f3a`](https://gitea.psi.ch/mx/AareDAQ/commit/8833f3a9d1ed21f79c2f2f6a15365bf0e86718ea))
|
||||
|
||||
The panels kept the effective detector distance, resolution and transmission in their own
|
||||
attributes, and a sample change overwrote those from the spreadsheet whatever the Database/User
|
||||
toggle said. The fields went on showing the user's numbers while the scan request carried the
|
||||
database ones, so a value had to be re-entered after every mount.
|
||||
|
||||
The fields are now the only place a value lives. Each setting is worth, in order: what the user
|
||||
typed while "User values" is selected, what the mounted sample asks for, the panel default - one
|
||||
rule, ScanSettingsPanel ._setting, that each panel spells out a line at a time. Overrides are per
|
||||
setting, so a setting the user did not touch keeps following the sample.
|
||||
|
||||
Along the way:
|
||||
|
||||
* DbOverrideLineEdit is gone; the panels use NumberLineEdit directly, and the per-widget
|
||||
database/user bookkeeping is replaced by SampleParameters, the one place that knows the aareDB
|
||||
spreadsheet column names. * The (name, widget, converter) mapping loops with getattr/hasattr are
|
||||
replaced by explicit per-field commit slots. * The omega speed cap no longer drives one field's
|
||||
validator from another field's value: it is a read-out plus a check on the pair at Run time. *
|
||||
_add_row/_add_pair_row build the label/field/unit rows, which also puts the Total angle degree
|
||||
sign on its own row instead of the header above.
|
||||
|
||||
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
||||
|
||||
Claude-Session: https://claude.ai/code/session_01JHoUkj66jxByS2ypY5h9Mn
|
||||
|
||||
- Put Mount next in the automation row, gated to the Queued view
|
||||
([`bc8137a`](https://gitea.psi.ch/mx/AareDAQ/commit/bc8137a389653208ea13f262711da4dd8f7ece94))
|
||||
|
||||
The button was parented to the dewar tab but never added to a layout, so Qt painted it at (0, 0)
|
||||
over the TELL sample changer banner. It now sits left of Unmount in the automation row (docked and
|
||||
pop-out), greyed out outside the Queued view like Remove/Clear. A trailing stretch keeps the row's
|
||||
buttons at their natural width instead of sharing the spare space.
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
- Read the aareDB total angle from the column that exists
|
||||
([`7cc662b`](https://gitea.psi.ch/mx/AareDAQ/commit/7cc662bfd85df3f23823587835a8a6443e6f34fc))
|
||||
|
||||
The column is totalangle, not totalrange, so reading it raised AttributeError four times a second in
|
||||
the status loop.
|
||||
|
||||
Reading a spreadsheet cell now goes through _spreadsheet_float, which treats a missing column, an
|
||||
empty cell and a cell that does not hold a number all as "not set" and logs the column once.
|
||||
aareDB owns these names; the GUI should fall back to its defaults when one moves, not die on the
|
||||
status loop it is read from.
|
||||
|
||||
Note that the same misspelling is still in daq.py (spreadsheet_params and get_auto_raster_params),
|
||||
where getattr's default hides it: automation has never picked up the total angle from the
|
||||
spreadsheet either.
|
||||
|
||||
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
||||
|
||||
Claude-Session: https://claude.ai/code/session_01JHoUkj66jxByS2ypY5h9Mn
|
||||
|
||||
- Read the aareDB transmission as the percentage it is
|
||||
([`63d902a`](https://gitea.psi.ch/mx/AareDAQ/commit/63d902a82acce4742f635f999b302d78ca731788))
|
||||
|
||||
DataCollectionParameters.transmission is a StrictInt documented as "positive, between 0 and 100"
|
||||
(aareDB's own API description of the spreadsheet payload), while every model that consumes it
|
||||
wants a 0-to-1 fraction. The old "divide by 100 only when above 1.0" guess therefore turned a
|
||||
spreadsheet asking for 1% into a scan at 100% transmission - a hundredfold dose on the sample. A
|
||||
fraction cannot be stored in that column at all: the model rejects 0.2.
|
||||
|
||||
The mapping test now builds a real DataCollectionParameters instead of a stand-in namespace, so a
|
||||
renamed column fails the test rather than the beamline. That is what let 'totalrange' through.
|
||||
|
||||
daq.py's spreadsheet_params and get_auto_raster_params still carry both the old column name and the
|
||||
same transmission guess.
|
||||
|
||||
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
||||
|
||||
Claude-Session: https://claude.ai/code/session_01JHoUkj66jxByS2ypY5h9Mn
|
||||
|
||||
- Take the aareDB transmission as the fraction aarecommon >= 0.7 declares
|
||||
([`f1cf55a`](https://gitea.psi.ch/mx/AareDAQ/commit/f1cf55adb9b9be3c244128115cb51123e5df8a3d))
|
||||
|
||||
CI resolves aarecommon 0.7.3, where DataCollectionParameters.transmission is a 0-to-1 fraction that
|
||||
rejects anything above 1.0 (the percent sheets are converted inside AareDB >= 0.83, which main
|
||||
already requires). The divide-by-100 from the earlier 'percentage' fix therefore failed the model
|
||||
test on CI and would have turned 20% into 0.2% at the beamline. Pass the fraction through and pin
|
||||
aarecommon>=0.7.3 so the older int percentage model can no longer be installed; relock.
|
||||
|
||||
Also satisfy the diff typecheck gate: basedpyright only counts instance variables assigned in
|
||||
__init__, so the Database/User toggle widgets are created there and _build_source_toggle only lays
|
||||
them out.
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
### Features
|
||||
|
||||
- Show AUTO CENTERING in the sample camera view while a loop centering runs
|
||||
([`f20bd06`](https://gitea.psi.ch/mx/AareDAQ/commit/f20bd065f561fd123855e189a165ec0dbdf9e266))
|
||||
|
||||
/status cannot tell an auto centering from a manual alignment move (both are busy + SampleAlignment,
|
||||
the combo the overlay deliberately hides), so the DAQ worker emits its own auto_centering flag:
|
||||
True while its own /alc/center_loop POST is in flight (the endpoint blocks until done) or while
|
||||
the automation progress reports the Center step running. The sample camera views pass it to
|
||||
build_busy_overlay_style, which paints a purple AUTO CENTERING wave text like the ROBOT
|
||||
MOUNTING/COOLING ones.
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
|
||||
## v0.22.1 (2026-09-08)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "aaredaq"
|
||||
version = "0.22.1"
|
||||
version = "0.23.0"
|
||||
description = "AareDAQ (with GUI)"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.11"
|
||||
|
||||
Reference in New Issue
Block a user