Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
05ab1a1
Make id_gap flyable
Relm-Arrowny Aug 20, 2025
d29eea3
add Flyable to UndulatorGap
Relm-Arrowny Aug 20, 2025
c273fc4
add successful test for prepare
Relm-Arrowny Aug 20, 2025
baaa12b
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Aug 20, 2025
8d412ba
clean up and add logs
Relm-Arrowny Aug 20, 2025
9c321b1
Merge branch 'make_undulatorGap_flyable' of github.com:DiamondLightSo…
Relm-Arrowny Aug 20, 2025
9f8e914
correct pv
Relm-Arrowny Aug 20, 2025
0f6b674
first hack at motorise undulator
Relm-Arrowny Aug 22, 2025
f055dfe
add test plus docstring
Relm-Arrowny Aug 22, 2025
7c6306f
reduce double checking
Relm-Arrowny Aug 22, 2025
e28a23c
reordering
Relm-Arrowny Aug 22, 2025
40b71b2
remove tests
Relm-Arrowny Aug 22, 2025
62942f4
remove motor limit test
Relm-Arrowny Aug 22, 2025
b1affca
add typing
Relm-Arrowny Aug 22, 2025
7ec10da
correct velocity
Relm-Arrowny Aug 22, 2025
79d6ab5
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Aug 26, 2025
95227a5
simply stop e.g. just remove it rather have it as soft signal.
Relm-Arrowny Aug 26, 2025
65e0ece
group functions into UndulartorBase
Relm-Arrowny Aug 26, 2025
609bc09
make set wait
Relm-Arrowny Aug 26, 2025
67dcba9
rename mover to motor for gap
Relm-Arrowny Aug 26, 2025
529a88e
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Sep 1, 2025
28dcf54
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Sep 2, 2025
80c2d9a
correct spelling
Relm-Arrowny Sep 2, 2025
ed0c610
add typing to set_move
Relm-Arrowny Sep 2, 2025
fdc4b80
remove infix in undulatorPhaseMotor
Relm-Arrowny Sep 2, 2025
6cfb664
remove logger fixture
Relm-Arrowny Sep 2, 2025
c384891
change Id motors to use Motor user_setpoint
Relm-Arrowny Sep 2, 2025
94bd45d
fix lint
Relm-Arrowny Sep 2, 2025
d07e7b7
remove DEFAULT_MOTOR_MIN_TIMEOUT
Relm-Arrowny Sep 2, 2025
63a1aac
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Sep 2, 2025
f16ae8e
revert velocity back to correct pv.
Relm-Arrowny Sep 3, 2025
0d950ef
Merge remote-tracking branch 'origin/main' into make_undulatorGap_fly…
Relm-Arrowny Sep 3, 2025
7a23bc9
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Sep 4, 2025
2e6829e
Merge remote-tracking branch 'origin/main' into make_undulatorGap_fly…
Relm-Arrowny Sep 5, 2025
656e157
Merge branch 'make_undulatorGap_flyable' of github.com:DiamondLightSo…
Relm-Arrowny Sep 5, 2025
a7ba94d
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Sep 11, 2025
2e04499
Merge remote-tracking branch 'origin/main' into make_undulatorGap_fly…
Relm-Arrowny Oct 1, 2025
a8eb01c
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Oct 1, 2025
12b818e
remove _set_pol_setpoint
Relm-Arrowny Oct 2, 2025
688b339
Merge branch 'make_undulatorGap_flyable' of github.com:DiamondLightSo…
Relm-Arrowny Oct 2, 2025
0f310de
typing
Relm-Arrowny Oct 2, 2025
6d90d03
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Oct 3, 2025
e609eb5
combine apple2vals
Relm-Arrowny Oct 3, 2025
ce7d11b
overriding user_setpoint in motor in order to get the correct behavior.
Relm-Arrowny Oct 3, 2025
6396b90
correct fat finger
Relm-Arrowny Oct 3, 2025
f4873aa
fix typing in test
Relm-Arrowny Oct 3, 2025
a697a13
Merge remote-tracking branch 'origin/main' into make_undulatorGap_fly…
Relm-Arrowny Oct 15, 2025
d68504f
fix lint
Relm-Arrowny Oct 15, 2025
b02769b
change apple2 values to float
Relm-Arrowny Dec 17, 2025
383453f
make gap into unstoppable motor
Relm-Arrowny Dec 17, 2025
73536d9
make phase motor
Relm-Arrowny Dec 17, 2025
dab9008
add test for unstoppable motor
Relm-Arrowny Dec 17, 2025
aa4446a
Merge branch 'main' into 1469-make-undulatorgap-flyable
Relm-Arrowny Dec 17, 2025
59b5611
fix dodal updates
Relm-Arrowny Dec 17, 2025
1c4962a
Merge remote-tracking branch 'origin/1469-make-undulatorgap-flyable' …
Relm-Arrowny Dec 17, 2025
0e7e88a
Better naming
Relm-Arrowny Dec 17, 2025
d61d462
correct docstring
Relm-Arrowny Dec 17, 2025
1aa7b91
correction docstring
Relm-Arrowny Dec 17, 2025
8e84a2b
use partial and add decimal on test parameter instead of casting
Relm-Arrowny Dec 18, 2025
c2ae13f
missed the zeros
Relm-Arrowny Dec 18, 2025
9b78cdc
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Dec 18, 2025
63980f5
change trying to stop into warning
Relm-Arrowny Dec 18, 2025
b2ee265
Merge branch 'make_undulatorGap_flyable' of github.com:DiamondLightSo…
Relm-Arrowny Dec 18, 2025
0f96b82
split code into files
Relm-Arrowny Dec 18, 2025
77605ec
add log and split out polarisation
Relm-Arrowny Dec 18, 2025
456d2d1
rename id_enum to enum to be inline with convention
Relm-Arrowny Dec 18, 2025
bc133a3
missed one
Relm-Arrowny Dec 18, 2025
5731a4f
change id_enum to enum again
Relm-Arrowny Dec 18, 2025
fb0c344
tiddy up enums
Relm-Arrowny Dec 18, 2025
f6f1088
remove fat finger
Relm-Arrowny Dec 18, 2025
8bab774
split controller test out
Relm-Arrowny Dec 19, 2025
fcdeea4
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Dec 19, 2025
6a7f1c4
add stand alone test for energy and polarisation
Relm-Arrowny Jan 5, 2026
718b699
Merge branch 'make_undulatorGap_flyable' of github.com:DiamondLightSo…
Relm-Arrowny Jan 5, 2026
89f00bb
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Jan 5, 2026
bcd5154
update docstring
Relm-Arrowny Jan 5, 2026
0b54d64
Merge branch 'make_undulatorGap_flyable' of github.com:DiamondLightSo…
Relm-Arrowny Jan 5, 2026
aa37011
move fixture to conftest
Relm-Arrowny Jan 5, 2026
6c9346e
fix import to full path
Relm-Arrowny Jan 5, 2026
339c4e4
fix yet an other path
Relm-Arrowny Jan 5, 2026
c9bbabc
Merge branch 'main' into make_undulatorGap_flyable
Relm-Arrowny Jan 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions src/dodal/devices/i10/i10_apple2.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
UndulatorPhaseAxes,
)
from dodal.devices.insertion_device.energy_motor_lookup import EnergyMotorLookup
from dodal.devices.insertion_device.id_enum import Pol
from dodal.devices.insertion_device.enum import Pol

ROW_PHASE_MOTOR_TOLERANCE = 0.004
MAXIMUM_ROW_PHASE_MOTOR_POSITION = 24.0
Expand Down Expand Up @@ -141,12 +141,12 @@ async def _set_linear_arbitrary_angle(self, pol_angle: float) -> None:
def _get_apple2_value(self, gap: float, phase: float, pol: Pol) -> Apple2Val:
phase3 = phase * (-1 if pol == Pol.LA else 1)
return Apple2Val(
gap=f"{gap:.6f}",
gap=gap,
phase=Apple2PhasesVal(
top_outer=f"{phase:.6f}",
top_inner="0.0",
btm_inner=f"{phase3:.6f}",
btm_outer="0.0",
top_outer=phase,
top_inner=0.0,
btm_inner=phase3,
btm_outer=0.0,
),
)

Expand Down
12 changes: 6 additions & 6 deletions src/dodal/devices/i17/i17_apple2.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from dodal.devices.insertion_device.apple2_undulator import (
from dodal.devices.insertion_device import (
Apple2,
Apple2Controller,
Apple2PhasesVal,
Expand Down Expand Up @@ -56,11 +56,11 @@ def __init__(

def _get_apple2_value(self, gap: float, phase: float, pol: Pol) -> Apple2Val:
return Apple2Val(
gap=f"{gap:.6f}",
gap=gap,
phase=Apple2PhasesVal(
top_outer=f"{phase:.6f}",
top_inner=f"{0.0:.6f}",
btm_inner=f"{phase:.6f}",
btm_outer=f"{0.0:.6f}",
top_outer=phase,
top_inner=0.0,
btm_inner=phase,
btm_outer=0.0,
),
)
20 changes: 12 additions & 8 deletions src/dodal/devices/insertion_device/__init__.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,35 @@
from .apple2_undulator import (
DEFAULT_MOTOR_MIN_TIMEOUT,
from .apple2_controller import (
MAXIMUM_MOVE_TIME,
Apple2,
Apple2Controller,
Apple2EnforceLHMoveController,
EnergyMotorConvertor,
)
from .apple2_undulator import (
DEFAULT_MOTOR_MIN_TIMEOUT,
Apple2,
Apple2LockedPhasesVal,
Apple2PhasesVal,
Apple2Val,
BeamEnergy,
EnabledDisabledUpper,
EnergyMotorConvertor,
InsertionDeviceEnergy,
InsertionDevicePolarisation,
UndulatorGap,
UndulatorJawPhase,
UndulatorLockedPhaseAxes,
UndulatorPhaseAxes,
UnstoppableMotor,
)
from .energy import BeamEnergy, InsertionDeviceEnergy, InsertionDeviceEnergyBase
from .energy_motor_lookup import (
ConfigServerEnergyMotorLookup,
EnergyMotorLookup,
)
from .id_enum import Pol, UndulatorGateStatus
from .enum import Pol, UndulatorGateStatus
from .lookup_table_models import (
EnergyCoverage,
LookupTable,
LookupTableColumnConfig,
convert_csv_to_lookup,
)
from .polarisation import InsertionDevicePolarisation

__all__ = [
"Apple2",
Expand Down Expand Up @@ -55,4 +57,6 @@
"EnergyMotorLookup",
"ConfigServerEnergyMotorLookup",
"EnergyMotorConvertor",
"UnstoppableMotor",
"InsertionDeviceEnergyBase",
]
Loading