# Attocube ANC300 Motion Controller

class pymeasure.instruments.attocube.anc300.ANC300Controller(adapter=None, name='attocube ANC300 Piezo Controller', axisnames='', passwd='', query_delay=0.05, **kwargs)

  Bases: `Instrument`

  Attocube ANC300 Piezo stage controller with several axes

  Parameters:

    - adapter – The VISA resource name of the controller (e.g. “TCPIP::<address>::<port>::SOCKET”) or a created Adapter. The instruments default communication port is 7230.

    - axisnames – a list of axis names which will be used to create properties with these names

    - passwd – password for the attocube standard console

    - query_delay – default delay between sending and reading in s (default 0.05)

    - host –

      host address of the instrument (e.g. 169.254.0.1)

      Deprecated since version 0.11.2: The ‘host’ argument is deprecated. Use ‘adapter’ argument instead.

    - kwargs – Any valid key-word argument for VISAAdapter

  check_set_errors()

    Check for errors after having set a property and log them.

    Called if `check_set_errors=True` is set for that property.

    Returns:

      List of error entries.

  property controllerBoardVersion

    Get the serial number of the controller board.

  ground_all()

    Grounds all axis of the controller.

  handle_deprecated_host_arg(adapter, kwargs)

    This function formats user input to the __init__ function to be compatible with the current definition of the __init__ function. This is used to support outdated (deprecated) code. and separated out to make it easier to remove in the future. To whoever removes this: This function should be removed and the adapter argument in the __init__ method should be made non-optional.

    Parameters:

      kwargs (dict) – keyword arguments passed to the __init__ function, including the deprecated host argument.

    Return str:

      resource string for the VISAAdapter

  read()

    Read after setting a value.

  stop_all()

    Stop all movements of the axis.

  property version

    Get the version number and instrument identification.

  wait_for(query_delay=None)

    Wait for some time. Used by ‘ask’ to wait before reading.

    Parameters:

      query_delay – Delay between writing and reading in seconds. None means `query_delay`.

class pymeasure.instruments.attocube.anc300.Axis(parent, id)

  Bases: `Channel`

  Represents a single open loop axis of the Attocube ANC350

  Parameters:

    - axis – axis identifier, integer from 1 to 7

    - controller – ANC300Controller instance used for the communication

  property capacity

    Measure the saved capacity value in nF of the axis.

  property frequency

    Control the frequency of the stepping motion in Hertz from 1 to 10000 Hz.

  insert_id(command)

    Insert the channel id in a command replacing placeholder.

    Add axis id to a command string at the correct position after the initial command, but before a potential value.

  measure_capacity()

    Obtains a new measurement of the capacity. The mode of the axis returns to ‘gnd’ after the measurement.

    Returns capacity:

      the freshly measured capacity in nF.

  property mode

    Control axis mode. This can be ‘gnd’, ‘inp’, ‘cap’, ‘stp’, ‘off’, ‘stp+’, ‘stp-’. Available modes depend on the actual axis model.

  move(steps, gnd=True)

    Move ‘steps’ steps in the direction given by the sign of the argument. This method will change the mode of the axis automatically and ground the axis on the end if ‘gnd’ is True. The method is blocking and returns only when the movement is finished.

    Parameters:

      - steps – finite integer value of steps to be performed. A positive sign corresponds to upwards steps, a negative sign to downwards steps.

      - gnd – bool, flag to decide if the axis should be grounded after completion of the movement

  move_raw(steps)

    Move ‘steps’ steps in the direction given by the sign of the argument. This method assumes the mode of the axis is set to ‘stp’ and it is non-blocking, i.e. it will return immediately after sending the command.

    Parameters:

      steps – integer value of steps to be performed. A positive sign corresponds to upwards steps, a negative sign to downwards steps. The values of +/-inf trigger a continuous movement. The axis can be halted by the stop method.

  property offset_voltage

    Control offset voltage in Volts from 0 to 150 V.

  property output_voltage

    Measure the output voltage in volts.

  property pattern_down

    Control step down pattern of the piezo drive. 256 values ranging from 0 to 255 representing the sequence of output voltages within one step of the piezo drive. This property can be set, the set value needs to be an array with 256 integer values.

  property pattern_up

    Control step up pattern of the piezo drive. 256 values ranging from 0 to 255 representing the sequence of output voltages within one step of the piezo drive. This property can be set, the set value needs to be an array with 256 integer values.

  property serial_nr

    Get the serial number of the axis.

  property stepd

    Set the steps downwards for N steps. Mode must be ‘stp’ and N must be positive. 0 causes a continuous movement until stop is called.

    Deprecated since version 0.13.0: Use meth:move_raw instead.

  property stepu

    Set the steps upwards for N steps. Mode must be ‘stp’ and N must be positive. 0 causes a continuous movement until stop is called.

    Deprecated since version 0.13.0: Use meth:move_raw instead.

  stop()

    Stop any motion of the axis

  property voltage

    Control the amplitude of the stepping voltage in volts from 0 to 150 V.