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)
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
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