Beispiel #1
0
    def _set_default_slice_profile(self, profile_name):
        slice_profile_path = settings().get(['folder', 'slicingProfiles'])

        slice_manager = SlicingManager(slice_profile_path,
                                       printerProfileManager)
        slice_manager.reload_slicers()
        default_slicer = slice_manager.default_slicer
        slice_manager.set_default_profile(default_slicer,
                                          profile_name,
                                          require_exists=True)
Beispiel #2
0
def init_print(absFilename):
	_settings = settings(init=True)
	pluginManager = plugin_manager(init=True)
	pluginManager.reload_plugins(startup=True, initialize_implementations=False)
	printerProfileManager = PrinterProfileManager()
	analysis_queue_factories = dict(gcode=GcodeAnalysisQueue)
	analysis_queue_hooks = pluginManager.get_hooks("octoprint.filemanager.analysis.factory")

	for name, hook in analysis_queue_hooks.items():
		try:
			additional_factories = hook()
			analysis_queue_factories.update(**additional_factories)
		except:
			print("Error while processing analysis queues from {}".format(name))

	analysisQueue = AnalysisQueue(analysis_queue_factories)

	slicingManager = SlicingManager(_settings.getBaseFolder("slicingProfiles"), printerProfileManager)

	storage_managers = dict()
	storage_managers[FileDestinations.LOCAL] = storage.LocalFileStorage(absFilename)

	fileManager = FileManager(analysisQueue, slicingManager, printerProfileManager,
							  initial_storage_managers=storage_managers)

	printer = Printer(fileManager, analysisQueue, printerProfileManager)

	printer_profile = printerProfileManager.get_default()
	connectionOptions = printer.__class__.get_connection_options()

	baselist = []
	baselist = baselist \
			   + glob.glob("/dev/ttyUSB*") \
			   + glob.glob("/dev/ttyACM*") \
			   + glob.glob("/dev/tty.usb*") \
			   + glob.glob("/dev/cu.*") \
			   + glob.glob("/dev/cuaU*") \
			   + glob.glob("/dev/rfcomm*")

	if len(baselist) == 1:
		port = baselist[0]

	print('Connecting to: %s' % port)

	baudrate = 115200

	printer.connect(port=port, baudrate=baudrate,
					profile=printer_profile["id"] if "id" in printer_profile else "_default")

	return printer
Beispiel #3
0
    def __init__(self, fileManager, analysisQueue, printerProfileManager):
        super(BeePrinter, self).__init__(fileManager, analysisQueue,
                                         printerProfileManager)
        self._estimatedTime = None
        self._elapsedTime = None
        self._numberLines = None
        self._executedLines = None
        self._currentFeedRate = None
        self._runningCalibrationTest = False
        self._insufficientFilamentForCurrent = False

        # Initializes the slicing manager for filament profile information
        self._slicingManager = SlicingManager(
            settings().getBaseFolder("slicingProfiles"), printerProfileManager)
        self._slicingManager.reload_slicers()
        self._currentFilamentProfile = None

        # We must keep a copy of the _currentFile variable (from the comm layer) to allow the situation of
        # disconnecting the printer and maintaining any selected file information after a reconnect is done
        self._currentPrintJobFile = None