Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...