Skip to content

i05 - add exit_slit device - s6 motors #435

Open

Description

@oliwenmandiamond

exit_slit is part of s6 (slit) motors, specifically the ysize component. We can do this by making a simple Motor composite of

s6

  • xgap
  • xsize
  • ygap
  • ysize
  • z

I am of the opinion we should mirror epics and the beamline users should use s6.ygap for their scripting so that it is more clear what is actually being moved from a user point of view and support. I will have to speak to beamline scientists to convince them though

Activity

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

    @oliwenmandiamond
    CollaboratorAuthor

    I have spoken to beamline staff on this. The reason they call s6.ygap exit_slit is because every APRES beamline has a variable called exit_slit, so make it very convenient for the users.

    I have spoken to them about this, they would be fine with using the proposed solution above, on the client they make a variable called exit_slit = sy.ygap and just use that. However, all metadata and logging will refer to it as original s6.ygap.

    So we have a couple solutions:

    1. create s6 object as above. Let client rename it for convenience but still use s6.ygap object throughout server
    2. create s6 object as above, but it has a dependency on exit_slit for device creation and we create exit_slit as own device
    3. we just duplicate, we create s6 composite of motor object and we create exit_slit motor object, both using same PV

    I personally don't like option 3, I really dislike duplicating multiple objects using the same PV for the same thing, but might best way?

  3. DG-At-Diamond commented on Nov 10, 2026

    @DG-At-Diamond
    Collaborator

    Are you saying you vote for option 3? 2 looks like the best one of these to me but 3 would be fine as well, I'm not that against reusing PVs.

  4. oliwenmandiamond commented on Nov 13, 2026

    @oliwenmandiamond
    CollaboratorAuthor

    I've tested with blueapi, the issue with option 2 is that device manager will rename the device name to be whatever the new factory was. So I think in this case, we duplicate. But we put a clear doc string of the factory to indicate that it corresponds to s6.ygap device, why we have to duplicate, and this is specifically for ARPES annotation

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions