def run(self): log.debug('WaitForStartStep started') self.event = Event() self.context.ui_interface.register_start_once(self.set_event) log.info('Waiting for start callback') self.event.wait() if not self.is_canceled: log.info('Start callback received')
def _unload_plain_interrupt(self, x_centroid, y_centroid): log.debug('_unload_plain_interrupt called') self.context.abs_x_offset = self.context.position_calculation\ .calc_abs_x_offset_from_centroid(self.context.x_position_abs, x_centroid) self.context.target_recognition.unregister_callback( self._unload_plain_interrupt) self.event.set() log.debug('_unload_plain_interrupt event set') self.context.target_recognition.stop()
def run(self): log.debug('WaitForBackToOriginStep started') self.event = Event() self.context.ui_interface.register_back_to_origin_once(self.event.set) log.info('Waiting for BackToOriginStep callback') self.event.wait() if not self.is_canceled: log.info('BackToOriginStep callback received') self.context.ic_interface.drive_jog(50, Direction.Backward)
def run(self): log.debug('UpdatePositionStep started') self.context.register_position_callback( self.__position_update_received) #prevent step from end self.event = Event() self.event.wait() log.debug('UpdatePositionStep done')
def run(self): log.debug('DriveXToLoadPickup run called') self.event = Event() self.context.ic_interface.drive_distance_async( Config().x_distance_to_load_pickup, Config().x_speed_to_load_pickup, Direction.Forward, lambda: self.event.set()) self.event.wait() log.debug('DriveXToLoadPickup done')
def run(self): log.debug('DriveZToEndPosition run called') # drive tele self.event = Event() self.context.ic_interface.move_tele_async(self.context.z_position_rel, DirectionTele.Retract, lambda: self.event.set()) self.event.wait() log.debug('DriveZToEndPosition done')
def run(self): self.lock.acquire(True) self.steps_done += 1 log.debug('SyncStep run called: steps_done ' + str(self.steps_done)) if self.steps_done < self.step_count_to_wait_for: self.lock.release() return StepResult.SYNC self.steps_done = 0 self.lock.release() log.debug('SyncStep done')
def run(self): log.debug('EnforceMagnetStep run called') # wait until magnet is near enough self.event = Event() self.context.register_position_callback( self.__position_update_received) self.event.wait() log.debug('EnforceMagnetStep start enforce magnet') #enable magnet self.context.ic_interface.enable_magnet(MagnetDirection.Enforce) log.debug('EnforceMagnetStep done')
def run(self): log.debug('DriveToEnd run called') # wait until tele is high enough self.event = Event() self.context.register_position_callback(self._position_update_received) self.event.wait() log.debug('DriveToEnd start drive') # drive to end self.event = Event() remaining_distance = self.context.position_calculation.calc_x_rel( self.context.x_position_abs, Config().x_end_position_abs - self.context.x_position_abs) log.debug('remaining distance: {}'.format(str(remaining_distance))) self.context.ic_interface.drive_to_end_async( remaining_distance, Config().drive_to_end_speed, Direction.Forward, lambda: self.event.set()) self.event.wait() self.context.ic_interface.disable_magnet() self.context.ui_interface.send_end() log.debug('DriveToEnd done')
def run(self): log.debug('DriveZToLoadPickup run called') #wait to start of move tele self.event = Event() self.context.register_position_callback( self.__position_update_received) self.event.wait() log.debug('DriveZToLoadPickup start move tele') #drive tele self.event = Event() self.context.ic_interface.move_tele_async( Config().z_distance_to_load_pickup, DirectionTele.Extend, lambda: self.event.set()) self.event.wait() self.context.load_present = True log.debug('DriveZToLoadPickup done')
def run(self): log.debug('DriveZToUnloadPosition run called') # register image recognition callback and wait until plain is near enough #self.event = Event() #self.context.target_recognition.register_callback(self._unload_plain_interrupt) #self.event.wait() log.debug( 'DriveZToUnloadPosition move tele started: z_position_on_target {}' .format(self.context.z_position_on_target)) #drive tele self.event = Event() self.context.ic_interface.move_tele_async( self.context.z_position_on_target, DirectionTele.Extend, lambda: self.event.set()) self.event.wait() log.debug('DriveZToUnloadPosition done')
def run(self): log.debug('DriveToUnloadPlainInterrupt run called') #wait until tele is high enough self.event = Event() self.context.register_position_callback(self._position_update_received) self.event.wait() log.debug('DriveToUnloadPlainInterrupt start drive') #drive jog self.context.ic_interface.drive_jog(Config().travel_speed, Direction.Forward) # register image recognition callback and wait self.event = Event() self.context.target_recognition.register_callback( self._unload_plain_interrupt) self.context.target_recognition.start() self.event.wait() log.debug('DriveToUnloadPlainInterrupt done')
def run(self): log.debug('AdjustXPosition run called') # register image recognition callback #self.context.target_recognition.register_callback(self._unload_plain_interrupt) #while abs(self.context.abs_x_offset) > Config().max_adjust_offset: log.debug( 'AdjustXPosition offset procedure started with offset adjustment of ' 'abs_x_offset: {} and rel_x_offset: {}'.format( self.context.abs_x_offset, self.context.rel_x_offset)) self.event = Event() direction = Direction.Forward if self.context.rel_x_offset > 0 else Direction.Backward self.context.ic_interface.drive_distance_async( abs(self.context.rel_x_offset), Config().adjust_speed, direction, lambda: self.event.set()) self.event.wait() #self.context.target_recognition.unregister_callback(self._unload_plain_interrupt) #self.context.target_recognition.stop() log.debug('AdjustXPosition done')
def run(self): log.debug('ReleaseMagnet run called') self.context.ic_interface.enable_magnet(MagnetDirection.Release) self.context.load_present = False log.debug('ReleaseMagnet done')
def run(self): log.debug('Init Tele started') self.context.ic_interface.init_tele() self.context.ui_interface.send_end_init() self.context.reset_position() log.debug('Init Tele end')
def run(self): log.debug('DisableMagnet run called') self.context.ic_interface.disable_magnet() log.debug('DisableMagnet done')
def run(self): log.debug('CancelStep run called: step_to_cancel_count ' + str(len(self.steps_to_cancel))) for step in self.steps_to_cancel: step.cancel()