PRINT_START changes
56 lines
[gcode_macro PRINT_START]
[gcode_macro PRINT_START]
variable_small_print: False
variable_small_print: False
gcode:
gcode:
Frame_Light_ON
Frame_Light_ON
Part_Light_ON
Part_Light_ON
G92 E0
G92 E0
G90 ; Use absolute coordinates
G90 ; Use absolute coordinates
BED_MESH_CLEAR
BED_MESH_CLEAR
{% set BED_TEMP = params.BED_TEMP|default(60)|float %}
{% set BED_TEMP = params.BED_TEMP|default(60)|float %}
{% set BED_HEAT_SOAK_MINUTES = params.BED_HEAT_SOAK_MINUTES|default(0)|float %}
{% set BED_HEAT_SOAK_MINUTES = params.BED_HEAT_SOAK_MINUTES|default(0)|float %}
{% set BED_MESH = params.BED_MESH|default('adaptive')|string %} ; One of: adaptive (default), full, default (or any other value as the bed mesh profile name), none
{% set BED_MESH = params.BED_MESH|default('adaptive')|string %} ; One of: adaptive (default), full, default (or any other value as the bed mesh profile name), none
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(200)|float %}
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(200)|float %}
{% set area_start = params.AREA_START|default('0,0')|string %}
{% set area_start = params.AREA_START|default('0,0')|string %}
{% set area_end = params.AREA_END|default('0,0')|string %}
{% set area_end = params.AREA_END|default('0,0')|string %}
{% set start_coords = area_start.split(',')|map('float')|list %}
{% set start_coords = area_start.split(',')|map('float')|list %}
{% set end_coords = area_end.split(',')|map('float')|list %}
{% set end_coords = area_end.split(',')|map('float')|list %}
{% set center_min_x = 62.5 %} ; define centre area bounds
{% set center_min_x = 62.5 %} ; define centre area bounds
{% set center_min_y = 62.5 %}
{% set center_min_y = 62.5 %}
{% set center_max_x = 172.5 %}
{% set center_max_x = 172.5 %}
{% set center_max_y = 172.5 %}
{% set center_max_y = 172.5 %}
; Check if print is within center area
; Check if print is within center area
{% if start_coords[0] >= center_min_x and start_coords[1] >= center_min_y and end_coords[0] <= center_max_x and end_coords[1] <= center_max_y %}
{% if start_coords[0] >= center_min_x and start_coords[1] >= center_min_y and end_coords[0] <= center_max_x and end_coords[1] <= center_max_y %}
SET_GCODE_VARIABLE MACRO=PRINT_START VARIABLE=small_print VALUE=True
SET_GCODE_VARIABLE MACRO=PRINT_START VARIABLE=small_print VALUE=True
{% else %} ; print extends beyond center, set temperatures for both beds
{% else %} ; print extends beyond center, set temperatures for both beds
SET_GCODE_VARIABLE MACRO=PRINT_START VARIABLE=small_print VALUE=False
SET_GCODE_VARIABLE MACRO=PRINT_START VARIABLE=small_print VALUE=False
{% endif %}
{% endif %}
SET_GCODE_OFFSET Z=0 ; BEACON
G28 ; BEACON
G0 Z2 ; BEACON
SET_BED_TEMPERATURE TARGET={BED_TEMP} ; Heat Bed to target temp
SET_BED_TEMPERATURE TARGET={BED_TEMP} ; Heat Bed to target temp
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=150 ; BEACON - heat nozzle to probe temp
TEMPERATURE_WAIT SENSOR=extruder MINIMUM=149 MAXIMUM=155 ; BEACON - wait for nozzle to get to target
BED_TEMPERATURE_WAIT MINIMUM={BED_TEMP-2} MAXIMUM={BED_TEMP+4} ; Waits until the bed reaches close to target
BED_TEMPERATURE_WAIT MINIMUM={BED_TEMP-2} MAXIMUM={BED_TEMP+4} ; Waits until the bed reaches close to target
{% if BED_HEAT_SOAK_MINUTES > 0 %}
{% if BED_HEAT_SOAK_MINUTES > 0 %}
RESPOND MSG="Waiting {BED_HEAT_SOAK_MINUTES} minutes for the bed to settle."
RESPOND MSG="Waiting {BED_HEAT_SOAK_MINUTES} minutes for the bed to settle."
G4 P{BED_HEAT_SOAK_MINUTES * 60000}
G4 P{BED_HEAT_SOAK_MINUTES * 60000}
{% endif %}
{% endif %}
G28 Z METHOD=CONTACT CALIBRATE=1 ; BEACON - Set z offset, and calibrate
CG28
CG28
{% if BED_MESH == 'full' %}
{% if BED_MESH == 'full' %}
BED_MESH_CALIBRATE
BED_MESH_CALIBRATE
{% elif BED_MESH == 'adaptive' %}
{% elif BED_MESH == 'adaptive' %}
BED_MESH_CALIBRATE ADAPTIVE=1
BED_MESH_CALIBRATE ADAPTIVE=1
{% elif BED_MESH != 'none' %}
{% elif BED_MESH != 'none' %}
BED_MESH_PROFILE LOAD={BED_MESH}
BED_MESH_PROFILE LOAD={BED_MESH}
{% endif %}
{% endif %}
G28 Z METHOD=CONTACT CALIBRATE=0 ; ADJUST OFFSET
SET_GCODE_OFFSET Z_ADJUST=-0.07
Smart_Park
Smart_Park
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=1
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=1
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={EXTRUDER_TEMP} ; Set and heat the final extruder temperature
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={EXTRUDER_TEMP} ; Set and heat the final extruder temperature
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={EXTRUDER_TEMP-4} MAXIMUM={EXTRUDER_TEMP+10} ; Wait for extruder to reach near target temperature
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={EXTRUDER_TEMP-4} MAXIMUM={EXTRUDER_TEMP+10} ; Wait for extruder to reach near target temperature
LINE_PURGE ; KAMP Line Purge near print
LINE_PURGE ; KAMP Line Purge near print
G92 E0 ; Reset Extruder
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up
G1 Z2.0 F3000 ; Move Z Axis up
M117 Printing
M117 Printing