Skip to content

i05 - add m1es_pitch device #430

Closed
DiamondLightSource/dodal
#2253

Description

@oliwenmandiamond

DiamondLightSource/dodal#1471 looks to have translated the GDA BindScannables class to dodal called PolynomCompoundMotors. However, it was never actually added as devices on i05 beamline.

So I think minimal work will be needed is to add the dodal equivalent for the below:

m1es_pitch=BindScannables("m1es_pitch",m1mj6_pitch,m3mj6_pitch)
m1es_pitch.setSlaveOffset(5005)
m1es_pitch.setSlaveStep(0.27)

to i05_shared.py. This relies on m1mj6_pitch which is also a BindScannable and and m3mj6_pitch which is a Motor (equivalent to m3mj6.pitch in dodal).

m1mj6_pitch=BindScannables("m1mj6_pitch",m1_pitch,m3mj6_x)
m1mj6_pitch.setSlaveOffset(6.75958)
m1mj6_pitch.setSlaveStep(-0.0104762)

We should also optimise this code. PolynomCompoundMotors was made before StandardMovable was a thing, we should refactor to take advantage.

Activity

  1. changed the title [-]`m1es_pitch`[/-] [+]i05 - add `m1es_pitch` device[/+] on Oct 22, 2026
  2. oliwenmandiamond commented on Oct 23, 2026

    @oliwenmandiamond
    CollaboratorAuthor

    Okay, I have spoken to i05 beamline staff regarding this. The beamline constantly need to be able to update slaveOffSet and slaveStep values. The current implementation only stores everything as a dictionary inside the device which is not visible or accessible through blueapi. We either need to use child signals, or create a custom plan to update these.

    I will try and think up which solution is best

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

Metadata

Metadata

Labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions