Source code for socs.Lakeshore.Lakeshore425

import time

import serial

operational_status_key = [
    'No probe',
    'Field overload',
    'New field reading',
    'Alarm',
    'Invalid probe',
    'None',
    'Calibration error',
    'Zero probe done'
]


[docs] class LakeShore425: def __init__(self, COM): self.port = serial.Serial( COM, baudrate=57600, bytesize=serial.SEVENBITS, parity=serial.PARITY_ODD, stopbits=serial.STOPBITS_ONE, timeout=5, xonxoff=False, rtscts=False, write_timeout=None, dsrdtr=False, inter_byte_timeout=None )
[docs] def close(self): self.port.close()
[docs] def command(self, command): tmp = command + "\r\n" self.port.write(tmp.encode('utf-8')) time.sleep(.1)
[docs] def query(self, command): self.command(command) return self.port.readline().strip().decode('utf-8')
# Commands/Queries
[docs] def get_id(self): return self.query("*IDN?")
[docs] def get_op_status(self): val = int(self.query("OPST?")) out = 'Operational Status: ' for i in range(8): if (val >> i & 1): out += operational_status_key[i] out += ', ' return out
[docs] def get_field(self): return float(self.query("RDGFIELD?"))
[docs] def set_zero(self): self.command("ZCLEAR") self.command("ZPROBE")