- Indico style
- Indico style - inline minutes
- Indico style - numbered
- Indico style - numbered + minutes
- Indico Weeks View
The Sardana Workshop 2025 is a three-day event hosted by MAX IV Laboratory from August 27th to 29th. It is dedicated to the Sardana community, bringing together contributors, users, and developers to work collaboratively on its development and use.
The workshop will include a combination of technical presentations, interactive sessions, and a Bug Squashing Party, providing a space to explore recent developments, dive into technical topics, and strengthen collaboration within the community.
This event is intended for anyone involved with or interested in Sardana, from users to developers. Whether you're developing new features or running experiments, your perspective is welcome.
New to Sardana?
No worries! You can checkout:
We present a summary of the current status and use of Sardana at ALBA, as well as the deployment plan via Conda.
This presentation will provide a brief overview of the current use of Sardana at MAX IV, discuss general usage across the facility, highlight some implementations, and share current challenges.
The National Synchrotron Radiation Centre SOLARIS has been in operation since 2015 and has since undergone substantial development. This presentation outlines the current work with Sardana, highlighting operations, developments and custom solutions.
imeshct
extends the MAX-IV tuned meshct_maxiv
scan by enabling continuous, multi-line scans over irregular regions defined in a simple JSON schema. Users specify one or more regions, each with individually parametrized start and end positions and number of intervals. Integration and latency times are the same for all of the regions.
This presentation builds on the continuous scan efforts that have been carried out at MAX IV for the past years, detailing the ongoing effort to extend its capabilities across beamlines in both storage rings. The system enables synchronized, high-throughput data acquisition using hardware triggering and reference-based alignment. While the core architecture remains consistent, each beamline presents unique constraints—ranging from timing integration to device coordination—requiring tailored implementations.
The Sequencer allows the execution of predefined macros but lacks advanced features such as conditionals, loops, and dynamic branching based on runtime values. This limits the automation of complex experiments, as demonstrated in the cases of CLAESS and FAXTOR beamlines. In both setups, specific user interfaces have been developed to facilitate user interaction, with considerations for failure recovery, experiment restart, and other related concepts. We will analyze their implementations and discuss potential improvements for Sardana.
We present a multimodal data acquisition system developed for synchronized X-ray absorption and diffraction experiments. Built on the Sardana and Tango Controls frameworks, it enables fast, trajectory-based scanning with sub-second resolution and precise detector triggering. A dedicated Sardana macro manages experiment orchestration, while a Taurus GUI provides an intuitive interface for configuring multimodal sequences. The system has been successfully deployed at a MAX IV beamline.
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 orchestrating the trajectory motor, especially when its associated physical motors are assigned dynamically at runtime. This complexity requires careful configuration to ensure consistency between the trajectory description and motor behavior. We invite the community to discuss these limitations, share experiences, and explore ideas for improving the integration of trajectory-based scanning in Sardana.
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, extending the use of MotorGroup as a configuration object for dynamic trajectories such as meshct, helical scans, and others, as well as a new API for static trajectories implemented by pseudo motors.
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 configuration approaches are proposed with the aim of opening discussions and foster common solutions:
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 motors with slower or event-driven behaviors. We also discuss strategies for configuring relations between elements, ensuring coherent coordination.
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 ESRF-developed clients with Sardana: the NeXus file writer and data visualization with Flint, highlighting their advantages and limitations.
[1] https://bliss.gitlab-pages.esrf.fr/blissdata/index.html
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 environments, and data collection using reference signals and hardware triggering.
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 background and push events only when fresh data is available, reducing interference and improving archiving performance.
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.
This talk will present recent efforts to improve the structure, clarity, and accessibility of the Tango Controls documentation, and share insights gained during the process. We will reflect on the challenges, ongoing work, and future plans, with the goal of providing insight and inspiration for other documentation initiatives.
Interactive session to bring everyone together for an open round table discussion. We’ll reflect on the key contributions, insights, and outcomes from the workshop, and invite participants to share feedback, highlight unresolved questions, and propose next steps for the Sardana community.
It’s also a great moment for open discussions, informal collaboration ideas, and aligning on future directions.
Let’s wrap up by shaping what comes next, together!