Conveners
Features Development: Continuous and Trajectory Scans
- Michał Piekarski (NSRC SOLARIS, Jagiellonian University)
Features Development: Blissdata and Redis
- Zbigniew Reszela (ALBA Synchrotron)
Features Development: Configuration and Other Tools
- Carla Takahashi
Description
- New Features
- Feature Request
We present a novel application of Sardana’s existing meshct macro, adapted to perform continuous 2D mesh scans using parametric trajectories executed by IcePAP motor controllers. This approach improves scan speed and uniformity by driving two coordinated axes along a predefined trajectory, controlled by a dedicated trajectory motor. One of the main challenges lies in generating, loading, and...
We present an analysis of current trajectory solutions in Sardana and their limitations. We will examine common features of the motor controllers used to implement trajectories (IcePAP, PMAC, Aerotech, SmarAct): coordinate systems, PVT/PT modes, G-code support, synchronization and configuration. An open discussion will be held on a new API for the MotorController and the Sardana core,...
Configuring a PandaBox layout for synchronization and acquisition is challenging due to its rich set of hardware capabilities. While Sardana provides high-level, experiment-centric abstractions such as acquisition channels and synchronization roles, these are difficult to map directly onto PandaBox’s model of interconnected blocks, ports, and parameters. To address this, three programmatic...
We recently introduced the concept of Multiple Synchronizations within Sardana measurement groups, expanding the framework's flexibility and capabilities. In this presentation, we revisit this concept and demonstrate how it enables the integration of diverse experimental channels that require distinct synchronization strategies like fast cameras and passive elements like shutters, lasers, or...
This live demo showcases the integration of the Blissdata v2 library —developed by ESRF for BLISS [1] — into Sardana. An initial integration was implemented as a data recorder plugin in Sardana, followed by a proof-of-concept for integration into the core. The integration also considers sardana-limaccds exprimental channels as Blissdata LimaStreams. The demo will also illustrate how to use...
This brainstorming session will present the challenges and insights gained during the evaluation of Alba’s Blissdata 2 implementation at MAX IV, focusing on its integration with the facility’s multimodal data acquisition use-cases. The tests explore aspects such as database resilience during long-duration scans and high-throughput experimental channels, deployment in near-operational...
This live demo presents a proof-of-concept refactor of the Sardana EnvironmentManager
into a modular backend system. The refactor introduces three interchangeable backends—Shelve (default), Redis, and TangoDB—while maintaining full API compatibility. Backend selection is automatically determined by the environment_db
parameter prefixes (redis://, property:).
In this session, we’ll showcase the current, working state of Sardana Config—a command-line tool that manages Sardana configurations via a simple YAML format. The tool lives as a separate repository so its development can move faster than the main codebase, which we’ll briefly explain. Attendees will see a practical, end-to-end demo.
Archiving Sardana elements can be challenging, particularly in setups with dozens of motors or when running continuous scans. In Tango, events are triggered by polling of attributes, but if reading an attribute requires direct hardware access, it can interfere with an ongoing macro.
This presentation will explore an approach for enabling Sardana to read hardware asynchronously in the...
The standard Sardana widgets (sequencer, macroexecutor, etc) are very useful to put in Sardana related GUIs. However, many don't seen to have developed much lately, and there are some usability problems and bugs. Let's discuss and try to come up with a plan.