def __init__(self, dm, config, name): self.port = config[ 'port'] - 1 ## windows com ports start at COM1, pyserial ports start at 0 self.baud = config.get('baud', 19200) self.driver = Coherent(self.port, self.baud) self.driverLock = Mutex( QtCore.QMutex.Recursive) ## access to low level driver calls self.coherentLock = Mutex( QtCore.QMutex.Recursive) ## access to self.attributes self.coherentPower = 0 self.coherentWavelength = 0 self.mThread = CoherentThread(self, self.driver, self.driverLock) self.mThread.sigPowerChanged.connect(self.powerChanged) self.mThread.sigWavelengthChanged.connect(self.wavelengthChanged) self.mThread.start() Laser.__init__(self, dm, config, name) self.hasShutter = True self.hasTunableWavelength = True