mx-bluesky 1.5.2__py3-none-any.whl → 1.5.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. mx_bluesky/_version.py +16 -3
  2. mx_bluesky/beamlines/aithre_lasershaping/__init__.py +2 -0
  3. mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +17 -0
  4. mx_bluesky/beamlines/i04/__init__.py +7 -3
  5. mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +3 -8
  6. mx_bluesky/beamlines/i04/thawing_plan.py +3 -3
  7. mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +2 -2
  8. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +10 -10
  9. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +1 -1
  10. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +68 -68
  11. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +120 -120
  12. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +135 -135
  13. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +2 -2
  14. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +3 -3
  15. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +24 -24
  16. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +12 -12
  17. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +13 -12
  18. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +10 -10
  19. mx_bluesky/beamlines/i24/serial/parameters/utils.py +1 -1
  20. mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +1 -1
  21. mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +142 -135
  22. mx_bluesky/common/device_setup_plans/manipulate_sample.py +2 -2
  23. mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +2 -2
  24. mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +65 -0
  25. mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +12 -2
  26. mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +2 -2
  27. mx_bluesky/common/external_interaction/alerting/__init__.py +13 -0
  28. mx_bluesky/common/external_interaction/alerting/_service.py +82 -0
  29. mx_bluesky/common/external_interaction/alerting/log_based_service.py +57 -0
  30. mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +35 -17
  31. mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +31 -6
  32. mx_bluesky/common/external_interaction/config_server.py +151 -54
  33. mx_bluesky/common/parameters/constants.py +27 -8
  34. mx_bluesky/common/parameters/gridscan.py +1 -1
  35. mx_bluesky/hyperion/__main__.py +50 -178
  36. mx_bluesky/hyperion/baton_handler.py +130 -69
  37. mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +29 -24
  38. mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +4 -1
  39. mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +17 -5
  40. mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +1 -1
  41. mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +6 -2
  42. mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +2 -3
  43. mx_bluesky/hyperion/external_interaction/agamemnon.py +128 -73
  44. mx_bluesky/hyperion/external_interaction/alerting/__init__.py +0 -0
  45. mx_bluesky/hyperion/external_interaction/alerting/constants.py +12 -0
  46. mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +9 -0
  47. mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +54 -0
  48. mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +2 -2
  49. mx_bluesky/hyperion/external_interaction/config_server.py +12 -31
  50. mx_bluesky/hyperion/parameters/cli.py +15 -3
  51. mx_bluesky/hyperion/parameters/components.py +7 -5
  52. mx_bluesky/hyperion/parameters/constants.py +20 -4
  53. mx_bluesky/hyperion/parameters/gridscan.py +22 -14
  54. mx_bluesky/hyperion/parameters/load_centre_collect.py +1 -14
  55. mx_bluesky/hyperion/parameters/robot_load.py +1 -4
  56. mx_bluesky/hyperion/parameters/rotation.py +1 -2
  57. mx_bluesky/hyperion/plan_runner.py +78 -0
  58. mx_bluesky/hyperion/runner.py +189 -0
  59. {mx_bluesky-1.5.2.dist-info → mx_bluesky-1.5.4.dist-info}/METADATA +4 -3
  60. {mx_bluesky-1.5.2.dist-info → mx_bluesky-1.5.4.dist-info}/RECORD +64 -55
  61. {mx_bluesky-1.5.2.dist-info → mx_bluesky-1.5.4.dist-info}/entry_points.txt +0 -2
  62. {mx_bluesky-1.5.2.dist-info → mx_bluesky-1.5.4.dist-info}/WHEEL +0 -0
  63. {mx_bluesky-1.5.2.dist-info → mx_bluesky-1.5.4.dist-info}/licenses/LICENSE +0 -0
  64. {mx_bluesky-1.5.2.dist-info → mx_bluesky-1.5.4.dist-info}/top_level.txt +0 -0
mx_bluesky/_version.py CHANGED
@@ -1,7 +1,14 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
5
12
 
6
13
  TYPE_CHECKING = False
7
14
  if TYPE_CHECKING:
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
9
16
  from typing import Union
10
17
 
11
18
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
12
20
  else:
13
21
  VERSION_TUPLE = object
22
+ COMMIT_ID = object
14
23
 
15
24
  version: str
16
25
  __version__: str
17
26
  __version_tuple__: VERSION_TUPLE
18
27
  version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
19
30
 
20
- __version__ = version = '1.5.2'
21
- __version_tuple__ = version_tuple = (1, 5, 2)
31
+ __version__ = version = '1.5.4'
32
+ __version_tuple__ = version_tuple = (1, 5, 4)
33
+
34
+ __commit_id__ = commit_id = None
@@ -1,4 +1,5 @@
1
1
  from mx_bluesky.beamlines.aithre_lasershaping.beamline_safe import (
2
+ go_to_zero,
2
3
  set_beamline_safe_on_robot,
3
4
  )
4
5
  from mx_bluesky.beamlines.aithre_lasershaping.check_goniometer_performance import (
@@ -18,4 +19,5 @@ __all__ = [
18
19
  "go_to_furthest_maximum",
19
20
  "rotate_goniometer_relative",
20
21
  "jog_sample",
22
+ "go_to_zero",
21
23
  ]
@@ -34,3 +34,20 @@ def set_beamline_safe_on_robot(
34
34
  else ForceBit.NO.value
35
35
  )
36
36
  yield from bps.abs_set(robot.set_beamline_safe, set_value, wait=True)
37
+
38
+
39
+ def go_to_zero(
40
+ goniometer: Goniometer = inject("goniometer"), group="move_to_zero", wait=True
41
+ ) -> MsgGenerator:
42
+ """
43
+ Rotate the goniometer and set stages to zero in preparation for robot load/unload.
44
+ Pass wait=False to avoid waiting for the move to complete.
45
+ """
46
+ yield from bps.abs_set(goniometer.omega, 0, group=group)
47
+ yield from bps.abs_set(goniometer.x, 0, group=group)
48
+ yield from bps.abs_set(goniometer.y, 0, group=group)
49
+ yield from bps.abs_set(goniometer.z, 0, group=group)
50
+ yield from bps.abs_set(goniometer.sampy, 0, group=group)
51
+ yield from bps.abs_set(goniometer.sampz, 0, group=group)
52
+ if wait:
53
+ yield from bps.wait(group=group)
@@ -1,6 +1,10 @@
1
- from mx_bluesky.beamlines.i04.experiment_plans import (
2
- i04_grid_detect_then_xray_centre_plan,
1
+ from mx_bluesky.beamlines.i04.experiment_plans.i04_grid_detect_then_xray_centre_plan import (
2
+ i04_grid_detect_then_xray_centre,
3
3
  )
4
4
  from mx_bluesky.beamlines.i04.thawing_plan import thaw, thaw_and_stream_to_redis
5
5
 
6
- __all__ = ["thaw", "thaw_and_stream_to_redis", "i04_grid_detect_then_xray_centre_plan"]
6
+ __all__ = [
7
+ "thaw",
8
+ "thaw_and_stream_to_redis",
9
+ "i04_grid_detect_then_xray_centre",
10
+ ]
@@ -4,7 +4,6 @@ from functools import partial
4
4
 
5
5
  import bluesky.plan_stubs as bps
6
6
  import bluesky.preprocessors as bpp
7
- from blueapi.core import BlueskyContext
8
7
  from bluesky.utils import MsgGenerator
9
8
  from dodal.common import inject
10
9
  from dodal.devices.aperturescatterguard import ApertureScatterguard
@@ -66,19 +65,13 @@ from mx_bluesky.common.parameters.gridscan import GridCommon, SpecifiedThreeDGri
66
65
  from mx_bluesky.common.preprocessors.preprocessors import (
67
66
  transmission_and_xbpm_feedback_for_collection_decorator,
68
67
  )
69
- from mx_bluesky.common.utils.context import device_composite_from_context
68
+ from mx_bluesky.common.utils.log import LOGGER
70
69
  from mx_bluesky.phase1_zebra.device_setup_plans.setup_zebra import (
71
70
  setup_zebra_for_gridscan,
72
71
  tidy_up_zebra_after_gridscan,
73
72
  )
74
73
 
75
74
 
76
- def create_devices(
77
- context: BlueskyContext,
78
- ) -> GridDetectThenXRayCentreComposite:
79
- return device_composite_from_context(context, GridDetectThenXRayCentreComposite)
80
-
81
-
82
75
  # See https://github.com/DiamondLightSource/blueapi/issues/506 for using device composites
83
76
  def i04_grid_detect_then_xray_centre(
84
77
  parameters: GridCommon,
@@ -184,9 +177,11 @@ def get_ready_for_oav_and_close_shutter(
184
177
  ):
185
178
  yield from bps.wait(PlanGroupCheckpointConstants.GRID_READY_FOR_DC)
186
179
  group = "get_ready_for_oav_and_close_shutter"
180
+ LOGGER.info("Non-udc tidy: Seting up beamline for OAV")
187
181
  yield from setup_beamline_for_OAV(
188
182
  smargon, backlight, aperture_scatterguard, group=group
189
183
  )
184
+ LOGGER.info("Non-udc tidy: Closing detector shutter")
190
185
  yield from bps.abs_set(
191
186
  detector_motion.shutter,
192
187
  0,
@@ -10,7 +10,7 @@ from dodal.devices.oav.oav_detector import OAV
10
10
  from dodal.devices.oav.oav_to_redis_forwarder import OAVToRedisForwarder, Source
11
11
  from dodal.devices.robot import BartRobot
12
12
  from dodal.devices.smargon import Smargon
13
- from dodal.devices.thawer import Thawer, ThawerStates
13
+ from dodal.devices.thawer import OnOff, Thawer
14
14
 
15
15
  from mx_bluesky.beamlines.i04.callbacks.murko_callback import MurkoCallback
16
16
 
@@ -117,7 +117,7 @@ def _thaw(
117
117
 
118
118
  def do_thaw():
119
119
  yield from bps.abs_set(smargon.omega.velocity, new_velocity, wait=True)
120
- yield from bps.abs_set(thawer.control, ThawerStates.ON, wait=True)
120
+ yield from bps.abs_set(thawer.control, OnOff.ON, wait=True)
121
121
  yield from bps.rel_set(smargon.omega, rotation, wait=True)
122
122
  if plan_between_rotations:
123
123
  yield from plan_between_rotations()
@@ -125,7 +125,7 @@ def _thaw(
125
125
 
126
126
  def cleanup():
127
127
  yield from bps.abs_set(smargon.omega.velocity, inital_velocity, wait=True)
128
- yield from bps.abs_set(thawer.control, ThawerStates.OFF, wait=True)
128
+ yield from bps.abs_set(thawer.control, OnOff.OFF, wait=True)
129
129
 
130
130
  # Always cleanup even if there is a failure
131
131
  yield from bpp.contingency_wrapper(
@@ -7,11 +7,11 @@ env:
7
7
  events:
8
8
  broadcast_status_events: false
9
9
  api:
10
- port: 25565
10
+ url: http://localhost:25565
11
11
  cors:
12
12
  allow_credentials: True
13
13
  origins:
14
14
  - "*"
15
15
  stomp:
16
16
  enabled: true
17
- host: i24-control.diamond.ac.uk
17
+ url: http://i24-control.diamond.ac.uk:61613
@@ -89,7 +89,7 @@ x 143
89
89
  y 82
90
90
  w 110
91
91
  h 30
92
- controlPv "ME14E-MO-IOC-01:GP6"
92
+ controlPv "BL24I-MO-IOC-01:GP6"
93
93
  font "arial-medium-r-18.0"
94
94
  fontAlign "right"
95
95
  fgColor index 25
@@ -180,7 +180,7 @@ x 144
180
180
  y 126
181
181
  w 110
182
182
  h 30
183
- controlPv "ME14E-MO-IOC-01:GP7"
183
+ controlPv "BL24I-MO-IOC-01:GP7"
184
184
  font "arial-medium-r-18.0"
185
185
  fontAlign "right"
186
186
  fgColor index 25
@@ -464,7 +464,7 @@ x 145
464
464
  y 171
465
465
  w 110
466
466
  h 30
467
- controlPv "ME14E-MO-IOC-01:GP8"
467
+ controlPv "BL24I-MO-IOC-01:GP8"
468
468
  font "arial-medium-r-18.0"
469
469
  fontAlign "right"
470
470
  fgColor index 25
@@ -580,7 +580,7 @@ h 144
580
580
  lineColor index 7
581
581
  fill
582
582
  fillColor index 7
583
- visPv "ME14E-MO-IOC-01:GP1"
583
+ visPv "BL24I-MO-IOC-01:GP1"
584
584
  visMin "0"
585
585
  visMax "2"
586
586
  endObjectProperties
@@ -598,7 +598,7 @@ h 143
598
598
  lineColor index 7
599
599
  fill
600
600
  fillColor index 7
601
- visPv "ME14E-MO-IOC-01:GP1"
601
+ visPv "BL24I-MO-IOC-01:GP1"
602
602
  visMin "0"
603
603
  visMax "2"
604
604
  endObjectProperties
@@ -618,7 +618,7 @@ fontAlign "center"
618
618
  fgColor index 14
619
619
  bgColor index 0
620
620
  useDisplayBg
621
- visPv "ME14E-MO-IOC-01:GP1"
621
+ visPv "BL24I-MO-IOC-01:GP1"
622
622
  visMin "0"
623
623
  visMax "2"
624
624
  value {
@@ -648,7 +648,7 @@ botShadowColor index 11
648
648
  font "arial-medium-r-18.0"
649
649
  numCmds 1
650
650
  command {
651
- 0 "caput ME14E-MO-CHIP-01:PMAC_STRING \\#1hmz\\#2hmz\\#3hmz"
651
+ 0 "caput BL24I-EA-CHIP-01:PMAC_STRING \\#5hmz\\#6hmz\\#7hmz"
652
652
  }
653
653
  endObjectProperties
654
654
 
@@ -728,7 +728,7 @@ h 143
728
728
  lineColor index 7
729
729
  fill
730
730
  fillColor index 7
731
- visPv "ME14E-MO-IOC-01:GP1"
731
+ visPv "BL24I-MO-IOC-01:GP1"
732
732
  visMin "0"
733
733
  visMax "2"
734
734
  endObjectProperties
@@ -748,7 +748,7 @@ fontAlign "center"
748
748
  fgColor index 14
749
749
  bgColor index 0
750
750
  useDisplayBg
751
- visPv "ME14E-MO-IOC-01:GP1"
751
+ visPv "BL24I-MO-IOC-01:GP1"
752
752
  visMin "0"
753
753
  visMax "2"
754
754
  value {
@@ -792,7 +792,7 @@ x 146
792
792
  y 209
793
793
  w 110
794
794
  h 25
795
- controlPv "ME14E-MO-IOC-01:GP99"
795
+ controlPv "BL24I-MO-IOC-01:GP99"
796
796
  font "arial-medium-r-18.0"
797
797
  fontAlign "right"
798
798
  fgColor index 25
@@ -78,7 +78,7 @@ fgColour index 14
78
78
  bgColour index 4
79
79
  topShadowColour index 1
80
80
  botShadowColour index 8
81
- controlPv "ME14E-MO-IOC-01:GP101"
81
+ controlPv "BL24I-MO-IOC-01:GP101"
82
82
  font "arial-medium-r-18.0"
83
83
  numItems 2
84
84
  symbolTag {