def load_config(self): self.fileconfig = ConfigParser.RawConfigParser() res = self.fileconfig.read(self.conffile) if not res: raise ConfigParser.Error("Unable to open config file %s" % (self.conffile, )) if self.bglogger is not None: ConfigLogger(self.fileconfig, self.bglogger) self.mcu = mcu.MCU(self, ConfigWrapper(self, 'mcu')) if self.debugoutput is not None: self.mcu.connect_file(self.debugoutput, self.dictionary) if self.fileconfig.has_section('extruder'): self.objects['extruder'] = extruder.PrinterExtruder( self, ConfigWrapper(self, 'extruder')) if self.fileconfig.has_section('fan'): self.objects['fan'] = fan.PrinterFan(self, ConfigWrapper(self, 'fan')) if self.fileconfig.has_section('heater_bed'): self.objects['heater_bed'] = heater.PrinterHeater( self, ConfigWrapper(self, 'heater_bed')) self.objects['toolhead'] = toolhead.ToolHead( self, ConfigWrapper(self, 'printer')) # Validate that there are no undefined parameters in the config file valid_sections = dict([(s, 1) for s, o in self.all_config_options]) for section in self.fileconfig.sections(): section = section.lower() if section not in valid_sections: raise ConfigParser.Error("Unknown config file section '%s'" % (section, )) for option in self.fileconfig.options(section): option = option.lower() if (section, option) not in self.all_config_options: raise ConfigParser.Error( "Unknown option '%s' in section '%s'" % (option, section))
def __init__(self, printer, config): self.config = config self.heater = heater.PrinterHeater(printer, config) self.stepper = stepper.PrinterStepper(printer, config, 'extruder') self.nozzle_diameter = config.getfloat('nozzle_diameter', above=0.) filament_diameter = config.getfloat('filament_diameter', minval=self.nozzle_diameter) filament_area = math.pi * (filament_diameter * .5)**2 max_cross_section = config.getfloat('max_extrude_cross_section', 4. * self.nozzle_diameter**2, above=0.) self.max_extrude_ratio = max_cross_section / filament_area self.max_e_dist = config.getfloat('max_extrude_only_distance', 50., minval=0.) self.max_e_velocity = self.max_e_accel = None self.activate_gcode = config.get('activate_gcode', '') self.deactivate_gcode = config.get('deactivate_gcode', '') self.pressure_advance = config.getfloat('pressure_advance', 0., minval=0.) self.pressure_advance_lookahead_time = 0. if self.pressure_advance: self.pressure_advance_lookahead_time = config.getfloat( 'pressure_advance_lookahead_time', 0.010, minval=0.) self.need_motor_enable = True self.extrude_pos = 0.
def __init__(self, printer, config): self.heater = heater.PrinterHeater(printer, config) self.stepper = stepper.PrinterStepper(printer, config) self.nozzle_diameter = config.getfloat('nozzle_diameter', above=0.) filament_diameter = config.getfloat('filament_diameter', minval=self.nozzle_diameter) self.filament_area = math.pi * (filament_diameter * .5)**2 max_cross_section = config.getfloat('max_extrude_cross_section', 4. * self.nozzle_diameter**2, above=0.) self.max_extrude_ratio = max_cross_section / self.filament_area toolhead = printer.objects['toolhead'] max_velocity, max_accel = toolhead.get_max_velocity() self.max_e_velocity = config.getfloat('max_extrude_only_velocity', max_velocity * self.max_extrude_ratio, above=0.) self.max_e_accel = config.getfloat('max_extrude_only_accel', max_accel * self.max_extrude_ratio, above=0.) self.stepper.set_max_jerk(9999999.9, 9999999.9) self.max_e_dist = config.getfloat('max_extrude_only_distance', 50., minval=0.) self.activate_gcode = config.get('activate_gcode', '') self.deactivate_gcode = config.get('deactivate_gcode', '') self.pressure_advance = config.getfloat('pressure_advance', 0., minval=0.) self.pressure_advance_lookahead_time = 0. if self.pressure_advance: self.pressure_advance_lookahead_time = config.getfloat( 'pressure_advance_lookahead_time', 0.010, minval=0.) self.need_motor_enable = True self.extrude_pos = 0.
def __init__(self, printer, config): self.config = config self.heater = heater.PrinterHeater(printer, config) self.stepper = stepper.PrinterStepper(printer, config, 'extruder') nozzle_diameter = config.getfloat('nozzle_diameter') filament_diameter = config.getfloat('filament_diameter') filament_area = math.pi * (filament_diameter * .5)**2 max_cross_section = config.getfloat( 'max_extrude_cross_section', 4. * nozzle_diameter**2) self.max_extrude_ratio = max_cross_section / filament_area self.max_e_dist = config.getfloat('max_extrude_only_distance', 50.) self.max_e_velocity = self.max_e_accel = None self.pressure_advance = config.getfloat('pressure_advance', 0.) self.need_motor_enable = True self.extrude_pos = 0.
def load_config(self): self.fileconfig = ConfigParser.RawConfigParser() res = self.fileconfig.read(self.conffile) if not res: raise ConfigParser.Error("Unable to open config file %s" % (self.conffile, )) if self.debugoutput is None: ConfigLogger(self.fileconfig) self.mcu = mcu.MCU(self, ConfigWrapper(self, 'mcu')) if self.fileconfig.has_section('fan'): self.objects['fan'] = fan.PrinterFan(self, ConfigWrapper(self, 'fan')) if self.fileconfig.has_section('extruder'): self.objects['extruder'] = extruder.PrinterExtruder( self, ConfigWrapper(self, 'extruder')) if self.fileconfig.has_section('heater_bed'): self.objects['heater_bed'] = heater.PrinterHeater( self, ConfigWrapper(self, 'heater_bed')) self.objects['toolhead'] = toolhead.ToolHead( self, ConfigWrapper(self, 'printer'))