bluesky.plan_stubs.repeat#
- bluesky.plan_stubs.repeat(plan: Callable[[], Generator[Msg, Any, P]], num: int | None = 1, delay: float | Iterable[float] = 0.0) Generator[Msg, Any, Any] [source]#
Repeat a plan num times with delay and checkpoint between each repeat.
This is different from
repeater
andcaching_repeater
in that it addscheckpoint
and optionallysleep
messages if delay is provided. This is intended for users who need the structure ofcount
but do not want to reimplement the control flow.- Parameters:
- plan: callable
Callable that returns an iterable of Msg objects
- numinteger, optional
number of readings to take; default is 1
If None, capture data until canceled
- delayiterable or scalar, optional
time delay between successive readings; default is 0
- Returns:
- anyoutput of original plan
- Yields:
- msgMsg
Notes
If
delay
is an iterable, it must have at leastnum - 1
entries or the plan will raise aValueError
during iteration.