Skip to content

Implement Linear Arbitrary (LA) Polarisation Control #320

Description

@Relm-Arrowny

Goals

Acceptance criteria : What journeys should the user be able to complete to consider your feature done

  • [Bluesky Device: A user can run yield from bps.abs_set(polarization,Pol.LA, angle=) and the hardware responds correctly.
  • Coordinated Motion: All four rows move to their calculated phase positions based on the requested angle $\alpha$ without violating hardware limits.
  • Energy-Angle Compensation: The undulator automatically tracks and adjusts to maintain constant photon energy as the polarization angle changes.
  • Plan: Users can successfully run a bp.scan or bp.list_scan over the polarization angle motor.
  • Beamline Deployment: Feature is fully implemented and tested for i06, i17, and i21.
  • Requirements check: Confirm with beamline scientists if i05, k07, and i09 require LA mode and document their specific row-phasing geometry.

Task

base on the goals, deduce the tasks required. check them off once they're done

  • Review I10 Implementation: Analyze the existing i10_apple2.py logic; determine how to abstract the "movable jaw phase" logic vs. the standard fixed-jaw APPLE II movement used elsewhere.
  • [ ]
  • [ ]
  • [ ]
  • [ ]

Related Resources

I10 implementation : I10 appears to be one of the special beamline where it has a movable jaw phase. other beamline may not function the same way.
I06 has a massive lookup that in epic, it may worth moving it away from it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    SMGcommon to all beamlines within the groupi06i17i21

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions