# Inficon SQM-160 multi-film rate/thickness monitor

class pymeasure.instruments.inficon.sqm160.SQM160(adapter, name='Inficon SQM-160 thickness monitor', baud_rate=19200, **kwargs)

  Bases: `Instrument`

  Inficon SQM-160 multi-film rate/thickness monitor.

  Uses a quartz crystal sensor to measure rate and thickness in a thin film deposition process. Connection to the device is commonly made through a serial connection (RS232) or optionally via USB or Ethernet.

  A command packet always consists of the following:

    - 1 Byte: Sync character (‘!’ appears only at the start of a message).

    - 1 Byte: length character obtained from the message length without CRC.

        A value of 34 is added so that no ‘!’ can occur.

    - Command message with variable length.

    - 2 Byte: Cyclic Redundancy Check (CRC) checksum.

  A response packet always consists of:

    - 1 Byte: Sync character (‘!’ appears only at the start of a message).

    - 1 Byte: length character obtained from the message length without CRC.

        A value of 35 is added.

    - 1 Byte: Response status character indicating the status of the command.

    - Response message with variable length.

    - 2 Byte: Cyclic Redundancy Check (CRC) checksum.

  Parameters:

    - adapter – pyvisa resource name of the instrument or adapter instance

    - name (string) – Name of the instrument.

    - baud_rate (string) – Baud rate used by the serial connection.

    - kwargs – Any valid key-word argument for Instrument

  sensor_1
    Channel:

      `SensorChannel`

  sensor_2
    Channel:

      `SensorChannel`

  sensor_3
    Channel:

      `SensorChannel`

  sensor_4
    Channel:

      `SensorChannel`

  sensor_5
    Channel:

      `SensorChannel`

  sensor_6
    Channel:

      `SensorChannel`

  property all_values

    Get the current rate (Angstrom/s), Thickness (Angstrom), and frequency (Hz) for each sensor

  property average_rate

    Get the current average rate in Angstrom per second

  property average_thickness

    Get the current average thickness in Angstrom

  check_set_errors()

    Check the errors after setting a property.

  property firmware_version

    Get the firmware version.

  property number_of_channels

    Get the number of installed channels

  read()

    Reads a response message from the instrument.

    This method also checks for a correct checksum.

    Returns:

      the response packet

    Return type:

      string

    Raises:

      ConnectionError – if a checksum error is detected or a wrong response status is detected.

  property reset_flag

    Get the power-up reset flag. It is True only when read first after a power cycle.

  reset_system_parameters()

    Reset all film and system parameters.

  reset_thickness_rate()

    Reset the average thickness and rate.

    This also sets all active Sensor Rates and Thicknesses to zero

  reset_time()

    Reset the time of the monitor to zero.

  write(command)

    Write a command to the device.

class pymeasure.instruments.inficon.sqm160.SensorChannel(parent, id)

  Bases: `Channel`

  Sensor channel for individual rate measurements.

  property crystal_life

    Get the crystal life value in percent

  property frequency

    Get the current frequency for a sensor in Hz

  property rate

    Get the current rate for a sensor in Angstrom per second

  property thickness

    Get the current thickness for a sensor in Angstrom