Update to version 0.3.1
This commit is contained in:
+13
-4
@@ -1,4 +1,11 @@
|
||||
# Changelog
|
||||
## 0.3.1 (2026-04-29)
|
||||
- **DAQ/Server**:
|
||||
- Improved baton exchange logic with automatic timeout and Redis-backed state.
|
||||
- **GUI**:
|
||||
- Updated about dialog with correct version and copyright.
|
||||
- Improved layout persistence and state management.
|
||||
|
||||
## 0.3.0 (2026-04-24)
|
||||
- Merge three repos into one, remove Ultralytics as dependency
|
||||
- **Testing & CI/CD**:
|
||||
@@ -6,6 +13,7 @@
|
||||
- Integrated `pytest-cov` and `pytest-mock` into the testing workflow with 100% coverage on core modules like `coordinate` and `exception_handler`.
|
||||
- Added automated testing stage to Gitea workflow (`.gitea/workflows/action.yaml`) ensuring tests pass before build and documentation updates.
|
||||
- Added `pytest-qt` support for GUI testing.
|
||||
- Added tests for `aerotech`, `models`, `autofocus`, `automation`, `beamline`, `diffraction_geometry`, `enum_pv`, `face_detection`, `jfjoch_client`, `mlbox`, `my_motor`, `spreadsheet_updater`, and `workflows`.
|
||||
- **DAQ/Server**:
|
||||
- Added lifespan function for one-time initialization of core objects (devices, daq, config) on startup, reducing conflicting Redis and device connections.
|
||||
- Big Aerotech upgrade: transitioned to Aerotech API with ported coordinate functions.
|
||||
@@ -27,6 +35,8 @@
|
||||
- Updated `server_exception_handler.py` and `error_codes.py` to cover all custom exceptions.
|
||||
- Added `auto_exposure` endpoint and improved `autofocus` logic.
|
||||
- Fixed multiple bugs in raster scan positioning and state transitions.
|
||||
- Refactored `MLBOX` and `LOOP_CENTERING` types; loop centering now avoids moving if only non-crystal classes (pin, ice, needle) are found.
|
||||
- Split `LOOP_CENTERING` from main DAQ script for better maintainability.
|
||||
- **Baton & Sessions**:
|
||||
- Major rework of the baton exchange procedure and session management.
|
||||
- Added `NOT_BATON_HOLDER` error code and specialized handling for baton requests.
|
||||
@@ -51,6 +61,7 @@
|
||||
- Added automation progress panel and wired it to the persistent Redis backend.
|
||||
- Improved prediction subscriber performance and target stability visualization.
|
||||
- Added shortcuts and improved user feedback in the status bar using `BeamlineStateEnum` display names.
|
||||
- Improved prediction subscriber and metrics panel performance.
|
||||
- **TELL & Infrastructure**:
|
||||
- Added mTLS certificate authentication for `aaredb`, `tellupdater`, and `spreadsheetupdater`.
|
||||
- Improved SSE client resilience in `tellupdater` with retry mechanisms and enhanced error logging.
|
||||
@@ -62,6 +73,7 @@
|
||||
- Added control for pin blower and annealing (in/out) to `TellClient`.
|
||||
- Improved TELL HTTP communication handling to prevent swallowed errors.
|
||||
- Added magnet position sensor state checks and exception handling.
|
||||
- Improved Gitea workflows with better dependency management and testing steps.
|
||||
- **Common & Devices**:
|
||||
- Added BEC worker and Aerotech controller initialization in `devices.py`.
|
||||
- Added magnet position sensor functions and centralized transmission settings.
|
||||
@@ -75,10 +87,7 @@
|
||||
- Added `display_name` to `BeamlineStateEnum` for consistent UI strings.
|
||||
- Refactored `SampleShortInfo` handling across DAQ and database modules.
|
||||
- Multiple bug fixes in ML box prediction logic and coordinate transformations.
|
||||
- **Infrastructure**:
|
||||
- Updated dependencies (added `pshell`) and improved documentation autodeployment workflows.
|
||||
- Refactored package structure and imports.
|
||||
- Fixed `logger_config` file path expansion.
|
||||
- `JFJOCH` wrapper: Added retries for image retrieval and new `wait_till_running` method.
|
||||
|
||||
### 0.2.69
|
||||
- check beamline state before running raster, rotation and automation
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
# Readme
|
||||
# AareDAQ (v0.3.1)
|
||||
|
||||
AareDAQ is the Data Acquisition system for MX beamlines at PSI.
|
||||
|
||||
## GUI Controls Cheat Sheet
|
||||
|
||||
|
||||
+18
-1
@@ -16,7 +16,7 @@ sys.path.insert(0, os.path.abspath('../src/aare/gui'))
|
||||
project = 'AareDAQ'
|
||||
copyright = '2026, Paul Scherrer Institute'
|
||||
author = 'Martin Appleby, Guillaume Gotthard, Filip Leonarski and Dawn (Jiaxin) Daun'
|
||||
release = '0.3.0'
|
||||
release = '0.3.1'
|
||||
master_doc = 'index'
|
||||
root_doc = 'index'
|
||||
|
||||
@@ -109,6 +109,13 @@ html_theme_options = {
|
||||
"site_url": "https://gitea.psi.ch/mx/aaredaq",
|
||||
"repo_url": "https://gitea.psi.ch/mx/aaredaq",
|
||||
"repo_name": "AareDAQ",
|
||||
"social": [
|
||||
{
|
||||
"icon": "fontawesome/brands/github",
|
||||
"link": "https://gitea.psi.ch/mx/aaredaq",
|
||||
"name": "AareDAQ on Gitea",
|
||||
},
|
||||
],
|
||||
"palette": [
|
||||
{
|
||||
"media": "(prefers-color-scheme: light)",
|
||||
@@ -137,8 +144,17 @@ html_theme_options = {
|
||||
"navigation.top",
|
||||
"search.share",
|
||||
"toc.follow",
|
||||
"navigation.instant",
|
||||
"content.tabs.link",
|
||||
"content.code.annotate",
|
||||
"content.code.copy",
|
||||
],
|
||||
"globaltoc_collapse": False,
|
||||
"toc_title": "On this page",
|
||||
"toc_title_container": True,
|
||||
"font": {
|
||||
"code": "JetBrains Mono",
|
||||
},
|
||||
}
|
||||
html_theme_options["google_fonts"] = []
|
||||
html_sidebars = {
|
||||
@@ -154,4 +170,5 @@ autodoc_default_options = {
|
||||
'members': True,
|
||||
'undoc-members': True,
|
||||
'show-inheritance': True,
|
||||
'member-order': 'bysource',
|
||||
}
|
||||
|
||||
+19
-8
@@ -3,22 +3,33 @@
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to the AareDAQ Documentation
|
||||
=====================
|
||||
Welcome to AareDAQ
|
||||
=================
|
||||
|
||||
AareDAQ is the Data Acquisition system for MX beamlines at the Paul Scherrer Institute (PSI).
|
||||
It provides a robust backend for orchestrating beamline devices and a user-friendly GUI for data collection.
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
* :doc:`User Guide <readme>`: New to AareDAQ? Check out the overview and cheat sheet.
|
||||
* :doc:`Changelog <changelog>`: See what's new in the latest version.
|
||||
* :doc:`API Reference <api/aare>`: Detailed documentation for all AareDAQ modules and classes.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
:glob:
|
||||
:caption: Documentation
|
||||
:hidden:
|
||||
|
||||
../README
|
||||
../CHANGELOG
|
||||
README <readme>
|
||||
CHANGELOG <changelog>
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: API Reference
|
||||
:caption: Development
|
||||
:hidden:
|
||||
|
||||
api/aare
|
||||
API Reference <api/aare>
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "aaredaq"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
description = "AareDAQ (with GUI)"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.11"
|
||||
|
||||
@@ -74,6 +74,12 @@ from aare.devices.tell_client import TellEventValueEnum
|
||||
logger = setup_logger("aareDAQ")
|
||||
#TODO tidy up DAQ - migrate functions itno different scripts, to reduce size?
|
||||
class AareDAQ:
|
||||
"""
|
||||
Main Data Acquisition class for the Aare system.
|
||||
|
||||
This class orchestrates interactions between various beamline devices,
|
||||
the Aare database, ML services, and data collection workflows.
|
||||
"""
|
||||
|
||||
MIN_SPOTS_LOW_RES_THRESHOLD = 10.0
|
||||
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ def main():
|
||||
try:
|
||||
app = QApplication(sys.argv)
|
||||
app.setApplicationName("AareGUI")
|
||||
app.setApplicationVersion("0.1.0")
|
||||
app.setApplicationVersion("0.3.1")
|
||||
app.setOrganizationName("PSI")
|
||||
app.setOrganizationDomain("psi.ch")
|
||||
|
||||
|
||||
@@ -1016,7 +1016,7 @@ class MainWindow(QMainWindow):
|
||||
QMessageBox.about(
|
||||
self,
|
||||
"About",
|
||||
"Aare Macromolecular Crystallography GUI\nVersion: 1.0\nCopyright: Paul Scherrer Institute 2024-2025",
|
||||
"Aare Macromolecular Crystallography GUI\nVersion: 0.3.1\nCopyright: Paul Scherrer Institute 2024-2026",
|
||||
)
|
||||
|
||||
def show_controls_help(self) -> None:
|
||||
|
||||
Reference in New Issue
Block a user