def __init_path_planner(self): self.native_planner = PathPlannerNative() self.native_planner.initPRU(self.pru_firmware.get_firmware(0), self.pru_firmware.get_firmware(1)) self.native_planner.setPrintAcceleration( tuple([float(self.printer.acceleration[i]) for i in range(3)])) self.native_planner.setTravelAcceleration( tuple([float(self.printer.acceleration[i]) for i in range(3)])) self.native_planner.setAxisStepsPerMeter( tuple([long(Path.steps_pr_meter[i]) for i in range(3)])) self.native_planner.setMaxFeedrates( tuple([float(Path.max_speeds[i]) for i in range(3)])) self.native_planner.setMaxJerk(self.printer.maxJerkXY / 1000.0, self.printer.maxJerkZ / 1000.0) #Setup the extruders for i in range(Path.NUM_AXES - 3): e = self.native_planner.getExtruder(i) e.setMaxFeedrate(Path.max_speeds[i + 3]) e.setPrintAcceleration(self.printer.acceleration[i + 3]) e.setTravelAcceleration(self.printer.acceleration[i + 3]) e.setMaxStartFeedrate(self.printer.maxJerkEH / 1000) e.setAxisStepsPerMeter(long(Path.steps_pr_meter[i + 3])) self.native_planner.setExtruder(0) self.native_planner.runThread()
def __init_path_planner(self): self.native_planner = PathPlannerNative( int(self.printer.move_cache_size)) fw0 = self.pru_firmware.get_firmware(0) fw1 = self.pru_firmware.get_firmware(1) if fw0 is None or fw1 is None: return self.native_planner.initPRU(fw0, fw1) self.native_planner.setAxisStepsPerMeter( tuple(self.printer.steps_pr_meter)) self.native_planner.setMaxSpeeds(tuple(self.printer.max_speeds)) self.native_planner.setMinSpeeds(tuple(self.printer.min_speeds)) self.native_planner.setAcceleration(tuple(self.printer.acceleration)) self.native_planner.setJerks(tuple(self.printer.jerks)) self.native_planner.setPrintMoveBufferWait( int(self.printer.print_move_buffer_wait)) self.native_planner.setMinBufferedMoveTime( int(self.printer.min_buffered_move_time)) self.native_planner.setMaxBufferedMoveTime( int(self.printer.max_buffered_move_time)) self.native_planner.setSoftEndstopsMin(tuple(self.printer.soft_min)) self.native_planner.setSoftEndstopsMax(tuple(self.printer.soft_max)) self.native_planner.setBedCompensationMatrix( tuple(np.identity(3).ravel())) self.native_planner.setMaxPathLength(self.printer.max_length) self.native_planner.setAxisConfig(self.printer.axis_config) self.native_planner.delta_bot.setMainDimensions( Delta.Hez, Delta.L, Delta.r) self.native_planner.delta_bot.setEffectorOffset( Delta.Ae, Delta.Be, Delta.Ce) self.native_planner.delta_bot.setRadialError(Delta.A_radial, Delta.B_radial, Delta.C_radial) self.native_planner.delta_bot.setTangentError(Delta.A_tangential, Delta.B_tangential, Delta.C_tangential) self.native_planner.delta_bot.recalculate() self.configure_slaves() self.native_planner.setBacklashCompensation( tuple(self.printer.backlash_compensation)) self.native_planner.setState(self.prev.end_pos) self.printer.plugins.path_planner_initialized(self) self.native_planner.runThread()
def __init_path_planner(self): self.native_planner = PathPlannerNative( int(self.printer.move_cache_size)) fw0 = self.pru_firmware.get_firmware(0) fw1 = self.pru_firmware.get_firmware(1) if fw0 is None or fw1 is None: return self.native_planner.initPRU(fw0, fw1) self.native_planner.setPrintAcceleration( tuple([float(self.printer.acceleration[i]) for i in range(3)])) self.native_planner.setTravelAcceleration( tuple([float(self.printer.acceleration[i]) for i in range(3)])) self.native_planner.setAxisStepsPerMeter( tuple([long(Path.steps_pr_meter[i]) for i in range(3)])) self.native_planner.setMaxFeedrates( tuple([float(Path.max_speeds[i]) for i in range(3)])) self.native_planner.setMaxJerk(self.printer.maxJerkXY / 1000.0, self.printer.maxJerkZ / 1000.0) self.native_planner.setPrintMoveBufferWait( int(self.printer.print_move_buffer_wait)) self.native_planner.setMinBufferedMoveTime( int(self.printer.min_buffered_move_time)) self.native_planner.setMaxBufferedMoveTime( int(self.printer.max_buffered_move_time)) #Setup the extruders for i in range(Path.NUM_AXES - 3): e = self.native_planner.getExtruder(i) e.setMaxFeedrate(Path.max_speeds[i + 3]) e.setPrintAcceleration(self.printer.acceleration[i + 3]) e.setTravelAcceleration(self.printer.acceleration[i + 3]) e.setMaxStartFeedrate(self.printer.maxJerkEH / 1000) e.setAxisStepsPerMeter(long(Path.steps_pr_meter[i + 3])) e.setDirectionInverted(False) self.native_planner.setExtruder(0) self.native_planner.setDriveSystem(Path.axis_config) logging.info("Setting drive system to " + str(Path.axis_config)) self.printer.plugins.path_planner_initialized(self) self.native_planner.runThread()
def __init_path_planner(self): self.native_planner = PathPlannerNative(int(self.printer.move_cache_size)) fw0 = self.pru_firmware.get_firmware(0) fw1 = self.pru_firmware.get_firmware(1) if fw0 is None or fw1 is None: return self.native_planner.initPRU(fw0, fw1) self.native_planner.setAcceleration(tuple(Path.acceleration)) self.native_planner.setAxisStepsPerMeter(tuple(Path.steps_pr_meter)) self.native_planner.setMaxSpeeds(tuple(Path.max_speeds)) self.native_planner.setMinSpeeds(tuple(Path.min_speeds)) self.native_planner.setJerks(tuple(Path.jerks)) self.native_planner.setPrintMoveBufferWait(int(self.printer.print_move_buffer_wait)) self.native_planner.setMinBufferedMoveTime(int(self.printer.min_buffered_move_time)) self.native_planner.setMaxBufferedMoveTime(int(self.printer.max_buffered_move_time)) self.printer.plugins.path_planner_initialized(self) self.native_planner.runThread()