# Lake Shore 331 Temperature Controller

class `pymeasure.instruments.lakeshore.``LakeShore331`(adapter, **kwargs)

  Bases: `pymeasure.instruments.instrument.Instrument`

  Represents the Lake Shore 331 Temperature Controller and provides a high-level interface for interacting with the instrument.

      controller = LakeShore331("GPIB::1")

      print(controller.setpoint_1)        # Print the current setpoint for loop 1
      controller.setpoint_1 = 50          # Change the setpoint to 50 K
      controller.heater_range = 'low'     # Change the heater range to Low
      controller.wait_for_temperature()   # Wait for the temperature to stabilize
      print(controller.temperature_A)     # Print the temperature at sensor A

  `disable_heater`()

    Turns the `heater_range` to `off` to disable the heater.

  `heater_range`

    A string property that controls the heater range, which can take the values: off, low, medium, and high. These values correlate to 0, 0.5, 5 and 50 W respectively.

  `setpoint_1`

    A floating point property that controls the setpoint temperature in Kelvin for Loop 1.

  `setpoint_2`

    A floating point property that controls the setpoint temperature in Kelvin for Loop 2.

  `temperature_A`

    Reads the temperature of the sensor A in Kelvin.

  `temperature_B`

    Reads the temperature of the sensor B in Kelvin.

  `wait_for_temperature`(accuracy=0.1, interval=0.1, sensor='A', setpoint=1, timeout=360, should_stop=<function LakeShore331.<lambda>>)

    Blocks the program, waiting for the temperature to reach the setpoint within the accuracy (%), checking this each interval time in seconds.

    Parameters:

    - accuracy – An acceptable percentage deviation between the setpoint and temperature
    - interval – A time in seconds that controls the refresh rate
    - sensor – The desired sensor to read, either A or B
    - setpoint – The desired setpoint loop to read, either 1 or 2
    - timeout – A timeout in seconds after which an exception is raised
    - should_stop – A function that returns True if waiting should stop, by default this always returns False