Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update bluesky (again) #883

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ dependencies = [
"daq-config-server >= 0.1.1",
"ophyd == 1.9.0",
"ophyd-async >= 0.9.0a2",
"bluesky == 1.13",
"dls-dodal @ git+https://github.com/DiamondLightSource/dodal.git@b119d38c70c67925a998f9bcfc09689db9043eaf",
"bluesky >= 1.13",
"dls-dodal @ git+https://github.com/DiamondLightSource/dodal.git@1a58fa6b342218eb04faaf74461e8a71f1573d35",
]


Expand Down
22 changes: 9 additions & 13 deletions src/mx_bluesky/beamlines/i04/thawing_plan.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,17 @@ def thaw_and_stream_to_redis(
oav: OAV = inject("oav"),
oav_to_redis_forwarder: OAVToRedisForwarder = inject("oav_to_redis_forwarder"),
) -> MsgGenerator:
zoom_percentage = yield from bps.rd(oav.zoom_controller.percentage) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
zoom_percentage = yield from bps.rd(oav.zoom_controller.percentage)
sample_id = yield from bps.rd(robot.sample_id)

sample_id = int(sample_id)
zoom_level_before_thawing = yield from bps.rd(oav.zoom_controller.level) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
zoom_level_before_thawing = yield from bps.rd(oav.zoom_controller.level)

yield from bps.mv(oav.zoom_controller.level, "1.0x") # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(oav.zoom_controller.level, "1.0x")

def switch_forwarder_to_ROI() -> MsgGenerator:
yield from bps.complete(oav_to_redis_forwarder, wait=True)
yield from bps.mv(
# See: https://github.com/bluesky/bluesky/issues/1809
oav_to_redis_forwarder.selected_source, # type: ignore
Source.ROI.value, # type: ignore
)
yield from bps.mv(oav_to_redis_forwarder.selected_source, Source.ROI.value)
yield from bps.kickoff(oav_to_redis_forwarder, wait=True)

microns_per_pixel_x = yield from bps.rd(oav.microns_per_pixel_x)
Expand All @@ -59,10 +55,10 @@ def switch_forwarder_to_ROI() -> MsgGenerator:
)
def _thaw_and_stream_to_redis():
yield from bps.mv(
oav_to_redis_forwarder.sample_id, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
sample_id, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
oav_to_redis_forwarder.selected_source, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
Source.FULL_SCREEN.value, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
oav_to_redis_forwarder.sample_id,
sample_id,
oav_to_redis_forwarder.selected_source,
Source.FULL_SCREEN.value,
)

yield from bps.kickoff(oav_to_redis_forwarder, wait=True)
Expand All @@ -74,7 +70,7 @@ def _thaw_and_stream_to_redis():
yield from bps.complete(oav_to_redis_forwarder)

def cleanup():
yield from bps.mv(oav.zoom_controller.level, zoom_level_before_thawing) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(oav.zoom_controller.level, zoom_level_before_thawing)

yield from bpp.contingency_wrapper(
_thaw_and_stream_to_redis(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ def enter_hutch(
detector_stage: DetectorMotion = inject("detector_motion"),
) -> MsgGenerator:
"""Move the detector stage before entering hutch."""
yield from bps.mv(detector_stage.z, SAFE_DET_Z) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(detector_stage.z, SAFE_DET_Z)
SSX_LOGGER.debug("Detector moved.")


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -548,11 +548,11 @@
chip_move = CHIP_MOVES[chip_type]

if place == Fiducials.origin:
yield from bps.mv(pmac.x, 0.0, pmac.y, 0.0) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(pmac.x, 0.0, pmac.y, 0.0)
if place == Fiducials.fid1:
yield from bps.mv(pmac.x, chip_move, pmac.y, 0.0) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(pmac.x, chip_move, pmac.y, 0.0)
if place == Fiducials.fid2:
yield from bps.mv(pmac.x, 0.0, pmac.y, chip_move) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(pmac.x, 0.0, pmac.y, chip_move)

Check warning on line 555 in src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py

View check run for this annotation

Codecov / codecov/patch

src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py#L555

Added line #L555 was not covered by tests


@log_on_entry
Expand Down Expand Up @@ -580,7 +580,7 @@
elif place == "collect_position":
SSX_LOGGER.info("collect position")
caput(pv.me14e_filter, 20)
yield from bps.mv(pmac.x, 0.0, pmac.y, 0.0, pmac.z, 0.0) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(pmac.x, 0.0, pmac.y, 0.0, pmac.z, 0.0)
yield from bps.abs_set(
beamstop.pos_select, BeamstopPositions.DATA_COLLECTION, group=place
)
Expand All @@ -589,7 +589,7 @@

elif place == "microdrop_position":
SSX_LOGGER.info("microdrop align position")
yield from bps.mv(pmac.x, 6.0, pmac.y, -7.8, pmac.z, 0.0) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(pmac.x, 6.0, pmac.y, -7.8, pmac.z, 0.0)


@log_on_entry
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def _get_beam_centre(oav: OAV):

def _calculate_zoom_calibrator(oav: OAV):
"""Set the scale for the zoom calibrator for the pmac moves."""
currentzoom = yield from bps.rd(oav.zoom_controller.percentage) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
currentzoom = yield from bps.rd(oav.zoom_controller.percentage)
zoomcalibrator = 1.547 - (0.03 * currentzoom) + (0.0001634 * currentzoom**2)
return zoomcalibrator

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ def move_detector_stage_to_position_plan(
SSX_LOGGER.debug(
f"Waiting for detector move. Detector distance: {detector_distance} mm."
)
yield from bps.mv(detector_stage.z, detector_distance) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(detector_stage.z, detector_distance)


def set_detector_beam_center_plan(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def get_detector_type(detector_stage: DetectorMotion) -> Generator[Msg, None, De

def _move_detector_stage(detector_stage: DetectorMotion, target: float) -> MsgGenerator:
SSX_LOGGER.info(f"Moving detector stage to target position: {target}.")
yield from bps.mv(detector_stage.y, target) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(detector_stage.y, target)


# Workaround in case the PV value has been set to the detector name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,12 @@ def get_zebra_settings_for_extruder(


def arm_zebra(zebra: Zebra):
yield from bps.abs_set(zebra.pc.arm, ArmDemand.ARM, wait=True) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(zebra.pc.arm, ArmDemand.ARM, wait=True)
SSX_LOGGER.info("Zebra armed.")


def disarm_zebra(zebra: Zebra):
yield from bps.abs_set(zebra.pc.arm, ArmDemand.DISARM, wait=True) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(zebra.pc.arm, ArmDemand.DISARM, wait=True)
SSX_LOGGER.info("Zebra disarmed.")


Expand Down
6 changes: 3 additions & 3 deletions src/mx_bluesky/common/plans/do_fgs.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def _wait_for_zocalo_to_stage_then_do_fgs(
during_collection_plan: Callable[[], MsgGenerator] | None = None,
):
expected_images = yield from bps.rd(grid_scan_device.expected_images)
exposure_sec_per_image = yield from bps.rd(detector.cam.acquire_time) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
exposure_sec_per_image = yield from bps.rd(detector.cam.acquire_time) # type: ignore # Fix types in ophyd-async (https://github.com/DiamondLightSource/mx-bluesky/issues/855)
LOGGER.info("waiting for topup if necessary...")
yield from check_topup_and_wait_if_necessary(
synchrotron,
Expand Down Expand Up @@ -99,8 +99,8 @@ def kickoff_and_complete_gridscan(
}
)
@bpp.contingency_decorator(
except_plan=lambda e: (yield from bps.stop(detector)), # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
else_plan=lambda: (yield from bps.unstage(detector)), # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
except_plan=lambda e: (yield from bps.stop(detector)), # type: ignore # Fix types in ophyd-async (https://github.com/DiamondLightSource/mx-bluesky/issues/855)
else_plan=lambda: (yield from bps.unstage(detector)),
)
def _decorated_do_fgs():
yield from _wait_for_zocalo_to_stage_then_do_fgs(
Expand Down
10 changes: 5 additions & 5 deletions src/mx_bluesky/hyperion/device_setup_plans/setup_oav.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,14 @@ def setup_pin_tip_detection_params(


def setup_general_oav_params(oav: OAV, parameters: OAVParameters):
yield from set_using_group(oav.cam.color_mode, ColorMode.RGB1) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from set_using_group(oav.cam.acquire_period, parameters.acquire_period) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from set_using_group(oav.cam.acquire_time, parameters.exposure) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from set_using_group(oav.cam.gain, parameters.gain) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from set_using_group(oav.cam.color_mode, ColorMode.RGB1)
yield from set_using_group(oav.cam.acquire_period, parameters.acquire_period)
yield from set_using_group(oav.cam.acquire_time, parameters.exposure)
yield from set_using_group(oav.cam.gain, parameters.gain)

zoom_level_str = f"{float(parameters.zoom)}x"
yield from bps.abs_set(
oav.zoom_controller, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
oav.zoom_controller,
zoom_level_str,
wait=True,
)
Expand Down
4 changes: 2 additions & 2 deletions src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def log_and_retry(exception):


def arm_zebra(zebra: Zebra):
yield from bps.abs_set(zebra.pc.arm, ArmDemand.ARM, wait=True) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(zebra.pc.arm, ArmDemand.ARM, wait=True)


def tidy_up_zebra_after_rotation_scan(
Expand All @@ -56,7 +56,7 @@ def tidy_up_zebra_after_rotation_scan(
group="tidy_up_zebra_after_rotation",
wait=True,
):
yield from bps.abs_set(zebra.pc.arm, ArmDemand.DISARM, group=group) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(zebra.pc.arm, ArmDemand.DISARM, group=group)
yield from bps.abs_set(
zebra_shutter.control_mode, ZebraShutterControl.MANUAL, group=group
)
Expand Down
12 changes: 6 additions & 6 deletions src/mx_bluesky/hyperion/device_setup_plans/smargon.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ def move_smargon_warn_on_out_of_range(
"Pin tip centring failed - pin too long/short/bent and out of range"
)
yield from bps.mv(
smargon.x, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
position[0], # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
smargon.y, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
position[1], # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
smargon.z, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
position[2], # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
smargon.x,
position[0],
smargon.y,
position[1],
smargon.z,
position[2],
)
4 changes: 2 additions & 2 deletions src/mx_bluesky/hyperion/device_setup_plans/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def start_preparing_data_collection_then_do_plan(
"""

def wrapped_plan():
yield from bps.abs_set(eiger.do_arm, 1, group=group) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(eiger.do_arm, 1, group=group) # type: ignore # Fix types in ophyd-async (https://github.com/DiamondLightSource/mx-bluesky/issues/855)
if detector_distance_mm:
yield from set_detector_z_position(
detector_motion, detector_distance_mm, group
Expand All @@ -55,5 +55,5 @@ def wrapped_plan():
yield from check_beamstop(beamstop)
yield from bpp.contingency_wrapper(
wrapped_plan(),
except_plan=lambda e: (yield from bps.stop(eiger)), # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
except_plan=lambda e: (yield from bps.stop(eiger)), # type: ignore # Fix types in ophyd-async (https://github.com/DiamondLightSource/mx-bluesky/issues/855)
)
8 changes: 4 additions & 4 deletions src/mx_bluesky/hyperion/device_setup_plans/xbpm_feedback.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ def _check_and_pause_feedback(
turning XBPM feedback off.

"""
yield from bps.mv(attenuator, 1.0) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(attenuator, 1.0)
LOGGER.info("Waiting for XBPM feedback to be stable")
yield from bps.trigger(xbpm_feedback, wait=True)
LOGGER.info(
f"XPBM feedback in position, pausing and setting transmission to {desired_transmission_fraction}"
)
yield from bps.mv(xbpm_feedback.pause_feedback, Pause.PAUSE) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(attenuator, desired_transmission_fraction) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(xbpm_feedback.pause_feedback, Pause.PAUSE)
yield from bps.mv(attenuator, desired_transmission_fraction)


def _unpause_xbpm_feedback_and_set_transmission_to_1(
Expand All @@ -46,7 +46,7 @@ def _unpause_xbpm_feedback_and_set_transmission_to_1(
the beam in position
attenuator (BinaryFilterAttenuator): The attenuator used to set transmission
"""
yield from bps.mv(xbpm_feedback.pause_feedback, Pause.RUN, attenuator, 1.0) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(xbpm_feedback.pause_feedback, Pause.RUN, attenuator, 1.0)


def transmission_and_xbpm_feedback_for_collection_wrapper(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,7 @@ def change_aperture_then_move_to_xtal(
# https://github.com/DiamondLightSource/mx-bluesky/issues/552
if parameters and parameters.FGS_params.set_stub_offsets:
LOGGER.info("Recentring smargon co-ordinate system to this point.")
yield from bps.mv(
# See: https://github.com/bluesky/bluesky/issues/1809
smargon.stub_offsets, # type: ignore
StubPosition.CURRENT_AS_CENTER, # type: ignore
)
yield from bps.mv(smargon.stub_offsets, StubPosition.CURRENT_AS_CENTER)


def set_aperture_for_bbox_mm(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ def run_gridscan_and_fetch_results(
finally:
# Turn off dev/shm streaming to avoid filling disk, see https://github.com/DiamondLightSource/hyperion/issues/1395
LOGGER.info("Turning off Eiger dev/shm streaming")
yield from bps.abs_set(fgs_composite.eiger.odin.fan.dev_shm_enable, 0) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(fgs_composite.eiger.odin.fan.dev_shm_enable, 0) # type: ignore # Fix types in ophyd-async (https://github.com/DiamondLightSource/mx-bluesky/issues/855)

# Wait on everything before returning to GDA (particularly apertures), can be removed
# when we do not return to GDA here
Expand Down Expand Up @@ -300,7 +300,7 @@ def run_gridscan(

LOGGER.info("Waiting for arming to finish")
yield from bps.wait(CONST.WAIT.GRID_READY_FOR_DC)
yield from bps.stage(fgs_composite.eiger) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.stage(fgs_composite.eiger)

yield from kickoff_and_complete_gridscan(
feature_controlled.fgs_motors,
Expand Down Expand Up @@ -444,8 +444,8 @@ def _panda_triggering_setup(
)

yield from bps.mv(
fgs_composite.panda_fast_grid_scan.time_between_x_steps_ms, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
time_between_x_steps_ms, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
fgs_composite.panda_fast_grid_scan.time_between_x_steps_ms,
time_between_x_steps_ms,
)

directory_provider_root = Path(parameters.storage_directory)
Expand Down
20 changes: 10 additions & 10 deletions src/mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ def grid_detection_plan(

# The FGS uses -90 so we need to match it
for angle in [0, -90]:
yield from bps.mv(smargon.omega, angle) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.mv(smargon.omega, angle)
# need to wait for the OAV image to update
# See #673 for improvements
yield from bps.sleep(CONST.HARDWARE.OAV_REFRESH_DELAY)
Expand Down Expand Up @@ -152,20 +152,20 @@ def grid_detection_plan(

upper_left = (tip_x_px, min_y)

yield from bps.abs_set(oav.grid_snapshot.top_left_x, upper_left[0]) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(oav.grid_snapshot.top_left_y, upper_left[1]) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(oav.grid_snapshot.box_width, box_size_x_pixels) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(oav.grid_snapshot.num_boxes_x, x_steps) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(oav.grid_snapshot.num_boxes_y, y_steps) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(oav.grid_snapshot.top_left_x, upper_left[0])
yield from bps.abs_set(oav.grid_snapshot.top_left_y, upper_left[1])
yield from bps.abs_set(oav.grid_snapshot.box_width, box_size_x_pixels)
yield from bps.abs_set(oav.grid_snapshot.num_boxes_x, x_steps)
yield from bps.abs_set(oav.grid_snapshot.num_boxes_y, y_steps)

snapshot_filename = snapshot_template.format(angle=abs(angle))

yield from bps.abs_set(oav.grid_snapshot.filename, snapshot_filename) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(oav.grid_snapshot.directory, snapshot_dir) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.trigger(oav.grid_snapshot, wait=True) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.abs_set(oav.grid_snapshot.filename, snapshot_filename)
yield from bps.abs_set(oav.grid_snapshot.directory, snapshot_dir)
yield from bps.trigger(oav.grid_snapshot, wait=True)
yield from bps.create(CONST.DESCRIPTORS.OAV_GRID_SNAPSHOT_TRIGGERED)

yield from bps.read(oav) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.read(oav)
yield from bps.read(smargon)
yield from bps.save()

Expand Down
8 changes: 4 additions & 4 deletions src/mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def _setup_oav(
):
yield from setup_general_oav_params(composite.oav, oav_parameters)
yield from bps.abs_set(
composite.oav.snapshot.directory, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
composite.oav.snapshot.directory,
str(parameters.snapshot_directory),
)

Expand All @@ -69,12 +69,12 @@ def _take_oav_snapshot(composite: OavSnapshotComposite, omega: float):
time_now = datetime.now()
filename = f"{time_now.strftime('%H%M%S')}_oav_snapshot_{omega:.0f}"
yield from bps.abs_set(
composite.oav.snapshot.filename, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
composite.oav.snapshot.filename,
filename,
group=OAV_SNAPSHOT_SETUP_SHOT,
)
yield from bps.wait(group=OAV_SNAPSHOT_SETUP_SHOT)
yield from bps.trigger(composite.oav.snapshot, wait=True) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.trigger(composite.oav.snapshot, wait=True)
yield from bps.create(DocDescriptorNames.OAV_ROTATION_SNAPSHOT_TRIGGERED)
yield from bps.read(composite.oav.snapshot) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
yield from bps.read(composite.oav.snapshot)
yield from bps.save()
Loading
Loading