Skip to content

Scripting Vertical Slice project - i05 #429

Open
3 of 6 issues completed
Open

Description

@oliwenmandiamond

Description

Our vertical slice project has asked us to priorities beamlines i10 and i05 for the new Diamond II software. I10 devices are more or less completed already. However, the i05 side we still need to make progress with porting device logic over.

Scripts

We have been supplied some GDA scripts from the i05 beamline. We need to be able to replicate the current behaviour of scripting. These are listed below:
co-alligment_M1_vs_M3.py
M1_roll_vs_PGM_cff_B800.py
gas_cell_cff_scans_1600.py
gas_cell_cff_scans_800.py
M1_roll_vs_PGM_cff_1600.py
exit_slit_He_res_scan2.py

Devices

List of devices that are required for these scripts (left side is GDA, right side is bluesky equivalent if already done):

  • m1_pitch -> m1.pitch
  • m1_roll -> m1.roll
  • m3mj6_x -> m3mj6.x
  • m3mj6_pitch -> m3mj6.pitch
  • pgm_energy -> pgm.energy
  • pgm_cff -> pgm.cff
  • ring_current -> synchrotron.current
  • energy -> energy
  • d3_cy

The scripts all use standard move and scan plans. The only blocker I can foresee is that the GDA scan syntax allows you to specify to move a device to position x in the same scan start stop step. e.g

GDA scan a 1 5 1 b c 1 -> scan([b], a, 1, 5, 1, ...) # No equivalent for c 1 move in same scan.

We will need to either fix this directly in bluesky which will require collaboration and will be slow. Or we wrap the scan plans and allow for additional move in same plan. We should also consult other teams in DLS to know if we want to continue to support this behaviour and if so, what the best solution is.

Other blockers including getting the scan plan syntax in a usable state. This requires DiamondLightSource/blueapi#1662 for simple scan syntax and DiamondLightSource/blueapi#1671 for users to know what child devices exist.

Activity

  1. changed the title [-]Scripting Vertical Slice project[/-] [+]Scripting Vertical Slice project - i05[/+] on Oct 22, 2026
  2. Relm-Arrowny commented on Oct 22, 2026

    @Relm-Arrowny
    Collaborator

    I have not tested it since 0.XX but this should work https://github.com/DiamondLightSource/sm-bluesky/blob/main/src/sm_bluesky/common/plans/alignments.py for alignments, chance the axis and it will go to peak/com or edge etc etc
    Looking at the script they are just scans, they do not actually do any alignment/correctional movement.
    Probably worth noting, we can already do scripting
    #436

  3. oliwenmandiamond commented on Oct 30, 2026

    @oliwenmandiamond
    CollaboratorAuthor

    Linked to #79

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions