5.4 KiB
5.4 KiB
Changelog
0.3.0
- Merge three repos into one, remove Ultralytics as dependency
- 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.
- Re-enabled and updated automation workflow 2.0 with new backend endpoints.
- Added
park_and_dryfunctionality for repeated mount failures. - 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,Smargon, andAerotechcommunication. ml_boxupdated with beamline-specific URLs, model class types, and new YOLO26 engine.- 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.
- Throttled
UserRightsExceptionlogging to reduce log noise.
- Baton & Sessions:
- Major rework of the baton exchange procedure and session management.
- Added
NOT_BATON_HOLDERerror code and specialized handling for baton requests. - Integrated baton status messages into the camera image display and status bar.
- Improved session state transitions with new
Pendingstates and P-group selection logic.
- GUI:
- Added
ui_state_managerto handleQSettingsfor persistent UI state. - Major rework of
predict_subscriberand 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_statusfor user-facing connection/error messages. - Integrated
dev_helppanel with logs and error code search. - Added framework for building GUI tutorials with first draft of X10SA tutorial.
- Added alert banner for critical disconnection issues (server/Tell/Aerotech).
- 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.
- Fixed matplotlib warnings in face detection panel and improved layout persistence.
- Added
- TELL & Infrastructure:
- Added mTLS certificate authentication for
aaredb,tellupdater, andspreadsheetupdater. - Improved SSE client resilience in
tellupdaterwith retry mechanisms and enhanced error logging. - 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.
- Added mTLS certificate authentication for
- Common & Devices:
- Added BEC worker and Aerotech controller initialization in
devices.py. - Added magnet position sensor functions and centralized transmission settings.
- Added centralized
error_codesand refactored exception handling to use FastAPI handlers. - Expanded device support with new PVs (beamstop, scintillator, collimator, cryojet, etc.).
- Cleaned up
mx_libwait functions andmy_motorclass; addedclean_filenamehelper. - 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.
- Added BEC worker and Aerotech controller initialization in
- Infrastructure:
- Updated dependencies (added
pshell) and improved documentation autodeployment workflows. - Refactored package structure and imports.
- Fixed
logger_configfile path expansion.
- Updated dependencies (added
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