예제 #1
0
    def clickMethodStop(self):
        """Method to stop the acquisition"""

        self.running = False
        self.pump_run = False
        self.button_pause.setIcon(
            QIcon(
                resource_path('tension_inflation/resources/button_pause.png')))
        self.inibutton.setIcon(
            QIcon(
                resource_path(
                    'tension_inflation/resources/button_start_push.png'))
        )  #Change the button's icon by the resources
        self.positioning_phase()

        self.label_state.setText(" Stopped ")
        self.label_state.setStyleSheet("background-color: red;")
        self.label_phase.setText("Phase: Positioning")
        self.pause = False
        try:
            self.CommandThread.stop()
        except:
            print("problem CommandThread.stop()")
        MotorPI.stop()
        Pump_seringe.stop()

        QMessageBox.about(self, "Test", "Positionning phase")
 def stop(self):
     """
     Stop the thread
     """
     self.pause = True
     try:
         MotorPI.stop()
     except:
         print("CommandThread motor")
     try:
         Pump_seringe.stop()
     except:
         print("CommandThread pump")
예제 #3
0
 def myExitHandler():
     """Function that run when the window is stopped"""
     try:
         MotorPI.stop()
     except:
         pass
     try:
         Pump_seringe.stop()
     except:
         pass
     try:
         controller.IniWindow.timer_ini.stop()
     except:
         pass
예제 #4
0
    def ini_processCall(self):
        """Function that initialise: start the motor to find upper and lower boundaries"""

        #Button check not more than one time
        if self.ini_start:
            return
        self.ini_start = True

        #Define the progress bar
        self.completed = 0

        #######################################################
        # Define the connections with devices

        self.label.setText("Connecting...")
        self.repaint()
        time.sleep(1)
        #######################################################
        ## CONNECTION WITH ARDUINO/PUMP/MOTOR

        self.connectionCall()

        msg = ""
        if Arduino.isconnected():
            msg += "Arduino: Connected\n"
        else:
            msg += "Arduino: Not connected\n"

        if Pump_seringe.isconnected():
            msg += "Pump: Connected\n"
        else:
            msg += "Pump: Not connected\n"

        if MotorPI.isconnected():
            msg += "Motor: Connected\n"
        else:
            msg += "Motor: Not connected\n"

        QMessageBox.about(self, "Connections", msg)
        if Arduino.isconnected() == False or MotorPI.isconnected(
        ) == False or Pump_seringe.isconnected() == False:
            print('Connection problem')
            self.ini_start = False
            self.label.setText("Waiting")
            return

        secu = 0
        test = 0
        while test == 0:
            try:
                [secu, ori, F, P] = read_arduino()
                test = 1
            except:
                print("read step1 problem")

        if secu == 1:
            QMessageBox.about(self, "Problem", "Security button activated !")
            self.completed = 0
            self.ini_start = False
            self.timer_ini.stop()
            return

        msg = QMessageBox.question(
            self, "Continue ?", "Do you want to start the initialisation ?",
            QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
        if msg == QMessageBox.No:
            self.ini_start = False
            return

        #######################################################
        ## SEARCH FOR BOUNDARIES

        self.completed = 0
        self.progress.setValue(self.completed)
        self.label.setText("Searching for origin")
        self.repaint()
        #First boundary

        try:
            MotorPI.vel(55)
        except:
            QMessageBox.about(self, "Problem", "Retry please")
            self.ini_start = False
            self.timer_ini.stop()
            MotorPI.disconnect()
            return

        MotorPI.ref()
        try:
            MotorPI.move_rel(50)
        except:
            QMessageBox.about(self, "Problem", "Retry please")
            self.ini_start = False
            self.timer_ini.stop()
            return

        while ori == 0:
            if self.completed >= 100:
                self.completed = 0
                self.progress.setValue(self.completed)
                time.sleep(0.1)
                try:
                    [secu, ori, F, P] = read_arduino()
                except:
                    print("read step1 problem")
            self.completed = self.completed + 20
            self.progress.setValue(self.completed)
            time.sleep(0.5)
            try:
                [secu, ori, F, P] = read_arduino()
            except:
                print("read step1 problem")
            if secu == 1:
                QMessageBox.about(self, "Problem",
                                  "Security button activated !")
                self.completed = 0
                self.ini_start = False
                self.timer_ini.stop()
                return

        try:
            MotorPI.stop()
        except:
            print("motor stop")

        MotorPI.ref()

        self.completed = 100
        self.progress.setValue(self.completed)
        #        QMessageBox.about(self, "Origin", "The origin was found successfully")

        time.sleep(1)

        self.completed = 0
        self.progress.setValue(self.completed)
        self.label.setText("Returning mid")
        self.repaint()

        #Return
        L_return = -50

        MotorPI.move_rel(L_return)

        deg = 360 * abs(L_return) / MotorPI.p
        t = deg / MotorPI.vel_value()

        debut = time.time()
        limit = t / 99
        while MotorPI.ismoving():
            if time.time() - debut > limit:
                self.completed = self.completed + 1
                self.progress.setValue(self.completed)
                limit = limit + t / 99
            try:
                [secu, ori, F, P] = read_arduino()
            except:
                print("read step1 problem")
            if secu == 1:
                QMessageBox.about(self, "Problem",
                                  "Security button activated !")
                self.ini_start = False
                self.timer_ini.stop()
                return

        self.completed = 100
        self.progress.setValue(self.completed)
        self.label.setText("Finish")

        MotorPI.vel(20)

        self.timer_ini.stop()

        QMessageBox.about(
            self, "Acquisition",
            "Initialisation finished\n\nStart of the acquisition")

        self.switch_window.emit(self.path)

        self.close()
예제 #5
0
 def clickMethod_motorStop(self):
     MotorPI.stop()