Пример #1
0
def probe_scan(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)
    feeder = app.config.get_feeder_info('built_in_feeder')
    units_a = feeder['steps_per_angle']
    try:
        safety_door = app.config.get('settings', 'safety')['door']
    except KeyError:
        safety_door = 0

    app.trace(_("Initializing Probing procedure"))
    if (safety_door == 1):
        app.macro("M741",
                  "TRIGGERED",
                  2,
                  _("Front panel door control"),
                  warning=True)
    app.macro("M402", "ok", 2, _("Retracting Probe"))
    app.macro("M744",
              "TRIGGERED",
              2,
              _("Building plane is absent"),
              warning=True)
    app.macro("M742", "TRIGGERED", 2, _("Spool panel"), warning=False)
    app.macro("G90", "ok", 2, _("Setting abs position"), verbose=True)
    app.macro("M302 S0",
              "ok",
              2,
              _("Disabling cold extrusion prevention"),
              verbose=True)
    app.macro("M92 E" + str(units_a),
              "ok",
              2,
              _("Setting 4th axis mode"),
              verbose=True)
Пример #2
0
def end_subtractive(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)

    app.trace("Terminating...")

    # Deinitialize and restore settings
    end_subtractive_aborted(app, args, lang)
Пример #3
0
def check_measure_probe(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)
    try:
        safety_door = app.config.get('settings', 'safety')['door']
    except KeyError:
        safety_door = 0

    try:
        bed_enabled = app.config.get('settings', 'hardware')['bed']['enable']
    except KeyError:
        bed_enabled = True

    app.trace(_("Checking safety measures"))
    if safety_door == 1:
        app.macro("M741",
                  "TRIGGERED",
                  2,
                  _("Front panel door opened"),
                  verbose=False)

    app.trace(_("Checking building plate"))
    if bed_enabled == True:
        app.macro("M744",
                  "TRIGGERED",
                  1,
                  _("Build plate needs to be flipped to the printing side"),
                  verbose=False)

    app.macro("M742",
              "TRIGGERED",
              1,
              _("Spool panel control"),
              verbose=False,
              warning=True)
Пример #4
0
def home_all(app, args=None, lang='en_US.UTF-8'):

    setLanguage(lang)

    try:
        zprobe_disabled = int(app.config.get('settings', 'probe.enable')) == 0
        z_max_offset = app.config.get('settings', 'z_max_offset')
    except KeyError:
        z_max_offset = Z_MAX_OFFSET
        zprobe_disabled = False

    app.trace(_("Homing all axes"))
    app.macro("G90", "ok", 2, _("Setting abs position"), verbose=False)

    if zprobe_disabled:
        app.macro("G27", "ok", 200, _("Homing all axes"), verbose=False)
        app.macro('G92 Z{0}'.format(z_max_offset),
                  "ok",
                  99,
                  _("Set Z Max"),
                  verbose=False)
        app.macro("G0 Z50 F10000", "ok", 120, _("Raising"), verbose=False)
        app.macro("M400",
                  "ok",
                  120,
                  _("Waiting for all moves to finish"),
                  verbose=False)
    else:
        app.macro("G28", "ok", 200, _("Homing all axes"), verbose=False)
Пример #5
0
def pause_subtractive(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)
    app.macro("M400",
              "ok",
              240,
              _("Waiting for all moves to finish"),
              verbose=False)
    position = getPosition(app, lang)

    with open('/var/lib/fabui/settings/stored_task.json', 'w') as f:
        f.write(json.dumps({'position': position}))

    current_z = float(position['z'])
    safe_z = current_z + 50.0

    max_z = app.config.get('settings', 'z_max_offset', Z_MAX_OFFSET) - 5
    if safe_z > max_z:
        safe_z = max_z

    app.macro("G90", "ok", 2, _("Setting absolute position"), verbose=False)
    app.macro("G0 Z{0} F5000".format(safe_z),
              "ok",
              100,
              _("Moving to Z safe zone"),
              verbose=False)

    app.macro("G0 X210 Y210 F6000",
              "ok",
              100,
              _("Moving to safe zone"),
              verbose=False)
    #block stepper motor for 5min => 60*5=300
    app.macro("M84 S300", "ok", 2, _("Block stepper motor"), verbose=False)
    app.macro("M732 S0", "ok", 2, _("Disabling door safety"))
Пример #6
0
def install_head(app, args, lang='en_US.UTF-8'):
    setLanguage(lang)
    head_name = args[0]

    result = configure_head(app, head_name, lang)
    # app.trace(_("Restarting totumduino"))
    return result
Пример #7
0
def shutdown(app, args=None, lang='en_US.UTF-8'):

    setLanguage(lang)

    installed_head = app.config.get_current_head_info()

    temps = getTemperature(app)

    min_temperature = 70

    app.trace(_("Shutting down..."))

    if "print" in installed_head['capabilities'] and (float(temps['T']) >
                                                      min_temperature):

        app.macro("M104 S{0}".format(min_temperature), "ok", 5,
                  _("Cooling down nozzle temperature"))

        app.macro(
            "M109 S{0}".format(min_temperature), "*", 400,
            _("Waiting for nozzle to reach temperature (<span class='top-bar-nozzle-actual'>-</span> / {0}&deg;)"
              .format(min_temperature)))  #heating and waiting.

        app.trace(_("Nozzle cooled"))

    app.macro("M300", "ok", 5, _("Play alert sound!"), verbose=False)

    app.macro("M729", "ok", 2, _("Asleep!"), verbose=False)
Пример #8
0
def auto_bed_leveling(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)

    app.trace(_("Auto Bed leveling Initialized"))
    app.macro("G28", "ok", 120, _("Homing Z axis"))
    app.macro("G28 X Y", "ok", 90, _("Homing X/Y axis"))
    app.macro("G29", "ok", 150, _("Probing the bed"))
Пример #9
0
def set_lights(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)

    if (len(args) < 3):
        try:
            colors = app.config.get('settings', 'color')
            red = colors['r']
            green = colors['g']
            blue = colors['b']
        except:
            red = 255
            green = 255
            blue = 255
    else:
        red = args[0]
        green = args[1]
        blue = args[2]

    app.macro("M701 S{0}".format(red),
              "ok",
              1,
              _("Setting red color"),
              verbose=False)
    app.macro("M702 S{0}".format(green),
              "ok",
              1,
              _("Setting green color"),
              verbose=False)
    app.macro("M703 S{0}".format(blue),
              "ok",
              1,
              _("Setting blue color"),
              verbose=False)
Пример #10
0
def getPosition(app, lang='en_US.UTF-8'):
    setLanguage(lang)

    reply = app.macro("M114", "ok", 120, _("Get position"), verbose=False)
    result = parseM114(reply)
    if result:
        return result
Пример #11
0
def sweep_scan(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)
    try:
        safety_door = app.config.get('settings', 'safety')['door']
    except KeyError:
        safety_door = 0

    app.trace(_("Initializing Sweeping Laserscanner"))
    app.trace(_("Checking panel door status and bed inserted"))
    if (safety_door == 1):
        app.macro("M741", "TRIGGERED", 2, _("Front panel door control"))
    app.macro("M744",
              "TRIGGERED",
              2,
              _("Building plane removed!"),
              warning=True)
    app.macro("M742",
              "TRIGGERED",
              1,
              _("Spool panel is not closed!"),
              warning=True,
              verbose=False)
    app.macro("M701 S0", "ok", 2, _("Turning off lights"))
    app.macro("M702 S0", "ok", 2, _("Turning off lights"), verbose=False)
    app.macro("M703 S0", "ok", 2, _("Turning off lights"), verbose=False)
    # macro("M744","open",2,"Working plane absent/tilted",0.1)
    #~ app.macro("G28 X0 Y0",      "ok", 90,       _("Homing all axis"), 1)
    #~ app.macro("G27",            "ok", 90,       _("Homing all axis") )
    app.macro("G90", "ok", 2, _("Setting abs position"), verbose=False)
    # macro("M92 E"+str(units['a']),"ok",1,"Setting 4th axis mode",0)
    app.macro("G0 Z145 F1000",
              "ok",
              100,
              _("Lowering the plane"),
              verbose=False)
Пример #12
0
def measure_nozzle_offset(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)

    app.macro("M104 S0", "ok", 2, _("Extruder heating off"))
    app.macro("M140 S0", "ok", 2, _("Bed heating off"))

    app.trace(_("Measuring nozzle offset"))
    zpos = getPosition(app, lang)

    # Paper width is 0.08mm
    nozzle = float(zpos['z']) - 0.08

    app.macro("G90", "ok", 2, _("Setting rel position"), verbose=False)
    app.macro("G0 Z+40",
              "ok",
              100,
              _("Moving the bed 40mm away from measured height"),
              verbose=False)

    # Store offset to head config
    head_file = os.path.join(
        app.config.get('hardware', 'heads'),
        app.config.get('settings', 'hardware.head') + '.json')
    with open(head_file) as json_f:
        head_info = json.load(json_f)

    #head_info['nozzle_offset'] = str(round(nozzle,2))
    head_info['nozzle_offset'] = nozzle

    with open(head_file, 'w') as outfile:
        json.dump(head_info, outfile, sort_keys=True, indent=4)

    return {'nozzle_z_offset': nozzle}
Пример #13
0
def photogrammetry_scan(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)
    feeder = app.config.get_feeder_info('built_in_feeder')
    units_a = feeder['steps_per_angle']

    try:
        safety_door = app.config.get('settings', 'safety')['door']
    except KeyError:
        safety_door = 0

    app.trace(_("Initializing Photogrammetry scanner"))
    app.trace(_("Checking panel door status and bed inserted"))
    if (safety_door == 1):
        app.macro("M741",
                  "TRIGGERED",
                  2,
                  _("Front panel door control"),
                  verbose=False)
    app.macro("M744", "open", 1, _("Building plane (must be removed)"))
    app.macro("M742", "TRIGGERED", 1, _("Spool panel closed"), warning=True)
    app.macro("M701 S255", "ok", 2, _("Turning on lights"), verbose=False)
    app.macro("M702 S255", "ok", 2, _("Turning on lights"), verbose=False)
    app.macro("M703 S255", "ok", 2, _("Turning on lights"), verbose=False)
    app.macro("G90", "ok", 2, _("Setting abs position"), verbose=False)
    app.macro("G0 X96 Y175 Z135 E0 F10000", "ok", 100,
              _("Moving to collimation position"))
    app.macro("M302 S0", "ok", 2, _("Enabling cold extrusion"), verbose=False)
    app.macro("M92 E" + str(units_a),
              "ok",
              1,
              _("Setting 4th axis mode"),
              verbose=True)
Пример #14
0
def load_spool(app, args = None, lang='en_US.UTF-8'):
    setLanguage(lang)
    
    try:
        safety_door = app.config.get('settings', 'safety')['door']
    except KeyError:
        safety_door = 0
    
    app.trace( _("Checking safety measures") )
    if safety_door == 1:
        app.macro("M741",   "TRIGGERED", 2, _("Front panel door opened"), verbose=False )
    
    feeder      = app.config.get_current_feeder_info()
    head        = app.config.get_current_head_info()
    tube_length = feeder['tube_length']
    units_e     = feeder['steps_per_unit']
    min_temp    = head['min_temp']
    
    has_feeder  = False
    if 'feeder' in head:
        has_feeder = True
        if tube_length == 0 :
            tube_length = 50
            
    #~ ext_temp = float(args[0])
    ext_temp = args[0]
    task_running = int(args[1]) == 1
    
    app.trace( _("Loading Spool : procedure Started.") )
    app.macro("M104 S{0}".format(ext_temp),  "ok", 5,    _("Pre-Heating Nozzle..."), verbose=False)
    
    if ((task_running == False) and (has_feeder == False)) :
        app.macro("G90",                "ok", 2,    _("Setting abs position"), verbose=False)
        app.macro("G27",                "ok", 100,  _("Zeroing Z axis"), verbose=False)
        app.macro("G0 X102 Y117 Z150 F10000",     "ok", 100,   _("Moving to safe zone"), verbose=False)
    else:
        app.macro("M17", "ok", 5,  _("Enable power to all stepper motors"), verbose=False)
    
    app.macro("M302 S0",                    "ok", 5, _("Enabling Cold extrusion"), verbose=False)
    #app.macro("G91",                        "ok", 2, _("Setting rel position"), verbose=False)
    app.macro("M83",                        "ok", 1, _("set the extruder to relative modee"),        verbose=False)
    app.macro("G92 E0",                     "ok", 5, _("Setting extruder position to 0"), verbose=False)
    app.macro("M92 E{0}".format(units_e),   "ok", 5, _("Setting extruder mode"), verbose=False)
    app.macro("M104 S{0}".format(ext_temp), "ok", 5, _("Pre-Heating Nozzle. Get ready to push... ") ) #heating and waiting.
    
    if has_feeder == False: ## for built-in feeder
        app.macro("M300",                             "ok", 5,   _("<b>Start pushing!</b>") )
        app.trace( _("Note: help the filament to be loaded by gently pushing it") )
        app.macro("G0 E110 F500",                     "ok", 300, _("Loading filament") )
        app.macro("G0 E{0} F700".format(tube_length), "ok", 300, _("Loading filament (fast)") )
        tube_length = 150 ## entering hot end
        
    app.macro("M109 S{0}".format(ext_temp),       "*",  400, _("Waiting to get to temperature (<span class='top-bar-nozzle-actual'>-</span> / {0}&deg;)".format(ext_temp)) ) #heating and waiting.
    app.macro("G0 E{0} F450".format(tube_length), "ok", 100, _("Entering the hotend (slow)") )
    
    if (task_running == False) :
        app.macro("M104 S0",            "ok", 1,    _("Turning off heater") )
    
    app.macro("M302 S{0}".format(min_temp),          "ok", 1,    _("Disabling Cold Extrusion Prevention"), verbose=False)
Пример #15
0
def end_additive_aborted(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)
    #app.macro("G91",                        "ok", 2,    _("Setting rel position") )
    #app.macro("G0 Z5 F10000",   "ok", 100,  _("Moving to safe zone") )
    app.macro("G27 Z0", "ok", 100, _("Moving to safe zone"))
    app.macro("G28 XY", "ok", 100, _("Zeroing Z axis"), verbose=False)
    app.macro("M400", "ok", 200, _("Waiting for all moves to finish"))
    app.macro("M18", "ok", 2, _("Motors off"), verbose=False)
Пример #16
0
def resume_prism(app, args=None, lang='en_US.UTF-8'):

    setLanguage(lang)

    try:

        z_offset = args[0]

    except:

        z_offset = 100.00

    safety_door = app.config.get('settings', 'safety.door', 0)

    app.macro("M999", "ok", 3, _("Reset all errors"), verbose=False)

    app.trace(_("Turning off lights"))

    set_lights(app, [0, 0, 0])

    app.macro("M300", "ok", 3, _("Play beep"), verbose=False)

    app.macro("M732 S{0}".format(safety_door),
              "ok",
              2,
              _("Set door safety"),
              verbose=False)

    # restore position
    if os.path.exists('/var/lib/fabui/settings/stored_task.json'):

        content = {}

        with open('/var/lib/fabui/settings/stored_task.json') as f:

            content = json.load(f)

        os.remove('/var/lib/fabui/settings/stored_task.json')

        if "position" in content:

            z = float(content['position']['z'])

            restored_z = z + z_offset

            app.macro("G91", "ok", 1, _("Relative mode"), verbose=False)

            app.macro("G0 Z{0} F300".format(restored_z),
                      "ok",
                      100,
                      _("Return to position"),
                      verbose=False)

            app.macro("M400",
                      "ok",
                      120,
                      _("Wait for all movements"),
                      verbose=False)
Пример #17
0
def get_versions(app, lang='en_US.UTF-8'):
    setLanguage(lang)

    ### controller serail ID
    retr = app.macro("M760", "ok", 1, _("Controller serial ID"), verbose=False)
    controller_serial_id = retr[0]
    ### controller control code
    retr = app.macro("M761",
                     "ok",
                     1,
                     _("Controller control code"),
                     verbose=False)
    controller_control_code = retr[0]
    ### board version
    retr = app.macro("M762", "ok", 1, _("Board version"), verbose=False)
    board_version = retr[0]
    ### Production batch (hardware version)
    retr = app.macro("M763", "ok", 1, _("Production batch"), verbose=False)
    production_batch = retr[0]
    ### Production batch control code
    retr = app.macro("M764",
                     "ok",
                     1,
                     _("Production batch control code"),
                     verbose=False)
    production_batch_control_code = retr[0]
    ### firmware version
    retr = app.macro("M765", "ok", 1, _("Firmware version"), verbose=False)
    firmware_version = retr[0]
    try:
        firmware_version = firmware_version.split()[1]
    except:
        pass
    ### Firmware build date
    retr = app.macro("M766", "ok", 1, _("Firmware build date"), verbose=False)
    firmware_build_date = retr[0]
    ### firmware author
    retr = app.macro("M767", "ok", 1, _("Firmware author"), verbose=False)
    firmware_author = retr[0]

    return {
        'firmware': {
            'version': firmware_version,
            'build_date': firmware_build_date,
            'author': firmware_author
        },
        'production': {
            'batch': production_batch,
            'control_code': production_batch_control_code
        },
        'controller': {
            'serial_id': controller_serial_id,
            'control_code': controller_control_code
        },
        'board': {
            'version': board_version
        }
    }
Пример #18
0
def check_additive(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)
    try:
        safety_door = app.config.get('settings', 'safety')['door']
    except KeyError:
        safety_door = 0

    try:
        bed_enabled = app.config.get('settings', 'hardware')['bed']['enable']
    except KeyError:
        bed_enabled = True

    try:
        wire_end = app.config.get('settings', 'wire_end', 0)
    except KeyError:
        wire_end = 0

    head = app.config.get_current_head_info()
    is_pro_head = app.config.is_pro_head(head['fw_id'])

    app.trace(_("Checking safety measures"))

    if (is_pro_head == True and wire_end == 1):
        app.macro("M805 S1",
                  "ok",
                  1,
                  _("Enable wire end check"),
                  verbose=False)
        app.macro("M740",
                  "TRIGGERED",
                  1,
                  _("Filament not inserted"),
                  verbose=False)
    else:
        app.macro("M805 S0",
                  "ok",
                  1,
                  _("Disable wire end check"),
                  verbose=False)

    if safety_door == 1:
        app.macro("M741", "TRIGGERED", 2, _("Front panel door opened"))

    app.trace(_("Checking building plate"))
    if bed_enabled == True:
        app.macro("M744",
                  "TRIGGERED",
                  1,
                  _("Build plate needs to be flipped to the printing side"),
                  verbose=False)

    app.macro("M742",
              "TRIGGERED",
              1,
              _("Spool panel control"),
              verbose=False,
              warning=True)
Пример #19
0
def do_4th_axis_mode(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)
    feeder = get_feeder_info('built_in_feeder')
    units_a = feeder['steps_per_angle']
    app.macro("M92 E" + str(units_a),
              "ok",
              1,
              _("Setting 4th axis mode"),
              verbose=False)
Пример #20
0
def pause_prism(app, args=None, lang='en_US.UTF-8'):

    setLanguage(lang)

    try:

        max_height = args[0]

    except:

        max_height = 40.00

    try:

        z_offset = args[1]

    except:

        z_offset = 100.00

    app.macro("M300", "ok", 3, _("Play beep"), verbose=False)

    app.macro("M732 S0", "ok", 2, _("Disabling door safety"), verbose=False)

    # turn lights to red
    set_lights(app, [25, 2, 0])

    # get position
    position = getPosition(app, lang)

    current_z = float(position['z'])

    # raise platform only if object's height is < max_height

    if current_z < max_height:

        # store position
        with open('/var/lib/fabui/settings/stored_task.json', 'w') as f:

            f.write(json.dumps({'position': position}))

        safe_z = current_z + z_offset

        app.macro("G91", "ok", 1, _("Relative mode"), verbose=False)

        app.macro("G0 Z-{0} F300".format(safe_z),
                  "ok",
                  100,
                  _("Raising platform"),
                  verbose=False)

        app.macro("M400",
                  "ok",
                  120,
                  _("Wait for all movements"),
                  verbose=False)
Пример #21
0
def manual_bed_leveling(app, args = None, lang='en_US.UTF-8'):
    setLanguage(lang)
    app.trace( _("Manual bed leveling started.") )
    
    skip_homing = args[0]
    PROBE_SECURE_OFFSET = 15.0
    probe_height    = 50.0
    
    try:
        safety_door = app.config.get('settings', 'safety')['door']
    except KeyError:
        safety_door = 0

    if safety_door == 1:
        app.macro("M741",           "TRIGGERED", 2, _("Front panel door opened"), verbose=False )
    
    zprobe = app.config.get('settings', 'probe')
    zprobe_disabled = (zprobe['enable'] == 0)
    zmax_home_pos   = float(app.config.get('settings', 'z_max_offset'))
    
    probe_length = 50.0
    
    reply = app.macro("M503", "ok", 2, _("Get proble length"), verbose=False)
    for line in reply:
        if line.startswith("echo:Z Probe Length:"):
            probe_length = abs(float(line.split("Z Probe Length: ")[1]))
            probe_height = (probe_length + 1) + PROBE_SECURE_OFFSET

    try:
        app.macro("M744",  "TRIGGERED",    2,  _("Milling bed side up"), verbose=False)
    except:
        app.trace(_("Milling bed side up"))
        try:
            milling_offset = float(app.config.get('settings', 'milling')['layer_offset'])
            app.trace("Milling sacrificial layer thickness: "+str(milling_offset))
            probe_height += milling_offset
        except KeyError:
            app.trace("Milling sacrificial layer thickness not configured - assuming zero")                

    app.macro("M402",  "ok",   2,  _("Retracting Probe (safety)"), warning=True, verbose=False)
    app.macro("G90",   "ok",   5,  _("Setting abs position"),          verbose=False)

    if not skip_homing:
        app.macro("G27",           "ok",   100,    _("Homing Z - Fast") )
        app.macro("G92 Z241.2",    "ok",   5,      _("Setting correct Z"), verbose=False)
        app.macro("M402",          "ok",   2,      _("Retracting Probe (safety)"), verbose=False)
    else:
        app.macro("M733 S0", "ok", 2, _("Disbaleb home check"), verbose=False)

    app.macro("G0 Z{0} F5000".format(probe_height),    "ok",   99,  _("Moving to start Z height")) #mandatory!
    #app.macro("M400",       "ok", 200,    _("Waiting for all moves to finish"), verbose=False )

    app.macro("M401",          "ok",   5,      _("Extend Probe"), warning=True, verbose=False)

    return {'probe_height' : probe_height}
Пример #22
0
def end_additive_safe_zone(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)
    app.macro("M121", "ok", 2, _("Force endstops"), verbose=False)
    app.macro("G90", "ok", 2, _("Setting abs position"), verbose=False)
    app.macro("G0 X210 Y210 Z240 F10000",
              "ok",
              100,
              _("Moving to safe zone"),
              verbose=False)
    app.macro("G27 Z0", "ok", 100, _("Zeroing Z axis"), verbose=False)
    app.macro("M400", "ok", 200, _("Waiting for all moves to finish"))
    app.macro("M18", "ok", 2, _("Motors off"), verbose=False)
Пример #23
0
def end_engraving(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)

    app.trace("Terminating...")
    app.macro("G0 X0 Y0 Z0 E0 F2000",
              "ok",
              1,
              _("Go back to Origin Point"),
              verbose=False)

    # Deinitialize and restore settings
    end_engraving_aborted(app, args, lang)
Пример #24
0
def prepare_additive(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)

    ext_temp = args[0]
    bed_temp = args[1]

    app.macro("M104 S" + str(ext_temp), "ok", 3,
              _("Pre Heating Nozzle ({0}&deg;) (fast)").format(str(ext_temp)))
    app.macro("M140 S" + str(bed_temp), "ok", 3,
              _("Pre Heating Bed ({0}&deg;) (fast)").format(str(bed_temp)))

    app.macro("M402", "ok", 2, _("Retract Probe"), verbose=False)
Пример #25
0
def initial_prism_homing(app, args=None, lang='en_US.UTF-8'):

    setLanguage(lang)

    app.trace(_("Moving head to safe zone"))

    app.macro("G28 XY", "ok", 90, _("Homing XY"), verbose=False)

    app.macro("G90", "ok", 2, _("Absoulte mode"), verbose=False)

    app.macro("G0 X210 Y210 F10000",
              "ok",
              90,
              _("Going to safe zone"),
              verbose=False)

    app.macro("M400", "ok", 120, _("Wait for all movements"), verbose=False)

    app.trace(_("Positioning the platform"))

    app.macro("G91", "ok", 1, _("Relative mode"), verbose=False)

    app.macro("G0 Z-200 F500", "ok", 60, _("Going up"), verbose=False)

    app.macro("M400", "ok", 120, _("Wait for all movements"), verbose=False)

    app.macro("G92 Z0", "ok", 1, _("Set Z 0"), verbose=False)

    app.macro("M564 Z175 S1",
              "ok",
              1,
              _("Restrict Z movements"),
              verbose=False)

    app.macro("G90", "ok", 1, _("Absolute mode"), verbose=False)

    app.macro("G0 Z130 F1000",
              "ok",
              60,
              _("Going to position (fast)"),
              verbose=False)

    app.macro("G0 Z150 F200",
              "ok",
              60,
              _("Going to position (slow)"),
              verbose=False)

    app.macro("M400", "ok", 120, _("Wait for all movements"), verbose=False)

    app.macro("M732 S0", "ok", 2, _("Disabling door safety"), verbose=False)
Пример #26
0
def door_safety(app, args=None, lang='en_US.UTF-8'):
    setLanguage(lang)
    try:
        safety_door = app.config.get('settings', 'safety')['door']
    except KeyError:
        safety_door = 0

    app.trace(_("Checking safety measures"))
    if safety_door == 1:
        app.macro("M741",
                  "TRIGGERED",
                  2,
                  _("Front panel door opened"),
                  verbose=False)
Пример #27
0
def heats(app, args = None, lang='en_US.UTF-8'):
    setLanguage(lang)
    
    what        = args[0]
    temperature = float(args[1])
    
    CODES = {
        "nozzle" : "M109",
        "bed" : "M190"
    }
    
    app.macro("{0} S{1}".format(CODES[what], temperature),  "*", 400,  _("Waiting for {0} to reach temperature (<span class='top-bar-{1}-actual'>-</span> / {2}&deg;)".format(what, what, temperature)) ) #heating and waiting.
    app.trace( _("Please wait...") )
     
Пример #28
0
def zProbe(app, lang='en_US.UTF-8'):
    setLanguage(lang)
    app.macro("M401", "ok", 5, _("Open probe"), verbose=False)
    reply = app.macro("G30", "ok", 120, _("Probe position"), verbose=False)
    probe = parseG30(reply)

    app.macro("G91", "ok", 2, _("Setting rel position"), verbose=False)
    app.macro("G0 Z5 F1000",
              "ok",
              20,
              _("Moving bed away from the probe"),
              verbose=False)
    app.macro("M402", "ok", 5, _("Retract probe"), verbose=False)

    return probe
Пример #29
0
def end_prism(app, args=None, lang='en_US.UTF-8'):

    setLanguage(lang)

    set_lights(app, [0, 0, 0])

    app.macro("G91", "ok", 1, _("Relative mode"), verbose=False)

    app.macro("G0 Z-200 F300",
              "ok",
              60,
              _("Raising the platform"),
              verbose=True)

    app.macro("M400", "ok", 120, _("Wait for all movements"), verbose=False)
Пример #30
0
def prepare_prism(app, args=None, lang='en_US.UTF-8'):

    setLanguage(lang)

    app.trace(_("Turning off lights"))

    set_lights(app, [0, 0, 0])

    app.macro("M564 S0",
              "ok",
              3,
              _("Disbale restricted movements"),
              verbose=False)

    app.macro("G92 Z0", "ok", 3, _("Set Z 0"), verbose=False)