def LoadControl(self): self.update_thread.emit() while self.F == False: time.sleep(0.1) while self.F < self.dF_target * 0.9 or self.F > self.dF_target * 1.1: self.update_thread.emit() if self.F < self.dF_target * 0.9: MotorPI.move_rel(0.2) while MotorPI.ismoving(): time.sleep(0.1) if self.F > self.dF_target * 1.1: MotorPI.move_rel(-0.2) while MotorPI.ismoving(): time.sleep(0.1) self.update_thread.emit() time.sleep(0.5)
def DisplacementControl(self): #Cycles first if self.NcycleF != 0: cycle = 0 while cycle < self.NcycleF: MotorPI.move_rel(self.dF_target) while MotorPI.ismoving(): #print("motor running") time.sleep(0.1) if self.pause == True: return MotorPI.move_rel(-self.dF_target) while MotorPI.ismoving(): time.sleep(0.1) cycle = cycle + 1 if self.pause: return MotorPI.move_rel(self.dF_target) while MotorPI.ismoving(): time.sleep(0.1)
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()