...
This wiki describes why and how one subclasses the class Dabsdabs.Devicesinterfaces.Interfaces.LinearStageController. From now on we will refer to this class or an instance of it as (an) "LSC".
...
- It has properties for the current stage position (
.positionAbsolute
,.positionRelative
) and whether the stage is currently moving (.isMoving
). - It performs unit conversion, and can map the stage coordinate system onto an external coordinate system.
- It has methods for nonblocking and blocking stage moves (see below).
- It maintains an origin to enable zeroing (outside of the hardware) the position coordinate system.
- It has properties for device metadata, such as
resolution
,velocity
,positionUnits
, and so on.
Blocking vs nonblocking moves
The LSC interface provides two types of moves: blocking, and nonblocking. When started, a blocking move blocks MATLAB execution until the move is complete. When a nonblocking move is started, control is returned to MATLAB immediately after the move is initiated, so that MATLAB execution can continue. For nonblocking moves, the LSC interface allows a callback to be supplied, which fires when the move is complete.
...