def __init__(self, **kwargs): self.initializing = True self.max_w_val = 0 pronsole.pronsole.__init__(self) EventEmitter.__init__(self) self.settings.sensor_names = {'T': 'extruder', 'B': 'bed'} self.settings.sensor_poll_rate = 1 # seconds self.p.loud = kwargs['loud'] self.dry_run = kwargs['dry_run'] self.heaptrace = kwargs['heaptrace'] self.stdout = sys.stdout self.load_default_rc() self.p.sendcb = self.sendcb self.initializing = False dir = os.path.dirname(__file__) self.server = ConstructServer( printer= self, settings= dict( pause_between_prints = self.settings.pause_between_prints, sensor_poll_rate = self.settings.sensor_poll_rate * 1000 ), components= dict( temps= ["e0", "b"], fans= ["f0"], conveyors= ["c0"], axes= [] # In the far off future we may have axes like these for position data: # axes= ["x", "y", "z"] ), server_settings= dict( template_path= os.path.join(dir, "server", "templates"), static_path= os.path.join(dir, "server", "static"), debug= True ), routes= [ (r"/", RootHandler), (r"/inspect", InspectHandler) ] )
def __init__(self, **kwargs): self.printer = kwargs["printer"] EventEmitter.__init__(self) # Configuring the Web Server if not kwargs["routes"]: kwargs["routes"] = [] routes = kwargs["routes"] + [ (r"/socket", ConstructSocketHandler), (r"/jobs", ConstructJobUploadHandler), ] server_settings = kwargs["server_settings"] if server_settings == None: server_settings = {} self.clients = {} self.ioloop = tornado.ioloop.IOLoop.instance() signal.signal(signal.SIGINT, self.sigint_handler) tornado.web.Application.__init__(self, routes, **server_settings) # Configuring the print job queue self.jobs = PrintJobQueue(self) self.jobs.listeners.add(self) # Configuring the printer components self.components = dict(motors=dict(enabled=False), jobs=dict(), pause_between_prints=True, sensor_poll_rate=3000, sessions_count=0, status='idle') self.components = dict(self.components, **kwargs["settings"]) for t, default_vals in self.component_defaults.iteritems(): for key in kwargs["components"][inflection.pluralize(t)]: self.components[key] = copy.deepcopy(default_vals) self.components[key]["type"] = t # Setting the printer's initial values self.sensor_update_received = True self.reset_timeout = 0 self.blockers = []