Sardana Workshop 2025

Europe/Stockholm
MAX IV Laboratory

MAX IV Laboratory

Carla Takahashi, Milica Zivkovic (MAXIV laboratory), Vanessa Silva (MAX IV Laboratory)
Description

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:

    • 08:45 09:00
      Welcome to MAX IV 15m 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)
    • 09:00 09:20
      Introduction & Event Overview 20m Meeting room MAX III

      Meeting room MAX III

      Speaker: Vanessa Silva (MAX IV Laboratory)
    • 09:20 10:20
      Facilities Use Case: Session 1
      • challenges
      • new developments
      • interesting experiments
      Convener: Milica Zivkovic (MAXIV laboratory)
      • 09:20
        Sardana at Alba 20m

        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)
      • 09:40
        Current Status and Use of Sardana at MAX IV 20m

        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
      • 10:00
        Sardana environment at SOLARIS 20m

        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 10:40
      Fika 20m
    • 10:40 12:10
      Facilities Use Case: Session 2 Meeting room MAX III

      Meeting room MAX III

      • challenges
      • new developments
      • interesting experiments
      Convener: Mirjam Lindberg (MAX IV Laboratory)
      • 10:40
        imeshct - running continuous mesh scan for irregular scanning regions 20m

        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.

        Speaker: Yimeng Li
      • 11:00
        Continuous Scanning at MAX IV: Scaling and Adapting Across Beamlines. 20m

        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)
      • 11:20
        Complex experiment applications at ALBA 20m

        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)
      • 11:40
        A Multimodal DAQ System for Synchronized XAS-XRD Experiments 20m

        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 10m
    • 12:10 13:10
      Lunch 1h Lunch room 4th floor

      Lunch room 4th floor

      MAX IV Laboratory

    • 13:10 15:10
      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)
      • 13:10
        Trajectory-Based 2D Mesh Scanning in Sardana Using IcePAP Controllers 30m

        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
      • 13:40
        Sardana trajectory support – what’s next? 30m

        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)
      • 14:10
        PandABox generic integration 30m

        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:

        1. Generate a Layout from Scratch – Fully define blocks, connections, and parameters with minimal assumptions.
        2. Modify an Existing Layout – Adjust a fixed layout by changing known parameters.
        3. 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
      • 14:40
        Advances in the experiment synchronization 30m

        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 15:30
      Fika 20m
    • 15:30 17:00
      Features Development: Blissdata and Redis Meeting room MAX III

      Meeting room MAX III

      • New Features
      • Feature Request
      Convener: Zbigniew Reszela (ALBA Synchrotron)
      • 15:30
        Data publishing in Sardana using Blissdata 30m

        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)
      • 16:00
        Challenges and Insights from Multimodal Use Case Testing at MAXIV 30m

        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:30
        EnvironmentManager: modular backends with Redis & TangoDB support 30m

        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:).

        Speaker: Wojciech Kitka
    • 09:00 10:20
      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 10:40
      Fika 20m
    • 10:40 12:20
      Bug Squashing Party: Part 1 Meeting room VIXAM & MAX II

      Meeting room VIXAM & MAX II

      • Guidelines
      • Setting up the environment
    • 12:20 13:20
      Lunch 1h Lunch room 4th floor

      Lunch room 4th floor

      MAX IV Laboratory

    • 13:20 15:00
      Bug Squashing Party: Part 2 Meeting room VIXAM & MAX II

      Meeting room VIXAM & MAX II

      • Guidelines
      • Setting up the environment
    • 15:00 15:20
      Fika 20m
    • 15:20 17:00
      Bug Squashing Party: Part 3 Meeting room VIXAM & MAX II

      Meeting room VIXAM & MAX II

      • Guidelines
      • Setting up the environment
    • 18:00 20:30
      Workshop Dinner 2h 30m Stäket

      Stäket

    • 09:00 10:15
      Features Development: Configuration and Other Tools Meeting room MAX III

      Meeting room MAX III

      • New Features
      • Feature Request
      Convener: Carla Takahashi
      • 09:00
        Sardana Config: A Live Configuration Demo 25m

        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
      • 09:25
        Sardana archiving 25m

        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
      • 09:50
        Standard Sardana Widgets 25m

        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 10:35
      Fika 20m
    • 10:35 12:10
      User Documentation Meeting room MAX III

      Meeting room MAX III

      Conveners: Oriol Vallcorba (ALBA Synchrotron), Vanessa Silva (MAX IV Laboratory)
      • 10:35
        Improving Tango Controls Documentation 20m

        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
      • 10:55
        User Documentation Round Table: Challenges, Needs, and Solutions 1h 15m
    • 12:10 13:10
      Lunch 1h Lunch room 4th floor

      Lunch room 4th floor

      MAX IV Laboratory

    • 13:10 13:30
      Bug Squashing Party: Wrap-up & Feedback & Conclusions Meeting room MAX III

      Meeting room MAX III

      • Guidelines
      • Setting up the environment
    • 13:30 15:00
      Community Round Table: Reflections & Next Steps 1h 30m 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 15:20
      Sardana Logo Discussion 20m
    • 15:20 15:40
      Fika 20m
    • 15:40 16:30
      MAX IV Laboratory Tour 50m