示例#1
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.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))
示例#2
0
 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.
示例#3
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.
示例#4
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.
示例#5
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'))