[gcode_macro BED_MESH_CALIBRATE] rename_existing:BED_MESH_CALIBRATE_BASE gcode: {% if "z" not in printer.toolhead.homed_axes %} G28 Z {% endif %} M118 Heating the bed, please wait... M190 S70 M118 Complete heating and start executing bed mesh calibrate BED_MESH_CALIBRATE_BASE G28 Z [gcode_macro QUAD_GANTRY_LEVEL] rename_existing: QUAD_GANTRY_LEVEL_BASE gcode: G28 M118 Heating the bed, please wait... M190 S70 M118 Complete heating and start executing quad gantry level QUAD_GANTRY_LEVEL_BASE G28 Z [gcode_macro CALIBRATE_BED] description: Level bed and create or update the "default" mesh gcode: LM_ENABLE M190 S50 M109 S150 QUAD_GANTRY_LEVEL_BASE BED_MESH_CALIBRATE_BASE [gcode_macro TUNE_BED_PID] gcode: PID_CALIBRATE HEATER=heater_bed TARGET=60 [gcode_macro TUNE_EXTRUDER_PID] gcode: PID_CALIBRATE HEATER=extruder TARGET=190 [gcode_macro SET_XYZ_POSITION] gcode: SET_KINEMATIC_POSITION X=100 Y=100 Z=100 [gcode_macro RUN_INPUT_SHAPER] gcode: SHAPER_CALIBRATE [gcode_macro PRINT_START] variable_b_extruder_temp:165 gcode: {% set EXTRUDER_TEMP = params.EXTRUDER|default(210)|float %} {% set BED_TEMP = params.BED|default(50)|float %} {% set b_extruder_temp = printer[printer.toolhead.extruder].target %} LM_ENABLE MESH_LOAD # M118 Cooling nozzle to 165 ... # M106 # M109 S165 # M107 G28 G90 # M109 S{b_extruder_temp} LINE_PURGE [gcode_macro Z_TO_BOTTOM] gcode: G28 G1 Z295 [gcode_macro RESUME] rename_existing: BASE_RESUME variable_last_fan_speed: 0 variable_last_jetstream_speed: 0 variable_last_extruder_temp: 0 gcode: {% set macro_found = True if printer['gcode_macro _CLIENT_VARIABLE'] is defined else False %} {% set client = printer['gcode_macro _CLIENT_VARIABLE'] %} {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %} {% set sp_move = velocity if not macro_found else client.speed_move|default(velocity) %} ##### end of definitions ##### M109 S{last_extruder_temp} M106 S{last_fan_speed*255|int} SET_FAN_SPEED FAN=Jetstream SPEED={last_jetstream_speed} _CLIENT_EXTRUDE BASE_RESUME VELOCITY={params.VELOCITY|default(sp_move)} [delayed_gcode cool_hot_end] gcode: {% if printer['pause_resume'].is_paused|int == 1 %} M104 S0 {% endif %} [gcode_macro PAUSE] rename_existing: BASE_PAUSE gcode: {% if printer['pause_resume'].is_paused|int == 0 %} SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE={printer[printer.toolhead.extruder].target} SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_fan_speed VALUE={printer["fan"].speed} SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_jetstream_speed VALUE={printer["fan_generic Jetstream"].speed} SAVE_GCODE_STATE NAME=PAUSE BASE_PAUSE G1 Z{printer.gcode_move.position.z+10} F300 G1 X{printer.toolhead.axis_maximum.x/2} Y{printer.toolhead.axis_minimum.y+5} F6000 SAVE_GCODE_STATE NAME=PAUSEPARK M107 UPDATE_DELAYED_GCODE ID=cool_hot_end DURATION=240 {% endif %} [gcode_macro MESH_LOAD] gcode: BED_MESH_PROFILE LOAD=default [delayed_gcode delay_disable_motor] gcode: LM_DISABLE [gcode_macro PRINT_END] gcode: G91 G1 Z5 G1 E-5 F300 G90 G1 X200 Y10 F12000 M104 S0 M140 S0 M106 S0 UPDATE_DELAYED_GCODE ID=delay_disable_motor DURATION=30 # button click unload filament [gcode_macro _C_UNLOAD_FILAMENT] gcode: {% if printer[printer.toolhead.extruder].temperature > printer.configfile.settings['extruder'].min_extrude_temp %} {% set speed = params.SPEED|default(300) %} {% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity %} G92 E0 G1 E-20 F1200 # fast-unload {% else %} M118 Extruder temperature too low, please heat the nozzle first {% endif %} # touch screen unload filament [gcode_macro UNLOAD_FILAMENT] gcode: {% if printer.idle_timeout.state != 'Printing' %} M118 Unloading filament M118 Heating nozzle... M109 S250 G91 M118 Unloading... G0 E40 F360 G0 E40 F360 G0 E5 F1200 M118 Cooling nozzle to 165 ... M106 M109 S165 M107 G0 E-45 F1200 G0 E-45 F1200 G0 E-45 F1200 G0 E-45 F1200 G90 G92 E0 M104 S0 M118 Unload finish {% endif %} [gcode_macro LOAD_FILAMENT] gcode: {% if printer[printer.toolhead.extruder].temperature > printer.configfile.settings['extruder'].min_extrude_temp %} {% set speed = params.SPEED|default(300) %} {% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity %} G91 G92 E0 G1 E25 F{speed} # purge {% else %} M118 Extruder temperature too low,please heat the nozzle first {% endif %} [gcode_macro M106] rename_existing: G106 gcode: {% if params.P is defined %} {% if params.P|int == 2 %} {% if params.S is defined %} {% if params.S|int == 255 %} {% set realspeed = 1 %} {% else %} {% if params.S|int == 0 %} {% set realspeed = 0 %} {% else %} {% set realspeed = params.S|float/255 %} {% endif %} {% endif %} {% else %} {% set realspeed = 1 %} {% endif %} SET_FAN_SPEED FAN=Jetstream SPEED={realspeed} {% endif %} {% else %} {% if params.S is defined %} G106 S{params.S} {% else %} G106 S255 {% endif %} {% endif %} [gcode_macro M107] rename_existing: G107 gcode: {% if params.P is defined %} {% if params.P|int == 2 %} SET_FAN_SPEED FAN=Jetstream SPEED=0 {% endif %} {% else %} SET_FAN_SPEED FAN=Jetstream SPEED=0 G107 {% endif %} [gcode_shell_command RM_UPDATE] command: rm -rf /home/pi/magnetox-os-update timeout: 2. verbose: True [gcode_shell_command GIT_CLONE_DEV] command: git clone -b dev https://github.com/mypeopoly/magnetox-os-update /home/pi/magnetox-os-update timeout: 150. verbose: True [gcode_shell_command GIT_CLONE] command: git clone -b main https://github.com/mypeopoly/magnetox-os-update /home/pi/magnetox-os-update timeout: 150. verbose: True [gcode_shell_command CHMOD_E] command: chmod +x /home/pi/magnetox-os-update/update.sh timeout: 3. verbose: True [gcode_shell_command UPDATE_OS_CMD] command: sh /home/pi/magnetox-os-update/update.sh timeout: 600. verbose: True [gcode_macro _UPDATE_OS_DEV] gcode: RUN_SHELL_COMMAND CMD=RM_UPDATE RUN_SHELL_COMMAND CMD=GIT_CLONE_DEV RUN_SHELL_COMMAND CMD=CHMOD_E RUN_SHELL_COMMAND CMD=UPDATE_OS_CMD [gcode_macro _UPDATE_OS] gcode: RUN_SHELL_COMMAND CMD=RM_UPDATE RUN_SHELL_COMMAND CMD=GIT_CLONE RUN_SHELL_COMMAND CMD=CHMOD_E RUN_SHELL_COMMAND CMD=UPDATE_OS_CMD [gcode_shell_command MOTOR_CONTROL] command: curl -G http://127.0.0.1:8880/motor_control timeout: 2. verbose: True [gcode_macro LINEAR_MOTOR_CONTROL] gcode: RUN_SHELL_COMMAND CMD=MOTOR_CONTROL [gcode_shell_command GET_MIRROR_VERSION] command: curl -G http://127.0.0.1:8880/get_os_version timeout: 2. verbose: True [gcode_macro MAGNETO_OS_VERSION] gcode: RUN_SHELL_COMMAND CMD=GET_MIRROR_VERSION [gcode_shell_command RESIZE_FILE_SYSTEM] command: curl -G http://127.0.0.1:8880/auto_resize_filesystem timeout: 2. verbose: False [gcode_macro RESIZE_FILESYSTEM] gcode: RUN_SHELL_COMMAND CMD=RESIZE_FILE_SYSTEM [gcode_shell_command LINER_MOTOR_ENABLE] command: curl -G http://127.0.0.1:8880/send_command?command=ENABLE timeout: 2. verbose: False [gcode_shell_command LINER_MOTOR_DISABLE] command: curl -G http://127.0.0.1:8880/send_command?command=DISABLE timeout: 2. verbose: False [gcode_macro LINER_MOTOR] gcode: {% if params.ENABLE is defined %} {% if params.ENABLE|int == 0 %} RUN_SHELL_COMMAND CMD=LINER_MOTOR_DISABLE {% else %} RUN_SHELL_COMMAND CMD=LINER_MOTOR_ENABLE {% endif %} {% else %} RUN_SHELL_COMMAND CMD=LINER_MOTOR_ENABLE {% endif %} [gcode_macro LM_ENABLE] gcode: G4 P500 RUN_SHELL_COMMAND CMD=LINER_MOTOR_ENABLE [gcode_macro LM_DISABLE] gcode: RUN_SHELL_COMMAND CMD=LINER_MOTOR_DISABLE [gcode_macro TEST_X_MOVE] gcode: # Speed {% set speed = params.SPEED|default(400)|int %} # Iterations {% set iterations = params.ITERATIONS|default(10)|int %} # Acceleration {% set accel = params.ACCEL|default(10000)|int %} SET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel / 2} G28 G1 Z20 F300 {% for i in range(iterations) %} G0 X50 Y150 F{speed*60} G0 X290 Y150 F{speed*60} {% endfor %} [gcode_macro TEST_X_MOVE_START] gcode: # Speed {% set speed = params.SPEED|default(400)|int %} # Iterations {% set iterations = params.ITERATIONS|default(10)|int %} # Acceleration {% set accel = params.ACCEL|default(10000)|int %} SET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel / 2} G28 G1 Z20 F300 {% for i in range(iterations) %} G0 X10 Y150 F{speed*60} G0 X180 Y150 F{speed*60} {% endfor %} [gcode_macro TEST_X_MOVE_END] gcode: # Speed {% set speed = params.SPEED|default(printer.configfile.settings.printer.max_velocity)|int %} # Iterations {% set iterations = params.ITERATIONS|default(5)|int %} # Acceleration {% set accel = params.ACCEL|default(printer.configfile.settings.printer.max_accel)|int %} SET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel / 2} G28 G1 Z20 F300 {% for i in range(iterations) %} G0 X160 Y150 F{speed*60} G0 X280 Y150 F{speed*60} {% endfor %} [gcode_macro TEST_Y_MOVE] gcode: # Speed {% set speed = params.SPEED|default(printer.configfile.settings.printer.max_velocity)|int %} # Iterations {% set iterations = params.ITERATIONS|default(5)|int %} # Acceleration {% set accel = params.ACCEL|default(printer.configfile.settings.printer.max_accel)|int %} SET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel / 2} G28 G1 Z20 F300 {% for i in range(iterations) %} G0 X100 Y50 F{speed*60} G0 X100 Y350 F{speed*60} {% endfor %} [gcode_macro TEST_Z_MOVE] gcode: # Speed {% set speed = params.SPEED|default(20)|int %} # Iterations {% set iterations = params.ITERATIONS|default(3)|int %} # Acceleration {% set accel = params.ACCEL|default(printer.configfile.settings.printer.max_accel)|int %} SET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel / 2} G28 {% for i in range(iterations) %} G0 Z10 F{speed*60} G0 Z266 F{speed*60} {% endfor %}