Beispiel #1
0
    def __init__(self):

        if UM2GcodeParser.__single:
            raise RuntimeError('A UM2GcodeParser already exists')

        UM2GcodeParser.__single = self

        self.reset()

        self.commands = {
            # G0 and G1 are the same
            "G0": self.g0,
            "G1": self.g0,
            "G4": self.g4_dwell,
            "G10": self.g10_retract,
            "G11": self.g11_retract_recover,
            "G21": self.g21_metric_values,
            "G28": self.g28_home,
            "G29": self.g29_autolevel,
            "G80": self.g80_bed_leveling,
            "G90": self.g90_abs_values,
            "G91": self.g91_rel_values,
            "G92": self.g92_set_pos,
            "M25": self.m25_stop_reading,
            "M82": self.m82_extruder_abs_values,
            "M83": self.m83_extruder_relative_values,
            "M84": self.m84_disable_motors,
            "M104": self.m104_extruder_temp,
            "M106": self.m106_fan_on,
            "M107": self.m107_fan_off,
            "M109": self.m109_extruder_temp_wait,
            "M117": self.m117_message,
            "M140": self.m140_bed_temp,
            "M190": self.m190_bed_temp_wait,
            "M204": self.m204_set_accel,
            "M501": self.m501_reset_params,
            "M502": self.m502_reset_params,
            "M900": self.m900_set_kAdvance,
            "M907": self.m907_motor_current,
            "T0": self.t0,
            "U": self.unknown,  # unknown command for testing purposes
        }

        # Apply material flow parameter from material profile
        self.e_to_filament_length = MatProfile.getFlow() / 100.0

        self.steps_per_mm = PrinterProfile.getStepsPerMMVector()
        self.mm_per_step = map(lambda dim: 1.0 / self.steps_per_mm[dim],
                               range(5))
        self.maxFeedrateVector = PrinterProfile.getMaxFeedrateVector()

        self.planner = Planner.get()
Beispiel #2
0
    def __init__(self):

        if UM2GcodeParser.__single:
            raise RuntimeError('A UM2GcodeParser already exists')

        UM2GcodeParser.__single = self

        self.reset()

        self.commands = {
                # G0 and G1 are the same
                "G0": self.g0,
                "G1": self.g0,
                "G4": self.g4_dwell,
                "G10": self.g10_retract,
                "G11": self.g11_retract_recover,
                "G21": self.g21_metric_values,
                "G28": self.g28_home,
                "G29": self.g29_autolevel,
                "G90": self.g90_abs_values,
                "G92": self.g92_set_pos,
                "M25": self.m25_stop_reading,
                "M82": self.m82_extruder_abs_values,
                "M84": self.m84_disable_motors,
                "M104": self.m104_extruder_temp,
                "M106": self.m106_fan_on,
                "M107": self.m107_fan_off,
                "M109": self.m109_extruder_temp_wait,
                "M117": self.m117_message,
                "M140": self.m140_bed_temp,
                "M190": self.m190_bed_temp_wait,
                "M907": self.m907_motor_current,
                "T0": self.t0,
                "U": self.unknown, # unknown command for testing purposes
                }

        # Apply material flow parameter from material profile
        self.e_to_filament_length = MatProfile.getFlow() / 100.0

        self.steps_per_mm = PrinterProfile.getStepsPerMMVector()
        self.mm_per_step = map(lambda dim: 1.0 / self.steps_per_mm[dim], range(5))
        self.maxFeedrateVector = PrinterProfile.getMaxFeedrateVector()

        self.planner = Planner.get()