Sardana Workshop 2025
MAX IV Laboratory
Sardana Workshop at MAX IV Laboratory
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:
-
-
1
Welcome to MAX IV Reception & Meeting room MAX III
Reception & Meeting room MAX III
Speakers: Carla Takahashi, Milica Zivkovic (MAXIV laboratory), Mirjam Lindberg (MAX IV Laboratory), Vanessa Silva (MAX IV Laboratory) -
2
Introduction & Event Overview Meeting room MAX III
Meeting room MAX III
Speaker: Vanessa Silva (MAX IV Laboratory) -
Facilities Use Case: Session 1
- challenges
- new developments
- interesting experiments
Convener: Milica Zivkovic (MAXIV laboratory)-
3
Sardana at Alba
We present a summary of the current status and use of Sardana at ALBA, as well as the deployment plan via Conda.
Speaker: Oriol Vallcorba (ALBA Synchrotron) -
4
Current Status and Use of Sardana at MAX IV
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.
Speakers: Vanessa Silva (MAX IV Laboratory), Carla Takahashi -
5
Sardana environment at SOLARIS
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.
Speaker: Michał Piekarski (NSRC SOLARIS, Jagiellonian University)
-
10:20
Fika
-
Facilities Use Case: Session 2 Meeting room MAX III
Meeting room MAX III
- challenges
- new developments
- interesting experiments
Convener: Mirjam Lindberg (MAX IV Laboratory)-
6
imeshct - running continuous mesh scan for irregular scanning regions
imeshctextends the MAX-IV tunedmeshct_maxivscan 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.Speaker: Yimeng Li -
7
Continuous Scanning at MAX IV: Scaling and Adapting Across Beamlines.
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.
Speaker: Dr Lin Zhu (MAX IV Laboratory) -
8
Complex experiment applications at ALBA
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.
Speakers: Jordi Aguilar Larruy, Roberto Javier Homs Puron (ALBA) -
9
A Multimodal DAQ System for Synchronized XAS-XRD Experiments
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.
Speaker: Vanessa Silva (MAX IV Laboratory) -
12:00
Questions
-
12:10
Lunch Lunch room 4th floor
Lunch room 4th floor
MAX IV Laboratory
-
Features Development: Continuous and Trajectory Scans Meeting room MAX III
Meeting room MAX III
- New Features
- Feature Request
Convener: Michał Piekarski (NSRC SOLARIS, Jagiellonian University)-
10
Trajectory-Based 2D Mesh Scanning in Sardana Using IcePAP Controllers
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.
Speakers: Vanessa Silva (MAX IV Laboratory), Marcelo Alcocer -
11
Sardana trajectory support – what’s next?
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.
Speaker: Roberto Javier Homs Puron (ALBA) -
12
PandABox generic integration
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:
- Generate a Layout from Scratch – Fully define blocks, connections, and parameters with minimal assumptions.
- Modify an Existing Layout – Adjust a fixed layout by changing known parameters.
- Evaluate and Adapt an Existing Layout with LLMs – Interpret the layout and apply minimal changes to meet synchronization needs. This flexible method is particularly well-suited for automation using Large Language Models (LLMs), which can reason over layout structures and assist in identifying necessary adjustments.
Speaker: Jordi Aguilar Larruy -
13
Advances in the experiment synchronization
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.
Speaker: Jordi Aguilar Larruy
-
15:10
Fika
-
Features Development: Blissdata and Redis Meeting room MAX III
Meeting room MAX III
- New Features
- Feature Request
Convener: Zbigniew Reszela (ALBA Synchrotron)-
14
Data publishing in Sardana using Blissdata
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
Speaker: Oriol Vallcorba (ALBA Synchrotron) -
15
Challenges and Insights from Multimodal Use Case Testing at MAXIV
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.
Speakers: Carla Takahashi, Wojciech Kitka -
16
EnvironmentManager: modular backends with Redis & TangoDB support
This live demo presents a proof-of-concept refactor of the Sardana
EnvironmentManagerinto 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 theenvironment_dbparameter prefixes (redis://, property:).Speaker: Wojciech Kitka
-
1
-
-
Bug Squashing Party: Introduction & Organisation Meeting room VIXAM & MAX II
Meeting room VIXAM & MAX II
- Guidelines
- Setting up the environment
Convener: Johan Forsberg (MAX-lab) -
10:20
Fika
-
Bug Squashing Party: Part 1 Meeting room VIXAM & MAX II
Meeting room VIXAM & MAX II
- Guidelines
- Setting up the environment
-
12:20
Lunch Lunch room 4th floor
Lunch room 4th floor
MAX IV Laboratory
-
Bug Squashing Party: Part 2 Meeting room VIXAM & MAX II
Meeting room VIXAM & MAX II
- Guidelines
- Setting up the environment
-
15:00
Fika
-
Bug Squashing Party: Part 3 Meeting room VIXAM & MAX II
Meeting room VIXAM & MAX II
- Guidelines
- Setting up the environment
-
18:00
Workshop Dinner Stäket
Stäket
-
-
-
Features Development: Configuration and Other Tools Meeting room MAX III
Meeting room MAX III
- New Features
- Feature Request
Convener: Carla Takahashi-
17
Sardana Config: A Live Configuration Demo
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.
Speakers: Johan Forsberg (MAX-lab), Wojciech Kitka -
18
Sardana archiving
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.
Speaker: Dmitry Egorov -
19
Standard Sardana Widgets
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.
Speaker: Johan Forsberg (MAX-lab)
-
10:15
Fika
-
User Documentation Meeting room MAX III
Meeting room MAX III
Conveners: Oriol Vallcorba (ALBA Synchrotron), Vanessa Silva (MAX IV Laboratory)-
20
Improving Tango Controls Documentation
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.
Speaker: Benjamin Bertrand -
21
User Documentation Round Table: Challenges, Needs, and Solutions
-
20
-
12:10
Lunch Lunch room 4th floor
Lunch room 4th floor
MAX IV Laboratory
-
Bug Squashing Party: Wrap-up & Feedback & Conclusions Meeting room MAX III
Meeting room MAX III
- Guidelines
- Setting up the environment
-
22
Community Round Table: Reflections & Next Steps Meeting room MAX III
Meeting room MAX III
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!
Speakers: Oriol Vallcorba (ALBA Synchrotron), Vanessa Silva (MAX IV Laboratory) -
15:00
Sardana Logo Discussion
-
15:20
Fika
-
23
MAX IV Laboratory Tour
-