def init(self): moveToLoadingPositionCmd = self.addCommand({ 'type': 'spec', 'name': '_moveToLoadingPosition' }, "SCMoveToLoadingPos") moveToUnloadingPositionCmd = self.addCommand({'type': 'spec', 'name': '_moveToUnloadingPosition'}, "SCMoveToUnloadingPos") unlockMinidiffMotorsCmd = self.addCommand({ 'type': 'spec', 'name': 'unlockMinidiffMotors'}, "SCMinidiffGetControl") unlockMinidiffMotorsCleanupCmd = self.addCommand({ 'type': 'spec', 'name': 'unlockMinidiffMotorsCleanup'}, "SCMinidiffGetControl") prepareCentringCmd = self.addCommand({ 'type': 'spec', 'name': 'prepareCentring'}, "minidiff_prepare_centring") abortCmd = self.addCommand({ 'type': 'tango', 'name': 'abort' }, "Abort") holderLengthCmd = self.addCommand( { 'type': 'tango', 'name': 'holderlength' }, "GetSampleHolderLength") isScanBasketForDataMatrixDoneCmd = self.addCommand({ 'type': 'tango', 'name':'isScanBasketForDataMatrixDone' }, "isScanBasketForDataMatrixDone") getInformationAsXmlCmd = self.addCommand({ 'type': 'tango', 'name': 'getInformationAsXml' }, 'GetInformationAsXml') statusChan = self.addChannel({ 'type': 'tango', 'name': 'status', 'polling':1000 }, "Status") stateChan = self.addChannel({ 'type': 'tango', 'name': 'state', 'polling':1000 }, "State") selectedBasketChan = self.addChannel({ 'type': 'tango', 'name':'selectedBasket', 'polling':1000 }, "SelectedBasketLocation") selectedSampleChan = self.addChannel({ 'type': 'tango', 'name': 'selectedSample', 'polling':1000 }, "SelectedSampleLocation") selectedBasketDataMatrixChan = self.addChannel({ 'type': 'tango', 'name': 'selectedBasketDataMatrix', 'polling':1000 }, "SelectedBasketDataMatrix") sampleIsLoadedChan = self.addChannel({"type":"tango", "name":"sampleIsLoaded", "polling":500 }, "SampleIsLoaded") basketTransferChan = self.addChannel({"type":"tango", "name":"transferMode", "polling":1000 }, "BasketTransferMode") self.addCommand({'type':'tango', 'name':'resetBasketInformation' }, "ResetBasketInformation") self.addCommand({"type":"tango", "name":"switchTransferMode"}, "SetBasketTransferMode") operationalChan = self.addChannel( { 'type': 'spec', 'name': 'OperationalFlags' }, "SC_MD_FLAGS") for cmd in self.getCommands(): cmd.connectSignal("commandFailed", self.__commandFailed) cmd.connectSignal("commandAborted", self.__commandAborted) if self.getProperty('specversion') is None: logging.getLogger("HWR").error("%s: you must specify a spec version" % self.name()) else: operationalChan.connectSignal("update", self.operationalFlagsChanged) try: self.operationalFlagsChanged(operationalChan.getValue()) except: logging.getLogger("HWR").exception("%s: error getting SC vs MD operational flags" % self.name()) self.specConnection=SpecConnectionsManager.SpecConnectionsManager().getConnection(self.specversion) SpecEventsDispatcher.connect(self.specConnection, 'connected', self.specConnected) SpecEventsDispatcher.connect(self.specConnection, 'disconnected', self.specDisconnected) statusChan.connectSignal("update", self.sampleChangerStatusChanged) stateChan.connectSignal("update", self.sampleChangerStateChanged) selectedSampleChan.connectSignal("update", self.selectedSampleChanged) selectedBasketChan.connectSignal("update", self.selectedBasketChanged) selectedBasketDataMatrixChan.connectSignal("update", self.selectedBasketDataMatrixChanged) basketTransferChan.connectSignal("update", self.basketTransferModeChanged) sampleIsLoadedChan.connectSignal("update", self.sampleLoadStateChanged) try: self.isSpecConnected=unlockMinidiffMotorsCmd.isSpecConnected() except: self.isSpecConnected=False try: self.microdiff except AttributeError: self.prepareCentringAfterLoad=True else: self.prepareCentringAfterLoad=False
def setSpecVersion(self, specVersion): scanCmd = self.getCommandObject('start') scanCmd.setSpecVersion(specVersion) if specVersion is not None: self.specConnection = SpecConnectionsManager.SpecConnectionsManager().getConnection(specVersion) if self.specConnection is not None: SpecEventsDispatcher.connect(self.specConnection, 'connected', self.connected) SpecEventsDispatcher.connect(self.specConnection, 'disconnected', self.disconnected) if self.specConnection.isSpecConnected(): self.connected()
def init(self): self.allMotors=None self.motorListMacro=None self.gettingMotors=None try: self.specConnection=SpecConnectionsManager.SpecConnectionsManager().getConnection(self.specversion) except AttributeError: self.specConnection=None logging.getLogger("HWR").error('MotorList: you must specify a spec version') else: SpecEventsDispatcher.connect(self.specConnection, 'connected', self.sConnected) SpecEventsDispatcher.connect(self.specConnection, 'disconnected', self.sDisconnected) if self.is_connected(): self.sConnected()
def setSpecVersion(self, specVersion): scanCmd = self.get_command_object("start") scanCmd.setSpecVersion(specVersion) if specVersion is not None: self.specConnection = SpecConnectionsManager.SpecConnectionsManager( ).get_connection(specVersion) if self.specConnection is not None: SpecEventsDispatcher.connect(self.specConnection, "connected", self.connected) SpecEventsDispatcher.connect(self.specConnection, "disconnected", self.disconnected) if self.specConnection.isSpecConnected(): self.connected()
def init(self): self.allMotors = None self.motorListMacro = None self.gettingMotors = None try: self.specConnection = SpecConnectionsManager.SpecConnectionsManager( ).getConnection(self.specversion) except AttributeError: self.specConnection = None logging.getLogger("HWR").error( 'MotorList: you must specify a spec version') else: SpecEventsDispatcher.connect(self.specConnection, 'connected', self.sConnected) SpecEventsDispatcher.connect(self.specConnection, 'disconnected', self.sDisconnected) if self.isConnected(): self.sConnected()