Files
AareDAQ/CHANGELOG.md
2026-03-10 13:27:36 +01:00

4.0 KiB

Changelog

0.3.0

  • Merge three repos into one, remove Ultralytics as dependency
  • DAQ/Server:
    • Workflow assertions to ensure scintillator is down when possible.
    • Improved aerotech movement and position calculations.
    • Implementation of camera auto-exposure and zoom-dependent settings.
    • Added SAS-TT school demo temporary raster function.
    • Enhanced status polling with robust error handling for Tell and Smargon communication.
    • ml_box updated with beamline-specific URLs and model class types.
    • Added separate authentication pathway for staff-only beamline recovery operations.
    • Improved database message limits for omega (to 2 decimal places).
    • Added screenshot to database from GUI; face detection sequence and beamline recovery updates.
  • GUI:
    • Major rework of predict_subscriber and prediction stream updates; corrected default ZMQ stream for ML box.
    • Added FPS counter and sharpness monitoring for sample camera.
    • Improved camera thread performance and authentication failure handling.
    • Added X10SA specific camera and prediction configurations.
    • New display_status for user-facing connection/error messages.
    • Integrated dev_help panel with logs and error code search.
    • Added framework for building GUI tutorials.
    • Added alert banner for critical disconnection issues (server/Tell).
    • New screenshot button and controls in sample camera GUI.
    • Added SSE support for face detection panel updates during automation.
    • Integrated sample position resync in recovery panel to reduce Tell polling.
  • TELL:
    • Major refactor: removed redundant code and added simulated client.
    • Converted wait functions to use inbuilt pshell functionality.
    • Added error handling and proxy support for connection failures.
    • Fixed event names for mounting, and added missing events for gripper detection and motion sync.
    • Refactored SSE connection handling for simplicity and robustness.
  • Common & Devices:
    • Added centralized error_codes and refactored exception handling to use FastAPI handlers.
    • Expanded device support with new PVs (beamstop, scintillator, collimator, cryojet, etc.).
    • Cleaned up mx_lib wait functions and my_motor class; added clean_filename helper.
    • Improved Smargon connection exception handling.
    • Updated ABR_POS_HOME configuration and added comments for cryo positions.
    • Added image upload comments and improved authentication error messaging.
  • Infrastructure:
    • Updated dependencies (added pshell) and improved documentation autodeployment workflows.
    • Refactored package structure and imports.
    • Fixed logger_config file path expansion.

0.2.69

  • check beamline state before running raster, rotation and automation
  • lowered polling rate of daq status to improve GUI performance
  • robot drys then parks after repeated mount failures

0.2.68:

  • added check box to numberlineedits to switch between user input and spreadsheet
  • re-enabled MLprediction
  • fixed bug in gui where manual sample couldnt be created when run nubmer was negative.
  • Combined beamline view now split vertically not horizontally
  • New error handling in DAQ for robot mounting errors
  • Error box pop ups in GUI when sample gripper detection error occurs
  • Automation queue pauses if sample gripper detection error occurs multiple times to allow robot dry, if continues stops and wiats for user interverntion
  • added ingest_scan to send rotation and screening result to db

0.2.67:

  • added run number to sampleshortinfo
  • ingest raster result, including beam center to database
  • aerotech goes to mount postion for manual mount
  • logger config correctly expands file path for logger location.
  • smart_rotiation_panel fix - but will be mvoed to DAQ in future update
  • Fluoresence scan can be saved to CSV with right click
  • Wait for ready before sending Tell to dry

0.2.66:

  • moved rastergridingestmodel and centreofmassmodel from models to raster_grid.py
  • after raster load closest image to new centre