Skip to content

Commit ba7f9ce

Browse files
Restructured insertion device logic ready for daq-config-server (#1746)
* Restructured insertion device code base * Reused logic between tests * Rename get_poly arg to be lut * Added additional tests for energy_motor_lookup and lookup_table_models * Created common util functions for tests * Fix tests * Added test for ConfigServerEnergyMotorLookup * Remove content from insetion device __init__ as not used * Removed comment * Correct import * Correct doc strings * Move model methods onto the class * Improved test_lookup_table_generate * Further streamlined test_lookup_table_generate * Reorded tests * More test improvements * Correct LookupTable.generate doc string * Add type checking to validate_and_convert_poly
1 parent 2cdee61 commit ba7f9ce

File tree

24 files changed

+504
-398
lines changed

24 files changed

+504
-398
lines changed

src/dodal/beamlines/i05.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
device_factory,
44
)
55
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
6-
from dodal.devices.apple2_undulator import (
6+
from dodal.devices.insertion_device.apple2_undulator import (
77
Apple2,
88
UndulatorGap,
99
UndulatorLockedPhaseAxes,

src/dodal/beamlines/i06.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
device_factory,
33
)
44
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
5-
from dodal.devices.apple2_undulator import (
5+
from dodal.devices.insertion_device.apple2_undulator import (
66
Apple2,
77
UndulatorGap,
88
UndulatorLockedPhaseAxes,

src/dodal/beamlines/i09_2.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,26 @@
66
device_factory,
77
)
88
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
9-
from dodal.devices.apple2_undulator import (
9+
from dodal.devices.i09.enums import Grating
10+
from dodal.devices.i09_2_shared.i09_apple2 import (
11+
J09_GAP_POLY_DEG_COLUMNS,
12+
J09_PHASE_POLY_DEG_COLUMNS,
13+
J09Apple2Controller,
14+
)
15+
from dodal.devices.insertion_device.apple2_undulator import (
1016
Apple2,
1117
BeamEnergy,
1218
InsertionDeviceEnergy,
1319
InsertionDevicePolarisation,
1420
UndulatorGap,
1521
UndulatorPhaseAxes,
1622
)
17-
from dodal.devices.i09.enums import Grating
18-
from dodal.devices.i09_2_shared.i09_apple2 import (
19-
J09_GAP_POLY_DEG_COLUMNS,
20-
J09_PHASE_POLY_DEG_COLUMNS,
21-
J09Apple2Controller,
23+
from dodal.devices.insertion_device.energy_motor_lookup import (
24+
ConfigServerEnergyMotorLookup,
2225
)
26+
from dodal.devices.insertion_device.lookup_table_models import LookupTableConfig
2327
from dodal.devices.pgm import PlaneGratingMonochromator
2428
from dodal.devices.synchrotron import Synchrotron
25-
from dodal.devices.util.lookup_tables_apple2 import (
26-
ConfigServerEnergyMotorLookup,
27-
LookupTableConfig,
28-
)
2929
from dodal.log import set_beamline as set_log_beamline
3030
from dodal.utils import BeamlinePrefix, get_beamline_name
3131

src/dodal/beamlines/i10_optics.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,6 @@
1212

1313
from dodal.common.beamlines.beamline_utils import device_factory
1414
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
15-
from dodal.devices.apple2_undulator import (
16-
BeamEnergy,
17-
InsertionDeviceEnergy,
18-
InsertionDevicePolarisation,
19-
UndulatorGap,
20-
UndulatorJawPhase,
21-
UndulatorPhaseAxes,
22-
)
2315
from dodal.devices.i10 import (
2416
I10SharedDiagnostic,
2517
I10SharedSlits,
@@ -34,14 +26,24 @@
3426

3527
# Imports taken from i10 while we work out how to deal with split end stations
3628
from dodal.devices.i10.i10_setting_data import I10Grating
37-
from dodal.devices.pgm import PlaneGratingMonochromator
38-
from dodal.devices.synchrotron import Synchrotron
39-
from dodal.devices.util.lookup_tables_apple2 import (
29+
from dodal.devices.insertion_device.apple2_undulator import (
30+
BeamEnergy,
31+
InsertionDeviceEnergy,
32+
InsertionDevicePolarisation,
33+
UndulatorGap,
34+
UndulatorJawPhase,
35+
UndulatorPhaseAxes,
36+
)
37+
from dodal.devices.insertion_device.energy_motor_lookup import (
38+
ConfigServerEnergyMotorLookup,
39+
)
40+
from dodal.devices.insertion_device.lookup_table_models import (
4041
DEFAULT_GAP_FILE,
4142
DEFAULT_PHASE_FILE,
42-
ConfigServerEnergyMotorLookup,
4343
LookupTableConfig,
4444
)
45+
from dodal.devices.pgm import PlaneGratingMonochromator
46+
from dodal.devices.synchrotron import Synchrotron
4547
from dodal.log import set_beamline as set_log_beamline
4648
from dodal.utils import BeamlinePrefix, get_beamline_name
4749

src/dodal/beamlines/i17.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
device_factory,
88
)
99
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
10-
from dodal.devices.apple2_undulator import (
10+
from dodal.devices.i17.i17_apple2 import I17Apple2Controller
11+
from dodal.devices.insertion_device.apple2_undulator import (
1112
Apple2,
1213
Apple2Controller,
1314
BeamEnergy,
@@ -16,13 +17,10 @@
1617
UndulatorGap,
1718
UndulatorPhaseAxes,
1819
)
19-
from dodal.devices.i17.i17_apple2 import I17Apple2Controller
20+
from dodal.devices.insertion_device.energy_motor_lookup import EnergyMotorLookup
21+
from dodal.devices.insertion_device.lookup_table_models import LookupTable
2022
from dodal.devices.pgm import PlaneGratingMonochromator
2123
from dodal.devices.synchrotron import Synchrotron
22-
from dodal.devices.util.lookup_tables_apple2 import (
23-
EnergyMotorLookup,
24-
LookupTable,
25-
)
2624
from dodal.log import set_beamline as set_log_beamline
2725
from dodal.utils import BeamlinePrefix, get_beamline_name
2826

src/dodal/beamlines/i21.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
device_factory,
33
)
44
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
5-
from dodal.devices.apple2_undulator import (
5+
from dodal.devices.i21 import Grating
6+
from dodal.devices.insertion_device.apple2_undulator import (
67
Apple2,
78
UndulatorGap,
89
UndulatorPhaseAxes,
910
)
10-
from dodal.devices.i21 import Grating
1111
from dodal.devices.pgm import PlaneGratingMonochromator
1212
from dodal.devices.synchrotron import Synchrotron
1313
from dodal.log import set_beamline as set_log_beamline

src/dodal/devices/i09_2_shared/i09_apple2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from dodal.devices.apple2_undulator import (
1+
from dodal.devices.insertion_device.apple2_undulator import (
22
MAXIMUM_MOVE_TIME,
33
Apple2,
44
Apple2Controller,
@@ -7,7 +7,7 @@
77
Pol,
88
UndulatorPhaseAxes,
99
)
10-
from dodal.devices.util.lookup_tables_apple2 import EnergyMotorLookup
10+
from dodal.devices.insertion_device.energy_motor_lookup import EnergyMotorLookup
1111

1212
J09_GAP_POLY_DEG_COLUMNS = [
1313
"9th-order",

src/dodal/devices/i10/i10_apple2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
soft_signal_rw,
1212
)
1313

14-
from dodal.devices.apple2_undulator import (
14+
from dodal.devices.insertion_device.apple2_undulator import (
1515
MAXIMUM_MOVE_TIME,
1616
Apple2,
1717
Apple2Controller,
@@ -22,7 +22,7 @@
2222
UndulatorJawPhase,
2323
UndulatorPhaseAxes,
2424
)
25-
from dodal.devices.util.lookup_tables_apple2 import EnergyMotorLookup
25+
from dodal.devices.insertion_device.energy_motor_lookup import EnergyMotorLookup
2626

2727
ROW_PHASE_MOTOR_TOLERANCE = 0.004
2828
MAXIMUM_ROW_PHASE_MOTOR_POSITION = 24.0

src/dodal/devices/i17/i17_apple2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
from dodal.devices.apple2_undulator import (
1+
from dodal.devices.insertion_device.apple2_undulator import (
22
Apple2,
33
Apple2Controller,
44
Apple2PhasesVal,
55
Apple2Val,
66
Pol,
77
UndulatorPhaseAxes,
88
)
9-
from dodal.devices.util.lookup_tables_apple2 import EnergyMotorLookup
9+
from dodal.devices.insertion_device.energy_motor_lookup import EnergyMotorLookup
1010

1111
ROW_PHASE_MOTOR_TOLERANCE = 0.004
1212
MAXIMUM_ROW_PHASE_MOTOR_POSITION = 24.0

src/dodal/devices/insertion_device/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)