New Scale MPM

class acq4.devices.NewScaleMPM.NewScaleMPM(man, config: dict, name)[source]

Bases: Stage

Driver for New Scale Technologies MPM (Micro Positioning Module) devices.

These are compact 3-axis piezoelectric positioning stages with network control.

Configuration options:

  • ipAddress (str, required): IP address of the MPM device (e.g., ‘192.168.1.100’)

  • scale (tuple, optional): (x, y, z) scale factors in m/step (default from Stage base class)

  • capabilities (dict, optional): Override device capabilities
    • getPos: (x, y, z) tuple of booleans for position reading capability

    • setPos: (x, y, z) tuple of booleans for position setting capability

    • limits: (x, y, z) tuple of booleans for limit support

  • parentDevice (str, optional): Name of parent device for coordinate transforms

  • transform (dict, optional): Spatial transform relative to parent device

Example configuration:

NewScaleMPM1:
    driver: 'NewScaleMPM'
    ipAddress: '192.168.1.100'
    scale: [1e-9, 1e-9, 1e-9]
axes()[source]

Return a tuple of axis names implemented by this device, like (‘x’, ‘y’, ‘z’).

The axes described in the above data structure correspond to the mechanical actuators on the device; they do not necessarily correspond to the axes in the global coordinate system or the local coordinate system of the device.

This method must be reimplemented by subclasses.

capabilities()[source]

Return a structure describing the capabilities of this device

devices = {}
monitor()[source]
property positionUpdatesPerSecond

Return the rate at which the device reports position updates.

quit()[source]
stop()[source]

Stop the manipulator immediately.