ophyd_async.epics.pmac#
Package Contents#
Classes#
A Device that (direct) moves a PMAC Coordinate System Motor. |
|
A Device that represents a Pmac Coordinate System. |
|
Device that represents a pmac controller. |
|
Device that moves a PMAC Motor record. |
|
Minimum logic needed for controlling a |
|
API#
- class ophyd_async.epics.pmac.PmacAxisAssignmentIO(prefix: str, name: str = '')[source]#
Bases:
ophyd_async.core.DeviceA Device that (direct) moves a PMAC Coordinate System Motor.
Note that this does not go through a motor record. This mirrors the interface provided by pmac/Db/motor_in_cs.template
- class ophyd_async.epics.pmac.PmacCoordIO(prefix: str, name: str = '')[source]#
Bases:
ophyd_async.core.DeviceA Device that represents a Pmac Coordinate System.
This mirrors the interfaces provided by pmac/Db/pmacCsController.template, and pmac/Db/pmacDirectMotor.template
- class ophyd_async.epics.pmac.PmacIO(prefix: str, raw_motors: Sequence[Motor], coord_nums: Sequence[int], name: str = '')[source]#
Bases:
ophyd_async.core.DeviceDevice that represents a pmac controller.
This mirrors the interface provided by pmac/Db/pmacController.template
- class ophyd_async.epics.pmac.PmacTrajectoryIO(prefix: str, name: str = '')[source]#
Bases:
ophyd_async.core.StandardReadableDevice that moves a PMAC Motor record.
This mirrors the interface provided by pmac/Db/pmacControllerTrajectory.template
- class ophyd_async.epics.pmac.PmacTrajectoryFlyableLogic(pmac: PmacIO)[source]#
Bases:
ophyd_async.core.FlyableLogic[ophyd_async.epics.pmac._pmac_trajectory.PmacScanInfo,ophyd_async.epics.pmac._pmac_trajectory.PmacFlyCtx]Minimum logic needed for controlling a
StandardFlyable.Inherit and fill in the hooks for a particular flyable (e.g. a motion or trigger system). This base holds no state; concrete subclasses are typically
@dataclasses that hold whatever signals or sub-devices they need as fields.State that must be carried between stages is threaded through an explicit context object rather than stored on the logic:
on_preparereturns it,on_kickoffreceives and returns it, andon_completereceives it.StandardFlyableowns that context and enforces the call ordering, so subclasses do not need to guard against being called out of order. A flyer with no cross-stage state usesNonefor the context (see the PandA trigger logics).- async on_prepare(value: PmacScanInfo) PmacFlyCtx[source]#
Move to the start of the fly scan, set it up, and return its context.
- Parameters:
value – the per-scan info for this fly scan.
- async on_kickoff(ctx: PmacFlyCtx) PmacFlyCtx[source]#
Start the fly scan.
- Parameters:
ctx – the context returned by
on_prepare.
Return the (possibly updated) context to be passed to
on_complete.
- async on_complete(ctx: PmacFlyCtx) None[source]#
Block until the fly scan is done.
- Parameters:
ctx – the context returned by
on_kickoff.