Exemple #1
0
    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