예제 #1
0
    def onPlayMacro(self):
        door = Device(self.doorName())
        try:
            doorState = door.state()
        except TypeError:
            # TODO: For Taurus 4 adaptation
            doorState = door.getState()
        if doorState == PyTango.DevState.ON or doorState == PyTango.DevState.ALARM:
            self.setFocus()
            paramEditorModel = self.paramEditorModel()
            macroNode = paramEditorModel.root()
            id = macroNode.assignId()
            self.setMacroId(id)
            params, alerts = macroNode.toRun()
            xmlString = paramEditorModel.toXmlString()
            if len(alerts) > 0:
                Qt.QMessageBox.warning(self, "Macro parameters warning",
                                       alerts)
                return
            door.runMacro(xmlString)
            self.addToHistory()


#            door.runMacro(str(macroNode.name()), params)
        elif doorState == PyTango.DevState.STANDBY:
            door.command_inout("ResumeMacro")
        else:
            Qt.QMessageBox.warning(
                self, "Error while starting/resuming macro",
                "It was not possible to start/resume macro, because state of the door was different than ON/STANDBY"
            )
예제 #2
0
    def onPlayMacro(self):
        door = Device(self.doorName())
        try:
            doorState = door.state()
        except TypeError:
            # TODO: For Taurus 4 adaptation
            doorState = door.getState()
        if doorState == PyTango.DevState.ON or doorState == PyTango.DevState.ALARM:
            self.setFocus()
            paramEditorModel = self.paramEditorModel()
            macroNode = paramEditorModel.root()
            id = macroNode.assignId()
            self.setMacroId(id)
            params, alerts = macroNode.toRun()
            xmlString = paramEditorModel.toXmlString()
            if len(alerts) > 0:
                Qt.QMessageBox.warning(
                    self, "Macro parameters warning", alerts)
                return
            door.runMacro(xmlString)
            self.addToHistory()
#            door.runMacro(str(macroNode.name()), params)
        elif doorState == PyTango.DevState.STANDBY:
            door.command_inout("ResumeMacro")
        else:
            Qt.QMessageBox.warning(self, "Error while starting/resuming macro",
                                   "It was not possible to start/resume macro, because state of the door was different than ON/STANDBY")
예제 #3
0
    def onPauseMacro(self):
        door = Device(self.doorName())
        doorState = door.getState()

        if doorState == PyTango.DevState.RUNNING:
            door.command_inout("PauseMacro")
        else:
            Qt.QMessageBox.warning(self, "Error while pausing macro",
                                   "It was not possible to pause macro, because state of the door was different than RUNNING")
예제 #4
0
    def onStopMacro(self):
        door = Device(self.doorName())
        doorState = door.getState()

        if doorState in (PyTango.DevState.RUNNING, PyTango.DevState.STANDBY):
            door.command_inout("StopMacro")
        else:
            Qt.QMessageBox.warning(self, "Error while stopping macro",
                                   "It was not possible to stop macro, because state of the door was different than RUNNING or STANDBY")
예제 #5
0
    def onPauseMacro(self):
        door = Device(self.doorName())
        try:
            doorState = door.state()
        except TypeError:
            # TODO: For Taurus 4 adaptation
            doorState = door.getState()

        if doorState == PyTango.DevState.RUNNING:
            door.command_inout("PauseMacro")
        else:
            Qt.QMessageBox.warning(self, "Error while pausing macro",
                                   "It was not possible to pause macro, because state of the door was different than RUNNING")
예제 #6
0
    def onStopMacro(self):
        door = Device(self.doorName())
        try:
            doorState = door.state()
        except TypeError:
            # TODO: For Taurus 4 adaptation
            doorState = door.getState()

        if doorState in (PyTango.DevState.RUNNING, PyTango.DevState.STANDBY):
            door.command_inout("StopMacro")
        else:
            Qt.QMessageBox.warning(self, "Error while stopping macro",
                                   "It was not possible to stop macro, because state of the door was different than RUNNING or STANDBY")
예제 #7
0
 def onPauseSequence(self):
     door = Device(self.doorName())
     try:
         doorState = door.state()
     except TypeError:
         # TODO: For Taurus 4 adaptation
         doorState = door.getState()
     if doorState == PyTango.DevState.RUNNING:
         door.command_inout("PauseMacro")
     else:
         Qt.QMessageBox.warning(
             self, "Error while pausing sequence",
             "It was not possible to pause sequence, "
             "because state of the door was different than RUNNING")
예제 #8
0
 def onStopSequence(self):
     door = Device(self.doorName())
     try:
         doorState = door.state()
     except TypeError:
         # TODO: For Taurus 4 adaptation
         doorState = door.getState()
     if doorState in (PyTango.DevState.RUNNING, PyTango.DevState.STANDBY):
         door.command_inout("StopMacro")
     else:
         Qt.QMessageBox.warning(
             self, "Error while stopping sequence",
             "It was not possible to stop sequence, "
             "because state of the door was different than "
             "RUNNING or STANDBY")
예제 #9
0
 def onPlaySequence(self):
     door = Device(self.doorName())
     doorState = door.getState()
     if (doorState == PyTango.DevState.ON
             or doorState == PyTango.DevState.ALARM):
         first, last, ids = self.tree.prepareMacroIds()
         self.setFirstMacroId(first)
         self.setLastMacroId(last)
         self.setMacroIds(ids)
         self.tree.prepareMacroProgresses()
         self.setEmitExecutionStarted(True)
         door.runMacro(self.tree.toXmlString())
     elif doorState == PyTango.DevState.STANDBY:
         door.command_inout("ResumeMacro")
     else:
         Qt.QMessageBox.warning(
             self, "Error while starting/resuming sequence",
             "It was not possible to start/resume sequence, "
             "because state of the door was different than ON/STANDBY")
예제 #10
0
 def onPlaySequence(self):
     door = Device(self.doorName())
     try:
         doorState = door.state()
     except TypeError:
         # TODO: For Taurus 4 adaptation
         doorState = door.getState()
     if (doorState == PyTango.DevState.ON or
             doorState == PyTango.DevState.ALARM):
         first, last, ids = self.tree.prepareMacroIds()
         self.setFirstMacroId(first)
         self.setLastMacroId(last)
         self.setMacroIds(ids)
         self.tree.prepareMacroProgresses()
         self.setEmitExecutionStarted(True)
         door.runMacro(self.tree.toXmlString())
     elif doorState == PyTango.DevState.STANDBY:
         door.command_inout("ResumeMacro")
     else:
         Qt.QMessageBox.warning(
             self,
             "Error while starting/resuming sequence",
             "It was not possible to start/resume sequence, "
             "because state of the door was different than ON/STANDBY")