Loaded MCU 'beacon' 45 commands (Beacon 2.1.0 / )
MCU 'beacon' config: ADC_MAX=4095 BEACON_ACCEL_BITS=12 BEACON_ACCEL_SCALE_16G=7.81 BEACON_ACCEL_SCALE_2G=0.98 BEACON_ACCEL_SCALE_4G=1.95 BEACON_ACCEL_SCALE_8G=3.91 BEACON_ADC_SMOOTH_COUNT=16 BEACON_HAS_ACCEL=1 BEACON_REV=H CLOCK_FREQ=32000000 MCU=beacon STATS_SUMSQ_BASE=256
Configured MCU 'beacon' (0 moves)
===== Config file =====
[mcu rpi]
serial = /tmp/klipper_host_mcu
[board_pins btt-octopus-11]
aliases =
x_step_pin=PF13,
x_dir_pin=PF12,
x_enable_pin=PF14,
x_uart_pin=PC4,
x_diag_pin=PG6,
x_endstop_pin=PG6,
dual_carriage_step_pin=PF9,
dual_carriage_dir_pin=PF10,
dual_carriage_enable_pin=PG2,
dual_carriage_uart_pin=PF2,
dual_carriage_diag_pin=PG12,
dual_carriage_endstop_pin=PG12,
y_step_pin=PG0,
y_dir_pin=PG1,
y_enable_pin=PF15,
y_uart_pin=PD11,
y_diag_pin=PG9,
y_endstop_pin=PG9,
y1_step_pin=PG4,
y1_dir_pin=PC1,
y1_enable_pin=PA0,
y1_uart_pin=PC7,
y1_diag_pin=PG11,
y1_endstop_pin=PG11,
z0_step_pin=PC13,
z0_dir_pin=PF0,
z0_enable_pin=PF1,
z0_uart_pin=PE4,
z0_diag_pin=PG13,
z1_step_pin=PE2,
z1_dir_pin=PE3,
z1_enable_pin=PD4,
z1_uart_pin=PE1,
z1_diag_pin=PG14,
z2_step_pin=PE6,
z2_dir_pin=PA14,
z2_enable_pin=PE0,
z2_uart_pin=PD3,
z2_diag_pin=PG15,
e_step_pin=PF11,
e_dir_pin=PG3,
e_enable_pin=PG5,
e_uart_pin=PC6,
e_heater_pin=PA2,
e_sensor_pin=PF4,
stepper_spi_mosi_pin=PA7,
stepper_spi_miso_pin=PA6,
stepper_spi_sclk_pin=PA5,
adxl345_cs_pin=PA15,
bltouch_sensor_pin=PB7,
bltouch_control_pin=PB6,
probe_pin=PB7,
fan_part_cooling_pin=PA8,
fan_toolhead_cooling_pin=PE5,
fan_controller_board_pin=PD12,
heater_bed_heating_pin=PA1,
heater_bed_sensor_pin=PF3,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu]
serial = /dev/RatOS/btt-octopus-11
[temperature_sensor Octopus_V1.1_F446]
sensor_type = temperature_mcu
[adxl345 controlboard]
cs_pin = PA15
spi_bus = spi3
[board_pins toolboard_t0]
mcu = toolboard_t0
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t0]
serial = /dev/RatOS/btt-ebb42-12-t0
[temperature_sensor EBB42_v1.2_T0]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t0
[adxl345 toolboard_t0]
axes_map = x, z, y
cs_pin = toolboard_t0:PB12
spi_software_mosi_pin = toolboard_t0:PB11
spi_software_miso_pin = toolboard_t0:PB2
spi_software_sclk_pin = toolboard_t0:PB10
[board_pins toolboard_t1]
mcu = toolboard_t1
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t1]
serial = /dev/RatOS/btt-ebb42-12-t1
[temperature_sensor EBB42_v1.2_T1]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t1
[adxl345 toolboard_t1]
axes_map = x, z, y
cs_pin = toolboard_t1:PB12
spi_software_mosi_pin = toolboard_t1:PB11
spi_software_miso_pin = toolboard_t1:PB2
spi_software_sclk_pin = toolboard_t1:PB10
[gcode_macro RatOS]
variable_homing = "endstops"
variable_z_probe = "static"
variable_sensorless_x_current = 0.6
variable_sensorless_y_current = 0.9
variable_safe_home_x = "middle"
variable_safe_home_y = "middle"
variable_driver_type_x = "tmc2209"
variable_driver_type_y = "tmc2209"
variable_stowable_probe_stop_on_error = False
variable_chamber_filter_enable = True
variable_chamber_filter_speed = 0.5
variable_chamber_filter_disable_speed = 1.0
variable_chamber_filter_enable_at = "after_print_start"
variable_chamber_filter_disable_period = 300
variable_chamber_filter_disable_bed_temp = 0
variable_chamber_heater_enable = True
variable_chamber_heater_bed_temp = 115
variable_chamber_heater_preheating_temp = 150
variable_chamber_heater_heating_temp_offset = 25
variable_chamber_heater_control_external_heater = False
variable_chamber_heater_air_circulation_enable = True
variable_chamber_heater_air_circulation_fan_speed = 0.35
variable_chamber_heater_air_circulation_y_pos = 0
variable_chamber_heater_air_circulation_z_pos = 100
variable_chamber_heater_extra_fan_speed = 1.0
variable_chamber_heater_filter_fan_speed = 1.0
variable_led_status_action = 0.0,1.0,1.0
variable_led_status_success = 0.0,1.0,0.0
variable_led_status_error = 1.0,0.0,1.0
variable_led_status_on = 1.0,1.0,1.0
variable_led_status_off = 0.0,0.0,1.0
variable_led_status_standby = 0.1,0.1,0.1
variable_led_status_heating = 1.0,0.0,0.0
variable_led_status_cooling = 0.0,0.0,1.0
variable_calibrate_bed_mesh = True
variable_adaptive_mesh = True
variable_start_print_park_in = "back"
variable_start_print_park_z_height = 50
variable_end_print_park_in = "front"
variable_pause_print_park_in = "front"
variable_end_print_park_z_hop = 20
variable_nozzle_priming = "primeblob"
variable_nozzle_prime_start_x = "max"
variable_nozzle_prime_start_y = "min"
variable_nozzle_prime_direction = "auto"
variable_nozzle_prime_bridge_fan = 102
variable_probe_for_priming_result = None
variable_probe_for_priming_end_result = None
variable_probe_for_priming_result_t1 = None
variable_probe_for_priming_end_result_t1 = None
variable_probe_for_priming_disable_mesh_constraints = False
variable_adaptive_prime_offset_threshold = -1.0
variable_last_z_offset = None
variable_runout_park_in = "front"
variable_enable_unload_tip_forming = False
variable_filament_unload_length = 150
description = RatOS variable storage macro, will echo variables to the console when run.
variable_relative_extrusion = True
variable_force_absolute_position = False
variable_preheat_extruder = True
variable_preheat_extruder_temp = 150
variable_macro_travel_speed = 600
variable_macro_travel_accel = 8000
variable_macro_z_speed = 15
variable_bed_margin_x = [59.8, 59.8]
variable_bed_margin_y = [14.35, 33.65]
variable_printable_x_min = 0
variable_printable_x_max = 0
variable_printable_y_min = 0
variable_printable_y_max = 0
variable_end_print_motors_off = True
variable_status_color_ok = "00FF00"
variable_status_color_error = "FF0000"
variable_status_color_unknown = "FFFF00"
variable_end_print_retract_filament = 10
gcode =
ECHO_RATOS_VARS
variable_auto_center_subject = False
variable_toolchange_zhop = 2.0
variable_toolchange_zspeed = 25
variable_toolchange_sync_fans = False
variable_toolchange_combined_zhop = False
variable_toolchange_travel_speed = 600
variable_toolchange_travel_accel = 8000
variable_toolchange_extrusion = 2.0
variable_toolchange_retraction = 2.0
variable_toolchange_feedrate = 7200
variable_toolchange_prepurging_timer = 0
variable_toolchange_standby_temp = -1
variable_toolchange_purge = 25
variable_toolchange_first_purge = 50
variable_beacon_bed_mesh_scv = 25
variable_beacon_contact_z_homing = False
variable_beacon_contact_start_print_true_zero = True
variable_beacon_contact_wipe_before_true_zero = True
variable_beacon_contact_true_zero_temp = 150
variable_beacon_contact_prime_probing = True
variable_beacon_contact_expansion_compensation = True
variable_beacon_contact_bed_mesh = False
variable_beacon_contact_bed_mesh_samples = 2
variable_beacon_contact_z_tilt_adjust = False
variable_beacon_contact_z_tilt_adjust_samples = 2
variable_beacon_scan_compensation_enable = True
variable_beacon_scan_compensation_profile = "ratos"
variable_beacon_scan_compensation_probe_count = 15,15
variable_beacon_contact_poke_bottom_limit = -1
variable_homing_x = "endstop"
variable_homing_y = "endstop"
variable_default_toolhead = 0
variable_adxl_chip = ["adxl345 toolboard_t0", "adxl345 toolboard_t1"]
variable_shaper_x_freq = [52.8, 49.2, 50.7, 48.8]
variable_shaper_y_freq = [38.2, 37.0, 32.3, 33.1]
variable_shaper_x_type = ["mzv", "mzv", "mzv", "mzv"]
variable_shaper_y_type = ["mzv", "mzv", "mzv", "mzv"]
variable_x_driver_types = ["tmc2209"]
variable_x_axes = ["x"]
variable_y_driver_types = ["tmc2209", "tmc2209"]
variable_y_axes = ["y", "y1"]
variable_z_driver_types = ["tmc2209", "tmc2209", "tmc2209"]
variable_z_axes = ["z", "z1", "z2"]
variable_home_y_first = True
[ratos_homing]
axes = xyz
z_hop = 15
z_hop_speed = 15
gcode =
_LED_ON
{% set prev_stop_on_error = printer["gcode_macro RatOS"].stowable_probe_stop_on_error %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set target_idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE=True
M400
G90
{% set X = true if params.X is defined else false %}
{% set Y = true if params.Y is defined else false %}
{% set Z = true if params.Z is defined else false %}
{% if printer["gcode_macro RatOS"].home_y_first|default(false)|lower == 'true' %}
HOME_Y X={X} Y={Y} Z={Z}
HOME_X X={X} Y={Y} Z={Z}
{% else %}
HOME_X X={X} Y={Y} Z={Z}
HOME_Y X={X} Y={Y} Z={Z}
{% endif %}
HOME_Z X={X} Y={Y} Z={Z}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE={prev_stop_on_error}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[gcode_macro HOME_X]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_x = printer["gcode_macro RatOS"].homing_x|lower %}
{% set homing_x = homing_x if homing_x else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_X" MSG="printable_x_max: {printable_x_max}, safe_home_x: {safe_home_x}, axis_maximum.x: {printer.toolhead.axis_maximum.x}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}"
{% if X or not Y and not Z %}
{% if homing_x == 'endstop' %}
G28 X
{% elif homing_x == 'sensorless' %}
{% if printer["dual_carriage"] is defined %}
{ action_emergency_stop("sensorless homing not supported on IDEX!") }
{% endif %}
HOME_X_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_x to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_x, homing)) }
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1} MODE=PRIMARY
G1 X{parking_position} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% endif %}
{% set x_homed = True %}
G0 X{safe_home_x} F{speed}
M400
{% endif %}
[gcode_macro HOME_Y]
gcode =
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_y = printer["gcode_macro RatOS"].homing_y|lower %}
{% set homing_y = homing_y if homing_y else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Y" MSG="printable_y_max: {printable_y_max}, safe_home_y: {safe_home_y}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}"
{% if Y or not X and not Z %}
{% if homing_y == 'endstop' %}
G28 Y
{% elif homing_y == 'sensorless' %}
HOME_Y_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_y to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_y, homing)) }
{% endif %}
{% set y_homed = True %}
G0 Y{safe_home_y} F{speed}
{% endif %}
[gcode_macro HOME_Z]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set z_probe = printer["gcode_macro RatOS"].z_probe %}
{% set beacon_contact_z_homing = true if printer["gcode_macro RatOS"].beacon_contact_z_homing|default(false)|lower == 'true' else false %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Z" MSG="x_homed: {x_homed}, y_homed: {y_homed}, z_probe: {z_probe}, beacon_contact_z_homing: {beacon_contact_z_homing}"
{% if Z or not Y and not X %}
RATOS_ECHO MSG="Homing Z"
{% if x_homed == False or y_homed == False %}
{ action_emergency_stop("X and Y must be homed before homing Z") }
{% else %}
{% if z_probe == "stowable" %}
DEPLOY_PROBE
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
STOW_PROBE
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
{% endif %}
{% endif %}
{% endif %}
[gcode_macro HOME_X_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
G4 P300
G28 X
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
[gcode_macro HOME_Y_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
G4 P300
G28 Y
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
[gcode_macro _Z_HOP]
description = Move Z axis up by Z_HOP distance at Z_HOP_SPEED. In relative mode it will move Z axis up by Z_HOP distance. In absolute mode it will move Z axis to Z_HOP distance.
gcode =
{% set z_hop = printer.configfile.config.ratos_homing.z_hop|float %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
G0 Z{z_hop} F{z_hop_speed}
[gcode_macro _MOVE_TO_SAFE_Z_HOME]
description = Move to safe home position with optional Z_HOP (pass Z_HOP=True as parameter)
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% if params.Z_HOP is defined %}
_Z_HOP
{% endif %}
DEBUG_ECHO PREFIX="_MOVE_TO_SAFE_Z_HOME" MSG="axis_maximum.x: {printer.toolhead.axis_maximum.x}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}, safe_home_x: {safe_home_x}, safe_home_y: {safe_home_y}, printable_x_max: {printable_x_max}, printable_y_max: {printable_y_max}"
G0 X{safe_home_x} Y{safe_home_y} F{speed}
[gcode_macro MAYBE_HOME]
description = Only home unhomed axis
variable_is_kinematic_position_overriden = False
gcode =
{% if printer["gcode_macro MAYBE_HOME"].is_kinematic_position_overriden|lower == 'true' %}
RATOS_ECHO MSG="SET_CENTER_KINEMATIC_POSITION has been abused. Homing all axes. Please refrain from using SET_CENTER_KINEMATIC_POSITION outside of debugging purposes."
G28
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=False
{% else %}
{% set axes = '' %}
{% set isHomed = true %}
{% set axesToHome = '' %}
{% if params.X is defined %}
{% set axes = axes ~ 'X ' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% endif %}
{% if params.Y is defined %}
{% set axes = axes ~ 'Y ' %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% endif %}
{% if params.Z is defined %}
{% set axes = axes ~ 'Z ' %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if params.X is not defined and params.Y is not defined and params.Z is not defined %}
{% set axes = '' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if isHomed is false %}
RATOS_ECHO MSG="Homing {axesToHome}"
G28 {axesToHome}
{% else %}
RATOS_ECHO MSG="All requested axes already homed, skipping.."
{% endif %}
{% endif %}
[gcode_macro PID_CALIBRATE_HOTEND]
description = Perform a PID calibration test for a given extruder heater.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set temp = params.TEMP|default(220)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_HOTEND" MSG="TEMP={temp}"
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO MSG="PID calibration hotend heater T0 at {temp}°C..."
PID_CALIBRATE HEATER=extruder TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
{% if toolhead==0 or toolhead==1 %}
RATOS_ECHO MSG="PID calibration hotend heater T{toolhead} at {temp}°C..."
PID_CALIBRATE HEATER=extruder{'' if toolhead==0 else toolhead} TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_BED]
description = Perform a PID calibration test for the bed heater.
gcode =
{% set temp = params.TEMP|default(80)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_BED" MSG="TEMP={temp}"
RATOS_ECHO MSG="PID calibration bed heater at {temp}°C..."
PID_CALIBRATE HEATER=heater_bed TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_CHAMBER_HEATER]
description = Perform a PID calibration test for the chamber heater.
gcode =
{% set temp = params.TEMP|default(150)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_CHAMBER_HEATER" MSG="TEMP={temp}"
{% if printer["heater_generic chamber_heater"] is defined %}
RATOS_ECHO MSG="PID calibration chamber heater at {temp}°C..."
PID_CALIBRATE HEATER=chamber_heater TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_heater" %}
{% set link_text = "RatOS Chamber Heater" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber heater found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro INITIALIZE_PA_TUNING]
description = Start a pressure advance tuning tower.
gcode =
{% set start = params.START|default(0.0)|float %}
{% set factor = params.FACTOR|default(0.001)|float %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if is_printing_gcode and layer_number < 2 %}
DEBUG_ECHO PREFIX="START_PA_TOWER" MSG="START: {start}, FACTOR: {factor}"
RATOS_ECHO MSG="Starting presssure advance tuning tower..."
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START={start} FACTOR={factor}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro CHAMBER_FILTER_ON]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro CHAMBER_FILTER_OFF]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Deactivating chamber filter..."
_CHAMBER_FILTER_TURN_OFF
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro _CHAMBER_FILTER_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set chamber_filter_enable_at = printer["gcode_macro RatOS"].chamber_filter_enable_at|default('after_print_start')|lower %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_ON" MSG="at: {at}, chamber_filter_enable: {chamber_filter_enable}, chamber_filter_enable_at: {chamber_filter_enable_at}, chamber_filter_speed: {chamber_filter_speed}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if chamber_filter_enable_at == at %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON AT={at}
{% if chamber_filter_enable_at == "print_end" %}
_LED_CHAMBER_FILTER_ON
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_FILTER_OFF]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF" MSG="chamber_filter_enable: {chamber_filter_enable}, filter_disable_period: {filter_disable_period}, filter_disable_bed_temp: {filter_disable_bed_temp}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_period > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting {filter_disable_period} seconds before turning chamber filter off..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION={filter_disable_period}
{% endif %}
{% if filter_disable_bed_temp > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting for bed temp to cool down to {filter_disable_bed_temp}°C to turn filter off..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=0 MAXIMUM={filter_disable_bed_temp}
_CHAMBER_FILTER_TURN_OFF
_LED_CHAMBER_FILTER_OFF
{% endif %}
{% endif %}
[delayed_gcode _CHAMBER_FILTER_OFF_TIMER]
gcode =
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF_TIMER" MSG="executed"
_CHAMBER_FILTER_TURN_OFF
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Chamber filter turned off!"
_LED_CHAMBER_FILTER_OFF
[gcode_macro _CHAMBER_FILTER_TURN_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_speed|default(0)|float %}
{% if at == "print_end" %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_disable_speed|default(0)|float %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION=0
SET_FAN_SPEED FAN=filter SPEED={chamber_filter_speed}
[gcode_macro _CHAMBER_FILTER_TURN_OFF]
gcode =
SET_FAN_SPEED FAN=filter SPEED=0
[gcode_macro _CHAMBER_FILTER_SANITY_CHECK]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_bed_temp > 0 and filter_disable_period > 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable, not both.")}
{% endif %}
{% if filter_disable_bed_temp == 0 and filter_disable_period == 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable.")}
{% endif %}
{% endif %}
[gcode_macro CHAMBER_HEATER_ON]
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(45)|int %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp} IS_FROM_START_PRINT=False
[gcode_macro CHAMBER_HEATER_OFF]
gcode =
_CHAMBER_HEATER_OFF
[gcode_macro _CHAMBER_HEATER_ON]
variable_chamber_temp = 0
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set is_from_start_print = true if params.IS_FROM_START_PRINT|default(True)|lower == 'true' else false %}
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set chamber_heater_enable = true if printer["gcode_macro RatOS"].chamber_heater_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
{% set chamber_heater_preheating_temp = printer["gcode_macro RatOS"].chamber_heater_preheating_temp|default(150)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set chamber_heater_control_external_heater = true if printer["gcode_macro RatOS"].chamber_heater_control_external_heater|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_enable = true if printer["gcode_macro RatOS"].chamber_heater_air_circulation_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_fan_speed = printer["gcode_macro RatOS"].chamber_heater_air_circulation_fan_speed|default(0.35)|float %}
{% set chamber_heater_air_circulation_y_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_y_pos|default(0)|float %}
{% set chamber_heater_air_circulation_z_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_z_pos|default(100)|float %}
DEBUG_ECHO PREFIX="_CHAMBER_HEATER_ON" MSG="chamber_heater_enable: {chamber_heater_enable}, chamber_heater_preheating_temp: {chamber_heater_preheating_temp}, chamber_heater_heating_temp_offset: {chamber_heater_heating_temp_offset}, bed_temp: {bed_temp}, chamber_temp: {chamber_temp}, start_chamber_temp: {start_chamber_temp}"
{% if chamber_heater_enable and chamber_temp > 0 and chamber_heater_bed_temp > 0 %}
_LED_HEATING
RATOS_ECHO MSG="Preheating chamber to {(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}°C..."
{% set chamber_temp_sensor = "extruder" %}
{% if printer["dual_carriage"] is defined and default_toolhead == 1 %}
{% set chamber_temp_sensor = "extruder1" %}
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% set chamber_temp_sensor = "temperature_sensor chamber" %}
{% endif %}
{% set current_chamber_temp = printer['%s' % chamber_temp_sensor].temperature|int %}
{% set needs_heating = current_chamber_temp < (start_chamber_temp if start_chamber_temp > 0 else chamber_temp) %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_BEFORE_PREHEATING
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
{% if not is_from_start_print %}
MAYBE_HOME
{% endif %}
G0 Z{chamber_heater_air_circulation_z_pos} F{z_speed}
G0 Y{chamber_heater_air_circulation_y_pos} F{speed}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 1 else 0}
{% else %}
M106 S{(255 * chamber_heater_air_circulation_fan_speed)}
{% endif %}
{% else %}
{% if is_from_start_print %}
G0 Z{z} F{z_speed}
{% endif %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE={chamber_temp}
{% if needs_heating %}
M140 S{chamber_heater_bed_temp}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={chamber_heater_preheating_temp}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if needs_heating %}
_CHAMBER_HEATER_EXTRA_FAN_ON
{% endif %}
{% if needs_heating %}
TEMPERATURE_WAIT SENSOR="{chamber_temp_sensor}" MINIMUM={(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% endif %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED=0
_CHAMBER_FILTER_ON AT="before_print_start"
{% endif %}
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
G28 Z
{% endif %}
{% endif %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_AFTER_PREHEATING
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% if printer["heater_generic chamber_heater"] is defined %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined and chamber_heater_control_external_heater %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
_LED_SUCCESS
{% endif %}
[gcode_macro _CHAMBER_HEATER_OFF]
gcode =
RATOS_ECHO MSG="Deactivating chamber heater..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=0
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE=0
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
_CHAMBER_HEATER_EXTRA_FAN_OFF
[delayed_gcode _CHAMBER_HEATER_CONTROL]
initial_duration = 0.
gcode =
{% set chamber_temp = printer["gcode_macro _CHAMBER_HEATER_ON"].chamber_temp|default(0)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set current_chamber_temp = printer['temperature_sensor chamber'].temperature|int %}
{% if current_chamber_temp < chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if current_chamber_temp >= chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_ON]
gcode =
{% set chamber_heater_extra_fan_speed = printer["gcode_macro RatOS"].chamber_heater_extra_fan_speed|default(0.0)|float %}
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
{% if chamber_heater_extra_fan_speed > 0 %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED={chamber_heater_extra_fan_speed}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_OFF]
gcode =
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED=0
{% endif %}
[gcode_macro _USER_CHAMBER_HEATER_BEFORE_PREHEATING]
description = Will be executed before chamber preheating, only if heating is needed.
gcode =
[gcode_macro _USER_CHAMBER_HEATER_AFTER_PREHEATING]
description = Will be executed after chamber preheating, only if heating was needed.
gcode =
[gcode_macro _LED_START_PRINTING]
gcode =
_LED_ACTION
[gcode_macro _LED_START_PRINTING_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_PRINTING]
gcode =
_LED_ON TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_PAUSE]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_ON]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_OFF]
gcode =
_LED_STANDBY
[gcode_macro _LED_LOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_LOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_RUNOUT]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_CLOG]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_UNLOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_UNLOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_DEACTIVATE_TOOLHEAD]
gcode =
_LED_OFF TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_STANDBY]
gcode =
_LED_STANDBY TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_WAKEUP]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_MOTORS_OFF]
gcode =
_LED_STANDBY
_LED_VAOC_OFF
[gcode_macro _LED_INPUT_SHAPER_START]
gcode =
_LED_ACTION
[gcode_macro _LED_INPUT_SHAPER_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_START]
gcode =
_LED_ACTION
[gcode_macro _LED_BEACON_CALIBRATION_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_VAOC_ON]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=1.0 GREEN=1.0 BLUE=1.0
{% endif %}
[gcode_macro _LED_VAOC_OFF]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=0.0 GREEN=0.0 BLUE=0.0
{% endif %}
[gcode_macro _LED_ACTION]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_action %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SUCCESS]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_success %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_HEATING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_heating %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_COOLING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_cooling %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ERROR]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_error %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ON]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_on %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_OFF]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_off %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_STANDBY]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_standby %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
{% if toolhead >= 0 %}
{% if printer['neopixel nozzle_led_t%s' % toolhead] is defined %}
SET_LED LED={'nozzle_led_t%s' % toolhead} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% else %}
{% if printer['neopixel nozzle_led_t0'] is defined %}
SET_LED LED={'nozzle_led_t0'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% if printer['neopixel nozzle_led_t1'] is defined %}
SET_LED LED={'nozzle_led_t1'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% endif %}
_USER_LED_SET { rawparams }
[gcode_macro _USER_LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
[gcode_macro LOAD_FILAMENT]
description = Loads new filament. Note: be careful with PETG, make sure you inspect the tip of your filament before loading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% if filament_name == '' or filament_type == '' %}
{% set filament_name = 'unknown' %}
{% set filament_type = 'unknown' %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_LOAD_FILAMENT TEMP={temp} NAME={filament_name} TYPE={filament_type}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_LOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME={filament_name} TYPE={filament_type}
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _DEFAULT_LOAD_FILAMENT]
description = Load filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_LOAD_FILAMENT" MSG="TEMP={temp}"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=load_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
_LOAD_FILAMENT TOOLHEAD=0
RESTORE_GCODE_STATE NAME=load_state
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD=0
[gcode_macro _IDEX_LOAD_FILAMENT]
description = Load filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_LOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
_LOAD_FILAMENT TOOLHEAD={toolhead} TEMP={temp}
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into hotend.."
G92 E0
G0 E{extruder_gear_to_cooling_position_distance} F{extruder_load_speed}
G92 E0
M400
RATOS_ECHO MSG="Filament loaded into hotend."
[gcode_macro _LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set load_speed = printer["gcode_macro T%s" % toolhead].filament_load_speed|float * 60 %}
{% set filament_loading_nozzle_offset = printer["gcode_macro T%s" % toolhead].filament_loading_nozzle_offset|float %}
{% set cooling_position_to_nozzle_distance = printer["gcode_macro T%s" % toolhead].cooling_position_to_nozzle_distance|float %}
{% set purge_after_load = printer["gcode_macro T%s" % toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into nozzle... Please wait!"
G92 E0
G0 E{cooling_position_to_nozzle_distance + filament_loading_nozzle_offset} F{load_speed}
G92 E0
G4 P1000
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge_after_load}
RATOS_ECHO MSG="Filament loaded into nozzle!"
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
{% set filament_grabbing_length = printer["gcode_macro T%s" % toolhead].filament_grabbing_length|float %}
{% set filament_grabbing_speed = printer["gcode_macro T%s" % toolhead].filament_grabbing_speed|float %}
{% set resume_after_insert = true if printer["gcode_macro T%s" % toolhead].resume_after_insert|default(true)|lower == 'true' else false %}
{% set enable_insert_detection = true if printer["gcode_macro T%s" % toolhead].enable_insert_detection|default(true)|lower == 'true' else false %}
{% set current_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% if enable_insert_detection %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="toolhead: {toolhead}, filament_grabbing_length: {filament_grabbing_length}, filament_grabbing_speed: {filament_grabbing_speed}, current_idex_mode: {current_idex_mode}"
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
FORCE_MOVE STEPPER={'extruder%s' % ('' if toolhead == 0 else toolhead)} DISTANCE={filament_grabbing_length} VELOCITY={filament_grabbing_speed}
M400
{% if printer.pause_resume.is_paused %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% if resume_after_insert %}
RESUME
{% endif %}
{% else %}
{% if not printer.virtual_sdcard.is_active %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
[gcode_macro _PURGE_BEFORE_UNLOAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set purge_before_unload = printer["gcode_macro T%s" % toolhead].purge_before_unload|float %}
DEBUG_ECHO PREFIX="_PURGE_BEFORE_UNLOAD" MSG="TOOLHEAD: {toolhead}"
{% if purge_before_unload > 0 %}
G92 E0
G0 E{purge_before_unload} F300
G92 E0
M400
{% endif %}
[gcode_macro _PURGE_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set e = params.E|int %}
{% set r = params.R|default(0)|int %}
DEBUG_ECHO PREFIX="_PURGE_FILAMENT" MSG="TOOLHEAD: {toolhead}, E: {e}"
{% if e > 0 %}
G92 E0
G0 E{e} F300
G92 E0
M400
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={0.4 if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={0.4 if toolhead == 1 else 0}
{% else %}
M106 S{(255 * 0.4)}
{% endif %}
{% endif %}
G4 P3000
{% if r > 0 %}
G92 E0
G0 E-{r} F300
G92 E0
M400
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_PARKING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_PARKING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_LOADING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_LOADING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if act_t == toolhead %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{loading_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CLEANING_MOVE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined and printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set cleaning_position = loading_position %}
{% if loading_position == parking_position %}
{% if loading_position > 0 %}
{% set cleaning_position = loading_position - 30 %}
{% else %}
{% set cleaning_position = loading_position + 30 %}
{% endif %}
{% endif %}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _START_PRINT_BED_MESH]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
SET_MACRO_TRAVEL_SETTINGS
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set X=[params.X0|default(-1)|float, params.X1|default(-1)|float] %}
{% set Y=[params.Y0|default(-1)|float, params.Y1|default(-1)|float] %}
DEBUG_ECHO PREFIX="_START_PRINT_BED_MESH" MSG="idex_mode: {idex_mode}, X: {X}, Y: {Y}"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set X=[0, printable_x_max] %}
{% endif %}
{% set beacon_bed_mesh_scv = printer["gcode_macro RatOS"].beacon_bed_mesh_scv|default(25)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% if printer.configfile.settings.beacon is defined and not beacon_contact_bed_mesh %}
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={beacon_bed_mesh_scv}
{% endif %}
{% set default_profile = printer["gcode_macro RatOS"].bed_mesh_profile|default('ratos') %}
{% if printer["gcode_macro RatOS"].calibrate_bed_mesh|lower == 'true' %}
BED_MESH_CLEAR
{% if printer["gcode_macro RatOS"].adaptive_mesh|lower == 'true' %}
CALIBRATE_ADAPTIVE_MESH PROFILE={default_profile} X0={X[0]} X1={X[1]} Y0={Y[0]} Y1={Y[1]} T={params.T|int} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={idex_mode}
{% else %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% endif %}
BED_MESH_PROFILE LOAD={default_profile}
{% elif printer["gcode_macro RatOS"].bed_mesh_profile is defined %}
BED_MESH_CLEAR
BED_MESH_PROFILE LOAD={printer["gcode_macro RatOS"].bed_mesh_profile}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
[gcode_macro CALIBRATE_ADAPTIVE_MESH]
gcode =
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set default_profile = params.PROFILE %}
{% set x0 = params.X0|default(-1)|float %}
{% set y0 = params.Y0|default(-1)|float %}
{% set x1 = params.X1|default(-1)|float %}
{% set y1 = params.Y1|default(-1)|float %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Recieved coordinates X0={x0} Y0={y0} X1={x1} Y1={y1}"
{% if x0 >= x1 or y0 >= y1 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Invalid coordinates received. Please check your slicer settings. Falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float %}
{% set mesh_x0 = [[x0, max_x]|min, min_x]|max %}
{% set mesh_y0 = [[y0, max_y]|min, min_y]|max %}
{% set mesh_x1 = [[x1, max_x]|min, min_x]|max %}
{% set mesh_y1 = [[y1, max_y]|min, min_y]|max %}
{% if mesh_x0 == min_x and mesh_y0 == min_y and mesh_x1 == max_x and mesh_y1 == max_y %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Print is using the full bed, falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% set probe_count_x = mesh_config.probe_count.split(",")[0]|int %}
{% if mesh_config.probe_count.split(",")|length == 2 %}
{% set probe_count_y = mesh_config.probe_count.split(",")[1]|int %}
{% else %}
{% set probe_count_y = mesh_config.probe_count.split(",")[0]|int %}
{% endif %}
{% set probe_x_step = (max_x - min_x) / probe_count_x %}
{% set probe_y_step = (max_y - min_y) / probe_count_y %}
{% set mesh_count_x = ([(mesh_x1 - mesh_x0) / probe_x_step, 3]|max)|int %}
{% set mesh_count_y = ([(mesh_y1 - mesh_y0) / probe_y_step, 3]|max)|int %}
{% set min_mesh_count = [mesh_count_x, mesh_count_y]|min %}
{% set max_mesh_count = [mesh_count_x, mesh_count_y]|max %}
{% set algorithm = mesh_config.algorithm %}
{% if algorithm|lower == 'lagrange' and max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="cannot exceed a probe_count of 6 when using lagrange interpolation. Falling back to bicubic interpolation."
{% set algorithm = 'bicubic' %}
{% endif %}
{% if algorithm|lower == 'bicubic' and min_mesh_count < 4 %}
{% if max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="invalid probe_count option when using bicubic interpolation. Combination of 3 points on one axis with more than 6 on another is not permitted. Forcing minimum mesh count to be 4."
{% set min_mesh_count = 4 %}
{% else %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="bicubic interpolation with a probe_count of less than 4 points detected. Forcing lagrange interpolation."
{% set algorithm = 'lagrange' %}
{% endif %}
{% endif %}
{% set mesh_count_x = ([min_mesh_count, mesh_count_x]|max)|int %}
{% set mesh_count_x = ([max_mesh_count, mesh_count_x]|min)|int %}
{% set mesh_count_y = ([min_mesh_count, mesh_count_y]|max)|int %}
{% set mesh_count_y = ([max_mesh_count, mesh_count_y]|min)|int %}
{% set should_prime = printer["gcode_macro RatOS"].nozzle_priming == 'primeblob' %}
{% if printer["dual_carriage"] is not defined %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% else %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% endif %}
{% if printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 != 0 and probe_first %}
{% set probe_first = false %}
{% elif printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 == 0 and not probe_first %}
{% set probe_first = true %}
{% endif %}
{% if should_prime and probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="mesh coordinates X0={mesh_x0} Y0={mesh_y0} X1={mesh_x1} Y1={mesh_y1}"
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% if should_prime and not probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
STOW_PROBE
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M84]
rename_existing = M84.1
gcode =
M84.1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
{% if printer["dual_carriage"] is defined %}
_SET_TOOLHEAD_OFFSET T={printer["gcode_macro RatOS"].default_toolhead|int} MOVE=0
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro _VAOC"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
{% endif %}
SET_GCODE_OFFSET X=0 Y=0 Z=0 MOVE=0
_IDEX_SINGLE INIT=1
{% endif %}
SET_SKEW CLEAR=1
_LED_MOTORS_OFF
[gcode_macro M104]
rename_existing = M104.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
DEBUG_ECHO PREFIX="M104" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set temperature_offset_t0 = printer["gcode_macro T0"].temperature_offset|default(0)|int %}
{% set temperature_offset_t1 = printer["gcode_macro T1"].temperature_offset|default(0)|int %}
{% set s0 = [s + temperature_offset_t0, 0]|max %}
{% set s1 = [s + temperature_offset_t1, 0]|max %}
{% if temperature_offset_t0 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t0}°C added to toolhead T0."
{% endif %}
{% if temperature_offset_t1 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t1}°C added to toolhead T1."
{% endif %}
{% else %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
M104.1 S{s0} T0
M104.1 S{s1} T1
{% else %}
M104.1 S{s} T{t}
{% endif %}
{% endif %}
[gcode_macro M109]
rename_existing = M109.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
DEBUG_ECHO PREFIX="M109" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M109" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
M109.1 S{s} T{t}
{% endif %}
[gcode_macro SET_HEATER_TEMPERATURE]
rename_existing = SET_HEATER_TEMPERATURE_BASE
gcode =
{% set heater = params.HEATER|default("") %}
{% set target = params.TARGET|default(0)|int %}
DEBUG_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="heater: {heater}, target: {target}"
{% if heater|lower == "extruder" or heater|lower == "extruder1" %}
{% set t = 0 if heater|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and target > 0 %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set target = [target + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
SET_HEATER_TEMPERATURE_BASE HEATER="{heater}" TARGET={target}
[gcode_macro TEMPERATURE_WAIT]
rename_existing = TEMPERATURE_WAIT_BASE
gcode =
{% set sensor = params.SENSOR|default("") %}
{% set minimum = params.MINIMUM|default(-1)|int %}
{% set maximum = params.MAXIMUM|default(-1)|int %}
DEBUG_ECHO PREFIX="TEMPERATURE_WAIT" MSG="sensor: {sensor}, minimum: {minimum}, maximum: {maximum}"
{% if sensor|lower == "extruder" or sensor|lower == "extruder1" %}
{% set t = 0 if sensor|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and (minimum > 0 or maximum > 0) %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% if minimum > -1 %}
{% set minimum = [minimum + temperature_offset, 0]|max %}
{% endif %}
{% if maximum > -1 %}
{% set maximum = [maximum + temperature_offset, 0]|max %}
{% endif %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% if minimum > -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum} MAXIMUM={maximum}
{% elif minimum > -1 and maximum == -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum}
{% elif minimum == -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MAXIMUM={maximum}
{% endif %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature for toolhead T{t} reached."
[gcode_macro SET_GCODE_OFFSET]
rename_existing = SET_GCODE_OFFSET_ORG
gcode =
SET_GCODE_OFFSET_ORG { rawparams }
{% if printer.configfile.settings.beacon is defined and (params.Z_ADJUST is defined or params.Z is defined) %}
_BEACON_APPLY_RUNTIME_MULTIPLIER
{% endif %}
[gcode_macro SDCARD_PRINT_FILE]
rename_existing = SDCARD_PRINT_FILE_BASE
gcode =
{% if printer["ratos"] is defined %}
PROCESS_GCODE_FILE { rawparams }
{% else %}
SDCARD_PRINT_FILE_BASE { rawparams }
{% endif %}
[gcode_macro SKEW_PROFILE]
rename_existing = SKEW_PROFILE_BASE
variable_loaded_profile = ""
gcode =
{% if params.LOAD is defined %}
{% if printer.configfile.settings["skew_correction %s" % params.LOAD] is defined %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='"{params.LOAD}"'
{% endif %}
{% endif %}
SKEW_PROFILE_BASE { rawparams }
[gcode_macro SET_SKEW]
rename_existing = SET_SKEW_BASE
gcode =
{% if params.CLEAR is defined %}
{% if params.CLEAR|default(0)|int == 1 %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='""'
{% endif %}
{% endif %}
SET_SKEW_BASE { rawparams }
[gcode_macro SET_VELOCITY_LIMIT]
rename_existing = SET_VELOCITY_LIMIT_BASE
gcode =
{% if params.ACCEL_TO_DECEL is defined %}
{% if params.ACCEL is defined %}
{% set accel = params.ACCEL|float %}
{% else %}
{% set accel = printer.toolhead.max_accel|float %}
{% endif %}
{% if params.VELOCITY is defined %}
{% set velocity = params.VELOCITY|float %}
{% else %}
{% set velocity = printer.toolhead.max_velocity|float %}
{% endif %}
{% if params.SQUARE_CORNER_VELOCITY is defined %}
{% set scv = params.SQUARE_CORNER_VELOCITY|float %}
{% else %}
{% set scv = printer.toolhead.square_corner_velocity|float %}
{% endif %}
{% set mcr = params.ACCEL_TO_DECEL|float / accel %}
DEBUG_ECHO PREFIX="SET_VELOCITY_LIMIT" MSG="ACCEL={accel}, VELOCITY={velocity}, SQUARE_CORNER_VELOCITY={scv}, MINIMUM_CRUISE_RATIO={mcr}"
SET_VELOCITY_LIMIT_BASE ACCEL={accel} VELOCITY={velocity} SQUARE_CORNER_VELOCITY={scv} MINIMUM_CRUISE_RATIO={1-mcr}
{% else %}
SET_VELOCITY_LIMIT_BASE { rawparams }
{% endif %}
[gcode_macro _START_PRINT_PARK]
gcode =
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_x = printer["gcode_macro RatOS"].start_print_park_x %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% endif %}
{% if printer["dual_carriage"] is defined and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
{% if printer["gcode_macro RatOS"].start_print_park_x is defined and printer["gcode_macro RatOS"].start_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="start_print_park_x is ignored for IDEX printers"
{% endif %}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={start_print_park_in} X={start_print_park_x}
G0 Z{z} F{z_speed}
[gcode_macro _END_PRINT_PARK]
gcode =
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro RatOS"].end_print_park_x is defined and printer["gcode_macro RatOS"].end_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="end_print_park_x is ignored for IDEX printers"
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={printer["gcode_macro RatOS"].end_print_park_in} X={printer["gcode_macro RatOS"].end_print_park_x}
[gcode_macro _PARK]
gcode =
{% set x = params.X %}
{% set location = params.LOCATION|default('back')|lower %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set nozzle_priming = printer["gcode_macro RatOS"].nozzle_priming|lower %}
CACHE_TOOLHEAD_SETTINGS KEY="park"
SET_MACRO_TRAVEL_SETTINGS
{% if x != '' %}
{% if x|float >= printer.toolhead.axis_minimum.x + 5 and x|float <= printable_x_max - 5 %}
{% set park_x = x|float %}
{% else %}
{action_respond_info('The requested X co-ordinate is outside the defined axis bounds - using defaults')}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% else %}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% set park_y = printable_y_max - 15 %}
{% if location == 'front' %}
{% set park_y = printer.toolhead.axis_minimum.y + 5 %}
{% elif location == 'center' %}
{% set park_y = printable_y_max / 2 %}
{% elif location == 'primeblob' and printer["dual_carriage"] is defined %}
{% set park_y = printable_y_max - 15 %}
{% endif %}
{% if location == 'primeblob' and printer["dual_carriage"] is not defined %}
{% if (nozzle_priming == 'primeblob' or nozzle_priming == 'primeline') %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set park_x = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set park_x = printable_x_max - 5 %}
{% else %}
{% set park_x = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set park_y = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set park_y = printable_y_max - 5 %}
{% else %}
{% set park_y = nozzle_prime_start_y|float %}
{% endif %}
{% endif %}
{% endif %}
G90
{% if printer["dual_carriage"] is not defined %}
G0 X{park_x} Y{park_y} F{speed}
{% else %}
G0 Y{park_y} F{speed}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="park"
[gcode_macro SAVE_PROBE_RESULT]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
{% set last_z_offset = 9999.9 %}
{% if printer.configfile.settings.beacon is defined %}
{% set current_z = printer.toolhead.position.z|float %}
{% if beacon_contact_prime_probing %}
{% set last_z_offset = printer.beacon.last_z_result %}
{% else %}
{% set last_z_offset = printer.beacon.last_sample.dist - current_z %}
{% endif %}
{% elif printer.configfile.settings.bltouch is defined %}
{% set config_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% elif printer.configfile.settings.probe is defined %}
{% set config_offset = printer.configfile.settings.probe.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Saving offset adjustment of {last_z_offset} in {params.VARIABLE|default('last_z_offset')}"
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE={params.VARIABLE|default('last_z_offset')} VALUE={last_z_offset}
[gcode_macro PROBE_FOR_PRIMING]
gcode =
{% set probe_for_priming_disable_mesh_constraints = true if printer["gcode_macro RatOS"].probe_for_priming_disable_mesh_constraints|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower != 'false' %}
SAVE_GCODE_STATE NAME=probe_for_priming_state
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the prime location.."
CACHE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
SET_MACRO_TRAVEL_SETTINGS
{% set t = params.TOOLHEAD|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% if idex_mode == '' %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% if t == 0 %}
{% set x_start = 5 %}
{% else %}
{% set x_start = printable_x_max - 5 %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% endif %}
{% endif %}
{% set z = printer.configfile.settings.bed_mesh.horizontal_move_z|float %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% if printer.configfile.settings.bltouch is defined %}
{% set x_offset = printer.configfile.settings.bltouch.x_offset|float %}
{% set y_offset = printer.configfile.settings.bltouch.y_offset|float %}
{% set z_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% elif printer.configfile.settings.probe is defined %}
{% set x_offset = printer.configfile.settings.probe.x_offset|float %}
{% set y_offset = printer.configfile.settings.probe.y_offset|float %}
{% set z_offset = printer.configfile.settings.probe.z_offset|float %}
{% elif printer.configfile.settings.beacon is defined %}
{% set x_offset = printer.configfile.settings.beacon.x_offset|float %}
{% set y_offset = printer.configfile.settings.beacon.y_offset|float %}
{% set z_offset = printer.configfile.settings.beacon.trigger_distance|float %}
{% else %}
{ action_raise_error("No probe, beacon or bltouch section found. Adaptive priming only works with a [probe], [beacon] or [bltouch] section defined.") }
{% endif %}
{% if z < z_offset %}
{ action_raise_error("Horizontal move Z ({z}) is below your probe's Z offset ({z_offset}). Please adjust your horizontal_move_z setting in [bed_mesh] to be above {z}.") }
{% endif %}
{% if not probe_for_priming_disable_mesh_constraints %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float - x_offset %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float - y_offset %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float - x_offset %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float - y_offset %}
{% set x_start = [[x_start, max_x]|min, min_x]|max %}
{% set y_start = [[y_start, max_y]|min, min_y]|max %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the start of the prime location at {x_start}, {y_start}"
G90
M83
G0 Z{z} F{z_speed}
G1 X{x_start} Y{y_start} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result
{% endif %}
{% if idex_mode == '' %}
{% set x_end = x_start %}
{% set y_end = y_start + 45 %}
{% else %}
{% if t==1 %}
{% set x_end = x_start - 45 %}
{% else %}
{% set x_end = x_start + 45 %}
{% endif %}
{% set y_end = y_start %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the end of the prime location at {x_end}, {y_end}"
G1 X{x_end} Y{y_end} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result
{% endif %}
RESTORE_GCODE_STATE NAME=probe_for_priming_state
RESTORE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
{% endif %}
[gcode_macro RESET_PRIME_PROBE_STATE]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result VALUE=None
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result_t1 VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result_t1 VALUE=None
{% endif %}
[gcode_macro PROBE_CURRENT_POSITION]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
SAVE_GCODE_STATE NAME=probe_current_position_state
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
ASSERT_PROBE_DEPLOYED
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_prime_probing %}
PROBE PROBE_METHOD=contact SAMPLES=1
{% else %}
PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
BEACON_QUERY
{% else %}
RESTORE_GCODE_STATE NAME=probe_current_position_state MOVE=1 MOVE_SPEED={printer["gcode_macro RatOS"].macro_z_speed|float}
{% endif %}
[gcode_macro PRIME_BLOB]
description = Prints a primeblob, used internally, if configured, as part of the START_PRINT macro.
variable_x_offset = 5
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="prime_blob"
SET_MACRO_TRAVEL_SETTINGS
RATOS_ECHO PREFIX="Priming" MSG="Priming nozzle with prime blob.."
{% set current_toolhead = 0 %}
{% set target_idex_mode = '' %}
{% set extruder = 'extruder' %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE is defined %}
{% set target_idex_mode = params.IDEX_MODE|default('')|lower %}
{% else %}
{ action_raise_error("IDEX_MODE parameter not found for PRIME_BLOB macro. This is likely a bug.") }
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Priming in IDEX {target_idex_mode} mode.."
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set current_toolhead = 1 if current_idex_mode=='primary' else 0 %}
{% set extruder = 'extruder1' if current_toolhead == 1 else 'extruder' %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
SAVE_GCODE_STATE NAME=prime_blob_state
{% endif %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set fan_speed = printer["gcode_macro RatOS"].nozzle_prime_bridge_fan|float %}
{% set nozzle_diameter = printer.configfile.settings[extruder].nozzle_diameter|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set has_start_offset_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) != 9999.9 %}
{% if printer["dual_carriage"] is defined %}
{% set has_start_offset_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) != 9999.9 %}
{% endif %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_z_height = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set nozzle_prime_direction = printer["gcode_macro RatOS"].nozzle_prime_direction|lower %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% if target_idex_mode == '' %}
{% set x_factor = 0 %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% set y_factor = 1 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% set y_factor = -1 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% if nozzle_prime_start_y|float < printable_y_max / 2 %}
{% set y_factor = 1 %}
{% else %}
{% set y_factor = -1 %}
{% endif %}
{% endif %}
{% if nozzle_prime_direction == 'forwards' %}
{% set y_factor = 1 %}
{% elif nozzle_prime_direction == 'backwards' %}
{% set y_factor = -1 %}
{% endif %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% else %}
{% set z = start_print_park_z_height %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% set y_factor = 0 %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set x_start = center_x / 2 + 5 %}
{% set x_factor = 1 %}
{% else %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% if current_toolhead == 0 %}
{% set x_start = 55 %}
{% set x_factor = -1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 55 %}
{% set x_factor = 1 %}
{% endif %}
{% else %}
{% if current_toolhead == 0 %}
{% set x_start = 5 %}
{% set x_factor = 1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 5 %}
{% set x_factor = -1 %}
{% endif %}
{% endif %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_x_max - 5 %}
{% endif %}
{% set z = 10 %}
{% endif %}
{% set start_z_offset = 0 %}
{% set end_z_offset = 0 %}
{% if has_start_offset_t0 %}
{% set start_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) %}
{% set end_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_end_result|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t0) ) }
{% endif %}
{% if end_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t0) ) }
{% endif %}
{% set start_z_offset = start_z_probe_result_t0 %}
{% set end_z_offset = end_z_probe_result_t0 %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if current_toolhead == 1 or both_toolheads or target_idex_mode == "copy" or target_idex_mode == "mirror" %}
{% if has_start_offset_t1 %}
{% set start_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) %}
{% set end_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_end_result_t1|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t1) ) }
{% endif %}
{% if end_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t1) ) }
{% endif %}
{% set start_z_offset = [start_z_offset, start_z_probe_result_t1]|max %}
{% set end_z_offset = [end_z_offset, start_z_probe_result_t1]|max %}
{% endif %}
{% endif %}
{% if target_idex_mode != 'copy' and target_idex_mode != 'mirror' %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% set original_start_z_offset = start_z_offset %}
{% set original_end_z_offset = end_z_offset %}
{% set start_z_offset = original_end_z_offset %}
{% set end_z_offset = original_start_z_offset %}
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={current_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="PRIME_BLOB" MSG="x_start: {x_start}, y_start: {y_start}, x_factor: {x_factor}, y_factor: {y_factor}, z: {z}, start_z_offset: {start_z_offset}, end_z_offset: {end_z_offset}"
G90
M83
RATOS_ECHO PREFIX="Priming" MSG="Lifting Z to {z}.."
G0 Z{z} F{z_speed}
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% if start_print_park_in != 'primeblob' %}
G1 X{x_start} F{speed}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% endif %}
{% else %}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% if target_idex_mode=="copy" or target_idex_mode=="mirror" %}
RATOS_ECHO PREFIX="Priming" MSG="Mirroring move to {x_start}, {y_start} along the edge of the print area.."
_IDEX_MIRROR PRIMING=1
{% else %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% endif %}
G1 X{x_start} F{speed}
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Starting prime blob.."
G1 Z{0.5 + start_z_offset} F{z_speed}
G1 Y{y_start} F{speed}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
M106 S{fan_speed}
G1 Z5 F100 E5
G92 E0
RATOS_ECHO PREFIX="Priming" MSG="Bridging with {((fan_speed/255) * 100)|int}% fan speed.."
G1 F3000 X{x_start + (15 * x_factor)} Y{y_start + (15 * y_factor)} E{1 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (20 * x_factor)} Y{y_start + (20 * y_factor)} Z{3.8 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (34 * x_factor)} Y{y_start + (34 * y_factor)} Z{2.6 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (38 * x_factor)} Y{y_start + (38 * y_factor)} Z{1.4 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (42 * x_factor)} Y{y_start + (42 * y_factor)} Z{0.2 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
M106 S0
G1 F3000 X{x_start + (46 * x_factor)} Y{y_start + (46 * y_factor)} Z{0.2 + end_z_offset} E0.6
G1 F{speed} X{x_start + (50 * x_factor)} Y{y_start + (50 * y_factor)}
{% if target_idex_mode == "copy" or target_idex_mode == "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if target_idex_mode == "copy" %}
{% if first_y >= 0 %}
_IDEX_COPY DANCE=0 Y={first_y}
{% else %}
_IDEX_COPY DANCE=0 Y={params.Y1}
{% endif %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
RESTORE_GCODE_STATE NAME=prime_blob_state
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="prime_blob"
G92 E0
[gcode_macro UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% set temp = params.TEMP|default(220)|int %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_UNLOAD_FILAMENT TEMP={temp} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _LEGACY_UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set unload_speed = 5 * 60 %}
{% set unload_length = printer["gcode_macro RatOS"].filament_unload_length|float %}
M117 Unloading filament...
G0 E10 F300
G0 E-5 F3600
G4 P3000
G0 E5 F6000
G0 E-15 F6000
G0 E-{unload_length} F{unload_speed}
_CLEANING_MOVE TOOLHEAD={toolhead}
M117 Filament unloaded!
RESPOND MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _DEFAULT_UNLOAD_FILAMENT]
description = Unload filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_UNLOAD_FILAMENT" MSG="TEMP: {temp}"
_LED_UNLOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=unload_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD=0 NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TOOLHEAD=0
{% endif %}
RESTORE_GCODE_STATE NAME=unload_state
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD=0
[gcode_macro _IDEX_UNLOAD_FILAMENT]
description = Unload filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_UNLOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead}
{% endif %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Unloading filament from nozzle to cooling zone... Please wait!"
_PURGE_BEFORE_UNLOAD TOOLHEAD={toolhead}
{% if printer["gcode_macro _UNLOAD_WITHOUT_TIP_FORMING"] is defined %}
_UNLOAD_WITHOUT_TIP_FORMING TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_UNLOAD_WITH_TIP_FORMING NAME='{filament_name}' TYPE='{filament_type}'
{% endif %}
G4 P3000
[gcode_macro _UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
{% set tooolhead_sensor_to_extruder_gear_distance = printer["gcode_macro T%s" % toolhead].tooolhead_sensor_to_extruder_gear_distance|float %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER" MSG="TOOLHEAD: {toolhead}"
G0 E-{extruder_gear_to_cooling_position_distance + tooolhead_sensor_to_extruder_gear_distance + 50} F{extruder_load_speed}
RATOS_ECHO MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _UNLOAD_WITH_TIP_FORMING]
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% if filament_name != '' and filament_type != '' %}
_UNLOAD_KNOWN_FILAMENT NAME={filament_name} TYPE={filament_type}
{% else %}
_UNLOAD_UNKNOWN_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _UNLOAD_KNOWN_FILAMENT]
description = User overrideable tip forming macro if slicer filament profiles are known
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
RATOS_ECHO PREFIX="FILAMENT TYPE" MSG='{filament_type}'
RATOS_ECHO PREFIX="FILAMENT PROFILE" MSG='{filament_name}'
{% if filament_name == "Prusament PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% elif filament_name == "Nobufil PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% else %}
RATOS_ECHO PREFIX="_UNLOAD_KNOWN_FILAMENT" MSG="Filament profile not found!"
_UNLOAD_UNKNOWN_FILAMENT
{% endif %}
[gcode_macro _UNLOAD_UNKNOWN_FILAMENT]
description = User overrideable standard tip forming macro
gcode =
DEBUG_ECHO PREFIX="_UNLOAD_UNKNOWN_FILAMENT" MSG="Using standard tip forming macro!"
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
[gcode_macro _TIP_FORMING]
gcode =
{% set cooling_moves = params.COOLING_MOVES|default(4)|int %}
{% set cooling_move_length = params.COOLING_MOVE_LENGTH|default(10)|float %}
{% set start_cooling_speed = params.START_COOLING_SPEED|default(10)|float * 60 %}
{% set end_cooling_speed = params.END_COOLING_SPEED|default(50)|float * 60 %}
{% if cooling_moves == 0 %}
{% set cooling_move_length = 0 %}
{% endif %}
{% set dip = true if params.DIP|default(false)|lower == "true" else false %}
{% set dip_length = params.DIP_LENGTH|default(22)|float %}
{% set dip_speed = params.DIP_SPEED|default(30)|float * 60 %}
{% set dip_retract_speed = params.DIP_RETRACT_SPEED|default(70)|float * 60 %}
{% set retract_length = params.RETRACT_LENGTH|default(18)|float %}
{% set start_retract_speed = params.START_RETRACT_SPEED|default(120)|float * 60 %}
{% set end_retract_speed = params.END_RETRACT_SPEED|default(20)|float * 60 %}
DEBUG_ECHO PREFIX="_TIP_FORMING" MSG="cooling_moves: {cooling_moves}, cooling_move_length: {cooling_move_length}, start_cooling_speed: {start_cooling_speed}, end_cooling_speed: {end_cooling_speed}, dip: {dip}, dip_length: {dip_length}, dip_speed: {dip_speed}, dip_retract_speed: {dip_retract_speed}, retract_length: {retract_length}, start_retract_speed: {start_retract_speed}, end_retract_speed: {end_retract_speed}"
M220 S100
G92 E0
{% set retract = retract_length + cooling_move_length / 2 - 15 %}
G1 E-15 F{start_retract_speed}
G1 E-{0.7 * retract} F{1.0 * end_retract_speed}
G1 E-{0.2 * retract} F{0.5 * end_retract_speed}
G1 E-{0.1 * retract} F{0.3 * end_retract_speed}
G92 E0
{% if cooling_moves > 0 %}
{% set i = (end_cooling_speed - start_cooling_speed) / (2 * cooling_moves - 1) %}
{% for m in range(cooling_moves) %}
G1 E{cooling_move_length} F{(start_cooling_speed + i * m * 2)}
G1 E-{cooling_move_length} F{(start_cooling_speed + i * (m * 2 + 1))}
{% endfor %}
{% endif %}
G92 E0
{% if dip %}
G1 E{dip_length} F{dip_speed}
G4 P100
G1 E-{dip_length} F{dip_retract_speed}
{% endif %}
G92 E0
M400
[gcode_macro _ON_FILAMENT_SENSOR_BUTTON_PRESSED]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_SENSOR_BUTTON_PRESSED" MSG="TOOLHEAD: {toolhead}"
{% if not printer.virtual_sdcard.is_active %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_FILAMENT_END]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set clogged = true if params.CLOGGED|default(false)|lower == 'true' else false %}
{% set unload_after_runout = printer["gcode_macro T%s" % toolhead].unload_after_runout|float %}
{% if clogged %}
_LED_FILAMENT_CLOG TOOLHEAD={toolhead}
{% else %}
_LED_FILAMENT_RUNOUT TOOLHEAD={toolhead}
{% endif %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_END" MSG="TOOLHEAD: {toolhead}"
{% if printer.virtual_sdcard.is_active %}
{% if not printer.pause_resume.is_paused %}
PAUSE RUNOUT=True
{% endif %}
{% if not clogged and unload_after_runout %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% if not clogged and printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true'%}
_JOIN_SPOOL TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M600]
description = Executes a color change by pausing the printer an unloading the filament.
gcode =
PAUSE
UNLOAD_FILAMENT
RATOS_ECHO MSG="Please load new filament and resume"
[gcode_macro COLD_PULL]
description = Automated hotend cold pull.
gcode =
{% set extrusion_temp = params.EXTRUSION_TEMP|default(220)|int %}
{% set cold_pull_temp = params.COLD_PULL_TEMP|default(80)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% if printer["dual_carriage"] is not defined %}
{% set toolhead = 0 %}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead != 0 and toolhead != 1 %}
{action_raise_error("Please select toolhead! 0 = left, 1 = right toolhead")}
{% endif %}
{% endif %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
SAVE_GCODE_STATE NAME=cold_pull_state
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
RATOS_ECHO MSG="Heating T{toolhead} to {extrusion_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={extrusion_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={extrusion_temp} MAXIMUM={extrusion_temp + 2}
G4 P3000
RATOS_ECHO MSG="extruding..."
G92 E0
G1 E30 F300
G92 E0
RATOS_ECHO MSG="Heating T{toolhead} to {cold_pull_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={cold_pull_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={cold_pull_temp} MAXIMUM={cold_pull_temp + 2}
G4 P10000
RATOS_ECHO MSG="cold pull..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-40 VELOCITY=5 ACCEL=100
RATOS_ECHO MSG="eject filament..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-200 VELOCITY=20 ACCEL=500
RATOS_ECHO MSG="cooling down extruder..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
RESTORE_GCODE_STATE NAME=cold_pull_state
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
CONSOLE_ECHO TITLE="Cold pull finished!" MSG="Please remove the filament from the PTFE tube and cut the end off. Do NOT try to load it again." TYPE="warning"
[gcode_macro _USER_START_PRINT_BEFORE_HOMING]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_BED]
gcode =
[gcode_macro _USER_START_PRINT_BED_MESH]
gcode =
[gcode_macro _USER_START_PRINT_PARK]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
[gcode_macro _USER_START_PRINT_HEAT_CHAMBER]
description = Uses the extruder sensor to wait for chamber temp. Override the _START_PRINT_HEAT_CHAMBER macro to implement heated chamber handling.
gcode =
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
[gcode_macro _USER_END_PRINT_BEFORE_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_AFTER_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_PARK]
gcode =
[gcode_macro _USER_END_PRINT_FINISHED]
description = User hook for when the print is finished after gcode state has been restored.
gcode =
[gcode_macro _USER_START_PRINT]
gcode =
[gcode_macro _USER_END_START_PRINT]
gcode =
[gcode_macro _USER_START_FEATURE]
gcode =
[gcode_macro _USER_END_FEATURE]
gcode =
[gcode_macro ECHO_T_VARS]
description = Echo Toolhead variables to the console.
gcode =
{% set t = params.T|default(0) %}
RATOS_ECHO MSG="T{t} Variables"
{% for var, value in printer["gcode_macro T%s" % t].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro ECHO_RATOS_VARS]
description = Echo RatOS variables to the console.
gcode =
{% for var, value in printer["gcode_macro RatOS"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[delayed_gcode RATOS_INIT]
initial_duration = 0.1
gcode =
_LED_STANDBY
CALCULATE_PRINTABLE_AREA
INITIAL_FRONTEND_UPDATE
_CHAMBER_FILTER_SANITY_CHECK
[delayed_gcode RATOS_LOGO]
initial_duration = 2
gcode =
HELLO_RATOS
[gcode_macro INITIAL_FRONTEND_UPDATE]
gcode =
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_error = printer["gcode_macro RatOS"].status_color_error|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_unknown}"'
{% endif %}
{% set t0_sensor = "undefined" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
{% set t0_sensor = "detected" %}
{% else %}
{% set t0_sensor = "empty" %}
{% endif %}
{% else %}
{% set t0_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set t1_sensor = "undefined" %}
{% if printer["dual_carriage"] is defined and printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
{% set t1_sensor = "detected" %}
{% else %}
{% set t1_sensor = "empty" %}
{% endif %}
{% else %}
{% set t1_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set svv = printer.save_variables.variables %}
{% if svv.t0_filament is defined and printer["gcode_macro T0"] is defined %}
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
{% if t0_sensor != "empty" %}
{% set t0_filament_type = svv.t0_filament[0]|default('')|string %}
{% set t0_filament_name = svv.t0_filament[1]|default('')|string %}
{% set t0_filament_temp = svv.t0_filament[2]|default(0)|float %}
{% if t0_filament_name != '' and t0_filament_type != '' and t0_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{t0_filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{t0_filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={t0_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
{% if svv.t1_filament is defined and printer["gcode_macro T1"] is defined %}
{% if printer["gcode_macro T1"].filament_name is defined and printer["gcode_macro T1"].filament_type is defined and printer["gcode_macro T1"].filament_temp is defined %}
{% if t1_sensor != "empty" %}
{% set t1_filament_type = svv.t1_filament[0]|default('')|string %}
{% set t1_filament_name = svv.t1_filament[1]|default('')|string %}
{% set t1_filament_temp = svv.t1_filament[2]|default(0)|float %}
{% if t1_filament_name != '' and t1_filament_type != '' and t1_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='"{t1_filament_name}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='"{t1_filament_type}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE={t1_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t1_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro CALCULATE_PRINTABLE_AREA]
gcode =
{% set bed_margin_x = printer["gcode_macro RatOS"].bed_margin_x %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set tool = 0 if printer["gcode_macro T0"] is not defined or printer["gcode_macro T0"].active else 1 %}
{% set max_x = printer.toolhead.axis_maximum.x if printer["dual_carriage"] is defined and tool == 0 else printer.toolhead.axis_maximum.x - bed_margin_x[1] %}
{% if printer["dual_carriage"] is defined %}
{% set max_x = printer.toolhead.axis_maximum.x %}
{% endif %}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="printer.toolhead.axis_maximum.x {printer.toolhead.axis_maximum.x}"
{% set max_y = printer.toolhead.axis_maximum.y - bed_margin_y[1]%}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_x_max VALUE={max_x}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_y_max VALUE={max_y}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="Printable area calculated: X: 0,{max_x} Y: 0,{max_y}"
[gcode_macro CACHE_TOOLHEAD_SETTINGS]
variable_cache = {"global": {"accel": 1000, "ratio": 0.5, "speed": 50, "scv": 5}}
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set dummy = cache.__setitem__(key, {"accel": printer.toolhead.max_accel, "ratio": printer.toolhead.minimum_cruise_ratio, "speed": printer.toolhead.max_velocity, "scv": printer.toolhead.square_corner_velocity}) %}
SET_GCODE_VARIABLE MACRO=CACHE_TOOLHEAD_SETTINGS VARIABLE=cache VALUE="{cache | pprint | replace("\n", "") | replace("\"", "\\\"")}"
DEBUG_ECHO PREFIX="CACHE_TOOLHEAD_SETTINGS" MSG="Toolhead settings cached for {key}. {printer.toolhead.max_accel} accel, {printer.toolhead.minimum_cruise_ratio} ratio, {printer.toolhead.max_velocity} velocity, {printer.toolhead.square_corner_velocity} scv."
[gcode_macro RESTORE_TOOLHEAD_SETTINGS]
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set values = printer["gcode_macro CACHE_TOOLHEAD_SETTINGS"].cache.__getitem__(key) %}
{% if values is not defined or values == 'None' %}
{ action_raise_error("RESTORE_TOOLHEAD_SETTINGS: Toolhead settings not cached for key '" ~ key ~ "'.") }
{% endif %}
SET_VELOCITY_LIMIT ACCEL={values.accel} MINIMUM_CRUISE_RATIO={values.ratio} VELOCITY={values.speed} SQUARE_CORNER_VELOCITY={values.scv}
DEBUG_ECHO PREFIX="RESTORE_TOOLHEAD_SETTINGS" MSG="Toolhead settings restored. {values.accel} accel, {values.ratio} ratio, {values.speed} velocity, {values.scv} scv."
[gcode_macro SET_MACRO_TRAVEL_SETTINGS]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set accel = printer["gcode_macro RatOS"].macro_travel_accel %}
SET_VELOCITY_LIMIT ACCEL={accel} MINIMUM_CRUISE_RATIO=0.5 VELOCITY={speed} SQUARE_CORNER_VELOCITY={5}
DEBUG_ECHO PREFIX="SET_MACRO_TRAVEL_SETTINGS" MSG="Macro travel settings set. {accel} accel, {speed} velocity"
[gcode_macro SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% if printer["dual_carriage"] is not defined %}
SET_KINEMATIC_POSITION X={printable_x_max / 2} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
{% else %}
IDEX_SET_CENTER_KINEMATIC_POSITION
{% endif %}
[gcode_macro IDEX_SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x - (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x + (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
[gcode_macro VERIFY_HYBRID_INVERTED]
gcode =
{% set inverted = False %}
{% if printer.configfile.settings.ratos_hybrid_corexy is defined and printer.configfile.settings.ratos_hybrid_corexy.inverted is defined %}
{% if printer.configfile.settings.ratos_hybrid_corexy.inverted|lower == 'true' %}
{% set inverted = True %}
{% endif %}
{% endif %}
{% if inverted == False %}
{ action_emergency_stop("ratos_hybrid_corexy NOT INVERTED! Inverted hybrid core-xy bugfix not detected.") }
{% endif %}
[gcode_macro RATOS_ECHO]
gcode =
{% set prefix = "RatOS" %}
{% set debug = params.DEBUG|default(0)|int %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " | " ~ params.PREFIX %}
{% endif %}
{% set prefix = prefix ~ ":" %}
{% set msg = "" %}
{% if params.MSG is defined %}
{% set msg = params.MSG %}
{% else %}
{% set msg = "No msg parameter provided (this is a bug or unintended use)." %}
{% endif %}
{% if not debug %}
M117 {prefix} {msg}
{% endif %}
RATOS_LOG PREFIX="{prefix}" MSG="{msg}"
{% if not debug %}
RESPOND PREFIX="{prefix}" MSG="{msg}"
{% else %}
CONSOLE_ECHO TITLE="{prefix}" TYPE="debug" MSG="{msg}"
{% endif %}
[gcode_macro ENABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=True
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=prefix_filter VALUE="'{params.FILTER|default('')|lower}'"
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging enabled."
[gcode_macro DISABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=False
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging disabled."
[gcode_macro DEBUG_ECHO]
variable_enabled = False
variable_prefix_filter = ''
gcode =
{% set prefix = "DEBUG" %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " - " ~ params.PREFIX %}
{% endif %}
{% if enabled and (prefix_filter|lower == '' or prefix_filter|lower in params.PREFIX|lower) %}
RATOS_ECHO PREFIX="{prefix}" MSG="{params.MSG}" DEBUG=1
{% endif %}
[gcode_macro START_FEATURE]
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="Start {params.FEATURE} feature gcode"
{% set scv = printer.toolhead.square_corner_velocity|int|default(5) %}
{% set accel = printer.toolhead.max_accel|int|default(10000) %}
{% set ratio = printer.toolhead.minimum_cruise_ratio|float|default(0.5) %}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="scv" VALUE={scv}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="accel" VALUE={accel}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="ratio" VALUE={ratio}
_USER_START_FEATURE FEATURE="{params.FEATURE}"
[gcode_macro END_FEATURE]
variable_scv = 5
variable_accel = 10000
variable_ratio = 0.5
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="End {params.FEATURE} feature gcode"
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={scv} ACCEL={accel} MINIMUM_CRUISE_RATIO={ratio}
_USER_END_FEATURE FEATURE="{params.FEATURE}" SCV={scv} ACCEL={accel} RATIO={ratio}
[gcode_macro _ON_LAYER_CHANGE]
variable_layer_number = 0
description = INTERNAL USE ONLY. Call it from the slicers after layer change custom gcode
gcode =
{% set layer = params.LAYER|int %}
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE={layer}
SET_PRINT_STATS_INFO CURRENT_LAYER={layer}
[gcode_macro _LEARN_MORE_CALIBRATION]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/calibration" %}
{% set link_text = "RatOS Calibration Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_CHAMBER_FILTER]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter Control" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_FILAMENT]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/filaments" %}
{% set link_text = "RatOS Filament Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _CONSOLE_SAVE_CONFIG]
gcode =
M118 Click SAVE_CONFIG to save the settings to your printer.cfg.
[gcode_macro SAVE_Z_OFFSET]
gcode =
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SAVE_MULTIPLIER
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _LOAD_RATOS_SKEW_PROFILE]
gcode =
{% set ratos_skew_profile = printer["gcode_macro RatOS"].skew_profile|default("") %}
{% if ratos_skew_profile != "" %}
{% if printer.configfile.config["skew_correction %s" % ratos_skew_profile] is defined %}
SKEW_PROFILE LOAD={ratos_skew_profile}
GET_CURRENT_SKEW
{% else %}
{% set line_1 = '"Could not find skew profile %s!_N_Clearing skew correction."' % ratos_skew_profile %}
CONSOLE_ECHO TITLE="Missing skew profile!" TYPE="warning" MSG={line_1}
SET_SKEW CLEAR=1
{% endif %}
{% endif %}
[gcode_macro M601]
gcode =
PAUSE
[gcode_macro PAUSE]
description = Pauses the print
rename_existing = PAUSE_BASE
variable_extrude = 1.5
variable_retract = 1.5
variable_fan_speed = 0
variable_idex_mode = ""
variable_idex_toolhead = 0
variable_idex_toolhead_x = 0.0
variable_idex_toolhead_y = 0.0
variable_idex_toolhead_z = 0.0
gcode =
{% set runout_detected = true if params.RUNOUT|default(false)|lower == 'true' else false %}
_LED_PAUSE
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set idex_toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
SAVE_GCODE_STATE NAME=PAUSE_state
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_mode VALUE='"{idex_mode}"'
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={idex_toolhead}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_x VALUE={printer.gcode_move.gcode_position.x|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_y VALUE={printer.gcode_move.gcode_position.y|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_z VALUE={printer.gcode_move.gcode_position.z|float}
DEBUG_ECHO PREFIX="PAUSE" MSG="idex_mode: {idex_mode}, idex_toolhead: {idex_toolhead}, idex_toolhead_x: {idex_toolhead_x}, idex_toolhead_y: {idex_toolhead_y}, idex_toolhead_z: {idex_toolhead_z}"
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
CACHE_TOOLHEAD_SETTINGS KEY="pause"
SET_MACRO_TRAVEL_SETTINGS
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% if current_z < (max_z - 20.0) %}
{% set z_safe = 20.0 %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
PAUSE_BASE
{% if printer["dual_carriage"] is not defined %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan"].speed|float}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
{% if idex_toolhead == 0 %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t1"].speed|float}
{% endif %}
{% endif %}
{% endif %}
M106 S0
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if idex_mode != '' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set R = printer["gcode_macro PAUSE"].retract|float %}
{% if can_extrude %}
G91
G1 E-{R} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].pause_print_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].pause_print_park_in %}
{% if runout_detected %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].runout_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].runout_park_in %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
DEBUG_ECHO PREFIX="PAUSE" MSG="z_speed: {z_speed}, pause_print_park_x: {pause_print_park_x}, pause_print_park_in: {pause_print_park_in}, default_toolhead: {default_toolhead}"
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F{z_speed}
G90
{% if printer["dual_carriage"] is not defined %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% else %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
_IDEX_SINGLE X={parking_position}
{% else %}
PARK_TOOLHEAD
{% endif %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="pause"
[gcode_macro RESUME]
description = Resumes the print if the printer is paused.
rename_existing = RESUME_BASE
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set target_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set target_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% endif %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if target_idex_mode != '' %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set fan_speed = printer["gcode_macro PAUSE"].fan_speed|float %}
{% if printer["dual_carriage"] is not defined %}
M106 S{(fan_speed * 255)}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% else %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% else %}
{% if printer["gcode_macro PAUSE"].idex_toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% endif %}
{% endif %}
M106.1 S{fan_speed}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY DANCE=0
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR DANCE=0
{% else %}
{% if params.TOOLHEAD is defined %}
_SELECT_TOOL T={params.TOOLHEAD} X=-1 Y=-1 TOOLSHIFT=false
{% else %}
_SELECT_TOOL T={printer["gcode_macro PAUSE"].idex_toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% endif %}
{% set x = printer["gcode_macro PAUSE"].idex_toolhead_x|float %}
{% set y = printer["gcode_macro PAUSE"].idex_toolhead_y|float %}
{% set z = printer["gcode_macro PAUSE"].idex_toolhead_z|float %}
G1 X{x} Y{y} Z{z} F{speed}
{% if params.TOOLHEAD is defined %}
SAVE_GCODE_STATE NAME=PAUSE_STATE
{% endif %}
{% endif %}
{% if params.TOOLHEAD is not defined %}
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
{% if can_extrude %}
G91
G1 E{E} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 MOVE_SPEED={speed}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
RESUME_BASE
_LED_PRINTING
[gcode_macro CANCEL_PRINT]
description = Cancels the printer
rename_existing = CANCEL_PRINT_BASE
gcode =
END_PRINT
TURN_OFF_HEATERS
CLEAR_PAUSE
CANCEL_PRINT_BASE
[gcode_macro START_PRINT]
description = Start print procedure, use this in your Slicer.
variable_post_processor_version = 2
variable_is_printing_gcode = False
variable_both_toolheads = True
variable_object_xoffset = 0
variable_first_x = -1
variable_first_y = -1
variable_total_toolshifts = 0
variable_initial_tool = 0
variable_extruder_first_layer_temp = ""
variable_extruder_other_layer_temp = ""
gcode =
{% if "xyz" in printer.toolhead.homed_axes and printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% if printer["gcode_macro _VAOC"].is_started|default(true)|lower == 'true' %}
_VAOC_END
{% endif %}
{% endif %}
_LED_START_PRINTING
CACHE_TOOLHEAD_SETTINGS KEY="start_print"
_USER_START_PRINT { rawparams }
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set z_probe_stowable = printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set X0 = params.X0|default(-1)|float %}
{% set X1 = params.X1|default(-1)|float %}
{% set Y0 = params.Y0|default(-1)|float %}
{% set Y1 = params.Y1|default(-1)|float %}
{% if first_x == -1 or first_y == -1 %}
{% set first_x = params.FIRST_X|default(-1)|float %}
{% set first_y = params.FIRST_Y|default(-1)|float %}
{% endif %}
{% set total_toolshifts = params.TOTAL_TOOLSHIFTS|default(0)|int %}
{% set initial_tool = params.INITIAL_TOOL|default(default_toolhead)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(printer.heater_bed.target, true)|float %}
{% set total_layer_count = params.TOTAL_LAYER_COUNT|default(0)|int %}
{% set extruder_first_layer_temp = (params.EXTRUDER_TEMP|default("")).split(",") %}
RATOS_ECHO MSG="First print coordinates X:{first_x} Y:{first_y}"
{% if params.TOTAL_LAYER_COUNT is not defined %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Configuration" %}
{% set line_1 = '"Your slicer gcode settings are not up to date._N_Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Incomplete Slicer Configuration detected" TYPE="warning" MSG={line_1}
{% endif %}
SET_PRINT_STATS_INFO CURRENT_LAYER=1
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE=1
{% if total_layer_count > 0 %}
SET_PRINT_STATS_INFO TOTAL_LAYER={total_layer_count}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads %}
{% set initial_tool = 0 if initial_tool == 1 else 1 %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% set both_toolheads = true %}
{% if total_toolshifts == 0 %}
{% set both_toolheads = false %}
{% endif %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
{% endif %}
{% if both_toolheads and (idex_mode == "copy" or idex_mode == "mirror") %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Gcode tool changes found. Copy and mirror mode do not support toolchanges.")}
{% endif %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set both_toolheads = true %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=initial_tool VALUE={initial_tool}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_x VALUE={first_x}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_y VALUE={first_y}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=total_toolshifts VALUE={total_toolshifts}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=both_toolheads VALUE={both_toolheads}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_first_layer_temp VALUE="'{params.EXTRUDER_TEMP}'"
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_other_layer_temp VALUE="'{params.EXTRUDER_OTHER_LAYER_TEMP}'"
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE=0
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set stepper_x_position_min = printer.configfile.settings.stepper_x.position_min|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set x_parking_space = parking_position_t0 - (stepper_x_position_endstop , stepper_x_position_min)|max %}
{% set dc_parking_space = (dual_carriage_position_endstop , dual_carriage_position_max)|min - parking_position_t1 %}
{% if svv.idex_xoffset|abs >= (x_parking_space - 0.5) or svv.idex_xoffset|abs >= (dc_parking_space - 0.5) %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Toolhead x-offset is too high for the available parking space. Calibrate your X and DC endstop positions and make sure you stay below 1mm." % (copy_mode_max_width)) }
{% endif %}
{% endif %}
{% if (idex_mode == "copy" or idex_mode == "mirror") and printer.configfile.settings.ratos.enable_gcode_transform %}
{% if params.MIN_X is not defined or params.MAX_X is not defined %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Something went wrong! Missing important post processor start print parameter!") }
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE=0
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set boundary_box_min_x = params.MIN_X|default(0)|float %}
{% set boundary_box_max_x = params.MAX_X|default(printable_x_max)|float %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
{% set boundary_box_max_x = boundary_box_max_x + svv.idex_xoffset %}
{% else %}
{% set boundary_box_min_x = boundary_box_min_x - svv.idex_xoffset %}
{% endif %}
{% set center_x = printable_x_max / 2.0 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set object_width = boundary_box_max_x - boundary_box_min_x %}
{% set copy_mode_max_width = center_x %}
{% set mirror_mode_max_width = center_x - safe_distance / 2.0 %}
DEBUG_ECHO PREFIX="START_PRINT" MSG="OBJECT_WIDTH: {object_width} BOUNDARY_BOX_MIN_X: {boundary_box_min_x} BOUNDARY_BOX_MAX_X: {boundary_box_max_x} CENTER_X: {center_x} SAFE_DISTANCE: {safe_distance}"
{% if idex_mode == "copy" and object_width > copy_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for copy mode! Max supported width is %s mm" % (copy_mode_max_width)) }
{% endif %}
{% if idex_mode == "mirror" and object_width > mirror_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for mirror mode! Max supported width is %s mm" % (mirror_mode_max_width)) }
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = (printable_x_max - boundary_box_max_x - boundary_box_min_x) / 2 %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE={object_xoffset}
{% endif %}
{% endif %}
{% set has_initial_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_initial_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined and both_toolheads %}
{% set has_secondary_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_secondary_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
_CHAMBER_FILTER_ON AT="before_print_start"
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true' %}
{% if both_toolheads %}
RATOS_ECHO MSG="Spool join is not possible if both toolheads are in use!"
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == '' %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
{% endif %}
{% endif %}
CLEAR_PAUSE
{% if printer["gcode_macro RatOS"].force_absolute_position|lower == 'true' %}
G90
{% endif %}
SAVE_GCODE_STATE NAME=start_print_state
G21
G90
M82
_USER_START_PRINT_BEFORE_HOMING { rawparams }
{% if z_probe_stowable == true %}
STOWABLE_PROBE_BEGIN_BATCH
{% endif %}
MAYBE_HOME
_Z_HOP
{% if idex_mode != '' and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
PARK_TOOLHEAD
{% endif %}
{% if chamber_temp > 0 %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED={printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float}
{% endif %}
{% endif %}
_CHAMBER_HEATER_ON START_CHAMBER_TEMP={start_chamber_temp} CHAMBER_TEMP={chamber_temp}
_USER_START_PRINT_HEAT_CHAMBER { rawparams } CHAMBER_TEMP={chamber_temp}
{% endif %}
_START_PRINT_BEFORE_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
RATOS_ECHO MSG="Heating bed..."
M190 S{bed_temp}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_BED { rawparams }
_START_PRINT_AFTER_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
_USER_START_PRINT_BED_MESH { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_BED_MESH X0={X0} X1={X1} Y0={Y0} Y1={Y1} T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if z_probe_stowable == true %}
STOWABLE_PROBE_END_BATCH
{% endif %}
{% if idex_mode == '' %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={extruder_first_layer_temp[1]|float}
{% endif %}
{% endif %}
_USER_START_PRINT_PARK { rawparams }
_START_PRINT_PARK
RATOS_ECHO MSG="Heating Extruder..."
{% if idex_mode == '' %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder1" MINIMUM={extruder_first_layer_temp[1]|float} MAXIMUM={extruder_first_layer_temp[1]|float + 5}
{% endif %}
{% endif %}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
{% if idex_mode == '' %}
_LED_PRINTING
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
_LED_PRINTING
{% else %}
{% if both_toolheads %}
_LED_PRINTING TOOLHEAD={initial_tool}
{% if toolchange_standby_temp > -1 %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={0 if initial_tool == 1 else 1}
{% else %}
_LED_PRINTING TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% else %}
_LED_PRINTING TOOLHEAD={initial_tool}
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% endif %}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_EXTRUDER { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_AFTER_HEATING_EXTRUDER X0={X0} X1={X1} Y0={Y0} Y1={Y1} INITIAL_TOOLHEAD={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if idex_mode != '' %}
{% if not both_toolheads %}
{% if initial_tool != default_toolhead %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if initial_tool == 1 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% set x_offset = printer.toolhead.position.x|float - printer.gcode_move.gcode_position.x|float %}
{% endif %}
RESTORE_GCODE_STATE NAME=start_print_state
{% if idex_mode != '' %}
{% set act_idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% if act_idex_mode == "copy" or act_idex_mode == "mirror" %}
SET_GCODE_OFFSET X={x_offset} MOVE=0
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% if idex_mode == "copy" and idex_mode != act_idex_mode %}
_IDEX_COPY DANCE=0
{% elif idex_mode == "mirror" and idex_mode != act_idex_mode %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
RATOS_ECHO MSG="Adjusting object x-offset by {(object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={object_xoffset} MOVE=0
{% endif %}
{% else %}
_SELECT_TOOL T={initial_tool} TOOLSHIFT=false
{% if initial_tool != default_toolhead %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_SET_TOOLHEAD_OFFSET T={initial_tool} MOVE=0
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={initial_tool}
{% endif %}
_SET_EXTRUSION_MODE
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={printer["print_stats"].print_duration}
{% endif %}
_USER_END_START_PRINT { rawparams }
G92 E0
_CHAMBER_FILTER_ON AT="after_print_start"
RATOS_ECHO MSG="Printing..."
[gcode_macro _START_PRINT_BEFORE_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set is_stowable_probe = true if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Pre-heating extruder..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={min_temp}
{% else %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET={min_temp}
{% endif %}
{% else %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
{% endif %}
{% endif %}
{% if not is_stowable_probe %}
{% if printer["dual_carriage"] is defined and act_t != default_toolhead %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
{% endif %}
RATOS_ECHO MSG="Heat soaking z probe..."
{% if auto_z_offset_calibration %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% if default_toolhead == 0 %}
_SELECT_TOOL T=0 TOOLSHIFT=false
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% elif default_toolhead == 1 %}
_SELECT_TOOL T=1 TOOLSHIFT=false
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% endif %}
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% endif %}
G0 Z2 F{z_speed}
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Waiting for extruder to be preheated..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
{% if default_toolhead == 0 %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_Z_HOP
{% endif %}
{% if auto_z_offset_calibration %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={default_toolhead}
_SELECT_TOOL T={0 if default_toolhead == 1 else 1} X={parking_position_t0 if default_toolhead == 1 else parking_position_t1} Y=0 TOOLSHIFT=false
_CLEANING_MOVE TOOLHEAD={0 if default_toolhead == 1 else 1}
_VAOC_CALIBRATE_Z_OFFSET AUTO_Z_OFFSET=True
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=false
{% endif %}
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
{% if needs_rehoming %}
G28 Z
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% if beacon_contact_wipe_before_true_zero %}
_START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE
{% endif %}
_START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
G0 Z5 F{z_speed}
G0 X50 Y10 F{speed}
PROBE PROBE_METHOD=contact SAMPLES=1
BEACON_QUERY
[gcode_macro _START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_true_zero_location = printer["gcode_macro RatOS"].beacon_contact_true_zero_location|default("front")|lower %}
{% set beacon_contact_true_zero_margin_x = printer["gcode_macro RatOS"].beacon_contact_true_zero_margin_x|default(30)|int %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_wipe_before_true_zero %}
{% if printer.beacon.last_probe_result|lower == "ok" %}
{% set last_z_offset = printer.beacon.last_z_result %}
RATOS_ECHO MSG="Auto calibration nozzle wipe with probe result {last_z_offset}..."
G0 Z{(0.2 + last_z_offset)} F{z_speed}
G0 X70 F300
{% else %}
RATOS_ECHO MSG="Skipping auto calibration nozzle wipe because probing failed!"
{% endif %}
{% endif %}
G0 Z5 F{z_speed}
_MOVE_TO_SAFE_Z_HOME
RATOS_ECHO MSG="Heating extruder to probing temperature..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={beacon_contact_true_zero_temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={beacon_contact_true_zero_temp} MAXIMUM={beacon_contact_true_zero_temp + 5}
RATOS_ECHO MSG="Beacon contact auto calibration..."
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
G0 Z5 F{z_speed}
[gcode_macro _START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set first_x = printer["gcode_macro START_PRINT"].first_x|default(-1)|float %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2.0 %}
{% set center_y = printable_y_max / 2.0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% if printer["dual_carriage"] is defined %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% endif %}
{% set X0 = params.X0|default(-1)|int %}
{% set X1 = params.X1|default(-1)|int %}
{% set Y0 = params.Y0|default(-1)|int %}
{% set Y1 = params.Y1|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% if idex_mode == '' %}
_PRIME
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
RATOS_ECHO PREFIX="IDEX" MSG="using combined prime offset for IDEX {idex_mode} mode"
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
{% if both_toolheads %}
{% if initial_toolhead == 0 %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T{initial_toolhead}"
_SELECT_TOOL T={initial_toolhead} TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% endif %}
{% endif %}
CACHE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
SET_MACRO_TRAVEL_SETTINGS
{% if (X0 > -1 and Y1 > -1) or (first_x > 0 and first_y > 0) %}
{% if printer["dual_carriage"] is defined %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
{% set first_z = 1 %}
{% else %}
{% set first_z = 3 %}
{% endif %}
{% if idex_mode == "mirror" %}
{% if first_y >= 0 %}
G0 Y{first_y} F{speed}
{% else %}
G0 Y{Y1} F{speed}
{% endif %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={initial_toolhead}
_PURGE_FILAMENT TOOLHEAD={initial_toolhead} E={printer["gcode_macro RatOS"].toolchange_first_purge|default(50)|float}
_CLEANING_MOVE TOOLHEAD={initial_toolhead}
{% endif %}
{% if first_x >= 0 and first_y >= 0 %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% else %}
{% set first_x = X0 %}
{% set first_y = Y0 %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'min' %}
{% set first_x = X0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'max' %}
{% set first_x = X1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|float <= center_x %}
{% set first_x = X0 %}
{% else %}
{% set first_x = X1 %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'min' %}
{% set first_y = Y0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'max' %}
{% set first_y = Y1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|float <= center_y %}
{% set first_y = Y0 %}
{% else %}
{% set first_y = Y1 %}
{% endif %}
{% endif %}
{% endif %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% endif %}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
_LOAD_RATOS_SKEW_PROFILE
[gcode_macro _PRIME]
gcode =
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
PRIME_BLOB INITIAL_TOOLHEAD={params.INITIAL_TOOLHEAD} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={params.IDEX_MODE} Y1={params.Y1}
{% else %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE == "copy" %}
_IDEX_COPY DANCE=0
{% elif params.IDEX_MODE == "mirror" %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro END_PRINT]
description = End print procedure, use this in your Slicer.
gcode =
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SAVE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = printer["gcode_macro START_PRINT"].object_xoffset|default(0)|float %}
RATOS_ECHO MSG="Adjusting object x-offset by {(0-object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={(0-object_xoffset)}
{% endif %}
{% endif %}
_USER_END_PRINT_BEFORE_HEATERS_OFF { rawparams }
_END_PRINT_BEFORE_HEATERS_OFF
TURN_OFF_HEATERS
_USER_END_PRINT_AFTER_HEATERS_OFF { rawparams }
_END_PRINT_AFTER_HEATERS_OFF
_USER_END_PRINT_PARK { rawparams }
_END_PRINT_PARK
{% if printer["gcode_macro RatOS"].skew_profile is defined %}
SET_SKEW CLEAR=1
{% endif %}
{% if printer["dual_carriage"] is not defined and printer["gcode_macro RatOS"].end_print_motors_off|lower != 'false' %}
M84
{% endif %}
M107
BED_MESH_CLEAR
RATOS_ECHO MSG="Done :)"
RESTORE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
M84
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
{% if printer["dual_carriage"] is not defined %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SET_GCODE_OFFSET Z=0 MOVE=0
{% endif %}
{% endif %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print"
_CHAMBER_FILTER_ON AT="print_end"
_CHAMBER_FILTER_OFF
_CHAMBER_HEATER_OFF
_USER_END_PRINT_FINISHED { rawparams }
[gcode_macro _END_PRINT_BEFORE_HEATERS_OFF]
gcode =
RATOS_ECHO MSG="Cleaning up..."
[gcode_macro _END_PRINT_AFTER_HEATERS_OFF]
gcode =
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% set z_hop = printer["gcode_macro RatOS"].end_print_park_z_hop|float %}
{% set r = printer["gcode_macro RatOS"].end_print_retract_filament|default(4)|float %}
{% if current_z < (max_z - z_hop) %}
{% set z_safe = z_hop %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
G91
G1 E-2 F3600
G0 Z{z_safe} F3600
G1 E-{(r-2)} F3600
G90
[gcode_macro _SET_EXTRUSION_MODE]
gcode =
{% if printer["gcode_macro RatOS"].relative_extrusion|lower == 'true' %}
M83
{% else %}
M82
{% endif %}
[gcode_macro GENERATE_SHAPER_GRAPHS]
description = Genarates input shaper resonances graphs for analysis. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set hz_per_sec = params.HZ_PER_SEC|default(1)|float %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set copy_mode_offset = printable_x_max / 4.0 %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% else %}
_IDEX_SINGLE
{% endif %}
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
{% if idex_mode != 'copy' and idex_mode != 'mirror' %}
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
{% endif %}
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Shaper graph"
[gcode_shell_command generate_shaper_graph_x]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-x.sh
timeout = 60.
verbose = True
[gcode_shell_command generate_shaper_graph_y]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-y.sh
timeout = 60.
verbose = True
[gcode_macro MEASURE_COREXY_BELT_TENSION]
description = Generates resonance graph used to ensure belts are equally tensioned. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
_IDEX_SINGLE
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if measure_t1 == false or measure_t0 == false %}
{action_raise_error("Axis specified. Not supported for belt tension on Y.")}
{% else %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
G4 P5000
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
PARK_TOOLHEAD
{% endif %}
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if params.TOOLHEAD is not defined %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
G1 X{parking_position_t1} F{speed}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
{% if params.TOOLHEAD is not defined %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Belt Tension Graph"
[gcode_shell_command generate_belt_tension_graph]
command = /home/pi/printer_data/config/RatOS/scripts/generate-belt-tension-graph.sh
timeout = 90.
verbose = True
[idle_timeout]
gcode =
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused|lower == 'false' %}
RATOS_ECHO PREFIX="IDLE" MSG="2 hours since last activity. Powering off heaters and motors.."
TURN_OFF_HEATERS
M84
{% endif %}
{% endif %}
timeout = 7200
[temperature_sensor raspberry_pi]
sensor_type = temperature_host
[skew_correction]
[input_shaper]
[virtual_sdcard]
path = ~/printer_data/gcodes
[display_status]
[pause_resume]
[force_move]
enable_force_move = True
[respond]
[resonance_generator]
[ratos]
allow_unknown_gcode_generator = True
enable_gcode_transform = True
allow_unsupported_slicer_versions = True
[exclude_object]
[heater_bed]
heater_pin = heater_bed_heating_pin
sensor_pin = heater_bed_sensor_pin
sensor_type = Generic 3950
min_temp = 0
max_temp = 140
pwm_cycle_time = 0.02
control = pid
pid_kp = 65.045
pid_ki = 1.953
pid_kd = 541.497
[fan]
pin = rpi:gpio4
shutdown_speed = 1.0
[heater_fan toolhead_cooling_fan]
pin = toolboard_t0:PA1
fan_speed = 1
heater = extruder
[printer]
kinematics = ratos_hybrid_corexy
max_velocity = 800
max_accel = 10000
minimum_cruise_ratio = 0.5
max_z_velocity = 50
max_z_accel = 600
square_corner_velocity = 5
[ratos_hybrid_corexy]
inverted = true
[dual_carriage]
axis = x
safe_distance = 55
position_max = 558.971
position_endstop = 558.971
position_min = 0
step_pin = PF9
dir_pin = dual_carriage_dir_pin
enable_pin = !PG2
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t1:PB6
[gcode_macro IDEX_SINGLE]
gcode =
_IDEX_REMAP_TOOLHEADS ENABLE=False
_IDEX_SINGLE
[gcode_macro _IDEX_SINGLE]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_single"
SET_MACRO_TRAVEL_SETTINGS
{% set init = params.INIT|default(0)|int %}
{% set new_x = params.X|default(-1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_act_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_default_t = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="init: {init}, new_x: {new_x}, idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, act_t: {act_t}"
{% if idex_mode == "copy" or idex_mode == "mirror" or init == 1 %}
{% if 'x' in printer.toolhead.homed_axes %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="reset gcode offset"
G1 X{center_x} F{(speed)}
SET_GCODE_OFFSET X_ADJUST={center_x / 2} MOVE=0
{% endif %}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="activate default carriage"
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% if 'x' in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolheads"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
G90
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position."
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1}
G1 X{parking_position_default_t} F{speed}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move default toolhead to its new position."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% if new_x == -1 %}
{% set new_x = center_x %}
{% endif %}
G1 X{new_x} F{speed}
M400
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="X Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set extruder motion queue."
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if default_toolhead==0 else default_toolhead}
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolhead offset."
_SET_TOOLHEAD_OFFSET T={default_toolhead}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set input shaper."
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[default_toolhead]|float)} SHAPER_FREQ_Y={(shaper_y_freq[default_toolhead]|float)} SHAPER_TYPE_X={(shaper_x_type[default_toolhead]|lower)} SHAPER_TYPE_Y={(shaper_y_type[default_toolhead]|lower)}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="update Frontend."
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if default_toolhead==0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if default_toolhead==1 else False}
{% else %}
{% if "xyz" in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_single"
[gcode_macro IDEX_COPY]
gcode =
_IDEX_COPY
[gcode_macro _IDEX_COPY]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_copy"
SET_MACRO_TRAVEL_SETTINGS
{% set y = params.Y|default(-1)|int %}
{% set dance = params.DANCE|default(1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_COPY" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}, y: {y}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "copy" %}
{% if idex_mode == "mirror" %}
{% if y>=0 %}
G1 X{center_x} Y{y} F{(speed)}
{% else %}
G1 X{center_x} F{(speed)}
{% endif %}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
{% if idex_mode != "mirror" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "mirror" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance == 1 %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[2]|float)} SHAPER_FREQ_Y={(shaper_y_freq[2]|float)} SHAPER_TYPE_X={(shaper_x_type[2]|lower)} SHAPER_TYPE_Y={(shaper_y_type[2]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_copy"
[gcode_macro IDEX_MIRROR]
gcode =
_IDEX_MIRROR
[gcode_macro _IDEX_MIRROR]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_mirror"
SET_MACRO_TRAVEL_SETTINGS
{% set dance = params.DANCE|default(1)|int %}
{% set priming = params.PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_MIRROR" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "mirror" %}
{% if idex_mode == "copy" %}
G1 X{center_x} F{(speed)}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS MIRROR_PRIMING={params.PRIMING}
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
{% if idex_mode != "copy" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "copy" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance and not priming %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[3]|float)} SHAPER_FREQ_Y={(shaper_y_freq[3]|float)} SHAPER_TYPE_X={(shaper_x_type[3]|lower)} SHAPER_TYPE_Y={(shaper_y_type[3]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_mirror"
[gcode_macro _IDEX_SET_TOOLHEADS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
SET_MACRO_TRAVEL_SETTINGS
{% set mirror_priming = params.MIRROR_PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position_inactive_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="_IDEX_SET_TOOLHEADS" MSG="idex_mode: {idex_mode}, act_t: {act_t}, center_x: {center_x}, mirror_priming: {mirror_priming}"
{% if act_t != default_toolhead %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE=1
{% endif %}
{% if mirror_priming %}
{% if parking_position_t0|abs < parking_position_t1 - printable_x_max %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{printable_x_max + parking_position_t0|abs} F{(speed)}
{% else %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{0 - (parking_position_t1 - printable_x_max)} F{(speed)}
{% endif %}
{% else %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1} MODE=PRIMARY
G1 X{parking_position_inactive_t} F{(speed)}
{% if act_t==1 %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{center_x / 2} F{(speed)}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
[gcode_macro IDEX_PARK]
gcode =
PARK_TOOLHEAD
[gcode_macro PARK_TOOLHEAD]
gcode =
{% set idex_mode = 'none' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode=='primary' else 0 %}
DEBUG_ECHO PREFIX="PARK_TOOLHEAD" MSG="Parking T{act_t}.."
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set parking_position_inact_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set printable_y_min = printer["gcode_macro RatOS"].printable_y_min|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% if idex_mode != "copy" and idex_mode != "mirror" and 'xy' in printer.toolhead.homed_axes %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% elif printer.toolhead.position.y|float < printable_y_min %}
G1 Y{printable_y_min} F{speed}
{% endif %}
SAVE_GCODE_STATE NAME=_PARK_TOOLHEAD
G90
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0.5
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_inact_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
SET_VELOCITY_LIMIT ACCEL={printer.toolhead.max_accel} MINIMUM_CRUISE_RATIO=0.5
M400
RESTORE_GCODE_STATE NAME=_PARK_TOOLHEAD
{% endif %}
[gcode_macro JOIN_SPOOLS]
gcode =
{% set spools = params.SPOOLS|default("") %}
{% if spools == "" %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{% if spools != "0,1" and spools != "1,0" %}
RATOS_ECHO MSG="Wrong spool configuration!"
RATOS_ECHO MSG="Join Spools = JOIN_SPOOLS SPOOLS=0,1"
RATOS_ECHO MSG="Deactivate = JOIN_SPOOLS SPOOLS="
{% else %}
{% if spools == "0,1" or spools == "1,0" %}
_IDEX_JOIN_SPOOLS ENABLE=true
{% else %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_JOIN_SPOOLS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if enable %}
{% set has_t0_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t1_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t0_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined else false %}
{% set has_t1_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined else false %}
{% if (has_t0_toolhead_filament_sensor and has_t1_toolhead_filament_sensor) or (has_t0_bowden_filament_sensor and has_t1_bowden_filament_sensor) %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=True
RATOS_ECHO MSG="Spool joining enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Can not enable spool joining! No filament sensors found."
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining deactivated!"
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining is not possible in copy and mirror mode!"
{% endif %}
[gcode_macro _JOIN_SPOOL]
gcode =
{% set old_toolhead = params.TOOLHEAD|int %}
{% set new_toolhead = 0 if old_toolhead == 1 else 1 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set purge_after_load = printer["gcode_macro T%s" % new_toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_JOIN_SPOOL" MSG="toolhead: {new_toolhead}"
{% set has_filament = true %}
{% set has_new_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% set has_new_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% if has_new_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_new_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_filament %}
RATOS_ECHO MSG="Joining spools! Please wait for extruder to heat up...."
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={new_toolhead}
_DEACTIVATE_TOOLHEAD TOOLHEAD={old_toolhead}
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set extruder_temp = extruder_first_layer_temp[new_toolhead]|float %}
{% else %}
{% set extruder_temp = extruder_other_layer_temp[new_toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if new_toolhead == 0 else 'extruder1'} TARGET={extruder_temp}
TEMPERATURE_WAIT SENSOR={'extruder' if new_toolhead == 0 else 'extruder1'} MINIMUM={extruder_temp} MAXIMUM={extruder_temp + 5}
{% if purge_after_load > 0 %}
SET_DUAL_CARRIAGE CARRIAGE={new_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_toolhead == 0 else new_toolhead}
_MOVE_TO_LOADING_POSITION TOOLHEAD={new_toolhead}
_PURGE_FILAMENT TOOLHEAD={new_toolhead} E={purge_after_load}
_CLEANING_MOVE TOOLHEAD={new_toolhead}
SET_DUAL_CARRIAGE CARRIAGE={old_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if old_toolhead == 0 else old_toolhead}
{% endif %}
RESUME TOOLHEAD={new_toolhead}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{ action_raise_error("Spool join failed! No filament found or filament sensor is disabled.") }
{% endif %}
[gcode_macro REMAP_TOOLHEADS]
gcode =
{% set toolheads = params.TOOLHEADS|default("") %}
{% if toolheads == "" %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% else %}
{% if toolheads != "0,1" and toolheads != "1,0" %}
RATOS_ECHO MSG="Wrong toolhead configuration!"
RATOS_ECHO MSG="Remap = REMAP_TOOLHEADS TOOLHEADS=0,1"
RATOS_ECHO MSG="Deactivate = REMAP_TOOLHEADS TOOLHEADS="
{% else %}
{% if toolheads == "0,1" or toolheads == "1,0" %}
_IDEX_REMAP_TOOLHEADS ENABLE=true
_IDEX_SINGLE
{% else %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_REMAP_TOOLHEADS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if not enable or (idex_mode != "copy" and idex_mode != "mirror") %}
{% if enable %}
RATOS_ECHO MSG="Toolhead remapping enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Toolhead remapping deactivated!"
{% endif %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE={enable}
{% else %}
RATOS_ECHO MSG="Toolhead remapping not possible in copy and mirror mode!"
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
{% endif %}
[gcode_macro SHAPER_CALIBRATE]
rename_existing = SHAPER_CALIBRATE_ORG
gcode =
RATOS_ECHO PREFIX="IDEX" MSG="SHAPER_CALIBRATE is useless on IDEX machines. Please use the GENERATE_SHAPER_GRAPHS macro and type the values into `variable_shaper_*_freq` and `variable_shaper_*_type manually`."
[gcode_shell_command generate_shaper_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-shaper-graph.sh
timeout = 120.
verbose = True
[gcode_shell_command generate_tension_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-belt-tension-graph.sh
timeout = 120.
verbose = True
[gcode_macro SET_PRESSURE_ADVANCE]
variable_snyc_toolheads = False
rename_existing = SET_PRESSURE_ADVANCE_BASE
gcode =
{% if params.SYNC_TOOLHEADS is defined %}
{% set snyc_toolheads = true if params.SYNC_TOOLHEADS|default(false)|lower == 'true' else false %}
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=True
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="Syncing toolheads..."
{% else %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' or snyc_toolheads %}
{% set advance = params.ADVANCE|default(printer['extruder'].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['extruder'].smooth_time|float)|float %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T0"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder' ADVANCE={advance} SMOOTH_TIME={smooth_time}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T1"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder1' ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% else %}
{% set extruder = 'extruder' if act_t == 0 else 'extruder1' %}
{% if params.EXTRUDER is defined %}
{% set extruder = params.EXTRUDER %}
{% endif %}
{% if extruder == 'extruder' or extruder == 'extruder1' %}
{% set advance = params.ADVANCE|default(printer['%s' % extruder].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['%s' % extruder].smooth_time|float)|float %}
SET_PRESSURE_ADVANCE_BASE EXTRUDER={extruder} ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% if params.EXTRUDER is not defined %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG={"T%s" % act_t}
{% endif %}
{% else %}
SET_PRESSURE_ADVANCE_BASE { rawparams }
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M106]
rename_existing = M106.1
variable_swap_speed = -1
gcode =
{% set s = [[params.S|default(255)|int, 255]|min, 0]|max %}
{% set p = params.P|default(-1)|int %}
{% set speed = s / 255 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set t = 1 if idex_mode=='primary' else 0 %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(0)|int == 1 else false %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set sync_fans = true %}
{% endif %}
{% if sync_fans and idex_mode != "copy" and idex_mode != "mirror" %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int %}
{% if toolshift_count > total_toolshifts %}
{% set sync_fans = false %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE=-1
{% if p == -1 %}
{% if speed == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed}
{% else %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE={speed}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={(speed if (t == 0 or sync_fans) else 0)}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={(speed if (t == 1 or sync_fans) else 0)}
{% endif %}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed if t == p else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed if t == p else 0}
{% endif %}
M106.1 S{s}
[gcode_macro M107]
rename_existing = M107.1
gcode =
{% set p = params.P|default(-1)|int %}
M106 S0 P{p}
[gcode_macro _SELECT_TOOL]
variable_last_timestamp = 0
gcode =
{% if params.T is defined %}
{% set idex_mode = '' %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if "xyz" not in printer.toolhead.homed_axes and (idex_mode == "copy" or idex_mode == "mirror") %}
_IDEX_SINGLE
{% set idex_mode = 'reset' %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set new_t = params.T|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads and is_printing_gcode %}
{% set new_t = 0 if new_t == 1 else 1 %}
{% endif %}
{% set toolchange_prepurging_timer = printer["gcode_macro RatOS"].toolchange_prepurging_timer|default(0)|int %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
DEBUG_ECHO PREFIX="_SELECT_TOOL" MSG="act_t: {act_t}, new_t: {new_t}, is_printing_gcode: {is_printing_gcode}, swap_toolheads: {swap_toolheads}, toolchange_standby_temp: {toolchange_standby_temp}"
{% set act_extruder = 'extruder%s' % ('' if new_t == 0 else new_t) %}
{% if new_t != act_t or printer.toolhead.extruder != act_extruder or idex_mode == 'reset' %}
RATOS_ECHO PREFIX="IDEX" MSG="Selecting T{new_t}.."
M220 S100
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(1)|int == 1 else false %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set toolshift = false %}
{% endif %}
{% set fan_speed = printer["fan_generic part_fan_t%s" % act_t].speed %}
{% set deactivate_toolhead = false %}
{% if is_printing_gcode %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int + 1 %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE={toolshift_count}
{% if toolshift_count == total_toolshifts %}
{% set deactivate_toolhead = true %}
{% endif %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % new_t].standby|default(false)|lower == 'true' else false %}
{% set needs_purging = false %}
{% set wake_up_purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% if is_printing_gcode and toolchange_prepurging_timer > 0 and wake_up_purge > 0 %}
{% set new_timestamp = printer["print_stats"].print_duration %}
{% set elapsed_time = new_timestamp - last_timestamp %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={new_timestamp}
{% if elapsed_time > toolchange_prepurging_timer %}
{% set needs_purging = true %}
{% endif %}
{% endif %}
{% set first_use_purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% if toolshift_count == 1 and first_use_purge > 0 %}
{% set needs_purging = true %}
{% endif %}
{% if is_printing_gcode and (toolchange_standby_temp > -1 or needs_purging or needs_wakeup) %}
_TOOLHEAD_STANDBY TOOLHEAD={act_t}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
_TOOLHEAD_WAKEUP TOOLHEAD={new_t} X={new_x} Y={new_y} Z={new_z} FAN_SPEED={fan_speed} TOOLSHIFT_COUNT={toolshift_count}
{% else %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(false)|lower == 'true' else false %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if (new_t == 0 or sync_fans) else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if (new_t == 1 or sync_fans) else 0}
M106.1 S{fan_speed}
{% endif %}
_TOOLCHANGE T={new_t} X={new_x} Y={new_y} Z={new_z} PARK_T0={park_t0} PARK_T1={park_t1} TOOLSHIFT={toolshift}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[new_t]|float)} SHAPER_FREQ_Y={(shaper_y_freq[new_t]|float)} SHAPER_TYPE_X={(shaper_x_type[new_t]|lower)} SHAPER_TYPE_Y={(shaper_y_type[new_t]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if new_t == 0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if new_t == 1 else False}
{% if 'x' in printer.toolhead.homed_axes %}
{% set sanity_check_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if new_t == 0 %}
{% if printer.toolhead.extruder == 'extruder' %}
{% if sanity_check_idex_mode == 'primary' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% elif new_t == 1 %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% if sanity_check_idex_mode == 'inactive' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
G90
G92 E0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _TOOLHEAD_STANDBY]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
RATOS_ECHO PREFIX="IDEX" MSG="Putting toolhead T{toolhead} into standby mode."
DEBUG_ECHO PREFIX="_TOOLHEAD_STANDBY" MSG="toolhead: {toolhead}, config_z_hop: {config_z_hop}, toolchange_standby_temp: {toolchange_standby_temp}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={toolhead} SYNC=0
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={toolhead}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% if toolchange_standby_temp > -1 %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=True
{% endif %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={toolhead}
[gcode_macro _TOOLHEAD_WAKEUP]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set fan_speed = params.FAN_SPEED|float %}
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift_count = params.TOOLSHIFT_COUNT|default(0)|int %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% if toolshift_count == 1 %}
{% set purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % toolhead].standby|default(false)|lower == 'true' else false %}
RATOS_ECHO PREFIX="IDEX" MSG="Waking up toolhead T{toolhead}. Please wait for extruder to heat up..."
DEBUG_ECHO PREFIX="_TOOLHEAD_WAKEUP" MSG="toolhead: {toolhead}, fan_speed: {fan_speed}, new_x: {new_x}, new_y: {new_y}, new_z: {new_z}, config_z_hop: {config_z_hop}"
_LED_TOOLHEAD_WAKEUP TOOLHEAD={toolhead}
SET_DUAL_CARRIAGE CARRIAGE={toolhead} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={toolhead} MOVE=1
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if toolhead == 0 else toolhead}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if needs_wakeup %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set temp = extruder_first_layer_temp[toolhead]|float %}
{% else %}
{% set temp = extruder_other_layer_temp[toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
TEMPERATURE_WAIT SENSOR={'extruder' if toolhead == 0 else 'extruder1'} MINIMUM={temp} MAXIMUM={temp + 5}
{% endif %}
_LED_PRINTING TOOLHEAD={toolhead}
{% if purge > 0 %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge}
_CLEANING_MOVE TOOLHEAD={toolhead}
{% endif %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if toolhead == 1 else 0}
M106.1 S{fan_speed}
{% endif %}
G92 E0
G1 E-{e} F{feedrate}
G92 E0
{% if new_x >= 0 and new_y >= 0 %}
G1 X{new_x} Y{new_y} F{speed}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={config_z_hop} T={toolhead} SYNC=0
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=False
[gcode_macro _TOOLCHANGE]
variable_toolshift_count = 0
gcode =
{% set new_t = params.T|default(-1)|int %}
{% set new_x = params.X|default(-1.0)|float %}
{% set new_y = params.Y|default(-1.0)|float %}
{% set new_z = params.Z|default(-1.0)|float %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(true)|lower == 'true' else false %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T: {new_t}, X: {new_x}, Y: {new_y}, Z: {new_z}, PARK_T0: {park_t0}, PARK_T1: {park_t1}, IS_PRINTING_GCODE: {is_printing_gcode}, TOOLSHIFT: {toolshift}"
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% if park_t0 >= 0 and park_t1 >= 0 %}
{% set parking_position_t0 = park_t0 %}
{% set parking_position_t1 = park_t1 %}
{% set parking_position_act_t = park_t0 if act_t == 0 else park_t1 %}
{% endif %}
{% if not is_printing_gcode and not toolshift %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Changing tool to T{new_t} without retracting/extruding or moving the toolheads except for parking."
{% if "xyz" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
G90
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% if not is_printing_gcode and toolshift and new_x < 0 and new_y < 0 %}
{% set new_x = center_x %}
{% set new_y = printer.gcode_move.gcode_position.y|float %}
{% endif %}
{% if new_x < 0 or new_y < 0 %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="No new X or Y position given, parking the active toolhead and activating the new toolhead without moving it."
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={new_t}
{% if "x" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
{% if is_printing_gcode %}
_EXTRUDE T={new_t}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% if "xyz" not in printer.toolhead.homed_axes %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% set svv = printer.save_variables.variables %}
{% if new_t == default_toolhead %}
{% set xoffset = svv.idex_xoffset %}
{% set yoffset = svv.idex_yoffset %}
{% set zoffset = svv.idex_zoffset %}
{% else %}
{% set xoffset = 0 - svv.idex_xoffset %}
{% set yoffset = 0 - svv.idex_yoffset %}
{% set zoffset = 0 - svv.idex_zoffset %}
{% endif %}
{% if svv.idex_applied_offset == new_t %}
{% set xoffset = 0 %}
{% set yoffset = 0 %}
{% set zoffset = 0 %}
{% endif %}
{% set gcode_z = printer.gcode_move.gcode_position.z|float %}
{% set toolhead_z = printer.toolhead.position.z|float %}
{% if new_t == 0 %}
{% set t0_act_x = parking_position_t0 %}
{% set t1_act_x = printer.toolhead.position.x|float %}
{% set t0_new_x = new_x %}
{% set t1_new_x = parking_position_t1 %}
{% set t0_distance = t0_new_x - t0_act_x %}
{% set t1_distance = t1_new_x - t1_act_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T0."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x + (t1_new_x - t1_act_x)} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t0_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=0
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T0: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% elif new_t == 1 %}
{% set t0_act_x = printer.toolhead.position.x|float %}
{% set t1_act_x = parking_position_t1 %}
{% set t0_new_x = parking_position_t0 %}
{% set t1_new_x = new_x %}
{% set t0_distance = t0_act_x - t0_new_x %}
{% set t1_distance = t1_act_x - t1_new_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T1."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x - t1_distance + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t1_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=1
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T1: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% endif %}
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
{% endif %}
[gcode_macro _ZHOP_BEFORE_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_hop = params.Z_HOP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_HOP: {z_hop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="COMBINED_ZHOP G1 Z+{z_hop} E-{e} F{speed * 60}"
G1 Z+{z_hop} E-{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="ZHOP G1 Z+{z_hop} F{speed * 60}"
G1 Z+{z_hop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="RETRACT G1 E-{e} F{feedrate}"
G1 E-{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _ZDROP_AFTER_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_drop = params.Z_DROP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_DROP: {z_drop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="COMBINED_ZDROP G1 Z-{z_drop} E{e} F{speed * 60}"
G1 Z-{z_drop} E{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="ZDROP G1 Z-{z_drop} F{speed * 60}"
G1 Z-{z_drop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="EXTRUDE G1 E{e} F{feedrate}"
G1 E{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _EXTRUDE]
gcode =
{% set t = params.T|int %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
DEBUG_ECHO PREFIX="_EXTRUDE" MSG="G1 E{e} F{feedrate * 60}"
G91
M82
G92 E0
G1 E{e} F{feedrate * 60}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _DEACTIVATE_TOOLHEAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_DEACTIVATE_TOOLHEAD" MSG="TOOLHEAD {toolhead}"
{% if toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% endif %}
M106.1 S0
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={toolhead}
[delayed_gcode _INIT_TOOLHEADS]
initial_duration = 0.1
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_IDEX_SINGLE INIT=1
{% if printer.configfile.settings.dual_carriage.safe_distance is defined %}
{% if printer.configfile.settings.dual_carriage.safe_distance|float < 50 %}
{ action_emergency_stop("Dual carriage safe_distance seems to be too low!") }
{% endif %}
{% else %}
{ action_emergency_stop("Dual carriage safe_distance not defined!") }
{% endif %}
[gcode_macro _SET_TOOLHEAD_OFFSET]
gcode =
{% set t = params.T|int %}
{% set move = params.MOVE|default(0)|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="T: {t}, MOVE: {move}"
{% set svv = printer.save_variables.variables %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set move = 0 %}
{% endif %}
{% if svv.idex_applied_offset != t %}
{% if t != printer["gcode_macro RatOS"].default_toolhead|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET X_ADJUST: {(-svv.idex_xoffset)} Y_ADJUST: {(-svv.idex_yoffset)} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={(-svv.idex_xoffset)} Y_ADJUST={(-svv.idex_yoffset)} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {(-svv.idex_zoffset)} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={(-svv.idex_zoffset)} MOVE={move} SPEED={z_speed}
{% else %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_ X_ADJUST: {svv.idex_xoffset} Y_ADJUST: {svv.idex_yoffset} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={svv.idex_xoffset} Y_ADJUST={svv.idex_yoffset} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {svv.idex_zoffset} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE={move} SPEED={z_speed}
{% endif %}
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T{t}"
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={t}
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={t}
{% endif %}
{% endif %}
[gcode_macro TOOLSHIFT_CONFIG]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={params.SPEED|default(300)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={params.ACCEL|default(5000)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_retraction VALUE={params.RETRACT|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_extrusion VALUE={params.EXTRUDE|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_feedrate VALUE={params.FEEDRATE|default(7200)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={params.Z_HOP|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zspeed VALUE={params.Z_SPEED|default(25)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_combined_zhop VALUE={true if params.COMBINED_ZHOP|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_sync_fans VALUE={true if params.SYNC_FANS|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_prepurging_timer VALUE={params.AUTO_PURGE_TIME|default(0)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_purge VALUE={params.PURGE|default(25)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_standby_temp VALUE={params.STANDBY_TEMP|default(-1)|float}
[gcode_macro CALCULATE_DC_ENDSTOP]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% set idex_xoffset = svv.idex_xoffset|float %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|float %}
{% set stepper_x_position_max = printer.configfile.settings.stepper_x.position_max|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set line_1 = "_N_[dual_carriage]" %}
{% set line_2 = "position_max: %.3f" % (dual_carriage_position_max + idex_xoffset) %}
{% set line_3 = "position_endstop: %.3f" % (dual_carriage_position_endstop + idex_xoffset) %}
{% set line_4 = "_N_[gcode_macro RatOS]" %}
{% set line_5 = "variable_bed_margin_x: [%.3f, %.3f]" % (stepper_x_position_endstop|abs, dual_carriage_position_max - stepper_x_position_max + idex_xoffset) %}
{% set line_6 = "_N_[gcode_macro _VAOC]" %}
{% set line_7 = "variable_expected_camera_x_position: %.3f" % idex_xcontrolpoint %}
{% set line_8 = "variable_expected_camera_y_position: %.3f" % idex_ycontrolpoint %}
{% set line_9 = "_N_[gcode_macro T0]" %}
{% set line_10 = "variable_parking_position: %.3f" % (stepper_x_position_endstop + 2) %}
{% set line_11 = "_N_[gcode_macro T1]" %}
{% set line_12 = "variable_parking_position: %.3f" % (dual_carriage_position_endstop + idex_xoffset - 2) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8, line_9, line_10, line_11, line_12)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro INCREASE_Y_MAX]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set stepper_y_position_max = printer.configfile.settings.stepper_y.position_max|float %}
{% set stepper_y_position_endstop = printer.configfile.settings.stepper_y.position_endstop|float %}
{% set line_1 = "_N_[stepper_y]" %}
{% set line_2 = "position_max: %.3f" % (stepper_y_position_max + 1) %}
{% set line_3 = "_N_[gcode_macro RatOS]" %}
{% set line_4 = "variable_bed_margin_y: [%.3f, %.3f]" % (stepper_y_position_endstop|abs, (bed_margin_y[1] + 1)) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro _VAOC]
variable_is_fixed = True
variable_is_started = False
variable_is_started_at_temp = False
variable_additional_safe_distance = 50
variable_safe_z = 30
variable_auto_z_offset_calibration = True
variable_enable_camera_cooling = True
variable_camera_cooling_fan_speed = 0.3
variable_camera_cooling_temperature = 50
variable_toolchange_travel_speed = 300
variable_toolchange_travel_accel = 5000
variable_cache_toolchange_travel_speed = 300
variable_cache_toolchange_travel_accel = 5000
variable_cache_toolchange_zhop = 1.0
variable_t0_toolhead_sensor_enabled = 0
variable_t1_toolhead_sensor_enabled = 0
variable_t0_bowden_sensor_enabled = 0
variable_t1_bowden_sensor_enabled = 0
variable_loaded_skew_profile = ""
gcode =
_ECHO_VAOC_VARS
variable_expected_camera_x_position = 211.854
variable_expected_camera_y_position = 528.378
[gcode_macro _VAOC_START]
description = Called from the front end. If T0_TEMP, T1_TEMP and BED_TEMP parameter are specified, VAOC calibration will start under real conditions at printing temp.
gcode =
{% set t0_temp = params.T0_TEMP|default(0)|int %}
{% set t1_temp = params.T1_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set loaded_skew_profile = printer["gcode_macro SKEW_PROFILE"].loaded_profile|default("") %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=loaded_skew_profile VALUE='"{loaded_skew_profile}"'
{% if t0_temp > 0 and t1_temp > 0 and bed_temp > 0 %}
{% if not is_fixed %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("VAOC calibration at temp works only with a fixed installed VAOC device.") }
{% endif %}
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE=0
{% endif %}
START_PRINT EXTRUDER_TEMP={t0_temp},{t1_temp} EXTRUDER_OTHER_LAYER_TEMP={t0_temp},{t1_temp} BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp} INITIAL_TOOL=0 TOTAL_LAYER_COUNT=1 X0={(printable_x_max / 2 - 10)} Y0={(printable_y_max / 2 - 10)} X1={(printable_x_max / 2 + 10)} Y1={(printable_y_max / 2 + 10)} TOTAL_TOOLSHIFTS=1 FIRST_X={printable_x_max / 2} FIRST_Y={printable_y_max / 2} MIN_X={(printable_x_max / 2 - 10)} MAX_X={(printable_x_max / 2 + 10)} USED_TOOLS=0,1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=True
{% endif %}
_START_VAOC
[gcode_macro _START_VAOC]
description = Called from _VAOC_START. Do not call it manually.
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(printable_x_max/2)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(printable_y_max/2)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
DEBUG_ECHO PREFIX="VAOC_START" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, zcontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, expected_camera_x_position, expected_camera_y_position)}
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_SAFE_Z_HEIGHT
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_speed VALUE={printer["gcode_macro RatOS"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_accel VALUE={printer["gcode_macro RatOS"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_zhop VALUE={printer["gcode_macro RatOS"].toolchange_zhop|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE=0
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"START X_REFERENCE:%.6f Y_REFERENCE:%.6f Z_REFERENCE:%.6f PARK_T0:%.6f PARK_T1:%.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, parking_position_t0, parking_position_t1)}
_LED_VAOC_ON
MAYBE_HOME
M400
_LOAD_RATOS_SKEW_PROFILE
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
IDEX_SINGLE
{% endif %}
{% if is_fixed %}
_SELECT_TOOL T=0 TOOLSHIFT=false
{% if default_toolhead == 0 %}
G1 X{idex_xcontrolpoint} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint + safe_distance + additional_safe_distance} F{speed}
{% else %}
G1 X{idex_xcontrolpoint - safe_distance - additional_safe_distance} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% else %}
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
G1 X{idex_xcontrolpoint} F{speed}
G1 Y{idex_ycontrolpoint} F{speed}
G1 Z{idex_zcontrolpoint} F{z_speed}
_SELECT_TOOL T={default_toolhead} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
{% if not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={default_toolhead}
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=True
[gcode_macro _VAOC_END]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_y = printable_y_max / 2 %}
DEBUG_ECHO PREFIX="_VAOC_END" MSG="printable_y_max: {printable_y_max}, center_y: {center_y}, safe_z: {safe_z}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
G1 Y{center_y} F{speed}
_IDEX_SINGLE INIT=1
_LED_VAOC_OFF
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={printer["gcode_macro _VAOC"].cache_toolchange_zhop|float}
{% if printer["gcode_macro _VAOC"].is_started_at_temp|default(true)|lower == 'true' %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_bowden_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_bowden_sensor_enabled|int}
{% endif %}
{% endif %}
{% set loaded_skew_profile = printer["gcode_macro _VAOC"].loaded_skew_profile|default("") %}
{% if loaded_skew_profile != "" %}
SKEW_PROFILE LOAD={loaded_skew_profile}
{% else %}
SET_SKEW CLEAR=1
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
[gcode_macro _VAOC_LOAD_TOOL]
gcode =
{% set t = params.T|default(0)|int %}
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set auto_temp_offset = true if params.AUTO_TEMP_OFFSET|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set toolhead_zoffset = svv.idex_zoffset|default(0)|float %}
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move T%s to control point: X%.6f Y%.6f Z%.6f IS_FIXED=%s"' % (t, idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, is_fixed)}
{% if not auto_temp_offset and not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={t}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
{% set current_z = printer.toolhead.position.z|float %}
{% set lowest_toolhead_z = [current_z, current_z - toolhead_zoffset]|min %}
{% if lowest_toolhead_z < safe_z %}
G1 Z{[safe_z, safe_z + toolhead_zoffset]|max} F{z_speed}
{% else %}
G1 Z{idex_zcontrolpoint} F{z_speed}
{% endif %}
_SELECT_TOOL T={t} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
G1 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_SET_CAMERA_COOLING]
gcode =
{% set t = params.T|default(0)|int %}
{% set enable_camera_cooling = true if printer["gcode_macro _VAOC"].enable_camera_cooling|default(true)|lower == 'true' else false %}
{% set camera_cooling_temperature = printer["gcode_macro _VAOC"].camera_cooling_temperature|float %}
{% set camera_cooling_fan_speed = printer["gcode_macro _VAOC"].camera_cooling_fan_speed|float %}
{% if printer.heater_bed.temperature >= camera_cooling_temperature and enable_camera_cooling %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={camera_cooling_fan_speed if t == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={camera_cooling_fan_speed if t == 1 else 0}
M106.1 S{camera_cooling_fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% endif %}
[gcode_macro _VAOC_SET_TOOL]
gcode =
{% set svv = printer.save_variables.variables %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set x = printer.gcode_move.gcode_position.x|float %}
{% set y = printer.gcode_move.gcode_position.y|float %}
{% set z = printer.gcode_move.gcode_position.z|float %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={x}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={y}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Control point was set: X%.6f Y%.6f Z%.6f"' % (x, y, z)}
{% else %}
{% set move_diff_x = printer.gcode_move.gcode_position.x|float - svv.idex_xcontrolpoint|float %}
{% set move_diff_y = printer.gcode_move.gcode_position.y|float - svv.idex_ycontrolpoint|float %}
{% set move_diff_z = printer.gcode_move.gcode_position.z|float - svv.idex_zcontrolpoint|float %}
SET_GCODE_OFFSET X_ADJUST={move_diff_x} Y_ADJUST={move_diff_y} Z_ADJUST={move_diff_z} MOVE=0
{% set new_x_offset = svv.idex_xoffset - move_diff_x %}
{% set new_y_offset = svv.idex_yoffset - move_diff_y %}
{% set new_z_offset = svv.idex_zoffset - move_diff_z %}
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE={new_x_offset}
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE={new_y_offset}
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={new_z_offset}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset was set: X%.6f Y%.6f Z%.6f"' % (toolhead, new_x_offset, new_y_offset, new_z_offset)}
{% endif %}
[gcode_macro _VAOC_MOVE]
gcode =
{% set x = params.X|default(0)|float %}
{% set y = params.Y|default(0)|float %}
{% set z = params.Z|default(0)|float %}
G91
{% if z != 0 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 Z%.6f F300"' % (z)}
G1 Z{z} F300
{% else %}
{% if x <=2 and y <=2 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 X%.6f Y%.6f F18000"' % (x, y)}
G1 X{x} Y{y} F18000
{% endif %}
{% endif %}
G90
[gcode_macro _VAOC_CALIBRATE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% if printer["z_offset_probe"] is defined and is_started %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
{% if auto_z_offset %}
_START_VAOC AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_END
{% else %}
_VAOC_LOAD_TOOL T={default_toolhead}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
{% endif %}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_Z_OFFSET
{% endif %}
[gcode_macro _VAOC_PROBE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
{% if not auto_z_offset %}
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
{% endif %}
M400
_VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT
[gcode_macro _VAOC_Z_OFFSET_PROBE_CURRENT_POSITION]
gcode =
Z_OFFSET_PROBE PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_DROP=1 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
[gcode_macro _VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT]
gcode =
{% if printer["z_offset_probe"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE={last_z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Z-offset control point set:: %.6f"' % last_z}
{% else %}
{% set z = svv.idex_zoffsetcontrolpoint|float - last_z %}
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE=0
G0 Z{svv.idex_zcontrolpoint|float} F{z_speed}
SET_GCODE_OFFSET Z_ADJUST={(0 - z)} MOVE=1
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset set: Z %.6f"' % (t, z)}
{% endif %}
{% endif %}
[gcode_macro _VAOC_ECHO_Z_OFFSET]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s toolhead z-offset %.6f"' % (1 if default_toolhead == 0 else 0, svv.idex_zoffset)}
{% if svv.idex_zoffset|abs < 0.02 %}
CONSOLE_ECHO TITLE={'"Perfect toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="You have a perfect toolhead z-offset!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.02 and svv.idex_zoffset|abs < 0.05 %}
CONSOLE_ECHO TITLE={'"Good toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is good!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.05 and svv.idex_zoffset|abs < 0.1 %}
CONSOLE_ECHO TITLE={'"High toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset could be better._N_Use minimum 0.3mm first layer height for copy and mirror mode prints." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.1 and svv.idex_zoffset|abs < 0.2 %}
CONSOLE_ECHO TITLE={'"Bad toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is bad._N_Copy and mirror mode prints are not recommended with it." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.2 %}
CONSOLE_ECHO TITLE={'"Unacceptable toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is unacceptable._N_Do not print in copy and mirror mode with it." TYPE="alert"
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG="Toolhead z-offset calibration done!"
[gcode_macro _VAOC_CALIBRATE_TEMP_OFFSET]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if is_fixed and is_started and printer["z_offset_probe"] is defined and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
_VAOC_LOAD_TOOL T={default_toolhead} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
[gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET=0
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
M400
[gcode_macro _VAOC_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for thermal expansion..."
G4 P240000
RATOS_ECHO PREFIX="VAOC" MSG="Probing with nozzle temperature {temp}°C..."
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _VAOC_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set svv = printer.save_variables.variables %}
{% set msg = '"T0 expansion coefficient %.6fmm_N_T1 expansion coefficient %.6fmm"' % (svv.nozzle_expansion_coefficient_t0, svv.nozzle_expansion_coefficient_t1) %}
CONSOLE_ECHO TITLE="Nozzle expansion coefficients:" MSG={msg} TYPE="success"
[gcode_macro _VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, expected_camera_x_position, expected_camera_y_position)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - expected_camera_x_position)|abs > 5 %}
M84
{ action_raise_error("VAOC x-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_xcontrolpoint, expected_camera_x_position)) }
{% endif %}
{% if (idex_ycontrolpoint - expected_camera_y_position)|abs > 5 %}
M84
{ action_raise_error("VAOC y-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_ycontrolpoint, expected_camera_y_position)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - printer.gcode_move.gcode_position.x|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected y-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_xcontrolpoint, printer.gcode_move.gcode_position.x|float)) }
{% endif %}
{% if (idex_ycontrolpoint - printer.gcode_move.gcode_position.y|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected x-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_ycontrolpoint, printer.gcode_move.gcode_position.y|float)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_SAFE_Z_HEIGHT]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set idex_zoffsetcontrolpoint = svv.idex_zoffsetcontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_SAFE_Z_HEIGHT" MSG={'"idex_zcontrolpoint: %.6f, idex_zoffsetcontrolpoint: %.6f"' % (idex_zcontrolpoint, idex_zoffsetcontrolpoint)}
{% if safe_z < idex_zcontrolpoint + 2 or safe_z < idex_zoffsetcontrolpoint + 2 %}
{action_raise_error("VAOC safe_z value (%.3f) is too low, it must be higher than %.3f" % (safe_z, [idex_zoffsetcontrolpoint + 2, idex_zcontrolpoint + 2]|max))}
{% endif %}
[gcode_macro _VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED]
gcode =
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T0. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T1. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
[gcode_macro _VAOC_RESET]
gcode =
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={expected_camera_x_position}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={expected_camera_y_position}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE=5.0
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE=0.0
RATOS_ECHO PREFIX="VAOC" MSG="VAOC configuration resetted. Please calibrate it before using the printer."
[gcode_macro _ECHO_VAOC_VARS]
description = Echo VAOC variables to the console.
gcode =
{% for var, value in printer["gcode_macro _VAOC"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro _VAOC_SWITCH_LED]
gcode =
{% if params.STATE|default(0)|int == 1 %}
_LED_VAOC_ON
{% else %}
_LED_VAOC_OFF
{% endif %}
[gcode_macro Z_PROBE_TEST_T0]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T0
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST_T1]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T1
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro _VAOC_Z_PROBE_LOOP]
gcode =
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_SHAKE_IT
_VAOC_START
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if primary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T0. Retried {primary_retries} time(s)."
{% endif %}
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
{% if (primary_range - secondary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 is drifting significantly more than T1."
{% endif %}
{% if (secondary_range - primary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 is drifting significantly more than T0."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T0]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T1]
gcode =
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _SHAKE_IT]
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
_Z_HOP
{% for i in range(3) %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 + 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 + 1}
{% endfor %}
{% for i in range(2) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 + 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 + 50}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 1}
{% endfor %}
{% endfor %}
[gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 retries updated: {new_retries}"
[gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 retries updated: {new_retries}"
[gcode_macro _CLEAR_PRIMARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 result set"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 retries"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _CLEAR_SECONDARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 result set"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 retries"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _VAOC_TEST_Z_OFFSET]
gcode =
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[delayed_gcode _IDEX_INIT]
initial_duration = 0.1
gcode =
VERIFY_HYBRID_INVERTED
[gcode_macro Z_TILT_ADJUST]
rename_existing = Z_TILT_ADJUST_ORIG
gcode =
{% set beacon_contact_z_tilt_adjust_samples = printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust_samples|default(2)|int %}
{% set beacon_contact_z_tilt_adjust = true if printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust|default(true)|lower == 'true' else false %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={printer["gcode_macro RatOS"].default_toolhead|default(0)|int} TOOLSHIFT=false
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_tilt_adjust %}
Z_TILT_ADJUST_ORIG PROBE_METHOD=contact SAMPLES={beacon_contact_z_tilt_adjust_samples}
{% else %}
Z_TILT_ADJUST_ORIG
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
STOW_PROBE
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == "copy" %}
_IDEX_COPY
{% elif idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[stepper_x]
position_max = 500
position_endstop = -59.8
position_min = -59.8
step_pin = PF13
dir_pin = x_dir_pin
enable_pin = !PF14
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t0:PB6
[stepper_y]
position_max = 533.65
position_min = -14.35
position_endstop = -14.35
step_pin = PG0
dir_pin = !y_dir_pin
enable_pin = !PF15
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = PG9
[stepper_z]
position_max = 500
position_min = -7
step_pin = PC13
dir_pin = !z0_dir_pin
enable_pin = !PF1
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
homing_speed = 10
endstop_pin = probe:z_virtual_endstop
[bed_mesh]
horizontal_move_z = 2
mesh_min = 20,30
mesh_max = 470,462.5
probe_count = 40,40
fade_start = 1.0
fade_end = 10.0
mesh_pps = 2,2
algorithm = bicubic
bicubic_tension = .2
speed = 600
[z_tilt]
z_positions =
0,0
250,500
500,0
points =
20,10
250,440
480,10
horizontal_move_z = 20
retries = 10
retry_tolerance = 0.02
speed = 600
[extruder]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t0:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t0:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.049
step_pin = toolboard_t0:PD0
dir_pin = toolboard_t0:e_dir_pin
enable_pin = !toolboard_t0:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[firmware_retraction]
retract_speed = 60
unretract_extra_length = 0
unretract_speed = 60
retract_length = 0.5
[extruder1]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t1:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t1:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.03
step_pin = toolboard_t1:PD0
dir_pin = toolboard_t1:e_dir_pin
enable_pin = !toolboard_t1:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[resonance_tester]
accel_chip_x = adxl345 toolboard_t0
accel_chip_y = adxl345 toolboard_t0
probe_points =
250,250,20
[tmc2209 stepper_x]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 dual_carriage]
stealthchop_threshold = 0
interpolate = False
uart_pin = PF2
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD11
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC7
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_y1]
step_pin = PG4
dir_pin = y1_dir_pin
enable_pin = !PA0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
[tmc2209 stepper_z]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_z1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE1
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z1]
step_pin = PE2
dir_pin = !z1_dir_pin
enable_pin = !PD4
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 stepper_z2]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD3
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z2]
step_pin = PE6
dir_pin = !z2_dir_pin
enable_pin = !PE0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 extruder]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t0:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[tmc2209 extruder1]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t1:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[beacon]
serial = /dev/beacon
x_offset = 0
y_offset = 22.5
mesh_main_direction = x
mesh_runs = 1
speed = 15.
lift_speed = 80.
contact_max_hotend_temperature = 275
[delayed_gcode _BEACON_INIT]
initial_duration = 1
gcode =
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(0)|float %}
{% if nozzle_expansion_coefficient_multiplier == 0 %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is not defined %}
{% set nozzle_expansion_coefficient_multiplier = 1.0 %}
{% else %}
{% set nozzle_expansion_coefficient_multiplier = printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier|default(1.0)|float %}
{% endif %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={nozzle_expansion_coefficient_multiplier}
{% endif %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is defined %}
CONSOLE_ECHO TITLE="Deprecated gcode variable" TYPE="warning" MSG={'"Please remove the variable beacon_contact_expansion_multiplier from your config file."'}
{% endif %}
[gcode_macro BEACON_RATOS_CALIBRATION]
gcode =
RATOS_ECHO MSG="Did you mean BEACON_RATOS_CALIBRATE?"
[gcode_macro BEACON_RATOS_CALIBRATE]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
BEACON_INITIAL_CALIBRATION _AUTOMATED=True
{% if beacon_contact_start_print_true_zero %}
BEACON_POKE_TEST _AUTOMATED=True
_BEACON_CHECK_POKE
{% if printer["dual_carriage"] is not defined %}
BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET _AUTOMATED=True
{% endif %}
{% endif %}
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
BEACON_FINAL_CALIBRATION _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% if beacon_contact_start_print_true_zero %}
BEACON_MEASURE_GANTRY_TWIST
_BEACON_MAYBE_SCAN_COMPENSATION
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_OFF
{% endif %}
{% if beacon_contact_start_print_true_zero %}
{% if printer["dual_carriage"] is not defined %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
_BEACON_ECHO_POKE
{% endif %}
RATOS_ECHO MSG="Beacon calibration finished!"
_LED_BEACON_CALIBRATION_END
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
[gcode_macro BEACON_INITIAL_CALIBRATION]
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
MAYBE_HOME X=True Y=True
_LED_BEACON_CALIBRATION_START
G90
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE
_Z_HOP
RATOS_ECHO MSG="Initial beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_FINAL_CALIBRATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
_BEACON_HOME_AND_ABL
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
_LED_BEACON_CALIBRATION_START
G90
G0 Z2 F{z_hop_speed}
RATOS_ECHO MSG="Waiting for calibration temperature..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_Z_HOP
BEACON_AUTO_CALIBRATE
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
_Z_HOP
RATOS_ECHO MSG="Final beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_POKE_TEST]
variable_poke_result_1 = -1
variable_poke_result_2 = -1
variable_poke_result_3 = -1
variable_poke_result_4 = -1
variable_poke_result_5 = -1
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_1 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_2 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_3 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_4 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_5 VALUE=-1
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
G0 Z5 F{z_hop_speed}
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=1
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=2
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=3
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=4
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=5
_Z_HOP
RATOS_ECHO MSG="Beacon poke test finished!"
{% if not automated %}
_BEACON_ECHO_POKE
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_POKE]
gcode =
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
BEACON_POKE speed=3 top=5 bottom={poke_bottom}
BEACON_QUERY
[gcode_macro _BEACON_STORE_POKE]
gcode =
{% set i = params.I|default(1)|int %}
{% set last_z = printer.beacon.last_poke_result|default(0)|float %}
{% if printer.beacon.last_poke_result|lower != "none" %}
{% if printer.beacon.last_poke_result.error == 0 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE={"poke_result_%s" % i} VALUE={printer.beacon.last_poke_result.latency}
{% endif %}
{% endif %}
[gcode_macro _BEACON_CHECK_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% if p1 == -1 or p2 == -1 or p3 == -1 or p4 == -1 or p5 == -1 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test error!") }
{% endif %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg > 6 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test failed!") }
{% endif %}
[gcode_macro _BEACON_ECHO_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg <= 1 %}
{% set type = "success" %}
{% set note = "Extremely low noise, rarely achieved" %}
{% elif avg > 1 and avg <= 4 %}
{% set type = "info" %}
{% set note = "Excellent performance for a typical printer" %}
{% elif avg > 4 and avg <= 8 %}
{% set type = "warning" %}
{% set note = "Acceptable performance, machine may have considerable cyclic axis noise" %}
{% elif avg > 8 and avg <= 11 %}
{% set type = "alert" %}
{% set note = "Not ideal, may want to verify proper mounting or use thinner stackups" %}
{% elif avg > 11 %}
{% set type = "alert" %}
{% set note = "Reason for concern, present setup may be risky to continue with" %}
{% endif %}
CONSOLE_ECHO TITLE="Beacon poke test result:" TYPE={type} MSG={'"Average latency: %.2f_N_%s"' % (avg, note)}
[gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set test_margin = 30 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Nozzle temperature offset calibration..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET=0
{% if not automated %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
{% endif %}
[gcode_macro _BEACON_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="BEACON" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
RATOS_ECHO PREFIX="BEACON" MSG="Probing with nozzle temperature {temp}°C..."
PROBE PROBE_METHOD=contact PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
BEACON_QUERY
G0 Z5 F{z_speed}
[gcode_macro _BEACON_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer.beacon.last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{default_toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
CONSOLE_ECHO TYPE="info" MSG={'"T0 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t0}
{% else %}
CONSOLE_ECHO TYPE="info" MSG={'"T1 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t1}
{% endif %}
[gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET]
variable_runtime_temp = 0
gcode =
{% set toolhead = params.TOOLHEAD|default(0)|int %}
{% set reset = true if params.RESET|default(false)|lower == 'true' else false %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% if reset %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE=0
{% else %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set nozzle_expansion_coefficient_t0 = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if printer["dual_carriage"] is defined %}
{% set nozzle_expansion_coefficient_t1 = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set applied_offset = svv.nozzle_expansion_applied_offset|default(0)|float %}
{% set temp = printer['extruder' if toolhead == 0 else 'extruder1'].target|float %}
{% set temp_offset = temp - beacon_contact_true_zero_temp %}
{% set expansion_coefficient = nozzle_expansion_coefficient_t0 if toolhead == 0 else nozzle_expansion_coefficient_t1 %}
{% set expansion_offset = nozzle_expansion_coefficient_multiplier * (temp_offset * (expansion_coefficient / 100)) %}
{% set new_offset = ((-applied_offset) + expansion_offset) %}
SET_GCODE_OFFSET Z_ADJUST={new_offset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE={expansion_offset}
SET_GCODE_VARIABLE MACRO=_BEACON_SET_NOZZLE_TEMP_OFFSET VARIABLE=runtime_temp VALUE={temp}
RATOS_ECHO PREFIX="BEACON" MSG={'"Nozzle expansion offset of %.6fmm applied to T%s"' % (expansion_offset, toolhead)}
DEBUG_ECHO PREFIX="_BEACON_SET_NOZZLE_TEMP_OFFSET" MSG="multiplier: {nozzle_expansion_coefficient_multiplier}, coefficient: {expansion_coefficient}, temp_offset: {temp_offset}, expansion_offset: {expansion_offset}, applied_offset: {applied_offset}, new_offset: {new_offset}"
{% endif %}
{% endif %}
[gcode_macro BEACON_MEASURE_GANTRY_TWIST]
variable_needs_compensation = False
variable_reference_z = 0.0
variable_front = 0.0
variable_front_left = 0.0
variable_front_right = 0.0
variable_back = 0.0
variable_back_left = 0.0
variable_back_right = 0.0
variable_right = 0.0
variable_left = 0.0
variable_margin_x = 40
variable_margin_y = 40
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=False
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Measure gantry twist..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="center"
G0 X{margin_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_left"
G0 X{safe_home_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front"
G0 X{(printable_x_max - margin_x)} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_right"
G0 X{(printable_x_max - margin_x)} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="right"
G0 X{(printable_x_max - margin_x)} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_right"
G0 X{safe_home_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back"
G0 X{margin_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_left"
G0 X{margin_x} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="left"
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
_BEACON_ECHO_GANTRY_TWIST
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_GANTRY_TWIST]
gcode =
RATOS_ECHO PREFIX="BEACON" MSG="Probing..."
BEACON_OFFSET_COMPARE
BEACON_QUERY
[gcode_macro _BEACON_STORE_GANTRY_TWIST]
gcode =
{% set location = params.LOCATION|lower %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set last_z = printer.beacon.last_offset_result["delta"]|default(0)|float %}
{% if location == "center" %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE={location} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_GANTRY_TWIST]
gcode =
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float * 1000 %}
{% set front_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_left|default(0)|float * 1000 %}
{% set front = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front|default(0)|float * 1000 %}
{% set front_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_right|default(0)|float * 1000 %}
{% set right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].right|default(0)|float * 1000 %}
{% set back_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_right|default(0)|float * 1000 %}
{% set back = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back|default(0)|float * 1000 %}
{% set back_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_left|default(0)|float * 1000 %}
{% set left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].left|default(0)|float * 1000 %}
{% set line_1 = "Front left: %.6fμm" % (front_left) %}
{% set line_2 = "Front center: %.6fμm" % (front) %}
{% set line_3 = "Front right: %.6fμm" % (front_right) %}
{% set line_4 = "Left center: %.6fμm" % (left) %}
{% set line_5 = "Right center: %.6fμm" % (right) %}
{% set line_6 = "Back left: %.6fμm" % (back_left) %}
{% set line_7 = "Back center: %.6fμm" % (back) %}
{% set line_8 = "Back right: %.6fμm" % (back_right) %}
{% set max_value = [(front_left|abs), (front|abs), (front_right|abs), (left|abs), (right|abs), (back_left|abs), (back|abs), (back_right|abs)]|max %}
{% if max_value <= 50 %}
{% set type = "success" %}
{% set recommendation = "Very low gantry twist: %.6fμm._N_No beacon scan compensation needed." % max_value %}
{% elif max_value > 50 and max_value <= 100 %}
{% set type = "info" %}
{% set recommendation = "Low gantry twist: %.6fμm._N_You may experience first layer inconsistensies, consider beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 100 and max_value <= 150 %}
{% set type = "warning" %}
{% set recommendation = "High gantry twist: %.6fμm._N_High chance of first layer problems, beacon scan compensation is highly encouraged." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 150 and max_value <= 200 %}
{% set type = "alert" %}
{% set recommendation = "Very High gantry twist: %.6fμm._N_You will encounter first layer problems on large prints unless you activate beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 200 %}
{% set type = "alert" %}
{% set recommendation = "Extremely high gantry twist: %.6fμm._N_You have significant scan/contact inconsistency which is indicative of mechanical problems, please investigate before resorting to software compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% endif %}
CONSOLE_ECHO TITLE="Gantry twist relative to the center" TYPE={type} MSG={'"_N_%s_N__N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s"' % (recommendation, line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8)}
[gcode_macro BEACON_CREATE_SCAN_COMPENSATION_MESH]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set profile = params.PROFILE|default("Contact")|string %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
{% set probe_count = printer["gcode_macro RatOS"].beacon_scan_compensation_probe_count %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% if not beacon_scan_compensation_enable %}
RATOS_ECHO MSG="Beacon scan compensation is disabled!"
{% else %}
MAYBE_HOME
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_LED_BEACON_CALIBRATION_START
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
RATOS_ECHO MSG="Please wait..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% endif %}
{% if not automated %}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
{% endif %}
{% if printer.z_tilt is defined %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% endif %}
{% if printer.quad_gantry_level is defined %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES=2 SAMPLES_DROP=1 SAMPLES_TOLERANCE_RETRIES=10 PROBE_COUNT={probe_count[0]},{probe_count[1]} PROFILE={profile}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
RATOS_ECHO MSG="Beacon scan compensation mesh created!"
{% if not automated %}
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
{% endif %}
{% endif %}
[gcode_macro _BEACON_APPLY_SCAN_COMPENSATION]
gcode =
{% set beacon_scan_compensation_profile = printer["gcode_macro RatOS"].beacon_scan_compensation_profile %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_SCAN_COMPENSATION" MSG="beacon_scan_compensation_profile {beacon_scan_compensation_profile}, beacon_scan_compensation_enable {beacon_scan_compensation_enable}"
{% if beacon_scan_compensation_enable %}
BEACON_APPLY_SCAN_COMPENSATION PROFILE={beacon_scan_compensation_profile}
{% endif %}
[gcode_macro _BEACON_MAYBE_SCAN_COMPENSATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set needs_scan_compensation = true if printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].needs_compensation|default(false)|lower == 'true' else false %}
{% if needs_scan_compensation %}
BEACON_CREATE_SCAN_COMPENSATION_MESH _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% endif %}
[gcode_macro _BEACON_HOME_AND_ABL]
gcode =
MAYBE_HOME X=True Y=True
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% if needs_rehoming %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% endif %}
[gcode_macro _BEACON_SAVE_MULTIPLIER]
gcode =
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set multiplier = printer["gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER"].runtime_multiplier|default(-1.0)|float %}
DEBUG_ECHO PREFIX="_BEACON_SAVE_MULTIPLIER" MSG="multiplier: {multiplier}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if multiplier > 0 and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={multiplier}
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE=-1.0
CONSOLE_ECHO TITLE="Hotend thermal expansion compensation" TYPE="success" MSG={'"New value is: %.6f_N_The new multiplier value has been saved to the configuration."' % multiplier}
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER]
variable_runtime_multiplier = -1.0
gcode =
{% set toolhead = 0 %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if layer_number == 0 and is_printing_gcode %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Documentation" %}
{% set line_1 = '"Your slicer is not correctly reporting layer information. See the layer change custom g-code in the %s".' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Missing layer information" TYPE="warning" MSG={line_1}
{% endif %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="layer_number: {layer_number}, is_printing_gcode: {is_printing_gcode}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if layer_number == 1 and is_printing_gcode and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if toolhead == 1 %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set beacon_contact_expansion_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set print_temp = printer["gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET"].runtime_temp|default(0)|int %}
{% if print_temp > 0 %}
{% set z_offset = printer.gcode_move.homing_origin.z|float %}
{% set temp_delta = print_temp - beacon_contact_true_zero_temp %}
{% set coefficient_per_degree = nozzle_expansion_coefficient / 100 %}
{% set z_offset_per_degree = z_offset / temp_delta %}
{% set new_multiplier = z_offset_per_degree / coefficient_per_degree %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="print_temp: {print_temp}, z_offset: {z_offset}, temp_delta: {temp_delta}, nozzle_expansion_coefficient: {nozzle_expansion_coefficient}, coefficient_per_degree: {coefficient_per_degree}, z_offset_per_degree: {z_offset_per_degree}, old_multiplier: {beacon_contact_expansion_multiplier}, new_multiplier: {new_multiplier}"
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE={new_multiplier}
{% endif %}
{% endif %}
[fan_generic part_fan_t0]
pin = !toolboard_t0:PA0
cycle_time = 0.00004
[fan_generic part_fan_t1]
pin = !toolboard_t1:PA0
cycle_time = 0.00004
[heater_fan toolhead_cooling_fan_t1]
heater = extruder1
pin = toolboard_t1:PA1
[controller_fan controller_fan]
pin = PD12
[gcode_macro T0]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = True
variable_color = "7bff33"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = -32.8
variable_parking_position = -57.800
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=0 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[gcode_macro T1]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = False
variable_color = "0ea5e9"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = 532.8
variable_parking_position = 556.971
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=1 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[save_variables]
filename = /home/pi/printer_data/config/ratos-variables.cfg
[z_offset_probe]
pin = ^PG10
z_offset = -7
y_offset = 0
x_offset = 37.5
speed = 10
samples = 3
sample_retract_dist = 5
lift_speed = 10.0
samples_result = median
samples_tolerance = 0.2
samples_tolerance_retries = 5
[neopixel vaoc_led]
pin = PB0
chain_count = 6
color_order = GRB
[heater_fan vaoc_fan]
pin = PD13
heater = heater_bed
fan_speed = 1.0
heater_temp = 50
[filament_switch_sensor toolhead_filament_sensor_t0]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t0:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=0
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=0
[gcode_button toolhead_filament_sensor_button_t0]
pin = ^!toolboard_t0:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=0
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=0
{% endif %}
press_gcode =
[filament_switch_sensor toolhead_filament_sensor_t1]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t1:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=1
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=1
[gcode_button toolhead_filament_sensor_button_t1]
pin = ^!toolboard_t1:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=1
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=1
{% endif %}
press_gcode =
[beacon model default]
model_coef = 1.5216898007481126,
1.8902129794265508,
0.831820228817575,
0.3593149586958484,
0.23269392145129414,
0.19533062331679613,
-0.1632586565325532,
-0.17574982456618962,
0.17702053002792054,
0.13435326641891854
model_domain = 1.851328082849494e-07,1.9354184656086437e-07
model_range = 0.200000,5.000000
model_temp = 43.655936
model_offset = -0.05394
[bed_mesh Preparation]
version = 1
points =
-0.123065, -0.129249, -0.137728, -0.143346, -0.146108, -0.151560, -0.155215, -0.159040, -0.159958, -0.164177, -0.166491, -0.171752, -0.176450, -0.180710, -0.184686, -0.190246, -0.195775, -0.202238, -0.207460, -0.213022, -0.218225, -0.220510, -0.220567, -0.219225, -0.217630, -0.212552, -0.206331, -0.200070, -0.194573, -0.188334, -0.180118, -0.172176, -0.168038, -0.164374, -0.159375, -0.153073, -0.146940, -0.141521, -0.135166, -0.127086
-0.088754, -0.096605, -0.102126, -0.105995, -0.109969, -0.114049, -0.118511, -0.121889, -0.124322, -0.126883, -0.131213, -0.135417, -0.139505, -0.143071, -0.147057, -0.152929, -0.157956, -0.164833, -0.170577, -0.176167, -0.181394, -0.184379, -0.183957, -0.184723, -0.181740, -0.178752, -0.172233, -0.167393, -0.161225, -0.155149, -0.148851, -0.144256, -0.140355, -0.137883, -0.132371, -0.128553, -0.122059, -0.115777, -0.111817, -0.103433
-0.059703, -0.065141, -0.068894, -0.072534, -0.074652, -0.078732, -0.083449, -0.087482, -0.090032, -0.093010, -0.095624, -0.100951, -0.104058, -0.107939, -0.110295, -0.114845, -0.122184, -0.128323, -0.134619, -0.141129, -0.146735, -0.150526, -0.151921, -0.151703, -0.149648, -0.145697, -0.140806, -0.136280, -0.130497, -0.125540, -0.120070, -0.115730, -0.115253, -0.113816, -0.111683, -0.107485, -0.102833, -0.098964, -0.092084, -0.083493
-0.035146, -0.038887, -0.040630, -0.042918, -0.045822, -0.048863, -0.053602, -0.057912, -0.061422, -0.063969, -0.067771, -0.070734, -0.074263, -0.077254, -0.079459, -0.084177, -0.089247, -0.097608, -0.105291, -0.111173, -0.118299, -0.123146, -0.124957, -0.125483, -0.121116, -0.117566, -0.112065, -0.108311, -0.103527, -0.098034, -0.093794, -0.092694, -0.092279, -0.092993, -0.091409, -0.090502, -0.087302, -0.082043, -0.077730, -0.068983
-0.014429, -0.015436, -0.015024, -0.015867, -0.016594, -0.019643, -0.023524, -0.028230, -0.032698, -0.035277, -0.037866, -0.041326, -0.042863, -0.045187, -0.048169, -0.051460, -0.057369, -0.064702, -0.072998, -0.082472, -0.088649, -0.094871, -0.098359, -0.099789, -0.097374, -0.090473, -0.085585, -0.080722, -0.076818, -0.073349, -0.069668, -0.068340, -0.069674, -0.071996, -0.071434, -0.069706, -0.067260, -0.064747, -0.060147, -0.051867
0.001800, 0.004209, 0.006295, 0.006641, 0.006498, 0.003907, 0.000374, -0.004775, -0.008574, -0.012033, -0.015343, -0.017616, -0.020077, -0.021090, -0.023071, -0.026600, -0.031917, -0.039089, -0.048471, -0.057699, -0.066738, -0.073148, -0.075881, -0.078085, -0.074661, -0.071015, -0.062931, -0.057662, -0.054662, -0.049156, -0.046409, -0.047290, -0.049401, -0.052189, -0.052468, -0.052381, -0.048999, -0.045375, -0.042758, -0.036124
0.014578, 0.018249, 0.024038, 0.026382, 0.027249, 0.026050, 0.022467, 0.017577, 0.013010, 0.010887, 0.006983, 0.004054, 0.002721, 0.001326, -0.000218, -0.003487, -0.007851, -0.014883, -0.023207, -0.033846, -0.042392, -0.050957, -0.055968, -0.056765, -0.055272, -0.049752, -0.043583, -0.037460, -0.031652, -0.028299, -0.026023, -0.024866, -0.027110, -0.030476, -0.033084, -0.034078, -0.031246, -0.029362, -0.025190, -0.019151
0.024410, 0.030484, 0.035193, 0.039485, 0.041745, 0.040083, 0.037331, 0.032763, 0.028232, 0.025326, 0.021729, 0.020069, 0.017930, 0.018061, 0.015847, 0.013482, 0.008905, 0.001823, -0.007356, -0.016569, -0.026170, -0.033571, -0.037941, -0.040096, -0.038153, -0.033153, -0.025879, -0.019168, -0.014733, -0.010497, -0.008672, -0.007561, -0.010567, -0.014787, -0.015661, -0.017707, -0.017691, -0.014205, -0.012676, -0.006032
0.030350, 0.037321, 0.045452, 0.050793, 0.053375, 0.054499, 0.051059, 0.046846, 0.042496, 0.039367, 0.035643, 0.033919, 0.033912, 0.033623, 0.032081, 0.030054, 0.024662, 0.019256, 0.010309, -0.000351, -0.009383, -0.017529, -0.022320, -0.022585, -0.022214, -0.017406, -0.012453, -0.004461, 0.001580, 0.003945, 0.005930, 0.006089, 0.003042, -0.000316, -0.002673, -0.003751, -0.003717, -0.002638, 0.000226, 0.005144
0.035173, 0.044246, 0.052100, 0.057619, 0.061427, 0.062646, 0.059768, 0.057094, 0.052969, 0.049696, 0.046221, 0.044853, 0.044616, 0.045243, 0.045236, 0.041880, 0.037458, 0.030193, 0.021980, 0.013232, 0.002262, -0.005043, -0.010706, -0.011683, -0.008394, -0.003728, 0.001908, 0.006662, 0.011662, 0.016663, 0.018832, 0.016640, 0.013833, 0.008164, 0.007799, 0.005419, 0.005328, 0.009190, 0.008467, 0.015441
0.037108, 0.045666, 0.056458, 0.063149, 0.067499, 0.069070, 0.068454, 0.065539, 0.062239, 0.059947, 0.057580, 0.054794, 0.056387, 0.057237, 0.057484, 0.055314, 0.050020, 0.043846, 0.035280, 0.025122, 0.016671, 0.008013, 0.002311, 0.000737, 0.001896, 0.008203, 0.014297, 0.020006, 0.024262, 0.026669, 0.029339, 0.030551, 0.026033, 0.021667, 0.017948, 0.016993, 0.017491, 0.017914, 0.020540, 0.025522
0.036352, 0.047193, 0.056745, 0.064612, 0.068634, 0.070738, 0.069708, 0.067799, 0.066444, 0.064284, 0.063129, 0.061805, 0.060988, 0.062269, 0.063716, 0.060863, 0.057021, 0.049768, 0.040718, 0.032150, 0.020744, 0.014030, 0.009615, 0.006588, 0.008979, 0.012564, 0.020268, 0.025138, 0.030238, 0.034561, 0.036879, 0.034610, 0.032263, 0.027581, 0.024798, 0.023672, 0.023321, 0.026978, 0.024620, 0.027896
0.031904, 0.041999, 0.053526, 0.061780, 0.068626, 0.071467, 0.069588, 0.070855, 0.067652, 0.067081, 0.066260, 0.065427, 0.067567, 0.067660, 0.066819, 0.066532, 0.062096, 0.056381, 0.047624, 0.037620, 0.028342, 0.019370, 0.013689, 0.013032, 0.014071, 0.018558, 0.024375, 0.029309, 0.035040, 0.038931, 0.042663, 0.042886, 0.037831, 0.034178, 0.030240, 0.030073, 0.030481, 0.030514, 0.032425, 0.035200
0.027182, 0.039232, 0.050723, 0.059936, 0.065685, 0.068762, 0.069802, 0.067959, 0.067866, 0.067327, 0.067183, 0.067449, 0.068351, 0.070500, 0.070804, 0.066856, 0.063180, 0.057359, 0.048570, 0.041217, 0.030261, 0.023075, 0.018834, 0.015316, 0.018939, 0.022756, 0.029306, 0.034018, 0.038670, 0.043164, 0.045084, 0.044050, 0.042856, 0.037331, 0.034978, 0.032203, 0.031843, 0.034428, 0.032762, 0.037273
0.021053, 0.033448, 0.046106, 0.055345, 0.064261, 0.068907, 0.069228, 0.069829, 0.068287, 0.068723, 0.069343, 0.068829, 0.071972, 0.073165, 0.073793, 0.072091, 0.066945, 0.060901, 0.053179, 0.043877, 0.036784, 0.028377, 0.023620, 0.022244, 0.021968, 0.027336, 0.032852, 0.037884, 0.042949, 0.044947, 0.048544, 0.049110, 0.045085, 0.042044, 0.039134, 0.036728, 0.035119, 0.034480, 0.035005, 0.040348
0.012798, 0.026215, 0.038175, 0.049823, 0.056616, 0.061959, 0.063431, 0.063875, 0.064311, 0.064278, 0.065429, 0.067402, 0.068134, 0.070311, 0.071612, 0.068720, 0.065355, 0.058476, 0.049821, 0.043365, 0.033745, 0.028649, 0.024126, 0.021884, 0.024781, 0.027504, 0.032892, 0.037274, 0.041428, 0.045995, 0.047404, 0.045205, 0.044657, 0.039586, 0.038947, 0.035435, 0.034980, 0.037579, 0.032889, 0.037251
0.002599, 0.016742, 0.028454, 0.039856, 0.050630, 0.057205, 0.057988, 0.060542, 0.060803, 0.062833, 0.063316, 0.063458, 0.067483, 0.068629, 0.069600, 0.068774, 0.065105, 0.060486, 0.053074, 0.043536, 0.036203, 0.030149, 0.025306, 0.023637, 0.024745, 0.030017, 0.034726, 0.038220, 0.042707, 0.043750, 0.047446, 0.047304, 0.044249, 0.040629, 0.037643, 0.037322, 0.036376, 0.036060, 0.034983, 0.039259
-0.009299, 0.003358, 0.016587, 0.028772, 0.037637, 0.045522, 0.048419, 0.050740, 0.052845, 0.054601, 0.054222, 0.056341, 0.057287, 0.060815, 0.062225, 0.059457, 0.058540, 0.052712, 0.045650, 0.039369, 0.029281, 0.023853, 0.020326, 0.017158, 0.020475, 0.024038, 0.029159, 0.033918, 0.035785, 0.040239, 0.040813, 0.040406, 0.039684, 0.033949, 0.033181, 0.032565, 0.029348, 0.033315, 0.026965, 0.030583
-0.026918, -0.010726, 0.002999, 0.014433, 0.026463, 0.034997, 0.038263, 0.042755, 0.042939, 0.045824, 0.048341, 0.048364, 0.051534, 0.052744, 0.054094, 0.054604, 0.051491, 0.048552, 0.042327, 0.033918, 0.027486, 0.020894, 0.015739, 0.013238, 0.014280, 0.018615, 0.022786, 0.027006, 0.032407, 0.034888, 0.037864, 0.036858, 0.033948, 0.030834, 0.029128, 0.027105, 0.027313, 0.024774, 0.024613, 0.027069
-0.040027, -0.025131, -0.010601, 0.002523, 0.013123, 0.021425, 0.026915, 0.029297, 0.032819, 0.034947, 0.036059, 0.038480, 0.039604, 0.041848, 0.043952, 0.042987, 0.042589, 0.037420, 0.031622, 0.024770, 0.017692, 0.011391, 0.007445, 0.004353, 0.006436, 0.009431, 0.015809, 0.020322, 0.022741, 0.028265, 0.028380, 0.028365, 0.028435, 0.021376, 0.020191, 0.019534, 0.016283, 0.019006, 0.011746, 0.014708
-0.056684, -0.040558, -0.026026, -0.013077, 0.001136, 0.010197, 0.014126, 0.019524, 0.020289, 0.024250, 0.027205, 0.027040, 0.032136, 0.032733, 0.036150, 0.035729, 0.033818, 0.032633, 0.025943, 0.018154, 0.011096, 0.004347, 0.000182, -0.001587, -0.000674, 0.003150, 0.008718, 0.014003, 0.019522, 0.021413, 0.024493, 0.023669, 0.021443, 0.017697, 0.014271, 0.011648, 0.010124, 0.007028, 0.008391, 0.011548
-0.070688, -0.054708, -0.038988, -0.022400, -0.012838, -0.002722, 0.002683, 0.005530, 0.009069, 0.011945, 0.013369, 0.016565, 0.019252, 0.022612, 0.026435, 0.026276, 0.025811, 0.021076, 0.014586, 0.009648, 0.000497, -0.005110, -0.010032, -0.013120, -0.009419, -0.005850, 0.001196, 0.007562, 0.011003, 0.016293, 0.018088, 0.015279, 0.015117, 0.005636, 0.004038, 0.002755, -0.002018, 0.003098, -0.003080, -0.000159
-0.089093, -0.069024, -0.051576, -0.039140, -0.023761, -0.014054, -0.008637, -0.004206, -0.002925, 0.000628, 0.004294, 0.005180, 0.012082, 0.014985, 0.018446, 0.019703, 0.018943, 0.015701, 0.008415, 0.001132, -0.005341, -0.012240, -0.017255, -0.018934, -0.018344, -0.013165, -0.006037, 0.001223, 0.007618, 0.009453, 0.012580, 0.011127, 0.007477, 0.001830, -0.001810, -0.004428, -0.005625, -0.007326, -0.005016, -0.000600
-0.099704, -0.080527, -0.064504, -0.047065, -0.036227, -0.025986, -0.020027, -0.016586, -0.013094, -0.010398, -0.007205, -0.002616, 0.000734, 0.006380, 0.011519, 0.011174, 0.009740, 0.006345, 0.000545, -0.006125, -0.015283, -0.021250, -0.024104, -0.027854, -0.024622, -0.019636, -0.011858, -0.003915, 0.000667, 0.007300, 0.007642, 0.003905, 0.002899, -0.006441, -0.009109, -0.009676, -0.012463, -0.007014, -0.012570, -0.007146
-0.114714, -0.093148, -0.075353, -0.061754, -0.045386, -0.035447, -0.029339, -0.024022, -0.022394, -0.017008, -0.013168, -0.011385, -0.002852, 0.000333, 0.005220, 0.006668, 0.006239, 0.003185, -0.002733, -0.010821, -0.017979, -0.026075, -0.029651, -0.031781, -0.028478, -0.022137, -0.015652, -0.008127, -0.002024, 0.000627, 0.005143, 0.004125, -0.000697, -0.005698, -0.011038, -0.012025, -0.011996, -0.012589, -0.010022, -0.005017
-0.122903, -0.103635, -0.085984, -0.068299, -0.055409, -0.045262, -0.039103, -0.034155, -0.030447, -0.026675, -0.022523, -0.017787, -0.012967, -0.006671, -0.001667, -0.001944, -0.001690, -0.006190, -0.012321, -0.018992, -0.026396, -0.032518, -0.035515, -0.038670, -0.034660, -0.028220, -0.021430, -0.013595, -0.009650, -0.004742, -0.002199, -0.005392, -0.005290, -0.012575, -0.015890, -0.016404, -0.019504, -0.013782, -0.018582, -0.014276
-0.134579, -0.113485, -0.095284, -0.079518, -0.062659, -0.052056, -0.046305, -0.039009, -0.037823, -0.031848, -0.027185, -0.024069, -0.016064, -0.013428, -0.007718, -0.004529, -0.006462, -0.009628, -0.015448, -0.022543, -0.030829, -0.037569, -0.039995, -0.040648, -0.038926, -0.033288, -0.025343, -0.019131, -0.012345, -0.009802, -0.006212, -0.006248, -0.010552, -0.013167, -0.017225, -0.018029, -0.017813, -0.019312, -0.017588, -0.012622
-0.141623, -0.121670, -0.102186, -0.085896, -0.071216, -0.060247, -0.053842, -0.047188, -0.042746, -0.037427, -0.034976, -0.028961, -0.023709, -0.016692, -0.012858, -0.012134, -0.011163, -0.015775, -0.023443, -0.028172, -0.036157, -0.042440, -0.044826, -0.047997, -0.043392, -0.036551, -0.030720, -0.023607, -0.017635, -0.012732, -0.009913, -0.014198, -0.013203, -0.020762, -0.021628, -0.022211, -0.024141, -0.018562, -0.021550, -0.018843
-0.153558, -0.131254, -0.112812, -0.097483, -0.078966, -0.067860, -0.060926, -0.053977, -0.052300, -0.044006, -0.039839, -0.035812, -0.028838, -0.024006, -0.019004, -0.016593, -0.019021, -0.020131, -0.025883, -0.034599, -0.040980, -0.047799, -0.051352, -0.052014, -0.049759, -0.042428, -0.034779, -0.027594, -0.022224, -0.019623, -0.014617, -0.015462, -0.018895, -0.023314, -0.026383, -0.027395, -0.026422, -0.027225, -0.024109, -0.018187
-0.161908, -0.140002, -0.120655, -0.102888, -0.087870, -0.077667, -0.069724, -0.063534, -0.057774, -0.052057, -0.047301, -0.041207, -0.036047, -0.031176, -0.024730, -0.024522, -0.023785, -0.027288, -0.033143, -0.038931, -0.048404, -0.054383, -0.057185, -0.059173, -0.055642, -0.049257, -0.042398, -0.033901, -0.029000, -0.023467, -0.020749, -0.023617, -0.023141, -0.030864, -0.033138, -0.032954, -0.034538, -0.029482, -0.033082, -0.028314
-0.174826, -0.151443, -0.130396, -0.116540, -0.098721, -0.086440, -0.078811, -0.071608, -0.069023, -0.060435, -0.055560, -0.050716, -0.042712, -0.037661, -0.034517, -0.031178, -0.032055, -0.033793, -0.038671, -0.045928, -0.052841, -0.060492, -0.063749, -0.063988, -0.062643, -0.056771, -0.049569, -0.041294, -0.034726, -0.031908, -0.028202, -0.029544, -0.031862, -0.035321, -0.038379, -0.038996, -0.038819, -0.039354, -0.037656, -0.031082
-0.183238, -0.161592, -0.141835, -0.122259, -0.107820, -0.096198, -0.087266, -0.081174, -0.074490, -0.069838, -0.064393, -0.057107, -0.050762, -0.045327, -0.038202, -0.038855, -0.038407, -0.041566, -0.047140, -0.051945, -0.061233, -0.066409, -0.069864, -0.071910, -0.067210, -0.062565, -0.055432, -0.048278, -0.044331, -0.038455, -0.036269, -0.038273, -0.038014, -0.045766, -0.046782, -0.045843, -0.049612, -0.044485, -0.046549, -0.043773
-0.193766, -0.171381, -0.150622, -0.136571, -0.116007, -0.105103, -0.095303, -0.087977, -0.084827, -0.076628, -0.071043, -0.067079, -0.058807, -0.053256, -0.047233, -0.043607, -0.045450, -0.047128, -0.052927, -0.059961, -0.065522, -0.072239, -0.075898, -0.075835, -0.075111, -0.067972, -0.061979, -0.053963, -0.049569, -0.047796, -0.043883, -0.043617, -0.047656, -0.050661, -0.053231, -0.054403, -0.054461, -0.055549, -0.052266, -0.047746
-0.201314, -0.179345, -0.161359, -0.141661, -0.125534, -0.113803, -0.104605, -0.097577, -0.091460, -0.084584, -0.081618, -0.073351, -0.066639, -0.060233, -0.053844, -0.052016, -0.050399, -0.053801, -0.060298, -0.064515, -0.073415, -0.079082, -0.082485, -0.085173, -0.080732, -0.075519, -0.069232, -0.061446, -0.057882, -0.054204, -0.050503, -0.055575, -0.054341, -0.063491, -0.062954, -0.061692, -0.063367, -0.060560, -0.063682, -0.062945
-0.210699, -0.186568, -0.169980, -0.155576, -0.134580, -0.123486, -0.114304, -0.104424, -0.101420, -0.092798, -0.086708, -0.083121, -0.072735, -0.068592, -0.062863, -0.059082, -0.060053, -0.060206, -0.063958, -0.071063, -0.077559, -0.085187, -0.086687, -0.088869, -0.087870, -0.081655, -0.074488, -0.068268, -0.062429, -0.060979, -0.056752, -0.057920, -0.060916, -0.066499, -0.069739, -0.070931, -0.070913, -0.070755, -0.068799, -0.063772
-0.219515, -0.197554, -0.177657, -0.160158, -0.145459, -0.131642, -0.122712, -0.114730, -0.108205, -0.102209, -0.096258, -0.088791, -0.081533, -0.074260, -0.066793, -0.066614, -0.064792, -0.068370, -0.072488, -0.076295, -0.085080, -0.090724, -0.095074, -0.097575, -0.093448, -0.090253, -0.083279, -0.075362, -0.072746, -0.067366, -0.066279, -0.070410, -0.069398, -0.077609, -0.078058, -0.078135, -0.084604, -0.079149, -0.080611, -0.079800
-0.230805, -0.207528, -0.186481, -0.172408, -0.153776, -0.143194, -0.132521, -0.122732, -0.119724, -0.111161, -0.104757, -0.098336, -0.089800, -0.085237, -0.079503, -0.074701, -0.074730, -0.077056, -0.080999, -0.087250, -0.090878, -0.098745, -0.100539, -0.104508, -0.101283, -0.096607, -0.088982, -0.085559, -0.079754, -0.079122, -0.075177, -0.075963, -0.081290, -0.085296, -0.088572, -0.088783, -0.090303, -0.090612, -0.089416, -0.085933
-0.237804, -0.216625, -0.196099, -0.177369, -0.162298, -0.151235, -0.142740, -0.134419, -0.126793, -0.120617, -0.114293, -0.107315, -0.098104, -0.090157, -0.083399, -0.082639, -0.080974, -0.083252, -0.088626, -0.094519, -0.101179, -0.107558, -0.109548, -0.114106, -0.110311, -0.106939, -0.099894, -0.093051, -0.091536, -0.087351, -0.087053, -0.090645, -0.091250, -0.099822, -0.100443, -0.101896, -0.103601, -0.100931, -0.103353, -0.101983
-0.247583, -0.224449, -0.204610, -0.192000, -0.171035, -0.160649, -0.151982, -0.142274, -0.139230, -0.129743, -0.123914, -0.119027, -0.108169, -0.102443, -0.095205, -0.091306, -0.092205, -0.092345, -0.096259, -0.103217, -0.108755, -0.115722, -0.119030, -0.120152, -0.118763, -0.111891, -0.108093, -0.102743, -0.098191, -0.095813, -0.095324, -0.097542, -0.103908, -0.108247, -0.112667, -0.113407, -0.114053, -0.115255, -0.113592, -0.108895
-0.258858, -0.235997, -0.216740, -0.198116, -0.183378, -0.171186, -0.161217, -0.155748, -0.147888, -0.142165, -0.135823, -0.126753, -0.118377, -0.109580, -0.102398, -0.099259, -0.097063, -0.101252, -0.106440, -0.110945, -0.118590, -0.125773, -0.130331, -0.133380, -0.130510, -0.125840, -0.121346, -0.113584, -0.112154, -0.108462, -0.107451, -0.111338, -0.113454, -0.123539, -0.127029, -0.125848, -0.131621, -0.126772, -0.129161, -0.126885
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh ratos]
version = 1
points =
0.252421, 0.239918, 0.235079, 0.233044, 0.229596, 0.212449, 0.189631, 0.177265, 0.169883, 0.164401, 0.162956, 0.163382, 0.166705, 0.179165, 0.193577
0.271966, 0.259877, 0.254582, 0.251196, 0.246518, 0.227398, 0.201969, 0.187328, 0.176683, 0.168773, 0.169957, 0.176639, 0.182214, 0.189877, 0.198461
0.276289, 0.267046, 0.261350, 0.255007, 0.248230, 0.229009, 0.203988, 0.191305, 0.185623, 0.181806, 0.180978, 0.181667, 0.184263, 0.193155, 0.203690
0.278889, 0.273241, 0.267160, 0.257355, 0.248146, 0.229016, 0.204779, 0.194759, 0.195556, 0.197049, 0.193377, 0.185856, 0.184502, 0.195611, 0.209394
0.278746, 0.275629, 0.269870, 0.258938, 0.248858, 0.229500, 0.205165, 0.195780, 0.198458, 0.201461, 0.196561, 0.185904, 0.183158, 0.195579, 0.211088
0.276375, 0.276236, 0.271549, 0.260815, 0.250692, 0.230737, 0.205548, 0.195534, 0.197468, 0.199796, 0.194343, 0.182983, 0.180177, 0.193876, 0.210799
0.273524, 0.273458, 0.269603, 0.260653, 0.251723, 0.231624, 0.206002, 0.195409, 0.196267, 0.197753, 0.192971, 0.183368, 0.181615, 0.195760, 0.212938
0.267660, 0.262256, 0.259405, 0.256574, 0.252066, 0.232597, 0.207063, 0.195713, 0.194465, 0.194512, 0.193170, 0.191017, 0.193092, 0.206555, 0.222135
0.261978, 0.251389, 0.249510, 0.252617, 0.252419, 0.233692, 0.208414, 0.196366, 0.192974, 0.191518, 0.193443, 0.198433, 0.204171, 0.216936, 0.230946
0.259175, 0.248781, 0.247703, 0.252469, 0.253528, 0.235805, 0.211588, 0.199323, 0.194060, 0.190904, 0.192775, 0.198523, 0.204714, 0.217544, 0.231592
0.256917, 0.248898, 0.248775, 0.253971, 0.255438, 0.239147, 0.216672, 0.204382, 0.196942, 0.191618, 0.192082, 0.196190, 0.201684, 0.215074, 0.230002
0.258878, 0.252498, 0.252461, 0.256670, 0.257493, 0.241767, 0.220173, 0.208520, 0.201784, 0.196903, 0.196216, 0.197892, 0.202508, 0.217707, 0.234843
0.266676, 0.262097, 0.261261, 0.262395, 0.261081, 0.245358, 0.224295, 0.214415, 0.211973, 0.210659, 0.208388, 0.205266, 0.208274, 0.227810, 0.250023
0.272369, 0.268928, 0.267532, 0.266607, 0.263893, 0.248373, 0.227935, 0.219380, 0.219876, 0.220951, 0.217279, 0.210276, 0.211840, 0.234232, 0.259847
0.272470, 0.268521, 0.267342, 0.267309, 0.265457, 0.251692, 0.233409, 0.225272, 0.224341, 0.223802, 0.218119, 0.207943, 0.207465, 0.228239, 0.252402
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 164.129
max_x = 335.871
min_y = 164.129
max_y = 335.871
[bed_mesh default_01]
version = 1
points =
-0.212352, -0.205004, -0.205688, -0.213947, -0.211584, -0.200827, -0.196079, -0.201497, -0.201616, -0.208425, -0.209947, -0.207257, -0.208137, -0.210397, -0.217396, -0.222770, -0.220129, -0.218163, -0.221850, -0.237017, -0.247459, -0.242211, -0.231428, -0.233658, -0.238247, -0.236157, -0.227367, -0.215174, -0.214324, -0.216396, -0.215984, -0.211921, -0.203751, -0.202477, -0.212640, -0.222181, -0.219244, -0.211084, -0.209151, -0.209082
-0.174162, -0.176047, -0.170487, -0.170548, -0.170736, -0.164118, -0.157555, -0.153439, -0.160425, -0.170282, -0.172797, -0.167139, -0.166458, -0.175026, -0.179929, -0.178620, -0.177640, -0.179906, -0.184836, -0.197635, -0.207979, -0.205003, -0.197052, -0.197250, -0.203982, -0.199476, -0.190324, -0.186099, -0.187066, -0.186672, -0.187746, -0.181171, -0.185153, -0.187589, -0.187063, -0.200665, -0.201051, -0.202709, -0.193542, -0.191586
-0.137100, -0.139551, -0.156952, -0.140436, -0.132315, -0.117612, -0.126367, -0.127171, -0.117222, -0.126918, -0.136512, -0.136358, -0.132073, -0.130702, -0.140103, -0.142380, -0.138235, -0.138905, -0.144252, -0.155403, -0.167395, -0.168131, -0.163644, -0.167313, -0.170169, -0.167668, -0.163673, -0.153559, -0.151257, -0.156368, -0.162458, -0.158603, -0.153421, -0.159541, -0.173014, -0.183822, -0.179305, -0.173713, -0.177083, -0.178655
-0.119638, -0.118582, -0.112676, -0.107016, -0.101057, -0.097609, -0.090568, -0.088846, -0.094353, -0.105808, -0.108640, -0.099508, -0.097061, -0.104063, -0.108925, -0.106601, -0.108711, -0.108244, -0.112043, -0.120678, -0.130435, -0.136258, -0.136819, -0.140693, -0.145176, -0.140418, -0.133156, -0.127840, -0.122126, -0.121636, -0.126438, -0.130351, -0.139794, -0.144111, -0.146054, -0.158204, -0.161518, -0.167826, -0.159598, -0.158650
-0.096835, -0.087718, -0.104672, -0.082461, -0.076224, -0.060838, -0.069516, -0.072615, -0.062211, -0.077871, -0.084714, -0.077026, -0.072760, -0.070095, -0.080251, -0.081571, -0.077742, -0.079221, -0.083101, -0.090649, -0.099299, -0.104793, -0.110080, -0.115975, -0.119470, -0.118751, -0.111056, -0.099818, -0.088329, -0.086065, -0.095142, -0.105657, -0.108794, -0.116773, -0.128079, -0.136836, -0.137575, -0.140247, -0.145489, -0.148040
-0.083209, -0.079868, -0.067185, -0.063731, -0.058642, -0.053051, -0.047765, -0.045331, -0.050266, -0.066491, -0.066941, -0.056015, -0.048217, -0.054259, -0.060356, -0.057978, -0.058606, -0.058994, -0.066141, -0.074500, -0.082524, -0.087903, -0.089955, -0.094768, -0.104398, -0.099852, -0.090725, -0.079565, -0.067033, -0.062767, -0.070707, -0.083459, -0.101043, -0.101848, -0.100333, -0.109638, -0.123028, -0.141217, -0.130959, -0.131217
-0.069730, -0.056597, -0.069495, -0.045018, -0.042152, -0.026485, -0.032235, -0.034557, -0.024843, -0.038262, -0.047943, -0.040534, -0.031409, -0.031423, -0.038290, -0.042184, -0.036914, -0.036003, -0.044482, -0.056018, -0.065785, -0.068729, -0.067646, -0.075299, -0.082594, -0.082415, -0.073119, -0.059632, -0.051532, -0.053502, -0.062114, -0.070318, -0.073796, -0.079949, -0.088985, -0.099045, -0.106334, -0.115317, -0.118710, -0.121606
-0.063230, -0.056601, -0.041980, -0.034523, -0.029628, -0.022591, -0.015527, -0.011458, -0.016579, -0.029089, -0.032697, -0.020075, -0.012276, -0.017379, -0.024206, -0.024615, -0.021741, -0.020420, -0.029944, -0.044031, -0.057771, -0.058946, -0.055658, -0.060140, -0.067052, -0.068268, -0.059032, -0.046807, -0.044834, -0.051708, -0.055075, -0.061517, -0.071357, -0.076336, -0.080810, -0.088325, -0.104141, -0.122163, -0.110924, -0.110569
-0.060174, -0.039395, -0.050614, -0.025623, -0.014566, -0.007533, -0.001840, -0.007895, 0.000069, -0.005943, -0.019542, -0.011396, 0.001031, -0.002683, -0.007624, -0.009318, -0.006436, -0.001552, -0.011221, -0.028696, -0.041084, -0.042016, -0.040203, -0.044466, -0.051808, -0.052518, -0.043417, -0.032423, -0.032810, -0.041661, -0.050081, -0.052858, -0.052876, -0.063332, -0.079570, -0.089959, -0.096716, -0.101982, -0.105016, -0.107001
-0.053710, -0.043327, -0.028031, -0.017850, -0.009484, -0.001637, 0.005673, 0.010586, 0.005636, -0.003814, -0.005362, 0.006161, 0.013608, 0.008057, 0.002322, 0.003612, 0.004110, 0.008068, 0.002083, -0.015465, -0.030949, -0.030547, -0.029409, -0.033287, -0.038682, -0.039024, -0.031263, -0.021618, -0.026750, -0.032994, -0.035691, -0.044157, -0.052114, -0.060215, -0.075515, -0.083466, -0.095327, -0.106548, -0.095535, -0.098521
-0.047254, -0.030528, -0.031638, -0.012849, 0.004841, 0.006983, 0.013694, 0.012846, 0.016138, 0.014432, 0.006226, 0.010452, 0.024727, 0.021013, 0.019524, 0.018961, 0.019665, 0.023419, 0.017911, -0.000232, -0.014022, -0.014730, -0.014596, -0.019038, -0.025992, -0.025129, -0.014481, -0.007814, -0.009829, -0.019165, -0.028011, -0.031947, -0.032988, -0.045983, -0.065714, -0.081242, -0.085685, -0.086933, -0.087880, -0.095017
-0.048876, -0.037640, -0.020639, -0.011257, -0.002252, 0.003293, 0.011320, 0.018432, 0.016599, 0.008416, 0.008857, 0.020046, 0.028597, 0.025368, 0.020894, 0.020093, 0.024371, 0.025767, 0.019986, 0.005394, -0.011722, -0.013006, -0.011459, -0.016446, -0.020481, -0.020572, -0.009700, -0.002004, -0.006115, -0.014821, -0.020690, -0.029257, -0.037335, -0.048699, -0.063009, -0.072149, -0.084081, -0.094853, -0.088026, -0.093326
-0.045599, -0.032489, -0.031909, -0.015132, 0.004367, 0.005761, 0.009753, 0.013737, 0.019610, 0.017209, 0.010670, 0.018033, 0.034446, 0.032759, 0.027419, 0.026150, 0.030680, 0.031041, 0.025393, 0.009631, -0.004301, -0.004888, -0.004235, -0.009507, -0.016274, -0.014927, -0.004799, 0.003089, 0.000024, -0.010745, -0.022641, -0.023781, -0.026245, -0.039501, -0.059650, -0.077316, -0.081899, -0.082664, -0.085848, -0.095630
-0.051719, -0.042516, -0.024727, -0.014881, -0.007962, -0.002778, 0.007253, 0.018564, 0.020549, 0.010749, 0.010767, 0.025842, 0.036605, 0.033660, 0.027884, 0.026999, 0.031138, 0.033807, 0.026322, 0.010483, -0.004168, -0.004458, -0.003391, -0.006828, -0.010159, -0.008629, -0.003788, 0.001726, -0.001831, -0.008376, -0.017421, -0.022119, -0.030860, -0.043583, -0.059511, -0.070434, -0.082378, -0.090458, -0.089146, -0.096370
-0.057793, -0.042621, -0.038750, -0.024348, -0.005081, -0.005268, 0.003206, 0.010779, 0.022189, 0.019209, 0.011044, 0.020911, 0.036400, 0.034032, 0.028483, 0.028491, 0.032888, 0.035226, 0.029869, 0.013138, -0.000218, -0.000329, 0.001627, -0.003569, -0.009235, -0.007042, -0.000417, 0.003729, 0.000901, -0.010109, -0.017801, -0.018479, -0.021562, -0.036566, -0.057392, -0.075915, -0.079832, -0.081904, -0.088661, -0.100886
-0.067526, -0.055309, -0.036025, -0.024537, -0.017287, -0.011391, 0.002241, 0.016031, 0.017569, 0.008104, 0.006919, 0.022812, 0.035649, 0.030569, 0.025295, 0.026158, 0.028120, 0.032186, 0.028803, 0.014355, -0.001453, -0.003540, 0.000052, -0.001443, -0.003511, -0.005267, -0.001147, 0.000925, -0.004403, -0.009193, -0.012170, -0.019738, -0.029104, -0.044019, -0.060224, -0.070235, -0.081397, -0.094197, -0.096617, -0.101341
-0.075428, -0.058510, -0.049621, -0.037169, -0.011246, -0.010479, -0.006396, 0.006504, 0.015749, 0.012822, 0.006671, 0.016924, 0.032039, 0.031328, 0.026985, 0.027980, 0.030920, 0.032808, 0.031615, 0.018644, 0.001923, 0.000053, 0.003103, -0.001638, -0.003420, -0.005222, -0.000500, 0.001731, -0.003233, -0.012132, -0.017811, -0.019364, -0.021427, -0.036729, -0.058064, -0.075307, -0.078393, -0.086764, -0.096422, -0.104641
-0.092209, -0.073958, -0.053538, -0.041213, -0.031588, -0.024989, -0.011064, 0.002184, 0.004486, -0.004082, -0.003293, 0.012688, 0.024729, 0.023376, 0.016493, 0.016586, 0.021829, 0.027456, 0.025131, 0.008832, -0.008327, -0.010361, -0.007077, -0.007777, -0.007766, -0.011707, -0.013024, -0.007518, -0.012126, -0.020229, -0.024097, -0.030067, -0.037289, -0.049421, -0.062891, -0.078169, -0.090757, -0.105824, -0.111811, -0.117777
-0.106289, -0.086122, -0.074620, -0.056172, -0.033359, -0.034200, -0.027585, -0.014357, -0.003523, -0.003173, -0.008568, 0.004560, 0.019812, 0.016370, 0.013293, 0.013211, 0.017172, 0.021237, 0.018588, 0.001698, -0.012144, -0.012347, -0.010917, -0.015273, -0.018952, -0.021509, -0.017029, -0.011164, -0.014443, -0.027155, -0.036630, -0.037423, -0.036926, -0.049532, -0.067352, -0.090672, -0.098946, -0.105902, -0.117845, -0.128940
-0.119843, -0.099551, -0.077375, -0.061466, -0.050643, -0.047894, -0.033252, -0.019023, -0.014146, -0.020387, -0.016146, -0.000891, 0.012049, 0.008154, 0.002012, 0.003114, 0.007794, 0.012077, 0.007700, -0.011028, -0.026025, -0.024384, -0.020351, -0.023849, -0.027654, -0.030259, -0.025713, -0.018766, -0.022065, -0.032647, -0.040511, -0.047076, -0.052786, -0.064445, -0.079572, -0.097204, -0.110174, -0.127382, -0.136959, -0.142453
-0.135881, -0.113617, -0.095958, -0.075519, -0.053636, -0.051158, -0.045442, -0.035110, -0.023830, -0.022073, -0.025648, -0.012523, 0.002373, 0.000009, -0.002147, -0.001985, 0.000331, 0.003723, -0.002529, -0.020264, -0.031099, -0.030751, -0.027355, -0.031960, -0.040301, -0.040107, -0.030883, -0.023717, -0.024764, -0.038626, -0.049844, -0.052232, -0.052227, -0.068758, -0.088853, -0.110131, -0.118940, -0.125623, -0.139267, -0.150404
-0.147234, -0.122517, -0.096928, -0.081168, -0.067667, -0.057299, -0.044252, -0.032443, -0.030321, -0.037537, -0.034091, -0.017946, -0.003430, -0.003912, -0.009807, -0.011897, -0.008144, -0.003054, -0.009226, -0.026037, -0.039774, -0.038967, -0.034867, -0.037244, -0.043301, -0.045683, -0.040373, -0.031648, -0.032516, -0.041435, -0.049670, -0.058216, -0.068111, -0.083771, -0.099720, -0.113914, -0.127152, -0.147164, -0.154335, -0.160429
-0.158273, -0.133270, -0.115417, -0.091514, -0.067230, -0.058936, -0.052044, -0.044265, -0.035939, -0.036139, -0.040261, -0.027272, -0.013186, -0.013542, -0.013861, -0.013039, -0.008873, -0.007381, -0.013661, -0.028296, -0.039834, -0.040777, -0.038878, -0.043689, -0.052118, -0.049598, -0.040967, -0.033006, -0.034674, -0.046396, -0.055599, -0.059550, -0.064319, -0.081374, -0.102252, -0.123352, -0.133457, -0.141361, -0.153732, -0.162842
-0.163985, -0.137959, -0.112560, -0.096319, -0.080136, -0.066032, -0.055239, -0.045154, -0.040025, -0.045969, -0.043949, -0.027366, -0.013946, -0.015938, -0.020205, -0.020363, -0.015098, -0.009180, -0.014372, -0.029472, -0.043361, -0.047060, -0.044514, -0.046874, -0.049002, -0.048900, -0.044376, -0.038649, -0.038640, -0.044392, -0.051377, -0.063703, -0.075619, -0.090800, -0.106410, -0.117386, -0.134056, -0.156076, -0.161317, -0.164352
-0.169328, -0.145232, -0.130536, -0.106804, -0.079563, -0.069719, -0.064499, -0.057419, -0.044854, -0.043388, -0.046350, -0.033538, -0.019578, -0.019911, -0.022262, -0.020217, -0.013577, -0.011777, -0.018283, -0.032001, -0.041685, -0.042622, -0.043564, -0.047741, -0.053702, -0.051118, -0.042753, -0.035469, -0.036813, -0.048548, -0.057071, -0.062776, -0.066666, -0.081272, -0.102125, -0.120857, -0.133965, -0.144835, -0.155386, -0.162296
-0.174195, -0.147149, -0.124193, -0.107844, -0.092439, -0.079965, -0.067838, -0.054727, -0.047991, -0.051406, -0.048628, -0.034037, -0.018244, -0.018863, -0.023209, -0.024508, -0.018643, -0.012967, -0.019073, -0.034525, -0.047431, -0.049212, -0.046173, -0.045697, -0.047429, -0.048119, -0.044775, -0.039874, -0.039932, -0.045759, -0.051624, -0.065144, -0.076265, -0.090425, -0.103435, -0.113760, -0.131897, -0.154919, -0.160239, -0.165805
-0.182561, -0.157658, -0.140669, -0.116638, -0.091799, -0.084003, -0.077296, -0.067061, -0.054018, -0.051473, -0.055342, -0.041953, -0.026010, -0.024838, -0.024730, -0.024400, -0.020117, -0.017292, -0.025480, -0.038031, -0.045972, -0.049371, -0.048599, -0.050784, -0.053543, -0.049795, -0.041647, -0.037489, -0.040859, -0.050387, -0.059536, -0.064606, -0.070159, -0.084596, -0.102330, -0.120388, -0.134318, -0.147666, -0.158329, -0.169645
-0.185359, -0.157558, -0.131731, -0.117546, -0.100084, -0.089652, -0.077197, -0.060971, -0.055224, -0.060475, -0.059241, -0.041946, -0.025511, -0.023695, -0.026481, -0.028896, -0.022794, -0.017925, -0.027362, -0.038360, -0.051689, -0.054773, -0.050138, -0.050791, -0.051434, -0.051241, -0.049361, -0.044589, -0.044599, -0.049575, -0.058380, -0.071201, -0.081492, -0.095400, -0.106904, -0.120585, -0.141445, -0.162992, -0.166815, -0.176471
-0.196082, -0.166958, -0.148924, -0.124362, -0.099268, -0.089224, -0.083847, -0.072393, -0.059968, -0.060778, -0.063197, -0.051714, -0.035522, -0.031973, -0.029103, -0.027414, -0.026238, -0.025612, -0.033610, -0.043246, -0.051063, -0.053604, -0.050845, -0.057947, -0.064302, -0.060114, -0.051503, -0.046237, -0.047593, -0.058820, -0.068816, -0.072418, -0.075854, -0.092028, -0.110957, -0.130835, -0.142765, -0.155778, -0.168639, -0.177908
-0.200300, -0.171321, -0.144331, -0.127095, -0.109905, -0.096309, -0.083512, -0.071281, -0.065010, -0.070142, -0.069848, -0.053726, -0.036597, -0.033447, -0.035503, -0.035330, -0.034016, -0.029435, -0.034186, -0.045152, -0.058465, -0.061283, -0.059673, -0.061314, -0.065187, -0.066523, -0.062808, -0.057136, -0.057148, -0.061304, -0.068774, -0.081868, -0.092308, -0.105321, -0.119247, -0.130699, -0.148070, -0.174184, -0.181326, -0.188999
-0.210978, -0.184754, -0.163399, -0.136324, -0.110831, -0.098993, -0.092695, -0.082435, -0.072148, -0.071655, -0.075002, -0.062925, -0.046288, -0.044239, -0.043506, -0.039959, -0.039265, -0.038697, -0.042598, -0.053324, -0.062799, -0.062659, -0.060035, -0.067710, -0.075688, -0.075506, -0.069265, -0.060182, -0.061386, -0.069283, -0.078029, -0.085454, -0.089592, -0.101379, -0.120476, -0.138711, -0.151708, -0.165282, -0.178453, -0.189651
-0.213823, -0.186222, -0.158513, -0.140422, -0.121378, -0.106957, -0.093131, -0.083539, -0.078151, -0.080226, -0.076733, -0.061965, -0.045421, -0.045943, -0.050881, -0.051294, -0.046266, -0.040289, -0.043641, -0.058750, -0.072077, -0.071710, -0.069723, -0.071302, -0.076957, -0.083019, -0.080095, -0.069503, -0.067251, -0.073316, -0.080551, -0.094333, -0.104093, -0.113464, -0.122254, -0.135871, -0.157887, -0.184133, -0.193983, -0.202171
-0.223648, -0.196956, -0.172755, -0.145972, -0.124713, -0.111993, -0.104786, -0.095984, -0.083477, -0.078793, -0.079990, -0.068091, -0.052115, -0.051193, -0.053526, -0.053014, -0.049966, -0.044288, -0.049525, -0.062762, -0.073232, -0.072006, -0.071171, -0.076765, -0.083899, -0.085304, -0.076928, -0.068839, -0.070375, -0.080444, -0.089973, -0.095778, -0.098567, -0.110535, -0.127832, -0.145316, -0.162515, -0.178885, -0.192816, -0.203364
-0.224755, -0.195540, -0.167739, -0.151826, -0.137850, -0.123829, -0.108701, -0.096483, -0.087211, -0.086128, -0.083904, -0.067125, -0.051459, -0.049813, -0.056470, -0.059854, -0.054588, -0.045736, -0.050423, -0.065929, -0.080947, -0.080407, -0.076883, -0.079984, -0.087131, -0.090107, -0.086714, -0.078370, -0.078387, -0.087787, -0.093730, -0.106154, -0.117145, -0.127281, -0.135589, -0.151872, -0.173965, -0.198997, -0.208778, -0.217297
-0.236412, -0.208303, -0.185907, -0.160665, -0.142679, -0.134650, -0.122917, -0.108172, -0.091731, -0.088118, -0.090214, -0.076740, -0.061674, -0.059377, -0.060620, -0.061344, -0.058130, -0.051690, -0.057795, -0.072844, -0.082404, -0.083815, -0.080383, -0.085699, -0.094873, -0.094414, -0.088375, -0.083196, -0.083701, -0.096367, -0.106204, -0.112475, -0.116630, -0.129931, -0.148242, -0.168045, -0.183552, -0.192899, -0.207597, -0.218212
-0.237287, -0.206152, -0.179789, -0.165392, -0.153328, -0.141575, -0.124247, -0.107707, -0.098006, -0.098279, -0.094075, -0.076129, -0.058939, -0.055824, -0.061223, -0.066850, -0.061029, -0.050364, -0.056406, -0.073349, -0.088519, -0.089802, -0.085554, -0.090894, -0.095761, -0.097451, -0.097298, -0.091280, -0.091221, -0.098982, -0.105068, -0.120914, -0.134946, -0.148633, -0.161257, -0.175263, -0.191837, -0.210962, -0.224154, -0.234785
-0.244892, -0.219822, -0.198629, -0.172720, -0.154475, -0.144890, -0.135139, -0.120020, -0.105250, -0.101039, -0.101008, -0.087588, -0.070567, -0.067107, -0.067615, -0.068201, -0.064559, -0.058672, -0.066341, -0.081607, -0.091026, -0.090784, -0.089355, -0.097357, -0.106002, -0.103992, -0.096717, -0.090707, -0.094152, -0.111377, -0.122097, -0.130857, -0.139237, -0.152123, -0.171285, -0.193055, -0.212451, -0.227079, -0.238595, -0.241892
-0.241288, -0.214481, -0.186985, -0.170045, -0.155410, -0.144508, -0.132037, -0.117802, -0.107757, -0.109608, -0.103491, -0.082870, -0.064308, -0.064005, -0.065106, -0.068039, -0.062985, -0.058956, -0.066495, -0.080766, -0.096005, -0.100514, -0.097092, -0.099911, -0.107930, -0.111969, -0.109479, -0.106917, -0.110140, -0.116409, -0.122318, -0.136523, -0.153991, -0.173235, -0.191881, -0.208770, -0.224630, -0.242501, -0.255860, -0.270545
-0.252568, -0.229471, -0.209208, -0.181703, -0.157178, -0.147318, -0.139416, -0.127420, -0.115907, -0.114291, -0.108872, -0.094413, -0.078117, -0.077561, -0.077469, -0.075725, -0.069815, -0.065316, -0.075619, -0.092149, -0.101235, -0.103101, -0.098071, -0.104493, -0.118503, -0.122364, -0.117171, -0.112725, -0.112465, -0.124729, -0.137475, -0.146765, -0.160303, -0.178019, -0.202943, -0.226301, -0.241417, -0.253458, -0.270105, -0.279430
-0.253365, -0.231416, -0.201769, -0.183800, -0.168858, -0.155590, -0.141248, -0.127344, -0.119347, -0.120530, -0.110964, -0.091796, -0.076677, -0.075151, -0.079195, -0.078767, -0.071936, -0.065997, -0.076345, -0.093900, -0.108021, -0.111656, -0.108413, -0.112178, -0.123620, -0.133219, -0.132920, -0.129961, -0.128081, -0.139346, -0.152586, -0.163616, -0.178862, -0.199189, -0.219177, -0.237676, -0.256572, -0.280020, -0.289513, -0.302499
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh Contact]
version = 1
points =
0.083125, 0.029844, -0.025938, -0.024844, -0.070313, -0.093906, -0.093750, -0.177969, -0.125938, -0.174688, -0.115000, -0.088125, -0.057031, -0.029219, 0.016406
0.191562, 0.169219, 0.124687, 0.104531, 0.061250, 0.037344, 0.016250, -0.051250, -0.045313, -0.053906, -0.015000, -0.011250, 0.020156, 0.066875, 0.076250
0.248281, 0.228437, 0.177344, 0.169062, 0.133125, 0.132656, 0.094844, 0.047187, 0.042500, 0.049062, 0.067187, 0.088281, 0.092344, 0.122812, 0.146875
0.290469, 0.291562, 0.258281, 0.235625, 0.212344, 0.180469, 0.161562, 0.108125, 0.091719, 0.075469, 0.149219, 0.109219, 0.142969, 0.142969, 0.164844
0.290312, 0.320469, 0.270156, 0.252969, 0.236562, 0.205156, 0.201719, 0.160469, 0.156406, 0.136875, 0.192500, 0.184219, 0.200312, 0.202812, 0.206562
0.298125, 0.361250, 0.322031, 0.290469, 0.285937, 0.256562, 0.247031, 0.191250, 0.167500, 0.181094, 0.201406, 0.212812, 0.185469, 0.206875, 0.215781
0.283281, 0.311562, 0.287500, 0.294062, 0.284375, 0.273437, 0.248594, 0.195469, 0.201719, 0.182812, 0.216094, 0.234062, 0.230781, 0.238125, 0.244062
0.254844, 0.279375, 0.269531, 0.291406, 0.273594, 0.275469, 0.252187, 0.195625, 0.198594, 0.177656, 0.217187, 0.225469, 0.217187, 0.229531, 0.220000
0.231406, 0.249531, 0.260312, 0.286094, 0.275000, 0.247031, 0.252969, 0.198281, 0.190937, 0.203750, 0.236406, 0.223437, 0.237812, 0.226250, 0.222031
0.208125, 0.259219, 0.252812, 0.262031, 0.264844, 0.247656, 0.256719, 0.209531, 0.191562, 0.198750, 0.235000, 0.229219, 0.216094, 0.240781, 0.243281
0.183125, 0.238594, 0.252500, 0.269687, 0.275937, 0.267969, 0.264219, 0.219375, 0.220937, 0.208906, 0.268281, 0.239375, 0.233594, 0.251719, 0.245469
0.184531, 0.232031, 0.261719, 0.258437, 0.276875, 0.265781, 0.269375, 0.234375, 0.226094, 0.198906, 0.249219, 0.236562, 0.243750, 0.228906, 0.249219
0.164531, 0.239687, 0.261250, 0.266094, 0.281250, 0.270937, 0.308906, 0.236094, 0.236719, 0.215000, 0.294219, 0.258906, 0.241406, 0.256719, 0.261562
0.184062, 0.245625, 0.241562, 0.264062, 0.299062, 0.306406, 0.291562, 0.251250, 0.262969, 0.226875, 0.290625, 0.265781, 0.252500, 0.267187, 0.260625
0.164844, 0.251875, 0.245000, 0.258281, 0.279219, 0.279062, 0.298750, 0.259219, 0.248906, 0.240156, 0.293125, 0.273750, 0.255312, 0.246406, 0.255156
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 469.96000000000004
min_y = 30.0
max_y = 439.91999999999985
=======================
Loaded MCU 'mcu' 130 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'mcu' config: ADC_MAX=4095 BUS_PINS_i2c1=PB6,PB7 BUS_PINS_i2c1a=PB8,PB9 BUS_PINS_i2c2=PB10,PB11 BUS_PINS_i2c3=PA8,PC9 BUS_PINS_sdio=PC12,PD2,PC8,PC9,PC10,PC11 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 BUS_PINS_spi3a=PC11,PC12,PC10 BUS_PINS_spi4=PE13,PE14,PE12 CLOCK_FREQ=180000000 MCU=stm32f446xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PH0,PH1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
Configured MCU 'mcu' (1024 moves)
Loaded MCU 'rpi' 119 commands (?-20240727_132503-fv-az659-741 / gcc: (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110 binutils: (GNU Binutils for Raspbian) 2.35.2)
MCU 'rpi' config: ADC_MAX=4095 CLOCK_FREQ=50000000 MCU=linux PCA9685_MAX=4096 PWM_MAX=32768 STATS_SUMSQ_BASE=256
Configured MCU 'rpi' (1024 moves)
Loaded MCU 'toolboard_t0' 118 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'toolboard_t0' config: ADC_MAX=4095 BUS_PINS_i2c1_PA9_PA10=PA9,PA10 BUS_PINS_i2c1_PB6_PB7=PB6,PB7 BUS_PINS_i2c1_PB8_PB9=PB8,PB9 BUS_PINS_i2c2_PB10_PB11=PB10,PB11 BUS_PINS_i2c2_PB13_PB14=PB13,PB14 BUS_PINS_i2c3_PB3_PB4=PB3,PB4 BUS_PINS_i2c3_PC0_PC1=PC0,PC1 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2_PB2_PB11_PB10=PB2,PB11,PB10 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=64000000 MCU=stm32g0b1xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
Configured MCU 'toolboard_t0' (1024 moves)
Loaded MCU 'toolboard_t1' 118 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'toolboard_t1' config: ADC_MAX=4095 BUS_PINS_i2c1_PA9_PA10=PA9,PA10 BUS_PINS_i2c1_PB6_PB7=PB6,PB7 BUS_PINS_i2c1_PB8_PB9=PB8,PB9 BUS_PINS_i2c2_PB10_PB11=PB10,PB11 BUS_PINS_i2c2_PB13_PB14=PB13,PB14 BUS_PINS_i2c3_PB3_PB4=PB3,PB4 BUS_PINS_i2c3_PC0_PC1=PC0,PC1 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2_PB2_PB11_PB10=PB2,PB11,PB10 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=64000000 MCU=stm32g0b1xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
Configured MCU 'toolboard_t1' (1024 moves)
toolhead: max_velocity: 800.000000
max_accel: 10000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
Args: ['/home/pi/klipper/klippy/klippy.py', '/home/pi/printer_data/config/printer.cfg', '-l', '/home/pi/printer_data/logs/klippy.log', '-I', '/home/pi/printer_data/comms/klippy.serial', '-a', '/home/pi/printer_data/comms/klippy.sock']
Git version: 'v0.12.0-396-gb7233d11-dirty'
Untracked files: klippy/extras/beacon.py, klippy/extras/gcode_shell_command.py, klippy/extras/linear_movement_vibrations.py, klippy/extras/ratos.py, klippy/extras/ratos_homing.py, klippy/extras/resonance_generator.py, klippy/extras/z_offset_probe.py, klippy/kinematics/ratos_hybrid_corexy.py
Branch: master
Remote: origin
Tracked URL: https://github.com/Klipper3d/klipper.git
CPU: 4 core ?
Python: '3.9.2 (default, Mar 20 2025, 22:21:41) \n[GCC 10.2.1 20210110]'
webhooks client 4104245224: {'program': 'Moonraker', 'version': 'v0.9.3-0-g71f9e67'}
=============== Log rollover at Thu Oct 16 09:02:58 2025 ===============
Stats 41.7: gcodein=0 mcu: mcu_awake=0.006 mcu_task_avg=0.000008 mcu_task_stddev=0.000009 bytes_write=4000 bytes_read=8700 bytes_retransmit=9 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999224 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000014 bytes_write=904 bytes_read=4827 bytes_retransmit=0 bytes_invalid=0 send_seq=122 receive_seq=122 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000252 adj=49998597 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1521 bytes_read=5861 bytes_retransmit=9 bytes_invalid=0 send_seq=163 receive_seq=163 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999538 adj=64003041 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1526 bytes_read=5851 bytes_retransmit=9 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999605 adj=64001348 Octopus_V1.1_F446: temp=24.7 EBB42_v1.2_T0: temp=24.1 EBB42_v1.2_T1: temp=24.5 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=398 bytes_read=5008 bytes_retransmit=0 bytes_invalid=0 send_seq=65 receive_seq=65 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000083 adj=31999321 coil_temp=21.5 refs=0 mcu_temp=21.53 supply_voltage=3.068 sysload=1.78 cputime=9.808 memavail=343376 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 42.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4006 bytes_read=8817 bytes_retransmit=9 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999380 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000014 bytes_write=910 bytes_read=4843 bytes_retransmit=0 bytes_invalid=0 send_seq=123 receive_seq=123 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000231 adj=50002115 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1527 bytes_read=5975 bytes_retransmit=9 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63996632 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1532 bytes_read=5965 bytes_retransmit=9 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999595 adj=63998456 Octopus_V1.1_F446: temp=24.7 EBB42_v1.2_T0: temp=24.1 EBB42_v1.2_T1: temp=24.5 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=404 bytes_read=5364 bytes_retransmit=0 bytes_invalid=0 send_seq=66 receive_seq=66 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000381 coil_temp=21.5 refs=0 mcu_temp=21.54 supply_voltage=3.068 sysload=1.78 cputime=9.854 memavail=334392 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 43.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4012 bytes_read=8920 bytes_retransmit=9 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999502 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=916 bytes_read=4872 bytes_retransmit=0 bytes_invalid=0 send_seq=124 receive_seq=124 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000308 adj=50001438 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1533 bytes_read=6089 bytes_retransmit=9 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999436 adj=63997025 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1538 bytes_read=6079 bytes_retransmit=9 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999539 adj=63998540 Octopus_V1.1_F446: temp=24.9 EBB42_v1.2_T0: temp=24.1 EBB42_v1.2_T1: temp=24.6 raspberry_pi: temp=36.5 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=410 bytes_read=5720 bytes_retransmit=0 bytes_invalid=0 send_seq=67 receive_seq=67 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999956 adj=31999979 coil_temp=21.5 refs=0 mcu_temp=21.58 supply_voltage=3.068 sysload=1.78 cputime=9.879 memavail=351628 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 44.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4018 bytes_read=9052 bytes_retransmit=9 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999461 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=922 bytes_read=4888 bytes_retransmit=0 bytes_invalid=0 send_seq=125 receive_seq=125 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000300 adj=50001359 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1539 bytes_read=6189 bytes_retransmit=9 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999388 adj=63997258 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1544 bytes_read=6179 bytes_retransmit=9 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999535 adj=63998444 Octopus_V1.1_F446: temp=24.9 EBB42_v1.2_T0: temp=24.1 EBB42_v1.2_T1: temp=24.6 raspberry_pi: temp=36.5 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=416 bytes_read=6076 bytes_retransmit=0 bytes_invalid=0 send_seq=68 receive_seq=68 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999937 adj=31999825 coil_temp=21.5 refs=0 mcu_temp=21.61 supply_voltage=3.068 sysload=1.78 cputime=9.900 memavail=342816 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 45.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4024 bytes_read=9155 bytes_retransmit=9 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999453 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=928 bytes_read=4904 bytes_retransmit=0 bytes_invalid=0 send_seq=126 receive_seq=126 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000311 adj=50001150 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1545 bytes_read=6317 bytes_retransmit=9 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999393 adj=63997705 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1550 bytes_read=6307 bytes_retransmit=9 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999577 adj=63998811 Octopus_V1.1_F446: temp=24.9 EBB42_v1.2_T0: temp=24.2 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=422 bytes_read=6432 bytes_retransmit=0 bytes_invalid=0 send_seq=69 receive_seq=69 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999932 adj=31999833 coil_temp=21.6 refs=0 mcu_temp=21.63 supply_voltage=3.068 sysload=1.64 cputime=9.919 memavail=342840 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.7 pwm=0.000
Stats 46.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4030 bytes_read=9258 bytes_retransmit=9 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999451 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=934 bytes_read=4920 bytes_retransmit=0 bytes_invalid=0 send_seq=127 receive_seq=127 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000239 adj=50001036 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1551 bytes_read=6431 bytes_retransmit=9 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999367 adj=63998213 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1556 bytes_read=6421 bytes_retransmit=9 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999561 adj=63999243 Octopus_V1.1_F446: temp=24.9 EBB42_v1.2_T0: temp=24.2 EBB42_v1.2_T1: temp=24.6 raspberry_pi: temp=35.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=428 bytes_read=6788 bytes_retransmit=0 bytes_invalid=0 send_seq=70 receive_seq=70 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999921 adj=31999868 coil_temp=21.6 refs=0 mcu_temp=21.65 supply_voltage=3.068 sysload=1.64 cputime=9.938 memavail=342844 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.5 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 47.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4036 bytes_read=9404 bytes_retransmit=9 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999481 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=940 bytes_read=4936 bytes_retransmit=0 bytes_invalid=0 send_seq=128 receive_seq=128 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000147 adj=50000537 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1557 bytes_read=6531 bytes_retransmit=9 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999425 adj=63998435 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1562 bytes_read=6521 bytes_retransmit=9 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999541 adj=63999302 Octopus_V1.1_F446: temp=24.9 EBB42_v1.2_T0: temp=24.2 EBB42_v1.2_T1: temp=24.5 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=434 bytes_read=7144 bytes_retransmit=0 bytes_invalid=0 send_seq=71 receive_seq=71 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999926 adj=31999861 coil_temp=21.6 refs=0 mcu_temp=21.68 supply_voltage=3.068 sysload=1.64 cputime=10.027 memavail=342844 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 48.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4042 bytes_read=9507 bytes_retransmit=9 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999521 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=946 bytes_read=4965 bytes_retransmit=0 bytes_invalid=0 send_seq=129 receive_seq=129 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000114 adj=49999982 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1563 bytes_read=6645 bytes_retransmit=9 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999402 adj=63998952 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1568 bytes_read=6635 bytes_retransmit=9 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999528 adj=63999265 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=24.3 EBB42_v1.2_T1: temp=24.7 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=440 bytes_read=7500 bytes_retransmit=0 bytes_invalid=0 send_seq=72 receive_seq=72 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999947 adj=31999899 coil_temp=21.6 refs=0 mcu_temp=21.69 supply_voltage=3.068 sysload=1.64 cputime=10.046 memavail=342844 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 49.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4048 bytes_read=9610 bytes_retransmit=9 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999501 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=952 bytes_read=4981 bytes_retransmit=0 bytes_invalid=0 send_seq=130 receive_seq=130 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000071 adj=49999817 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1569 bytes_read=6759 bytes_retransmit=9 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999404 adj=63998919 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1574 bytes_read=6749 bytes_retransmit=9 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999523 adj=63999236 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=24.3 EBB42_v1.2_T1: temp=24.7 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=446 bytes_read=7856 bytes_retransmit=0 bytes_invalid=0 send_seq=73 receive_seq=73 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999960 adj=31999991 coil_temp=21.6 refs=0 mcu_temp=21.72 supply_voltage=3.068 sysload=1.64 cputime=10.065 memavail=342636 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 50.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4054 bytes_read=9742 bytes_retransmit=9 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999486 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=958 bytes_read=4997 bytes_retransmit=0 bytes_invalid=0 send_seq=131 receive_seq=131 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000053 adj=49999717 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1575 bytes_read=6859 bytes_retransmit=9 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999394 adj=63999158 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1580 bytes_read=6849 bytes_retransmit=9 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999519 adj=63999364 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=24.3 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=35.0 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=452 bytes_read=8212 bytes_retransmit=0 bytes_invalid=0 send_seq=74 receive_seq=74 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999955 adj=32000094 coil_temp=21.6 refs=0 mcu_temp=21.75 supply_voltage=3.068 sysload=1.51 cputime=10.084 memavail=342640 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 51.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4060 bytes_read=9845 bytes_retransmit=9 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999515 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=964 bytes_read=5013 bytes_retransmit=0 bytes_invalid=0 send_seq=132 receive_seq=132 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000171 adj=49999762 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1581 bytes_read=6987 bytes_retransmit=9 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999396 adj=63999235 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1586 bytes_read=6977 bytes_retransmit=9 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999520 adj=63999456 Octopus_V1.1_F446: temp=24.9 EBB42_v1.2_T0: temp=24.4 EBB42_v1.2_T1: temp=24.7 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=458 bytes_read=8568 bytes_retransmit=0 bytes_invalid=0 send_seq=75 receive_seq=75 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999950 adj=32000068 coil_temp=21.6 refs=0 mcu_temp=21.76 supply_voltage=3.068 sysload=1.51 cputime=10.104 memavail=344336 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 52.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4066 bytes_read=9962 bytes_retransmit=9 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999594 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=970 bytes_read=5029 bytes_retransmit=0 bytes_invalid=0 send_seq=133 receive_seq=133 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000291 adj=50000528 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1587 bytes_read=7101 bytes_retransmit=9 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999397 adj=63999273 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1592 bytes_read=7091 bytes_retransmit=9 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999533 adj=63999461 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=24.4 EBB42_v1.2_T1: temp=24.9 raspberry_pi: temp=34.6 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=464 bytes_read=8924 bytes_retransmit=0 bytes_invalid=0 send_seq=76 receive_seq=76 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000110 adj=32000005 coil_temp=21.6 refs=0 mcu_temp=21.78 supply_voltage=3.068 sysload=1.51 cputime=10.132 memavail=344428 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 53.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4072 bytes_read=10094 bytes_retransmit=9 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=2 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999610 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000016 bytes_write=976 bytes_read=5058 bytes_retransmit=0 bytes_invalid=0 send_seq=134 receive_seq=134 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000507 adj=50001081 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1593 bytes_read=7201 bytes_retransmit=9 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999399 adj=63999174 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1598 bytes_read=7191 bytes_retransmit=9 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999572 adj=63999422 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=24.3 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=470 bytes_read=9280 bytes_retransmit=0 bytes_invalid=0 send_seq=77 receive_seq=77 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000087 adj=32000849 coil_temp=21.6 refs=0 mcu_temp=21.80 supply_voltage=3.068 sysload=1.51 cputime=10.173 memavail=344428 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 54.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4078 bytes_read=10197 bytes_retransmit=9 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=2 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999589 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000016 bytes_write=982 bytes_read=5074 bytes_retransmit=0 bytes_invalid=0 send_seq=135 receive_seq=135 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000431 adj=50002258 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1599 bytes_read=7315 bytes_retransmit=9 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999400 adj=63999240 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1604 bytes_read=7305 bytes_retransmit=9 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999576 adj=63999687 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=24.3 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=35.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=476 bytes_read=9636 bytes_retransmit=0 bytes_invalid=0 send_seq=78 receive_seq=78 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000070 adj=32000526 coil_temp=21.6 refs=0 mcu_temp=21.81 supply_voltage=3.068 sysload=1.51 cputime=10.202 memavail=344196 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 55.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4084 bytes_read=10300 bytes_retransmit=9 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=2 srtt=0.000 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999583 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000016 bytes_write=988 bytes_read=5090 bytes_retransmit=0 bytes_invalid=0 send_seq=136 receive_seq=136 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000363 adj=50001389 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1605 bytes_read=7429 bytes_retransmit=9 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999394 adj=63999375 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1610 bytes_read=7419 bytes_retransmit=9 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999566 adj=63999763 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=24.4 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=34.6 heater_bed: target=0 temp=21.1 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=482 bytes_read=9992 bytes_retransmit=0 bytes_invalid=0 send_seq=79 receive_seq=79 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000049 adj=32000353 coil_temp=21.6 refs=0 mcu_temp=21.83 supply_voltage=3.068 sysload=1.39 cputime=10.221 memavail=344196 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 56.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4090 bytes_read=10432 bytes_retransmit=9 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999582 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000016 bytes_write=994 bytes_read=5106 bytes_retransmit=0 bytes_invalid=0 send_seq=137 receive_seq=137 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000289 adj=50000727 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1611 bytes_read=7541 bytes_retransmit=9 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999398 adj=63999392 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1616 bytes_read=7531 bytes_retransmit=9 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999574 adj=63999707 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=24.4 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=34.6 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=488 bytes_read=10348 bytes_retransmit=0 bytes_invalid=0 send_seq=80 receive_seq=80 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000029 adj=32000176 coil_temp=21.6 refs=0 mcu_temp=21.84 supply_voltage=3.068 sysload=1.39 cputime=10.240 memavail=344196 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 57.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4096 bytes_read=10549 bytes_retransmit=9 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999586 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000016 bytes_write=1000 bytes_read=5122 bytes_retransmit=0 bytes_invalid=0 send_seq=138 receive_seq=138 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000231 adj=50000153 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1617 bytes_read=7647 bytes_retransmit=9 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999394 adj=63999454 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1622 bytes_read=7637 bytes_retransmit=9 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999566 adj=63999761 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=24.3 EBB42_v1.2_T1: temp=24.9 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=494 bytes_read=10704 bytes_retransmit=0 bytes_invalid=0 send_seq=81 receive_seq=81 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000016 adj=32000032 coil_temp=21.6 refs=0 mcu_temp=21.86 supply_voltage=3.068 sysload=1.39 cputime=10.260 memavail=343980 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 58.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4102 bytes_read=10652 bytes_retransmit=9 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999572 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000021 bytes_write=1006 bytes_read=5151 bytes_retransmit=0 bytes_invalid=0 send_seq=139 receive_seq=139 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000187 adj=49999800 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1623 bytes_read=7753 bytes_retransmit=9 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999390 adj=63999438 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1628 bytes_read=7743 bytes_retransmit=9 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999565 adj=63999804 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=24.6 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=500 bytes_read=11060 bytes_retransmit=0 bytes_invalid=0 send_seq=82 receive_seq=82 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000006 adj=31999958 coil_temp=21.6 refs=0 mcu_temp=21.87 supply_voltage=3.068 sysload=1.39 cputime=10.280 memavail=343980 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.7 pwm=0.000
Stats 59.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4108 bytes_read=10784 bytes_retransmit=9 bytes_invalid=0 send_seq=346 receive_seq=346 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999583 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000021 bytes_write=1012 bytes_read=5167 bytes_retransmit=0 bytes_invalid=0 send_seq=140 receive_seq=140 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000246 adj=49999642 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1629 bytes_read=7846 bytes_retransmit=9 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999395 adj=63999485 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1634 bytes_read=7836 bytes_retransmit=9 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999574 adj=63999819 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=24.3 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=35.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=506 bytes_read=11416 bytes_retransmit=0 bytes_invalid=0 send_seq=83 receive_seq=83 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000000 adj=31999941 coil_temp=21.6 refs=0 mcu_temp=21.88 supply_voltage=3.068 sysload=1.39 cputime=10.312 memavail=343484 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 60.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4114 bytes_read=10887 bytes_retransmit=9 bytes_invalid=0 send_seq=347 receive_seq=347 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999587 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000021 bytes_write=1018 bytes_read=5183 bytes_retransmit=0 bytes_invalid=0 send_seq=141 receive_seq=141 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000212 adj=50000226 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1635 bytes_read=7953 bytes_retransmit=9 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999459 adj=63999505 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1640 bytes_read=7943 bytes_retransmit=9 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999574 adj=63999827 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=24.4 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=512 bytes_read=11772 bytes_retransmit=0 bytes_invalid=0 send_seq=84 receive_seq=84 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999995 adj=31999921 coil_temp=21.6 refs=0 mcu_temp=21.90 supply_voltage=3.068 sysload=1.28 cputime=10.353 memavail=343484 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 61.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4120 bytes_read=10990 bytes_retransmit=9 bytes_invalid=0 send_seq=348 receive_seq=348 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999598 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000021 bytes_write=1024 bytes_read=5199 bytes_retransmit=0 bytes_invalid=0 send_seq=142 receive_seq=142 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000208 adj=49999990 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1641 bytes_read=8081 bytes_retransmit=9 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999501 adj=63999985 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1646 bytes_read=8071 bytes_retransmit=9 bytes_invalid=0 send_seq=184 receive_seq=184 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999579 adj=63999789 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=24.6 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=34.6 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=518 bytes_read=12128 bytes_retransmit=0 bytes_invalid=0 send_seq=85 receive_seq=85 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999991 adj=31999917 coil_temp=21.6 refs=0 mcu_temp=21.91 supply_voltage=3.068 sysload=1.28 cputime=10.395 memavail=343484 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 62.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4126 bytes_read=11136 bytes_retransmit=9 bytes_invalid=0 send_seq=349 receive_seq=349 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999595 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000021 bytes_write=1030 bytes_read=5215 bytes_retransmit=0 bytes_invalid=0 send_seq=143 receive_seq=143 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000191 adj=50000021 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1647 bytes_read=8181 bytes_retransmit=9 bytes_invalid=0 send_seq=184 receive_seq=184 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999491 adj=64000182 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1652 bytes_read=8171 bytes_retransmit=9 bytes_invalid=0 send_seq=185 receive_seq=185 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999582 adj=63999786 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=24.5 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=524 bytes_read=12484 bytes_retransmit=0 bytes_invalid=0 send_seq=86 receive_seq=86 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999988 adj=31999912 coil_temp=21.6 refs=0 mcu_temp=21.92 supply_voltage=3.068 sysload=1.28 cputime=10.436 memavail=343484 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.7 pwm=0.000
Stats 63.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4132 bytes_read=11232 bytes_retransmit=9 bytes_invalid=0 send_seq=350 receive_seq=350 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999602 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000025 bytes_write=1036 bytes_read=5244 bytes_retransmit=0 bytes_invalid=0 send_seq=144 receive_seq=144 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000187 adj=49999962 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1653 bytes_read=8295 bytes_retransmit=9 bytes_invalid=0 send_seq=185 receive_seq=185 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999500 adj=63999981 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1658 bytes_read=8285 bytes_retransmit=9 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999584 adj=63999799 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=24.5 EBB42_v1.2_T1: temp=25.0 raspberry_pi: temp=34.6 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=530 bytes_read=12840 bytes_retransmit=0 bytes_invalid=0 send_seq=87 receive_seq=87 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=31999926 coil_temp=21.6 refs=0 mcu_temp=21.93 supply_voltage=3.068 sysload=1.28 cputime=10.476 memavail=343492 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 64.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4138 bytes_read=11330 bytes_retransmit=9 bytes_invalid=0 send_seq=351 receive_seq=351 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999610 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000025 bytes_write=1042 bytes_read=5260 bytes_retransmit=0 bytes_invalid=0 send_seq=145 receive_seq=145 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000176 adj=50000007 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1659 bytes_read=8409 bytes_retransmit=9 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999494 adj=63999948 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1664 bytes_read=8399 bytes_retransmit=9 bytes_invalid=0 send_seq=187 receive_seq=187 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999585 adj=63999775 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=24.6 EBB42_v1.2_T1: temp=24.9 raspberry_pi: temp=34.6 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=536 bytes_read=13196 bytes_retransmit=0 bytes_invalid=0 send_seq=88 receive_seq=88 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=31999925 coil_temp=21.7 refs=0 mcu_temp=21.95 supply_voltage=3.068 sysload=1.28 cputime=10.516 memavail=343572 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 65.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4144 bytes_read=11462 bytes_retransmit=9 bytes_invalid=0 send_seq=352 receive_seq=352 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999626 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000025 bytes_write=1048 bytes_read=5276 bytes_retransmit=0 bytes_invalid=0 send_seq=146 receive_seq=146 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000184 adj=49999968 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1665 bytes_read=8509 bytes_retransmit=9 bytes_invalid=0 send_seq=187 receive_seq=187 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999489 adj=63999798 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1670 bytes_read=8499 bytes_retransmit=9 bytes_invalid=0 send_seq=188 receive_seq=188 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999586 adj=63999747 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=24.5 EBB42_v1.2_T1: temp=24.8 raspberry_pi: temp=34.6 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=542 bytes_read=13552 bytes_retransmit=0 bytes_invalid=0 send_seq=89 receive_seq=89 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=31999922 coil_temp=21.7 refs=0 mcu_temp=21.96 supply_voltage=3.068 sysload=1.17 cputime=10.558 memavail=343572 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 66.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4150 bytes_read=11565 bytes_retransmit=9 bytes_invalid=0 send_seq=353 receive_seq=353 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999638 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000025 bytes_write=1054 bytes_read=5292 bytes_retransmit=0 bytes_invalid=0 send_seq=147 receive_seq=147 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000190 adj=50000076 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1671 bytes_read=8637 bytes_retransmit=9 bytes_invalid=0 send_seq=188 receive_seq=188 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999484 adj=63999668 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1676 bytes_read=8627 bytes_retransmit=9 bytes_invalid=0 send_seq=189 receive_seq=189 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999591 adj=63999701 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=24.5 EBB42_v1.2_T1: temp=24.9 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=548 bytes_read=13908 bytes_retransmit=0 bytes_invalid=0 send_seq=90 receive_seq=90 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=31999915 coil_temp=21.7 refs=0 mcu_temp=21.98 supply_voltage=3.068 sysload=1.17 cputime=10.599 memavail=343572 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 67.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4156 bytes_read=11682 bytes_retransmit=9 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=2 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999632 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000025 bytes_write=1060 bytes_read=5308 bytes_retransmit=0 bytes_invalid=0 send_seq=148 receive_seq=148 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000213 adj=50000150 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1677 bytes_read=8751 bytes_retransmit=9 bytes_invalid=0 send_seq=189 receive_seq=189 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999482 adj=63999573 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1682 bytes_read=8741 bytes_retransmit=9 bytes_invalid=0 send_seq=190 receive_seq=190 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999596 adj=63999710 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=24.7 EBB42_v1.2_T1: temp=25.1 raspberry_pi: temp=35.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=554 bytes_read=14264 bytes_retransmit=0 bytes_invalid=0 send_seq=91 receive_seq=91 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=31999905 coil_temp=21.7 refs=0 mcu_temp=21.99 supply_voltage=3.068 sysload=1.17 cputime=10.638 memavail=345272 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 68.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4162 bytes_read=11814 bytes_retransmit=9 bytes_invalid=0 send_seq=355 receive_seq=355 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999641 rpi: mcu_awake=0.001 mcu_task_avg=0.000023 mcu_task_stddev=0.000034 bytes_write=1066 bytes_read=5337 bytes_retransmit=0 bytes_invalid=0 send_seq=149 receive_seq=149 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000211 adj=50000405 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1683 bytes_read=8851 bytes_retransmit=9 bytes_invalid=0 send_seq=190 receive_seq=190 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999482 adj=63999586 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1688 bytes_read=8841 bytes_retransmit=9 bytes_invalid=0 send_seq=191 receive_seq=191 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999596 adj=63999776 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=24.6 EBB42_v1.2_T1: temp=25.0 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=560 bytes_read=14620 bytes_retransmit=0 bytes_invalid=0 send_seq=92 receive_seq=92 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000004 coil_temp=21.7 refs=0 mcu_temp=22.00 supply_voltage=3.068 sysload=1.17 cputime=10.679 memavail=345084 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 69.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4168 bytes_read=11917 bytes_retransmit=9 bytes_invalid=0 send_seq=356 receive_seq=356 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999634 rpi: mcu_awake=0.001 mcu_task_avg=0.000023 mcu_task_stddev=0.000034 bytes_write=1072 bytes_read=5353 bytes_retransmit=0 bytes_invalid=0 send_seq=150 receive_seq=150 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000182 adj=50000340 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1689 bytes_read=8965 bytes_retransmit=9 bytes_invalid=0 send_seq=191 receive_seq=191 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999474 adj=63999564 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1694 bytes_read=8955 bytes_retransmit=9 bytes_invalid=0 send_seq=192 receive_seq=192 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999599 adj=63999732 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=24.5 EBB42_v1.2_T1: temp=25.0 raspberry_pi: temp=34.6 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=566 bytes_read=14976 bytes_retransmit=0 bytes_invalid=0 send_seq=93 receive_seq=93 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999984 coil_temp=21.7 refs=0 mcu_temp=22.02 supply_voltage=3.068 sysload=1.17 cputime=10.717 memavail=344336 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 70.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4174 bytes_read=12020 bytes_retransmit=9 bytes_invalid=0 send_seq=357 receive_seq=357 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999645 rpi: mcu_awake=0.001 mcu_task_avg=0.000023 mcu_task_stddev=0.000034 bytes_write=1078 bytes_read=5369 bytes_retransmit=0 bytes_invalid=0 send_seq=151 receive_seq=151 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000168 adj=50000090 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1695 bytes_read=9079 bytes_retransmit=9 bytes_invalid=0 send_seq=192 receive_seq=192 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999471 adj=63999530 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1700 bytes_read=9069 bytes_retransmit=9 bytes_invalid=0 send_seq=193 receive_seq=193 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999599 adj=63999781 Octopus_V1.1_F446: temp=25.8 EBB42_v1.2_T0: temp=24.7 EBB42_v1.2_T1: temp=25.0 raspberry_pi: temp=35.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=572 bytes_read=15332 bytes_retransmit=0 bytes_invalid=0 send_seq=94 receive_seq=94 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999965 coil_temp=21.7 refs=0 mcu_temp=22.04 supply_voltage=3.068 sysload=1.08 cputime=10.756 memavail=344336 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 71.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4180 bytes_read=12152 bytes_retransmit=9 bytes_invalid=0 send_seq=358 receive_seq=358 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999648 rpi: mcu_awake=0.001 mcu_task_avg=0.000023 mcu_task_stddev=0.000034 bytes_write=1084 bytes_read=5385 bytes_retransmit=0 bytes_invalid=0 send_seq=152 receive_seq=152 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000147 adj=49999977 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1701 bytes_read=9193 bytes_retransmit=9 bytes_invalid=0 send_seq=193 receive_seq=193 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999468 adj=63999478 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1706 bytes_read=9183 bytes_retransmit=9 bytes_invalid=0 send_seq=194 receive_seq=194 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999729 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=24.8 EBB42_v1.2_T1: temp=25.0 raspberry_pi: temp=35.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=578 bytes_read=15688 bytes_retransmit=0 bytes_invalid=0 send_seq=95 receive_seq=95 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999959 coil_temp=21.7 refs=0 mcu_temp=22.06 supply_voltage=3.068 sysload=1.08 cputime=10.798 memavail=344384 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 72.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4186 bytes_read=12269 bytes_retransmit=9 bytes_invalid=0 send_seq=359 receive_seq=359 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999647 rpi: mcu_awake=0.001 mcu_task_avg=0.000023 mcu_task_stddev=0.000034 bytes_write=1090 bytes_read=5401 bytes_retransmit=0 bytes_invalid=0 send_seq=153 receive_seq=153 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000142 adj=49999846 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1707 bytes_read=9307 bytes_retransmit=9 bytes_invalid=0 send_seq=194 receive_seq=194 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999468 adj=63999472 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1712 bytes_read=9297 bytes_retransmit=9 bytes_invalid=0 send_seq=195 receive_seq=195 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999942 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=24.7 EBB42_v1.2_T1: temp=25.0 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=584 bytes_read=16044 bytes_retransmit=0 bytes_invalid=0 send_seq=96 receive_seq=96 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999969 coil_temp=21.7 refs=0 mcu_temp=22.08 supply_voltage=3.068 sysload=1.08 cputime=10.839 memavail=344384 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.5 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 73.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4192 bytes_read=12372 bytes_retransmit=9 bytes_invalid=0 send_seq=360 receive_seq=360 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999650 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000026 bytes_write=1096 bytes_read=5430 bytes_retransmit=0 bytes_invalid=0 send_seq=154 receive_seq=154 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000162 adj=49999902 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1713 bytes_read=9421 bytes_retransmit=9 bytes_invalid=0 send_seq=195 receive_seq=195 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999466 adj=63999509 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1718 bytes_read=9411 bytes_retransmit=9 bytes_invalid=0 send_seq=196 receive_seq=196 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999886 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=24.7 EBB42_v1.2_T1: temp=25.1 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=590 bytes_read=16400 bytes_retransmit=0 bytes_invalid=0 send_seq=97 receive_seq=97 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999986 coil_temp=21.7 refs=0 mcu_temp=22.09 supply_voltage=3.068 sysload=1.08 cputime=10.879 memavail=344384 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 74.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4198 bytes_read=12504 bytes_retransmit=9 bytes_invalid=0 send_seq=361 receive_seq=361 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999647 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000026 bytes_write=1102 bytes_read=5446 bytes_retransmit=0 bytes_invalid=0 send_seq=155 receive_seq=155 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000125 adj=50000177 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1719 bytes_read=9521 bytes_retransmit=9 bytes_invalid=0 send_seq=196 receive_seq=196 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999459 adj=63999503 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1724 bytes_read=9511 bytes_retransmit=9 bytes_invalid=0 send_seq=197 receive_seq=197 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999898 Octopus_V1.1_F446: temp=25.8 EBB42_v1.2_T0: temp=24.5 EBB42_v1.2_T1: temp=25.2 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=596 bytes_read=16756 bytes_retransmit=0 bytes_invalid=0 send_seq=98 receive_seq=98 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999982 coil_temp=21.7 refs=0 mcu_temp=22.11 supply_voltage=3.068 sysload=1.08 cputime=10.909 memavail=344132 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 75.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4204 bytes_read=12607 bytes_retransmit=9 bytes_invalid=0 send_seq=362 receive_seq=362 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999640 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000026 bytes_write=1108 bytes_read=5462 bytes_retransmit=0 bytes_invalid=0 send_seq=156 receive_seq=156 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000080 adj=49999844 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1725 bytes_read=9635 bytes_retransmit=9 bytes_invalid=0 send_seq=197 receive_seq=197 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999457 adj=63999469 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1730 bytes_read=9625 bytes_retransmit=9 bytes_invalid=0 send_seq=198 receive_seq=198 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999833 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=24.8 EBB42_v1.2_T1: temp=25.2 raspberry_pi: temp=36.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=602 bytes_read=17112 bytes_retransmit=0 bytes_invalid=0 send_seq=99 receive_seq=99 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999967 coil_temp=21.7 refs=0 mcu_temp=22.11 supply_voltage=3.068 sysload=1.15 cputime=10.928 memavail=344148 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 76.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4210 bytes_read=12710 bytes_retransmit=9 bytes_invalid=0 send_seq=363 receive_seq=363 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999629 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000026 bytes_write=1114 bytes_read=5478 bytes_retransmit=0 bytes_invalid=0 send_seq=157 receive_seq=157 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000038 adj=49999516 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1731 bytes_read=9763 bytes_retransmit=9 bytes_invalid=0 send_seq=198 receive_seq=198 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999464 adj=63999497 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1736 bytes_read=9753 bytes_retransmit=9 bytes_invalid=0 send_seq=199 receive_seq=199 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999857 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=24.8 EBB42_v1.2_T1: temp=25.2 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=608 bytes_read=17468 bytes_retransmit=0 bytes_invalid=0 send_seq=100 receive_seq=100 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999979 coil_temp=21.8 refs=0 mcu_temp=22.12 supply_voltage=3.068 sysload=1.15 cputime=10.948 memavail=344148 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 77.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4216 bytes_read=12856 bytes_retransmit=9 bytes_invalid=0 send_seq=364 receive_seq=364 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999618 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000026 bytes_write=1120 bytes_read=5494 bytes_retransmit=0 bytes_invalid=0 send_seq=158 receive_seq=158 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000002 adj=49999253 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1737 bytes_read=9863 bytes_retransmit=9 bytes_invalid=0 send_seq=199 receive_seq=199 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999463 adj=63999579 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1742 bytes_read=9853 bytes_retransmit=9 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999899 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=24.9 EBB42_v1.2_T1: temp=25.4 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=614 bytes_read=17824 bytes_retransmit=0 bytes_invalid=0 send_seq=101 receive_seq=101 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=32000018 coil_temp=21.8 refs=0 mcu_temp=22.13 supply_voltage=3.068 sysload=1.15 cputime=10.967 memavail=344148 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 78.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4222 bytes_read=12959 bytes_retransmit=9 bytes_invalid=0 send_seq=365 receive_seq=365 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999609 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000014 bytes_write=1126 bytes_read=5523 bytes_retransmit=0 bytes_invalid=0 send_seq=159 receive_seq=159 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999967 adj=49999142 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1743 bytes_read=9977 bytes_retransmit=9 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999457 adj=63999610 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1748 bytes_read=9967 bytes_retransmit=9 bytes_invalid=0 send_seq=201 receive_seq=201 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999835 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=24.9 EBB42_v1.2_T1: temp=25.1 raspberry_pi: temp=37.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=620 bytes_read=18180 bytes_retransmit=0 bytes_invalid=0 send_seq=102 receive_seq=102 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000008 coil_temp=21.8 refs=0 mcu_temp=22.15 supply_voltage=3.068 sysload=1.15 cputime=10.987 memavail=344152 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 79.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4228 bytes_read=13062 bytes_retransmit=9 bytes_invalid=0 send_seq=366 receive_seq=366 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999613 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000014 bytes_write=1132 bytes_read=5539 bytes_retransmit=0 bytes_invalid=0 send_seq=160 receive_seq=160 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999930 adj=49999059 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1749 bytes_read=10091 bytes_retransmit=9 bytes_invalid=0 send_seq=201 receive_seq=201 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999453 adj=63999586 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1754 bytes_read=10081 bytes_retransmit=9 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999810 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=24.6 EBB42_v1.2_T1: temp=25.2 raspberry_pi: temp=36.5 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=626 bytes_read=18536 bytes_retransmit=0 bytes_invalid=0 send_seq=103 receive_seq=103 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=32000011 coil_temp=21.8 refs=0 mcu_temp=22.16 supply_voltage=3.068 sysload=1.15 cputime=11.016 memavail=344152 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 80.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4234 bytes_read=13194 bytes_retransmit=9 bytes_invalid=0 send_seq=367 receive_seq=367 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999648 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000014 bytes_write=1138 bytes_read=5555 bytes_retransmit=0 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999902 adj=49998913 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1755 bytes_read=10191 bytes_retransmit=9 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999452 adj=63999524 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1760 bytes_read=10181 bytes_retransmit=9 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999736 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=24.8 EBB42_v1.2_T1: temp=25.1 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=632 bytes_read=18892 bytes_retransmit=0 bytes_invalid=0 send_seq=104 receive_seq=104 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999979 coil_temp=21.8 refs=0 mcu_temp=22.17 supply_voltage=3.068 sysload=1.06 cputime=11.055 memavail=344156 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 81.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4240 bytes_read=13297 bytes_retransmit=9 bytes_invalid=0 send_seq=368 receive_seq=368 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999650 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000014 bytes_write=1144 bytes_read=5571 bytes_retransmit=0 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999869 adj=49998802 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1761 bytes_read=10333 bytes_retransmit=9 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999459 adj=63999409 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1766 bytes_read=10323 bytes_retransmit=9 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999616 adj=63999603 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=24.9 EBB42_v1.2_T1: temp=25.2 raspberry_pi: temp=35.0 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=638 bytes_read=19248 bytes_retransmit=0 bytes_invalid=0 send_seq=105 receive_seq=105 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999919 coil_temp=21.8 refs=0 mcu_temp=22.19 supply_voltage=3.068 sysload=1.06 cputime=11.098 memavail=344156 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 82.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4246 bytes_read=13414 bytes_retransmit=9 bytes_invalid=0 send_seq=369 receive_seq=369 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999651 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000014 bytes_write=1150 bytes_read=5587 bytes_retransmit=0 bytes_invalid=0 send_seq=163 receive_seq=163 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999839 adj=49998742 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1767 bytes_read=10433 bytes_retransmit=9 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999494 adj=63999516 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1772 bytes_read=10423 bytes_retransmit=9 bytes_invalid=0 send_seq=205 receive_seq=205 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999616 adj=63999618 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=25.0 EBB42_v1.2_T1: temp=25.3 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=644 bytes_read=19604 bytes_retransmit=0 bytes_invalid=0 send_seq=106 receive_seq=106 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999938 coil_temp=21.8 refs=0 mcu_temp=22.20 supply_voltage=3.068 sysload=1.06 cputime=11.139 memavail=344156 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 83.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4252 bytes_read=13546 bytes_retransmit=9 bytes_invalid=0 send_seq=370 receive_seq=370 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999655 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=1156 bytes_read=5616 bytes_retransmit=0 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999809 adj=49998728 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1773 bytes_read=10533 bytes_retransmit=9 bytes_invalid=0 send_seq=205 receive_seq=205 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999522 adj=63999901 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1778 bytes_read=10523 bytes_retransmit=9 bytes_invalid=0 send_seq=206 receive_seq=206 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999616 adj=63999639 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=24.8 EBB42_v1.2_T1: temp=25.4 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=650 bytes_read=19960 bytes_retransmit=0 bytes_invalid=0 send_seq=107 receive_seq=107 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999989 coil_temp=21.8 refs=0 mcu_temp=22.23 supply_voltage=3.068 sysload=1.06 cputime=11.179 memavail=344156 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.5 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 84.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4258 bytes_read=13649 bytes_retransmit=9 bytes_invalid=0 send_seq=371 receive_seq=371 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999655 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=1162 bytes_read=5632 bytes_retransmit=0 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999808 adj=49998690 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1779 bytes_read=10661 bytes_retransmit=9 bytes_invalid=0 send_seq=206 receive_seq=206 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999515 adj=64000108 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1784 bytes_read=10651 bytes_retransmit=9 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999616 adj=63999653 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=24.8 EBB42_v1.2_T1: temp=25.4 raspberry_pi: temp=36.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=656 bytes_read=20316 bytes_retransmit=0 bytes_invalid=0 send_seq=108 receive_seq=108 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=32000031 coil_temp=21.8 refs=0 mcu_temp=22.25 supply_voltage=3.068 sysload=1.06 cputime=11.211 memavail=344156 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 85.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4264 bytes_read=13752 bytes_retransmit=9 bytes_invalid=0 send_seq=372 receive_seq=372 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999644 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=1168 bytes_read=5648 bytes_retransmit=0 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999783 adj=49998983 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1785 bytes_read=10761 bytes_retransmit=9 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999511 adj=63999925 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1790 bytes_read=10751 bytes_retransmit=9 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999612 adj=63999672 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=24.9 EBB42_v1.2_T1: temp=25.4 raspberry_pi: temp=35.5 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=662 bytes_read=20672 bytes_retransmit=0 bytes_invalid=0 send_seq=109 receive_seq=109 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000027 coil_temp=21.8 refs=0 mcu_temp=22.27 supply_voltage=3.068 sysload=0.98 cputime=11.231 memavail=344156 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 86.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4270 bytes_read=13884 bytes_retransmit=9 bytes_invalid=0 send_seq=373 receive_seq=373 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999658 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=1174 bytes_read=5664 bytes_retransmit=0 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999747 adj=49998939 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1791 bytes_read=10875 bytes_retransmit=9 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999512 adj=63999804 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1796 bytes_read=10865 bytes_retransmit=9 bytes_invalid=0 send_seq=209 receive_seq=209 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999609 adj=63999644 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=24.9 EBB42_v1.2_T1: temp=25.2 raspberry_pi: temp=37.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=668 bytes_read=21028 bytes_retransmit=0 bytes_invalid=0 send_seq=110 receive_seq=110 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999994 coil_temp=21.8 refs=0 mcu_temp=22.28 supply_voltage=3.068 sysload=0.98 cputime=11.250 memavail=344156 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.7 pwm=0.000
Stats 87.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4276 bytes_read=13995 bytes_retransmit=9 bytes_invalid=0 send_seq=374 receive_seq=374 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999679 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=1180 bytes_read=5680 bytes_retransmit=0 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999718 adj=49998727 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1797 bytes_read=11003 bytes_retransmit=9 bytes_invalid=0 send_seq=209 receive_seq=209 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999519 adj=63999714 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1802 bytes_read=10993 bytes_retransmit=9 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999608 adj=63999572 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=24.8 EBB42_v1.2_T1: temp=25.3 raspberry_pi: temp=36.5 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=674 bytes_read=21384 bytes_retransmit=0 bytes_invalid=0 send_seq=111 receive_seq=111 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999958 coil_temp=21.8 refs=0 mcu_temp=22.29 supply_voltage=3.068 sysload=0.98 cputime=11.271 memavail=344372 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 88.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4282 bytes_read=14093 bytes_retransmit=9 bytes_invalid=0 send_seq=375 receive_seq=375 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999666 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=1186 bytes_read=5696 bytes_retransmit=0 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999694 adj=49998618 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1803 bytes_read=11103 bytes_retransmit=9 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999511 adj=63999694 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1808 bytes_read=11093 bytes_retransmit=9 bytes_invalid=0 send_seq=211 receive_seq=211 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999605 adj=63999606 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=25.0 EBB42_v1.2_T1: temp=25.2 raspberry_pi: temp=36.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=680 bytes_read=21740 bytes_retransmit=0 bytes_invalid=0 send_seq=112 receive_seq=112 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999932 coil_temp=21.8 refs=0 mcu_temp=22.30 supply_voltage=3.068 sysload=0.98 cputime=11.290 memavail=344424 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 89.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4288 bytes_read=14225 bytes_retransmit=9 bytes_invalid=0 send_seq=376 receive_seq=376 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999655 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000020 bytes_write=1192 bytes_read=5725 bytes_retransmit=0 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999673 adj=49998680 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1809 bytes_read=11203 bytes_retransmit=9 bytes_invalid=0 send_seq=211 receive_seq=211 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999503 adj=63999640 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1814 bytes_read=11193 bytes_retransmit=9 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999602 adj=63999652 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=24.8 EBB42_v1.2_T1: temp=25.3 raspberry_pi: temp=37.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=686 bytes_read=22096 bytes_retransmit=0 bytes_invalid=0 send_seq=113 receive_seq=113 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999960 adj=31999967 coil_temp=21.8 refs=0 mcu_temp=22.30 supply_voltage=3.068 sysload=0.98 cputime=11.322 memavail=344424 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.5 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 90.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4294 bytes_read=14328 bytes_retransmit=9 bytes_invalid=0 send_seq=377 receive_seq=377 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999654 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000020 bytes_write=1198 bytes_read=5741 bytes_retransmit=0 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999661 adj=49998755 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1815 bytes_read=11331 bytes_retransmit=9 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999502 adj=63999659 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1820 bytes_read=11321 bytes_retransmit=9 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999603 adj=63999744 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=24.8 EBB42_v1.2_T1: temp=25.4 raspberry_pi: temp=36.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=692 bytes_read=22452 bytes_retransmit=0 bytes_invalid=0 send_seq=114 receive_seq=114 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999960 adj=31999977 coil_temp=21.8 refs=0 mcu_temp=22.32 supply_voltage=3.068 sysload=0.90 cputime=11.364 memavail=344424 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 91.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4300 bytes_read=14431 bytes_retransmit=9 bytes_invalid=0 send_seq=378 receive_seq=378 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999650 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000020 bytes_write=1204 bytes_read=5757 bytes_retransmit=0 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999638 adj=49998869 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1821 bytes_read=11445 bytes_retransmit=9 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999500 adj=63999644 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1826 bytes_read=11435 bytes_retransmit=9 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999603 adj=63999747 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=24.9 EBB42_v1.2_T1: temp=25.4 raspberry_pi: temp=37.0 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=698 bytes_read=22808 bytes_retransmit=0 bytes_invalid=0 send_seq=115 receive_seq=115 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999995 coil_temp=21.8 refs=0 mcu_temp=22.32 supply_voltage=3.068 sysload=0.90 cputime=11.403 memavail=344424 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 92.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4306 bytes_read=14577 bytes_retransmit=9 bytes_invalid=0 send_seq=379 receive_seq=379 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999653 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000020 bytes_write=1210 bytes_read=5773 bytes_retransmit=0 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999619 adj=49998835 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1827 bytes_read=11545 bytes_retransmit=9 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999499 adj=63999638 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1832 bytes_read=11535 bytes_retransmit=9 bytes_invalid=0 send_seq=215 receive_seq=215 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999617 adj=63999759 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=25.2 EBB42_v1.2_T1: temp=25.5 raspberry_pi: temp=36.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=704 bytes_read=23164 bytes_retransmit=0 bytes_invalid=0 send_seq=116 receive_seq=116 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=32000078 coil_temp=21.8 refs=0 mcu_temp=22.34 supply_voltage=3.068 sysload=0.90 cputime=11.444 memavail=344424 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 93.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4312 bytes_read=14680 bytes_retransmit=9 bytes_invalid=0 send_seq=380 receive_seq=380 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999655 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000020 bytes_write=1216 bytes_read=5788 bytes_retransmit=0 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999601 adj=49998833 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1833 bytes_read=11673 bytes_retransmit=9 bytes_invalid=0 send_seq=215 receive_seq=215 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63999602 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1838 bytes_read=11663 bytes_retransmit=9 bytes_invalid=0 send_seq=216 receive_seq=216 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999617 adj=63999910 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=24.9 EBB42_v1.2_T1: temp=25.4 raspberry_pi: temp=36.0 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=710 bytes_read=23520 bytes_retransmit=0 bytes_invalid=0 send_seq=117 receive_seq=117 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000118 coil_temp=21.8 refs=0 mcu_temp=22.34 supply_voltage=3.068 sysload=0.90 cputime=11.489 memavail=344676 print_time=41.941 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Extruder extruder already active
RatOS:: Heating T0 to 220C... Please wait.
RatOS | TEMPERATURE_WAIT:: Waiting for sensor: extruder, MINIMUM: 220
RatOS:: please wait...
Stats 118.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4468 bytes_read=17562 bytes_retransmit=9 bytes_invalid=0 send_seq=406 receive_seq=406 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999796 rpi: mcu_awake=0.002 mcu_task_avg=0.000029 mcu_task_stddev=0.000059 bytes_write=1372 bytes_read=6265 bytes_retransmit=0 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999531 adj=49999542 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2037 bytes_read=14548 bytes_retransmit=9 bytes_invalid=0 send_seq=246 receive_seq=246 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999555 adj=64000167 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1994 bytes_read=14473 bytes_retransmit=9 bytes_invalid=0 send_seq=242 receive_seq=242 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999602 Octopus_V1.1_F446: temp=26.8 EBB42_v1.2_T0: temp=25.2 EBB42_v1.2_T1: temp=25.6 raspberry_pi: temp=37.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=866 bytes_read=32420 bytes_retransmit=0 bytes_invalid=0 send_seq=143 receive_seq=143 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999922 coil_temp=22.0 refs=0 mcu_temp=22.59 supply_voltage=3.068 sysload=0.65 cputime=12.348 memavail=342480 print_time=126.382 buffer_time=0.000 print_stall=0 extruder: target=220 temp=22.3 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Heater extruder approaching new target of 220.000
Stats 119.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4490 bytes_read=17699 bytes_retransmit=9 bytes_invalid=0 send_seq=408 receive_seq=408 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999784 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000028 bytes_write=1378 bytes_read=6294 bytes_retransmit=0 bytes_invalid=0 send_seq=201 receive_seq=201 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999526 adj=49999558 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2058 bytes_read=14653 bytes_retransmit=9 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999546 adj=63999961 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2000 bytes_read=14573 bytes_retransmit=9 bytes_invalid=0 send_seq=243 receive_seq=243 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999639 Octopus_V1.1_F446: temp=27.0 EBB42_v1.2_T0: temp=25.2 EBB42_v1.2_T1: temp=25.5 raspberry_pi: temp=37.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=872 bytes_read=32776 bytes_retransmit=0 bytes_invalid=0 send_seq=144 receive_seq=144 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999953 coil_temp=22.0 refs=0 mcu_temp=22.60 supply_voltage=3.068 sysload=0.65 cputime=12.379 memavail=341992 print_time=127.384 buffer_time=0.000 print_stall=0 extruder: target=220 temp=25.1 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 120.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4496 bytes_read=17802 bytes_retransmit=9 bytes_invalid=0 send_seq=409 receive_seq=409 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999771 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000028 bytes_write=1384 bytes_read=6310 bytes_retransmit=0 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999531 adj=49999545 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2064 bytes_read=14781 bytes_retransmit=9 bytes_invalid=0 send_seq=249 receive_seq=249 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999538 adj=63999815 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2006 bytes_read=14701 bytes_retransmit=9 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999697 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=25.3 EBB42_v1.2_T1: temp=25.5 raspberry_pi: temp=38.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=878 bytes_read=33132 bytes_retransmit=0 bytes_invalid=0 send_seq=145 receive_seq=145 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999994 coil_temp=22.0 refs=0 mcu_temp=22.61 supply_voltage=3.068 sysload=0.60 cputime=12.400 memavail=341992 print_time=128.384 buffer_time=0.000 print_stall=0 extruder: target=220 temp=34.3 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 121.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4502 bytes_read=17905 bytes_retransmit=9 bytes_invalid=0 send_seq=410 receive_seq=410 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999760 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000028 bytes_write=1390 bytes_read=6326 bytes_retransmit=0 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999536 adj=49999673 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2070 bytes_read=14895 bytes_retransmit=9 bytes_invalid=0 send_seq=250 receive_seq=250 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999532 adj=63999717 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2012 bytes_read=14815 bytes_retransmit=9 bytes_invalid=0 send_seq=245 receive_seq=245 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999737 Octopus_V1.1_F446: temp=26.8 EBB42_v1.2_T0: temp=25.4 EBB42_v1.2_T1: temp=25.7 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=884 bytes_read=33488 bytes_retransmit=0 bytes_invalid=0 send_seq=146 receive_seq=146 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=32000008 coil_temp=22.0 refs=0 mcu_temp=22.63 supply_voltage=3.068 sysload=0.60 cputime=12.420 memavail=342244 print_time=129.384 buffer_time=0.000 print_stall=0 extruder: target=220 temp=41.4 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 122.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4508 bytes_read=18037 bytes_retransmit=9 bytes_invalid=0 send_seq=411 receive_seq=411 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999746 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000028 bytes_write=1396 bytes_read=6342 bytes_retransmit=0 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999536 adj=49999762 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2092 bytes_read=15000 bytes_retransmit=9 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999526 adj=63999667 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2018 bytes_read=14915 bytes_retransmit=9 bytes_invalid=0 send_seq=246 receive_seq=246 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999789 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=25.5 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=37.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=890 bytes_read=33844 bytes_retransmit=0 bytes_invalid=0 send_seq=147 receive_seq=147 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000031 coil_temp=22.0 refs=0 mcu_temp=22.63 supply_voltage=3.068 sysload=0.60 cputime=12.440 memavail=343000 print_time=130.384 buffer_time=0.000 print_stall=0 extruder: target=220 temp=48.2 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 123.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4514 bytes_read=18154 bytes_retransmit=9 bytes_invalid=0 send_seq=412 receive_seq=412 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999733 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000028 bytes_write=1402 bytes_read=6358 bytes_retransmit=0 bytes_invalid=0 send_seq=205 receive_seq=205 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999534 adj=49999772 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2098 bytes_read=15126 bytes_retransmit=9 bytes_invalid=0 send_seq=253 receive_seq=253 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999524 adj=63999645 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2024 bytes_read=15041 bytes_retransmit=9 bytes_invalid=0 send_seq=247 receive_seq=247 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999813 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=25.3 EBB42_v1.2_T1: temp=25.7 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=896 bytes_read=34200 bytes_retransmit=0 bytes_invalid=0 send_seq=148 receive_seq=148 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000041 coil_temp=22.0 refs=0 mcu_temp=22.64 supply_voltage=3.068 sysload=0.60 cputime=12.461 memavail=343604 print_time=131.385 buffer_time=0.000 print_stall=0 extruder: target=220 temp=56.9 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 124.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4520 bytes_read=18257 bytes_retransmit=9 bytes_invalid=0 send_seq=413 receive_seq=413 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999728 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000018 bytes_write=1408 bytes_read=6387 bytes_retransmit=0 bytes_invalid=0 send_seq=206 receive_seq=206 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999536 adj=49999758 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2104 bytes_read=15219 bytes_retransmit=9 bytes_invalid=0 send_seq=254 receive_seq=254 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999520 adj=63999675 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2030 bytes_read=15134 bytes_retransmit=9 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999823 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=25.5 EBB42_v1.2_T1: temp=25.7 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=902 bytes_read=34556 bytes_retransmit=0 bytes_invalid=0 send_seq=149 receive_seq=149 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000055 coil_temp=22.0 refs=0 mcu_temp=22.65 supply_voltage=3.068 sysload=0.60 cputime=12.497 memavail=346936 print_time=132.385 buffer_time=0.000 print_stall=0 extruder: target=220 temp=63.4 pwm=1.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 125.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4526 bytes_read=18389 bytes_retransmit=9 bytes_invalid=0 send_seq=414 receive_seq=414 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999720 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000018 bytes_write=1414 bytes_read=6403 bytes_retransmit=0 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999541 adj=49999776 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2110 bytes_read=15312 bytes_retransmit=9 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999517 adj=63999627 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2036 bytes_read=15227 bytes_retransmit=9 bytes_invalid=0 send_seq=249 receive_seq=249 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999821 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=25.6 EBB42_v1.2_T1: temp=25.5 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=908 bytes_read=34902 bytes_retransmit=0 bytes_invalid=0 send_seq=150 receive_seq=150 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000064 coil_temp=22.0 refs=0 mcu_temp=22.66 supply_voltage=3.068 sysload=0.63 cputime=12.527 memavail=342228 print_time=133.385 buffer_time=0.000 print_stall=0 extruder: target=220 temp=69.7 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 126.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4532 bytes_read=18492 bytes_retransmit=9 bytes_invalid=0 send_seq=415 receive_seq=415 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999720 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000018 bytes_write=1420 bytes_read=6419 bytes_retransmit=0 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999541 adj=49999828 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2116 bytes_read=15445 bytes_retransmit=9 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=11 upcoming_bytes=0 freq=63999513 adj=63999627 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2042 bytes_read=15360 bytes_retransmit=9 bytes_invalid=0 send_seq=250 receive_seq=250 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999838 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=25.5 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=914 bytes_read=35247 bytes_retransmit=0 bytes_invalid=0 send_seq=151 receive_seq=151 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=32000062 coil_temp=22.0 refs=0 mcu_temp=22.67 supply_voltage=3.068 sysload=0.63 cputime=12.548 memavail=342344 print_time=134.386 buffer_time=0.000 print_stall=0 extruder: target=220 temp=77.4 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 127.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4538 bytes_read=18595 bytes_retransmit=9 bytes_invalid=0 send_seq=416 receive_seq=416 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999711 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000018 bytes_write=1426 bytes_read=6435 bytes_retransmit=0 bytes_invalid=0 send_seq=209 receive_seq=209 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999540 adj=49999780 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2138 bytes_read=15544 bytes_retransmit=9 bytes_invalid=0 send_seq=258 receive_seq=258 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999507 adj=63999560 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2048 bytes_read=15453 bytes_retransmit=9 bytes_invalid=0 send_seq=251 receive_seq=251 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999795 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=25.4 EBB42_v1.2_T1: temp=25.7 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=920 bytes_read=35591 bytes_retransmit=0 bytes_invalid=0 send_seq=152 receive_seq=152 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000046 coil_temp=22.0 refs=0 mcu_temp=22.68 supply_voltage=3.068 sysload=0.63 cputime=12.569 memavail=339712 print_time=135.387 buffer_time=0.000 print_stall=0 extruder: target=220 temp=83.2 pwm=1.000 extruder1: target=0 temp=21.7 pwm=0.000
Stats 128.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4544 bytes_read=18741 bytes_retransmit=9 bytes_invalid=0 send_seq=417 receive_seq=417 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999704 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000018 bytes_write=1432 bytes_read=6451 bytes_retransmit=0 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999541 adj=49999764 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2144 bytes_read=15647 bytes_retransmit=9 bytes_invalid=0 send_seq=259 receive_seq=259 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999502 adj=63999545 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2054 bytes_read=15553 bytes_retransmit=9 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999806 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=25.5 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=926 bytes_read=35936 bytes_retransmit=0 bytes_invalid=0 send_seq=153 receive_seq=153 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000087 coil_temp=22.0 refs=0 mcu_temp=22.69 supply_voltage=3.068 sysload=0.63 cputime=12.592 memavail=340172 print_time=136.388 buffer_time=0.000 print_stall=0 extruder: target=220 temp=88.5 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 129.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4550 bytes_read=18844 bytes_retransmit=9 bytes_invalid=0 send_seq=418 receive_seq=418 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999698 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000021 bytes_write=1438 bytes_read=6480 bytes_retransmit=0 bytes_invalid=0 send_seq=211 receive_seq=211 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999543 adj=49999757 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2150 bytes_read=15779 bytes_retransmit=9 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999500 adj=63999525 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2060 bytes_read=15681 bytes_retransmit=9 bytes_invalid=0 send_seq=253 receive_seq=253 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999617 adj=63999818 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=25.5 EBB42_v1.2_T1: temp=25.9 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=932 bytes_read=36281 bytes_retransmit=0 bytes_invalid=0 send_seq=154 receive_seq=154 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000084 coil_temp=22.0 refs=0 mcu_temp=22.68 supply_voltage=3.068 sysload=0.63 cputime=12.617 memavail=343544 print_time=137.388 buffer_time=0.000 print_stall=0 extruder: target=220 temp=95.9 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 130.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4556 bytes_read=18947 bytes_retransmit=9 bytes_invalid=0 send_seq=419 receive_seq=419 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999703 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000021 bytes_write=1444 bytes_read=6496 bytes_retransmit=0 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999561 adj=49999790 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2156 bytes_read=15882 bytes_retransmit=9 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999497 adj=63999550 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2066 bytes_read=15781 bytes_retransmit=9 bytes_invalid=0 send_seq=254 receive_seq=254 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999816 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=25.7 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=938 bytes_read=36626 bytes_retransmit=0 bytes_invalid=0 send_seq=155 receive_seq=155 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000084 coil_temp=22.0 refs=0 mcu_temp=22.69 supply_voltage=3.068 sysload=1.06 cputime=12.658 memavail=342168 print_time=138.389 buffer_time=0.000 print_stall=0 extruder: target=220 temp=101.1 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 131.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4562 bytes_read=19079 bytes_retransmit=9 bytes_invalid=0 send_seq=420 receive_seq=420 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999701 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000021 bytes_write=1450 bytes_read=6512 bytes_retransmit=0 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999570 adj=49999974 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2178 bytes_read=16004 bytes_retransmit=9 bytes_invalid=0 send_seq=263 receive_seq=263 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999496 adj=63999496 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2072 bytes_read=15895 bytes_retransmit=9 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999781 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=25.8 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=38.0 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=944 bytes_read=36971 bytes_retransmit=0 bytes_invalid=0 send_seq=156 receive_seq=156 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000060 coil_temp=22.0 refs=0 mcu_temp=22.70 supply_voltage=3.068 sysload=1.06 cputime=12.703 memavail=345652 print_time=139.390 buffer_time=0.000 print_stall=0 extruder: target=220 temp=106.6 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 132.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4568 bytes_read=19182 bytes_retransmit=9 bytes_invalid=0 send_seq=421 receive_seq=421 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999709 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000021 bytes_write=1456 bytes_read=6528 bytes_retransmit=0 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999574 adj=50000027 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2184 bytes_read=16136 bytes_retransmit=9 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63999518 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2078 bytes_read=16023 bytes_retransmit=9 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999786 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=25.7 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=950 bytes_read=37316 bytes_retransmit=0 bytes_invalid=0 send_seq=157 receive_seq=157 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=32000065 coil_temp=22.1 refs=0 mcu_temp=22.69 supply_voltage=3.068 sysload=1.06 cputime=12.746 memavail=369532 print_time=140.391 buffer_time=0.000 print_stall=0 extruder: target=220 temp=113.5 pwm=1.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 133.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4574 bytes_read=19299 bytes_retransmit=9 bytes_invalid=0 send_seq=422 receive_seq=422 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999703 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000021 bytes_write=1462 bytes_read=6544 bytes_retransmit=0 bytes_invalid=0 send_seq=215 receive_seq=215 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999573 adj=49999957 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2190 bytes_read=16239 bytes_retransmit=9 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999493 adj=63999481 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2084 bytes_read=16123 bytes_retransmit=9 bytes_invalid=0 send_seq=257 receive_seq=257 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999745 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=25.9 EBB42_v1.2_T1: temp=25.9 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=956 bytes_read=37668 bytes_retransmit=0 bytes_invalid=0 send_seq=158 receive_seq=158 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=32000047 coil_temp=22.1 refs=0 mcu_temp=22.69 supply_voltage=3.068 sysload=1.06 cputime=12.767 memavail=379336 print_time=141.391 buffer_time=0.000 print_stall=0 extruder: target=220 temp=118.4 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 134.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4580 bytes_read=19429 bytes_retransmit=9 bytes_invalid=0 send_seq=423 receive_seq=423 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999705 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000019 bytes_write=1468 bytes_read=6573 bytes_retransmit=0 bytes_invalid=0 send_seq=216 receive_seq=216 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999576 adj=49999990 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2196 bytes_read=16342 bytes_retransmit=9 bytes_invalid=0 send_seq=266 receive_seq=266 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999492 adj=63999522 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2090 bytes_read=16223 bytes_retransmit=9 bytes_invalid=0 send_seq=258 receive_seq=258 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999752 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=25.9 EBB42_v1.2_T1: temp=25.7 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=962 bytes_read=38024 bytes_retransmit=0 bytes_invalid=0 send_seq=159 receive_seq=159 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000048 coil_temp=22.1 refs=0 mcu_temp=22.70 supply_voltage=3.068 sysload=1.06 cputime=12.789 memavail=378624 print_time=142.391 buffer_time=0.000 print_stall=0 extruder: target=220 temp=123.2 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 135.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4586 bytes_read=19525 bytes_retransmit=9 bytes_invalid=0 send_seq=424 receive_seq=424 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999698 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000019 bytes_write=1474 bytes_read=6589 bytes_retransmit=0 bytes_invalid=0 send_seq=217 receive_seq=217 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999579 adj=49999946 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2218 bytes_read=16479 bytes_retransmit=9 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999488 adj=63999506 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2096 bytes_read=16351 bytes_retransmit=9 bytes_invalid=0 send_seq=259 receive_seq=259 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999617 adj=63999729 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=25.8 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=968 bytes_read=38380 bytes_retransmit=0 bytes_invalid=0 send_seq=160 receive_seq=160 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000033 coil_temp=22.1 refs=0 mcu_temp=22.70 supply_voltage=3.068 sysload=1.45 cputime=12.811 memavail=377420 print_time=143.391 buffer_time=0.000 print_stall=0 extruder: target=220 temp=129.5 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 136.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4592 bytes_read=19625 bytes_retransmit=9 bytes_invalid=0 send_seq=425 receive_seq=425 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999692 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000019 bytes_write=1480 bytes_read=6605 bytes_retransmit=0 bytes_invalid=0 send_seq=218 receive_seq=218 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999586 adj=49999944 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2224 bytes_read=16582 bytes_retransmit=9 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999484 adj=63999508 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2102 bytes_read=16451 bytes_retransmit=9 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999745 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=25.8 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=974 bytes_read=38736 bytes_retransmit=0 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=32000030 coil_temp=22.1 refs=0 mcu_temp=22.71 supply_voltage=3.068 sysload=1.45 cputime=12.833 memavail=370768 print_time=144.392 buffer_time=0.000 print_stall=0 extruder: target=220 temp=134.1 pwm=1.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 137.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4598 bytes_read=19757 bytes_retransmit=9 bytes_invalid=0 send_seq=426 receive_seq=426 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999685 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000019 bytes_write=1486 bytes_read=6621 bytes_retransmit=0 bytes_invalid=0 send_seq=219 receive_seq=219 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999589 adj=49999989 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2230 bytes_read=16699 bytes_retransmit=9 bytes_invalid=0 send_seq=270 receive_seq=270 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999481 adj=63999511 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2108 bytes_read=16565 bytes_retransmit=9 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999825 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=25.7 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=980 bytes_read=39092 bytes_retransmit=0 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=32000105 coil_temp=22.1 refs=0 mcu_temp=22.72 supply_voltage=3.068 sysload=1.45 cputime=12.856 memavail=370768 print_time=145.392 buffer_time=0.000 print_stall=0 extruder: target=220 temp=138.7 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 138.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4604 bytes_read=19874 bytes_retransmit=9 bytes_invalid=0 send_seq=427 receive_seq=427 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999684 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000019 bytes_write=1492 bytes_read=6637 bytes_retransmit=0 bytes_invalid=0 send_seq=220 receive_seq=220 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999600 adj=49999979 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2236 bytes_read=16831 bytes_retransmit=9 bytes_invalid=0 send_seq=271 receive_seq=271 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999480 adj=63999517 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2114 bytes_read=16693 bytes_retransmit=9 bytes_invalid=0 send_seq=262 receive_seq=262 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999823 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=26.0 EBB42_v1.2_T1: temp=25.9 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=986 bytes_read=39448 bytes_retransmit=0 bytes_invalid=0 send_seq=163 receive_seq=163 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=32000095 coil_temp=22.1 refs=0 mcu_temp=22.72 supply_voltage=3.068 sysload=1.45 cputime=12.900 memavail=374548 print_time=146.393 buffer_time=0.000 print_stall=0 extruder: target=220 temp=144.6 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 139.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4610 bytes_read=19977 bytes_retransmit=9 bytes_invalid=0 send_seq=428 receive_seq=428 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999683 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1498 bytes_read=6666 bytes_retransmit=0 bytes_invalid=0 send_seq=221 receive_seq=221 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999623 adj=50000076 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2258 bytes_read=16939 bytes_retransmit=9 bytes_invalid=0 send_seq=273 receive_seq=273 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999480 adj=63999530 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2120 bytes_read=16793 bytes_retransmit=9 bytes_invalid=0 send_seq=263 receive_seq=263 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999847 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=26.1 EBB42_v1.2_T1: temp=25.9 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=992 bytes_read=39804 bytes_retransmit=0 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=32000075 coil_temp=22.1 refs=0 mcu_temp=22.73 supply_voltage=3.068 sysload=1.45 cputime=12.940 memavail=374044 print_time=147.394 buffer_time=0.000 print_stall=0 extruder: target=220 temp=149.0 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 140.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4616 bytes_read=20109 bytes_retransmit=9 bytes_invalid=0 send_seq=429 receive_seq=429 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999679 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1504 bytes_read=6682 bytes_retransmit=0 bytes_invalid=0 send_seq=222 receive_seq=222 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999625 adj=50000315 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2264 bytes_read=17042 bytes_retransmit=9 bytes_invalid=0 send_seq=274 receive_seq=274 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999478 adj=63999553 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2126 bytes_read=16893 bytes_retransmit=9 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999844 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=26.2 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=998 bytes_read=40160 bytes_retransmit=0 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=32000078 coil_temp=22.1 refs=0 mcu_temp=22.74 supply_voltage=3.068 sysload=1.34 cputime=12.965 memavail=365812 print_time=148.395 buffer_time=0.000 print_stall=0 extruder: target=220 temp=153.4 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 141.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4622 bytes_read=20212 bytes_retransmit=9 bytes_invalid=0 send_seq=430 receive_seq=430 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999674 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1510 bytes_read=6698 bytes_retransmit=0 bytes_invalid=0 send_seq=223 receive_seq=223 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999628 adj=50000266 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2270 bytes_read=17174 bytes_retransmit=9 bytes_invalid=0 send_seq=275 receive_seq=275 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999489 adj=63999634 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2132 bytes_read=17021 bytes_retransmit=9 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999818 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=26.0 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1004 bytes_read=40516 bytes_retransmit=0 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000059 coil_temp=22.1 refs=0 mcu_temp=22.75 supply_voltage=3.068 sysload=1.34 cputime=12.987 memavail=365560 print_time=149.395 buffer_time=0.000 print_stall=0 extruder: target=220 temp=159.4 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 142.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4628 bytes_read=20315 bytes_retransmit=9 bytes_invalid=0 send_seq=431 receive_seq=431 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999681 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1516 bytes_read=6714 bytes_retransmit=0 bytes_invalid=0 send_seq=224 receive_seq=224 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999635 adj=50000196 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2276 bytes_read=17291 bytes_retransmit=9 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999499 adj=63999810 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2138 bytes_read=17135 bytes_retransmit=9 bytes_invalid=0 send_seq=266 receive_seq=266 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999814 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=26.0 EBB42_v1.2_T1: temp=25.8 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1010 bytes_read=40872 bytes_retransmit=0 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000057 coil_temp=22.1 refs=0 mcu_temp=22.75 supply_voltage=3.068 sysload=1.34 cputime=13.007 memavail=367264 print_time=150.396 buffer_time=0.000 print_stall=0 extruder: target=220 temp=163.2 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 143.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4634 bytes_read=20461 bytes_retransmit=9 bytes_invalid=0 send_seq=432 receive_seq=432 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999676 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1522 bytes_read=6730 bytes_retransmit=0 bytes_invalid=0 send_seq=225 receive_seq=225 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999640 adj=50000155 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2298 bytes_read=17399 bytes_retransmit=9 bytes_invalid=0 send_seq=278 receive_seq=278 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63999868 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2144 bytes_read=17235 bytes_retransmit=9 bytes_invalid=0 send_seq=267 receive_seq=267 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999746 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=26.0 EBB42_v1.2_T1: temp=25.9 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1016 bytes_read=41228 bytes_retransmit=0 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000029 coil_temp=22.1 refs=0 mcu_temp=22.75 supply_voltage=3.068 sysload=1.34 cputime=13.027 memavail=375172 print_time=151.397 buffer_time=0.000 print_stall=0 extruder: target=220 temp=167.0 pwm=1.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 144.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4640 bytes_read=20564 bytes_retransmit=9 bytes_invalid=0 send_seq=433 receive_seq=433 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999671 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000014 bytes_write=1528 bytes_read=6759 bytes_retransmit=0 bytes_invalid=0 send_seq=226 receive_seq=226 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999645 adj=50000140 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2304 bytes_read=17531 bytes_retransmit=9 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999491 adj=63999777 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2150 bytes_read=17363 bytes_retransmit=9 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999762 Octopus_V1.1_F446: temp=25.8 EBB42_v1.2_T0: temp=26.2 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1022 bytes_read=41584 bytes_retransmit=0 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000037 coil_temp=22.1 refs=0 mcu_temp=22.76 supply_voltage=3.068 sysload=1.34 cputime=13.053 memavail=374416 print_time=152.398 buffer_time=0.000 print_stall=0 extruder: target=220 temp=172.4 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 145.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4646 bytes_read=20667 bytes_retransmit=9 bytes_invalid=0 send_seq=434 receive_seq=434 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999668 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000014 bytes_write=1534 bytes_read=6775 bytes_retransmit=0 bytes_invalid=0 send_seq=227 receive_seq=227 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999652 adj=50000137 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2310 bytes_read=17634 bytes_retransmit=9 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999488 adj=63999706 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2156 bytes_read=17463 bytes_retransmit=9 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999823 Octopus_V1.1_F446: temp=25.8 EBB42_v1.2_T0: temp=26.2 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=38.0 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1028 bytes_read=41940 bytes_retransmit=0 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=32000043 coil_temp=22.1 refs=0 mcu_temp=22.75 supply_voltage=3.068 sysload=1.31 cputime=13.077 memavail=371396 print_time=153.398 buffer_time=0.000 print_stall=0 extruder: target=220 temp=176.4 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 146.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4652 bytes_read=20799 bytes_retransmit=9 bytes_invalid=0 send_seq=435 receive_seq=435 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999667 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000014 bytes_write=1540 bytes_read=6791 bytes_retransmit=0 bytes_invalid=0 send_seq=228 receive_seq=228 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999658 adj=50000136 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2316 bytes_read=17737 bytes_retransmit=9 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999486 adj=63999652 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2162 bytes_read=17563 bytes_retransmit=9 bytes_invalid=0 send_seq=270 receive_seq=270 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999815 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=26.2 EBB42_v1.2_T1: temp=25.9 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1034 bytes_read=42296 bytes_retransmit=0 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=32000033 coil_temp=22.1 refs=0 mcu_temp=22.76 supply_voltage=3.068 sysload=1.31 cputime=13.097 memavail=371396 print_time=154.398 buffer_time=0.000 print_stall=0 extruder: target=220 temp=180.1 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 147.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4658 bytes_read=20902 bytes_retransmit=9 bytes_invalid=0 send_seq=436 receive_seq=436 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999664 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000014 bytes_write=1546 bytes_read=6807 bytes_retransmit=0 bytes_invalid=0 send_seq=229 receive_seq=229 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999665 adj=50000140 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2322 bytes_read=17883 bytes_retransmit=9 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=11 upcoming_bytes=0 freq=63999483 adj=63999609 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2168 bytes_read=17705 bytes_retransmit=9 bytes_invalid=0 send_seq=271 receive_seq=271 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999896 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=26.2 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1040 bytes_read=42652 bytes_retransmit=0 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=32000131 coil_temp=22.2 refs=0 mcu_temp=22.76 supply_voltage=3.068 sysload=1.31 cputime=13.117 memavail=373096 print_time=155.398 buffer_time=0.000 print_stall=0 extruder: target=220 temp=185.3 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 148.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4664 bytes_read=21019 bytes_retransmit=9 bytes_invalid=0 send_seq=437 receive_seq=437 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999677 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000014 bytes_write=1552 bytes_read=6823 bytes_retransmit=0 bytes_invalid=0 send_seq=230 receive_seq=230 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999677 adj=50000155 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2344 bytes_read=17991 bytes_retransmit=9 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999481 adj=63999588 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2174 bytes_read=17805 bytes_retransmit=9 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999853 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=26.3 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1046 bytes_read=43008 bytes_retransmit=0 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=32000103 coil_temp=22.2 refs=0 mcu_temp=22.74 supply_voltage=3.068 sysload=1.31 cputime=13.136 memavail=373160 print_time=156.399 buffer_time=0.000 print_stall=0 extruder: target=220 temp=188.9 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 149.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4670 bytes_read=21151 bytes_retransmit=9 bytes_invalid=0 send_seq=438 receive_seq=438 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999679 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1558 bytes_read=6852 bytes_retransmit=0 bytes_invalid=0 send_seq=231 receive_seq=231 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999685 adj=50000178 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2398 bytes_read=18109 bytes_retransmit=9 bytes_invalid=0 send_seq=288 receive_seq=288 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999479 adj=63999485 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2180 bytes_read=17905 bytes_retransmit=9 bytes_invalid=0 send_seq=273 receive_seq=273 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999759 Octopus_V1.1_F446: temp=25.8 EBB42_v1.2_T0: temp=26.3 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1052 bytes_read=43364 bytes_retransmit=0 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=32000050 coil_temp=22.2 refs=0 mcu_temp=22.76 supply_voltage=3.068 sysload=1.31 cputime=13.164 memavail=369124 print_time=157.399 buffer_time=0.000 print_stall=0 extruder: target=220 temp=192.2 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 150.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4676 bytes_read=21254 bytes_retransmit=9 bytes_invalid=0 send_seq=439 receive_seq=439 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999681 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1564 bytes_read=6868 bytes_retransmit=0 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999705 adj=50000189 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2420 bytes_read=18246 bytes_retransmit=9 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999479 adj=63999480 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2186 bytes_read=18033 bytes_retransmit=9 bytes_invalid=0 send_seq=274 receive_seq=274 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999722 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=26.3 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1058 bytes_read=43720 bytes_retransmit=0 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=32000021 coil_temp=22.2 refs=0 mcu_temp=22.77 supply_voltage=3.068 sysload=1.21 cputime=13.204 memavail=369992 print_time=158.400 buffer_time=0.000 print_stall=0 extruder: target=220 temp=196.4 pwm=0.825 extruder1: target=0 temp=21.9 pwm=0.000
Stats 151.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4682 bytes_read=21357 bytes_retransmit=9 bytes_invalid=0 send_seq=440 receive_seq=440 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999683 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1570 bytes_read=6884 bytes_retransmit=0 bytes_invalid=0 send_seq=233 receive_seq=233 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999717 adj=50000377 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2458 bytes_read=18359 bytes_retransmit=9 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999481 adj=63999506 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2192 bytes_read=18133 bytes_retransmit=9 bytes_invalid=0 send_seq=275 receive_seq=275 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999740 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=26.2 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1064 bytes_read=44076 bytes_retransmit=0 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=32000030 coil_temp=22.2 refs=0 mcu_temp=22.78 supply_voltage=3.068 sysload=1.21 cputime=13.247 memavail=370000 print_time=159.400 buffer_time=0.000 print_stall=0 extruder: target=220 temp=199.4 pwm=0.751 extruder1: target=0 temp=22.0 pwm=0.000
Stats 152.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4688 bytes_read=21489 bytes_retransmit=9 bytes_invalid=0 send_seq=441 receive_seq=441 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999684 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1576 bytes_read=6900 bytes_retransmit=0 bytes_invalid=0 send_seq=234 receive_seq=234 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999732 adj=50000404 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2507 bytes_read=18486 bytes_retransmit=9 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999486 adj=63999539 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2198 bytes_read=18247 bytes_retransmit=9 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999739 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=26.3 EBB42_v1.2_T1: temp=25.9 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1070 bytes_read=44432 bytes_retransmit=0 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=32000028 coil_temp=22.2 refs=0 mcu_temp=22.78 supply_voltage=3.068 sysload=1.21 cputime=13.295 memavail=370000 print_time=160.402 buffer_time=0.000 print_stall=0 extruder: target=220 temp=201.8 pwm=0.822 extruder1: target=0 temp=21.9 pwm=0.000
Stats 153.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4694 bytes_read=21606 bytes_retransmit=9 bytes_invalid=0 send_seq=442 receive_seq=442 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999685 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1582 bytes_read=6916 bytes_retransmit=0 bytes_invalid=0 send_seq=235 receive_seq=235 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999745 adj=50000467 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2561 bytes_read=18633 bytes_retransmit=9 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=11 upcoming_bytes=0 freq=63999486 adj=63999619 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2204 bytes_read=18375 bytes_retransmit=9 bytes_invalid=0 send_seq=277 receive_seq=277 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999803 Octopus_V1.1_F446: temp=25.8 EBB42_v1.2_T0: temp=26.2 EBB42_v1.2_T1: temp=25.9 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1076 bytes_read=44788 bytes_retransmit=0 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=32000023 coil_temp=22.2 refs=0 mcu_temp=22.79 supply_voltage=3.068 sysload=1.21 cputime=13.343 memavail=370000 print_time=161.402 buffer_time=0.000 print_stall=0 extruder: target=220 temp=204.4 pwm=0.946 extruder1: target=0 temp=22.0 pwm=0.000
Stats 154.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4700 bytes_read=21709 bytes_retransmit=9 bytes_invalid=0 send_seq=443 receive_seq=443 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999691 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000031 bytes_write=1588 bytes_read=6945 bytes_retransmit=0 bytes_invalid=0 send_seq=236 receive_seq=236 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999756 adj=50000495 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2615 bytes_read=18751 bytes_retransmit=9 bytes_invalid=0 send_seq=304 receive_seq=304 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999502 adj=63999613 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2210 bytes_read=18475 bytes_retransmit=9 bytes_invalid=0 send_seq=278 receive_seq=278 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999809 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=26.5 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1082 bytes_read=45144 bytes_retransmit=0 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=32000020 coil_temp=22.2 refs=0 mcu_temp=22.80 supply_voltage=3.068 sysload=1.21 cputime=13.389 memavail=370000 print_time=162.402 buffer_time=0.000 print_stall=0 extruder: target=220 temp=207.0 pwm=0.547 extruder1: target=0 temp=21.9 pwm=0.000
Stats 155.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4706 bytes_read=21841 bytes_retransmit=9 bytes_invalid=0 send_seq=444 receive_seq=444 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999695 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000031 bytes_write=1594 bytes_read=6961 bytes_retransmit=0 bytes_invalid=0 send_seq=237 receive_seq=237 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999792 adj=50000460 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2637 bytes_read=18859 bytes_retransmit=9 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999501 adj=63999805 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2216 bytes_read=18575 bytes_retransmit=9 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999767 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=26.4 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1088 bytes_read=45500 bytes_retransmit=0 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=32000010 coil_temp=22.2 refs=0 mcu_temp=22.82 supply_voltage=3.068 sysload=1.11 cputime=13.434 memavail=370008 print_time=163.403 buffer_time=0.000 print_stall=0 extruder: target=220 temp=208.7 pwm=0.737 extruder1: target=0 temp=22.0 pwm=0.000
Stats 156.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4712 bytes_read=21944 bytes_retransmit=9 bytes_invalid=0 send_seq=445 receive_seq=445 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999695 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000031 bytes_write=1600 bytes_read=6977 bytes_retransmit=0 bytes_invalid=0 send_seq=238 receive_seq=238 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999819 adj=50000833 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2691 bytes_read=19006 bytes_retransmit=9 bytes_invalid=0 send_seq=310 receive_seq=310 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999499 adj=63999725 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2222 bytes_read=18703 bytes_retransmit=9 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999754 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=26.6 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1094 bytes_read=45856 bytes_retransmit=0 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=32000026 coil_temp=22.3 refs=0 mcu_temp=22.83 supply_voltage=3.068 sysload=1.11 cputime=13.478 memavail=370008 print_time=164.405 buffer_time=0.000 print_stall=0 extruder: target=220 temp=210.7 pwm=0.696 extruder1: target=0 temp=22.0 pwm=0.000
Stats 157.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4718 bytes_read=22061 bytes_retransmit=9 bytes_invalid=0 send_seq=446 receive_seq=446 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999694 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000031 bytes_write=1606 bytes_read=6993 bytes_retransmit=0 bytes_invalid=0 send_seq=239 receive_seq=239 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999822 adj=50000992 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2729 bytes_read=19133 bytes_retransmit=9 bytes_invalid=0 send_seq=313 receive_seq=313 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999497 adj=63999668 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2228 bytes_read=18817 bytes_retransmit=9 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999797 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=26.5 EBB42_v1.2_T1: temp=25.9 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1100 bytes_read=46212 bytes_retransmit=0 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000037 coil_temp=22.3 refs=0 mcu_temp=22.83 supply_voltage=3.068 sysload=1.11 cputime=13.521 memavail=370012 print_time=165.404 buffer_time=0.000 print_stall=0 extruder: target=220 temp=212.4 pwm=0.580 extruder1: target=0 temp=21.8 pwm=0.000
Stats 158.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4724 bytes_read=22191 bytes_retransmit=9 bytes_invalid=0 send_seq=447 receive_seq=447 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999696 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000031 bytes_write=1612 bytes_read=7009 bytes_retransmit=0 bytes_invalid=0 send_seq=240 receive_seq=240 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999832 adj=50000770 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2751 bytes_read=19241 bytes_retransmit=9 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63999622 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2234 bytes_read=18917 bytes_retransmit=9 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999786 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1106 bytes_read=46568 bytes_retransmit=0 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000054 coil_temp=22.3 refs=0 mcu_temp=22.83 supply_voltage=3.068 sysload=1.11 cputime=13.565 memavail=370012 print_time=166.405 buffer_time=0.000 print_stall=0 extruder: target=220 temp=214.2 pwm=0.279 extruder1: target=0 temp=22.0 pwm=0.000
Stats 159.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4730 bytes_read=22287 bytes_retransmit=9 bytes_invalid=0 send_seq=448 receive_seq=448 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999705 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1618 bytes_read=7038 bytes_retransmit=0 bytes_invalid=0 send_seq=241 receive_seq=241 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999848 adj=50000705 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2799 bytes_read=19383 bytes_retransmit=9 bytes_invalid=0 send_seq=318 receive_seq=318 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=11 upcoming_bytes=0 freq=63999496 adj=63999587 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2240 bytes_read=19045 bytes_retransmit=9 bytes_invalid=0 send_seq=283 receive_seq=283 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999781 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1112 bytes_read=46924 bytes_retransmit=0 bytes_invalid=0 send_seq=184 receive_seq=184 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000034 coil_temp=22.3 refs=0 mcu_temp=22.84 supply_voltage=3.068 sysload=1.11 cputime=13.612 memavail=370012 print_time=167.406 buffer_time=0.000 print_stall=0 extruder: target=220 temp=215.4 pwm=0.775 extruder1: target=0 temp=21.9 pwm=0.000
Stats 160.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4736 bytes_read=22402 bytes_retransmit=9 bytes_invalid=0 send_seq=449 receive_seq=449 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999720 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1624 bytes_read=7054 bytes_retransmit=0 bytes_invalid=0 send_seq=242 receive_seq=242 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999854 adj=50000703 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2837 bytes_read=19496 bytes_retransmit=9 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63999555 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2246 bytes_read=19145 bytes_retransmit=9 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999744 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=26.6 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1118 bytes_read=47280 bytes_retransmit=0 bytes_invalid=0 send_seq=185 receive_seq=185 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000124 coil_temp=22.3 refs=0 mcu_temp=22.84 supply_voltage=3.068 sysload=1.02 cputime=13.654 memavail=370012 print_time=168.407 buffer_time=0.000 print_stall=0 extruder: target=220 temp=215.6 pwm=1.000 extruder1: target=0 temp=22.1 pwm=0.000
Heater extruder within range of 220.000
Stats 161.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4742 bytes_read=22520 bytes_retransmit=9 bytes_invalid=0 send_seq=450 receive_seq=450 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999723 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1630 bytes_read=7070 bytes_retransmit=0 bytes_invalid=0 send_seq=243 receive_seq=243 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999903 adj=50000543 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2891 bytes_read=19614 bytes_retransmit=9 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999494 adj=63999468 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2252 bytes_read=19245 bytes_retransmit=9 bytes_invalid=0 send_seq=285 receive_seq=285 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999671 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1124 bytes_read=47636 bytes_retransmit=0 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=32000106 coil_temp=22.3 refs=0 mcu_temp=22.84 supply_voltage=3.068 sysload=1.02 cputime=13.698 memavail=370012 print_time=169.408 buffer_time=0.000 print_stall=0 extruder: target=220 temp=217.2 pwm=0.249 extruder1: target=0 temp=22.0 pwm=0.000
Stats 162.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4748 bytes_read=22623 bytes_retransmit=9 bytes_invalid=0 send_seq=451 receive_seq=451 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999724 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1636 bytes_read=7086 bytes_retransmit=0 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999909 adj=50001111 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2910 bytes_read=19765 bytes_retransmit=9 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999493 adj=63999470 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2258 bytes_read=19387 bytes_retransmit=9 bytes_invalid=0 send_seq=286 receive_seq=286 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999669 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1130 bytes_read=47992 bytes_retransmit=0 bytes_invalid=0 send_seq=187 receive_seq=187 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000075 coil_temp=22.3 refs=0 mcu_temp=22.84 supply_voltage=3.068 sysload=1.02 cputime=13.742 memavail=370012 print_time=170.408 buffer_time=0.000 print_stall=0 extruder: target=220 temp=220.2 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 163.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4754 bytes_read=22754 bytes_retransmit=9 bytes_invalid=0 send_seq=452 receive_seq=452 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999726 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1642 bytes_read=7102 bytes_retransmit=0 bytes_invalid=0 send_seq=245 receive_seq=245 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999925 adj=50000917 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2948 bytes_read=19878 bytes_retransmit=9 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999493 adj=63999484 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2264 bytes_read=19487 bytes_retransmit=9 bytes_invalid=0 send_seq=287 receive_seq=287 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999681 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=26.6 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1136 bytes_read=48348 bytes_retransmit=0 bytes_invalid=0 send_seq=188 receive_seq=188 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000047 coil_temp=22.4 refs=0 mcu_temp=22.86 supply_voltage=3.068 sysload=1.02 cputime=13.785 memavail=370012 print_time=171.408 buffer_time=0.000 print_stall=0 extruder: target=220 temp=219.4 pwm=0.961 extruder1: target=0 temp=21.9 pwm=0.000
Stats 164.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4766 bytes_read=22888 bytes_retransmit=9 bytes_invalid=0 send_seq=454 receive_seq=454 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999743 rpi: mcu_awake=0.001 mcu_task_avg=0.000026 mcu_task_stddev=0.000033 bytes_write=1654 bytes_read=7147 bytes_retransmit=0 bytes_invalid=0 send_seq=247 receive_seq=247 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999952 adj=50000920 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2960 bytes_read=19997 bytes_retransmit=9 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999502 adj=63999504 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2276 bytes_read=19603 bytes_retransmit=9 bytes_invalid=0 send_seq=289 receive_seq=289 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999653 adj=63999702 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1148 bytes_read=48720 bytes_retransmit=0 bytes_invalid=0 send_seq=190 receive_seq=190 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=32000034 coil_temp=22.4 refs=0 mcu_temp=22.86 supply_voltage=3.068 sysload=1.02 cputime=13.830 memavail=369548 print_time=172.408 buffer_time=0.000 print_stall=0 extruder: target=220 temp=218.1 pwm=0.961 extruder1: target=0 temp=22.0 pwm=0.000
Stats 165.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4772 bytes_read=22991 bytes_retransmit=9 bytes_invalid=0 send_seq=455 receive_seq=455 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999741 rpi: mcu_awake=0.001 mcu_task_avg=0.000026 mcu_task_stddev=0.000033 bytes_write=1660 bytes_read=7163 bytes_retransmit=0 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999965 adj=50001013 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=3005 bytes_read=20139 bytes_retransmit=9 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999501 adj=63999567 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2282 bytes_read=19731 bytes_retransmit=9 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999771 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1154 bytes_read=49076 bytes_retransmit=0 bytes_invalid=0 send_seq=191 receive_seq=191 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000003 coil_temp=22.4 refs=0 mcu_temp=22.86 supply_voltage=3.068 sysload=0.94 cputime=13.872 memavail=369548 print_time=173.410 buffer_time=0.000 print_stall=0 extruder: target=220 temp=221.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
RatOS | TEMPERATURE_WAIT:: Temperature for toolhead T0 reached.
Stats 166.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4778 bytes_read=23108 bytes_retransmit=9 bytes_invalid=0 send_seq=456 receive_seq=456 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999742 rpi: mcu_awake=0.001 mcu_task_avg=0.000026 mcu_task_stddev=0.000033 bytes_write=1666 bytes_read=7179 bytes_retransmit=0 bytes_invalid=0 send_seq=249 receive_seq=249 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999966 adj=50000970 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=3027 bytes_read=20272 bytes_retransmit=9 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999500 adj=63999561 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2288 bytes_read=19831 bytes_retransmit=9 bytes_invalid=0 send_seq=291 receive_seq=291 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999762 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=26.7 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1160 bytes_read=49416 bytes_retransmit=0 bytes_invalid=0 send_seq=192 receive_seq=192 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=31999999 coil_temp=22.4 refs=0 mcu_temp=22.86 supply_voltage=3.068 sysload=0.94 cputime=13.920 memavail=369768 print_time=177.414 buffer_time=2.661 print_stall=0 extruder: target=220 temp=222.7 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
TMC 'extruder' reports GSTAT: 00000001 reset=1(Reset)
TMC 'extruder' reports GSTAT: 00000000
Stats 167.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4784 bytes_read=23226 bytes_retransmit=9 bytes_invalid=0 send_seq=457 receive_seq=457 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999744 rpi: mcu_awake=0.001 mcu_task_avg=0.000026 mcu_task_stddev=0.000033 bytes_write=1672 bytes_read=7195 bytes_retransmit=0 bytes_invalid=0 send_seq=250 receive_seq=250 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999968 adj=50000088 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=4498 bytes_read=20954 bytes_retransmit=9 bytes_invalid=0 send_seq=382 receive_seq=382 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999499 adj=63999579 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2294 bytes_read=19945 bytes_retransmit=9 bytes_invalid=0 send_seq=292 receive_seq=292 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999737 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=26.7 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1166 bytes_read=49772 bytes_retransmit=0 bytes_invalid=0 send_seq=193 receive_seq=193 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000022 coil_temp=22.4 refs=0 mcu_temp=22.88 supply_voltage=3.068 sysload=0.94 cputime=14.026 memavail=369820 print_time=182.675 buffer_time=6.921 print_stall=0 extruder: target=220 temp=221.6 pwm=0.769 extruder1: target=0 temp=22.0 pwm=0.000
Stats 168.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4790 bytes_read=23343 bytes_retransmit=9 bytes_invalid=0 send_seq=458 receive_seq=458 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999744 rpi: mcu_awake=0.001 mcu_task_avg=0.000026 mcu_task_stddev=0.000033 bytes_write=1678 bytes_read=7211 bytes_retransmit=0 bytes_invalid=0 send_seq=251 receive_seq=251 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999973 adj=50000051 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=4548 bytes_read=21137 bytes_retransmit=9 bytes_invalid=0 send_seq=386 receive_seq=386 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=11 upcoming_bytes=0 freq=63999497 adj=63999582 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2300 bytes_read=20073 bytes_retransmit=9 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999650 adj=63999737 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=26.9 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1172 bytes_read=50128 bytes_retransmit=0 bytes_invalid=0 send_seq=194 receive_seq=194 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000021 coil_temp=22.4 refs=0 mcu_temp=22.88 supply_voltage=3.068 sysload=0.94 cputime=14.073 memavail=369820 print_time=182.675 buffer_time=5.920 print_stall=0 extruder: target=220 temp=220.8 pwm=0.823 extruder1: target=0 temp=21.9 pwm=0.000
Stats 169.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4796 bytes_read=23460 bytes_retransmit=9 bytes_invalid=0 send_seq=459 receive_seq=459 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999749 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000024 bytes_write=1684 bytes_read=7240 bytes_retransmit=0 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999971 adj=50000071 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=4634 bytes_read=21316 bytes_retransmit=9 bytes_invalid=0 send_seq=393 receive_seq=393 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999498 adj=63999573 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2306 bytes_read=20173 bytes_retransmit=9 bytes_invalid=0 send_seq=294 receive_seq=294 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999654 adj=63999733 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=26.9 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1178 bytes_read=50484 bytes_retransmit=0 bytes_invalid=0 send_seq=195 receive_seq=195 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000021 coil_temp=22.5 refs=0 mcu_temp=22.90 supply_voltage=3.068 sysload=0.94 cputime=14.122 memavail=369820 print_time=182.675 buffer_time=4.920 print_stall=0 extruder: target=220 temp=223.3 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 170.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4802 bytes_read=23578 bytes_retransmit=9 bytes_invalid=0 send_seq=460 receive_seq=460 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999748 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000024 bytes_write=1690 bytes_read=7256 bytes_retransmit=0 bytes_invalid=0 send_seq=253 receive_seq=253 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999972 adj=50000059 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=4692 bytes_read=21510 bytes_retransmit=9 bytes_invalid=0 send_seq=399 receive_seq=399 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999501 adj=63999570 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2312 bytes_read=20273 bytes_retransmit=9 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999654 adj=63999741 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=27.0 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1184 bytes_read=50840 bytes_retransmit=0 bytes_invalid=0 send_seq=196 receive_seq=196 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000014 coil_temp=22.5 refs=0 mcu_temp=22.91 supply_voltage=3.068 sysload=0.86 cputime=14.174 memavail=369820 print_time=182.675 buffer_time=3.920 print_stall=0 extruder: target=220 temp=224.4 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 171.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4808 bytes_read=23681 bytes_retransmit=9 bytes_invalid=0 send_seq=461 receive_seq=461 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999748 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000024 bytes_write=1696 bytes_read=7272 bytes_retransmit=0 bytes_invalid=0 send_seq=254 receive_seq=254 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000012 adj=50000064 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=4792 bytes_read=21743 bytes_retransmit=9 bytes_invalid=0 send_seq=407 receive_seq=407 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999500 adj=63999586 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2318 bytes_read=20401 bytes_retransmit=9 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999653 adj=63999742 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=27.2 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1190 bytes_read=51196 bytes_retransmit=0 bytes_invalid=0 send_seq=197 receive_seq=197 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000012 coil_temp=22.5 refs=0 mcu_temp=22.92 supply_voltage=3.068 sysload=0.86 cputime=14.226 memavail=369820 print_time=182.675 buffer_time=2.919 print_stall=0 extruder: target=220 temp=222.3 pwm=0.997 extruder1: target=0 temp=22.0 pwm=0.000
Stats 172.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4814 bytes_read=23798 bytes_retransmit=9 bytes_invalid=0 send_seq=462 receive_seq=462 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999751 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000024 bytes_write=1702 bytes_read=7288 bytes_retransmit=0 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000055 adj=50000238 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000021 mcu_task_stddev=0.000021 bytes_write=5220 bytes_read=21942 bytes_retransmit=9 bytes_invalid=0 send_seq=417 receive_seq=417 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=35 upcoming_bytes=0 freq=63999502 adj=63999580 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2324 bytes_read=20515 bytes_retransmit=9 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999658 adj=63999741 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.0 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1196 bytes_read=51552 bytes_retransmit=0 bytes_invalid=0 send_seq=198 receive_seq=198 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000011 coil_temp=22.5 refs=0 mcu_temp=22.92 supply_voltage=3.068 sysload=0.86 cputime=14.283 memavail=369820 print_time=182.852 buffer_time=2.096 print_stall=0 extruder: target=220 temp=222.4 pwm=0.690 extruder1: target=0 temp=22.0 pwm=0.000
Extruder extruder already active
RatOS | TEMPERATURE_WAIT:: Waiting for sensor: extruder, MINIMUM: 220
RatOS:: please wait...
RatOS | TEMPERATURE_WAIT:: Temperature for toolhead T0 reached.
Stats 173.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4820 bytes_read=23930 bytes_retransmit=9 bytes_invalid=0 send_seq=463 receive_seq=463 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999746 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000024 bytes_write=1708 bytes_read=7304 bytes_retransmit=0 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000046 adj=50000426 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000021 mcu_task_stddev=0.000021 bytes_write=7153 bytes_read=22246 bytes_retransmit=9 bytes_invalid=0 send_seq=451 receive_seq=451 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999499 adj=63999588 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2330 bytes_read=20615 bytes_retransmit=9 bytes_invalid=0 send_seq=298 receive_seq=298 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999756 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.0 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1202 bytes_read=51908 bytes_retransmit=0 bytes_invalid=0 send_seq=199 receive_seq=199 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000007 coil_temp=22.5 refs=0 mcu_temp=22.94 supply_voltage=3.068 sysload=0.86 cputime=14.542 memavail=365692 print_time=213.196 buffer_time=31.439 print_stall=0 extruder: target=220 temp=225.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 174.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4826 bytes_read=24033 bytes_retransmit=9 bytes_invalid=0 send_seq=464 receive_seq=464 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999743 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000022 bytes_write=1714 bytes_read=7333 bytes_retransmit=0 bytes_invalid=0 send_seq=257 receive_seq=257 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000038 adj=50000057 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000021 mcu_task_stddev=0.000021 bytes_write=7187 bytes_read=22424 bytes_retransmit=9 bytes_invalid=0 send_seq=454 receive_seq=454 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999497 adj=63999587 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2336 bytes_read=20743 bytes_retransmit=9 bytes_invalid=0 send_seq=299 receive_seq=299 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999742 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=26.9 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1208 bytes_read=52264 bytes_retransmit=0 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000025 coil_temp=22.5 refs=0 mcu_temp=22.95 supply_voltage=3.068 sysload=0.86 cputime=14.564 memavail=370916 print_time=213.196 buffer_time=30.438 print_stall=0 extruder: target=220 temp=225.8 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 175.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4832 bytes_read=24165 bytes_retransmit=9 bytes_invalid=0 send_seq=465 receive_seq=465 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999738 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000022 bytes_write=1720 bytes_read=7349 bytes_retransmit=0 bytes_invalid=0 send_seq=258 receive_seq=258 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000035 adj=50000043 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000021 mcu_task_stddev=0.000021 bytes_write=7269 bytes_read=22588 bytes_retransmit=9 bytes_invalid=0 send_seq=460 receive_seq=460 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999494 adj=63999585 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2342 bytes_read=20843 bytes_retransmit=9 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999738 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.1 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1214 bytes_read=52620 bytes_retransmit=0 bytes_invalid=0 send_seq=201 receive_seq=201 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000024 coil_temp=22.6 refs=0 mcu_temp=22.96 supply_voltage=3.068 sysload=0.79 cputime=14.587 memavail=370920 print_time=213.196 buffer_time=29.438 print_stall=0 extruder: target=220 temp=223.8 pwm=1.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 176.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4838 bytes_read=24268 bytes_retransmit=9 bytes_invalid=0 send_seq=466 receive_seq=466 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999732 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000022 bytes_write=1726 bytes_read=7365 bytes_retransmit=0 bytes_invalid=0 send_seq=259 receive_seq=259 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000027 adj=50000039 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000021 mcu_task_stddev=0.000021 bytes_write=7330 bytes_read=22742 bytes_retransmit=9 bytes_invalid=0 send_seq=464 receive_seq=464 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999493 adj=63999583 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2348 bytes_read=20943 bytes_retransmit=9 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999741 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.3 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1220 bytes_read=52976 bytes_retransmit=0 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000027 coil_temp=22.6 refs=0 mcu_temp=22.97 supply_voltage=3.068 sysload=0.79 cputime=14.609 memavail=374620 print_time=213.196 buffer_time=28.438 print_stall=0 extruder: target=220 temp=224.1 pwm=0.408 extruder1: target=0 temp=22.0 pwm=0.000
Stats 177.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4844 bytes_read=24371 bytes_retransmit=9 bytes_invalid=0 send_seq=467 receive_seq=467 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999730 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000022 bytes_write=1732 bytes_read=7381 bytes_retransmit=0 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000025 adj=50000026 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000027 mcu_task_stddev=0.000031 bytes_write=7392 bytes_read=22945 bytes_retransmit=9 bytes_invalid=0 send_seq=469 receive_seq=469 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999490 adj=63999585 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2354 bytes_read=21085 bytes_retransmit=9 bytes_invalid=0 send_seq=302 receive_seq=302 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999647 adj=63999740 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.2 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1226 bytes_read=53332 bytes_retransmit=0 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=32000028 coil_temp=22.6 refs=0 mcu_temp=22.98 supply_voltage=3.068 sysload=0.79 cputime=14.632 memavail=374700 print_time=213.196 buffer_time=27.437 print_stall=0 extruder: target=220 temp=226.4 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 178.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4850 bytes_read=24517 bytes_retransmit=9 bytes_invalid=0 send_seq=468 receive_seq=468 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999735 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000022 bytes_write=1738 bytes_read=7396 bytes_retransmit=0 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000030 adj=50000023 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000027 mcu_task_stddev=0.000031 bytes_write=7426 bytes_read=23094 bytes_retransmit=9 bytes_invalid=0 send_seq=472 receive_seq=472 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999490 adj=63999581 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2360 bytes_read=21185 bytes_retransmit=9 bytes_invalid=0 send_seq=303 receive_seq=303 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999736 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=27.3 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1232 bytes_read=53688 bytes_retransmit=0 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000032 coil_temp=22.6 refs=0 mcu_temp=22.99 supply_voltage=3.068 sysload=0.79 cputime=14.674 memavail=374704 print_time=213.196 buffer_time=26.437 print_stall=0 extruder: target=220 temp=226.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 179.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4856 bytes_read=24620 bytes_retransmit=9 bytes_invalid=0 send_seq=469 receive_seq=469 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999741 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000042 bytes_write=1744 bytes_read=7424 bytes_retransmit=0 bytes_invalid=0 send_seq=262 receive_seq=262 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000040 adj=50000030 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000027 mcu_task_stddev=0.000031 bytes_write=7487 bytes_read=23248 bytes_retransmit=9 bytes_invalid=0 send_seq=476 receive_seq=476 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999491 adj=63999576 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2366 bytes_read=21285 bytes_retransmit=9 bytes_invalid=0 send_seq=304 receive_seq=304 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999732 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.3 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1238 bytes_read=54044 bytes_retransmit=0 bytes_invalid=0 send_seq=205 receive_seq=205 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000033 coil_temp=22.6 refs=0 mcu_temp=23.01 supply_voltage=3.068 sysload=0.79 cputime=14.721 memavail=374228 print_time=213.196 buffer_time=25.436 print_stall=0 extruder: target=220 temp=224.5 pwm=0.800 extruder1: target=0 temp=22.0 pwm=0.000
Stats 180.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4862 bytes_read=24723 bytes_retransmit=9 bytes_invalid=0 send_seq=470 receive_seq=470 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999744 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000042 bytes_write=1750 bytes_read=7439 bytes_retransmit=0 bytes_invalid=0 send_seq=263 receive_seq=263 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000050 adj=50000046 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000027 mcu_task_stddev=0.000031 bytes_write=7583 bytes_read=23441 bytes_retransmit=9 bytes_invalid=0 send_seq=483 receive_seq=482 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999490 adj=63999574 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2372 bytes_read=21413 bytes_retransmit=9 bytes_invalid=0 send_seq=305 receive_seq=305 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999647 adj=63999730 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.4 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1244 bytes_read=54400 bytes_retransmit=0 bytes_invalid=0 send_seq=206 receive_seq=206 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000030 coil_temp=22.6 refs=0 mcu_temp=23.03 supply_voltage=3.068 sysload=0.73 cputime=14.772 memavail=374228 print_time=213.196 buffer_time=24.436 print_stall=0 extruder: target=220 temp=224.6 pwm=0.149 extruder1: target=0 temp=22.0 pwm=0.000
Stats 181.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4868 bytes_read=24855 bytes_retransmit=9 bytes_invalid=0 send_seq=471 receive_seq=471 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999746 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000042 bytes_write=1756 bytes_read=7454 bytes_retransmit=0 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000053 adj=50000064 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000027 mcu_task_stddev=0.000031 bytes_write=7630 bytes_read=23600 bytes_retransmit=9 bytes_invalid=0 send_seq=487 receive_seq=487 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999489 adj=63999570 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2378 bytes_read=21513 bytes_retransmit=9 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999726 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.5 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1250 bytes_read=54756 bytes_retransmit=0 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=32000029 coil_temp=22.7 refs=0 mcu_temp=23.04 supply_voltage=3.068 sysload=0.73 cputime=14.819 memavail=374228 print_time=213.196 buffer_time=23.435 print_stall=0 extruder: target=220 temp=226.7 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 182.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4874 bytes_read=24954 bytes_retransmit=9 bytes_invalid=0 send_seq=472 receive_seq=472 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999749 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000042 bytes_write=1762 bytes_read=7469 bytes_retransmit=0 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000049 adj=50000071 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7664 bytes_read=23763 bytes_retransmit=9 bytes_invalid=0 send_seq=490 receive_seq=490 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999492 adj=63999567 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2384 bytes_read=21627 bytes_retransmit=9 bytes_invalid=0 send_seq=307 receive_seq=307 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999724 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=27.4 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1256 bytes_read=55112 bytes_retransmit=0 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000027 coil_temp=22.7 refs=0 mcu_temp=23.04 supply_voltage=3.068 sysload=0.73 cputime=14.866 memavail=374228 print_time=213.196 buffer_time=22.434 print_stall=0 extruder: target=220 temp=226.5 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Filament Sensor toolhead_filament_sensor_t0: runout event detected, Time 183.25
Stats 183.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4880 bytes_read=25064 bytes_retransmit=9 bytes_invalid=0 send_seq=473 receive_seq=473 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999757 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000042 bytes_write=1768 bytes_read=7484 bytes_retransmit=0 bytes_invalid=0 send_seq=266 receive_seq=266 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000048 adj=50000061 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7765 bytes_read=23971 bytes_retransmit=9 bytes_invalid=0 send_seq=497 receive_seq=497 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999492 adj=63999570 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2390 bytes_read=21755 bytes_retransmit=9 bytes_invalid=0 send_seq=308 receive_seq=308 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999647 adj=63999725 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1262 bytes_read=55468 bytes_retransmit=0 bytes_invalid=0 send_seq=209 receive_seq=209 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000025 coil_temp=22.7 refs=0 mcu_temp=23.04 supply_voltage=3.068 sysload=0.73 cputime=14.918 memavail=367724 print_time=213.196 buffer_time=21.434 print_stall=0 extruder: target=220 temp=224.2 pwm=0.964 extruder1: target=0 temp=21.9 pwm=0.000
Stats 184.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4886 bytes_read=25196 bytes_retransmit=9 bytes_invalid=0 send_seq=474 receive_seq=474 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999761 rpi: mcu_awake=0.001 mcu_task_avg=0.000024 mcu_task_stddev=0.000039 bytes_write=1774 bytes_read=7513 bytes_retransmit=0 bytes_invalid=0 send_seq=267 receive_seq=267 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000054 adj=50000054 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7828 bytes_read=24130 bytes_retransmit=9 bytes_invalid=0 send_seq=502 receive_seq=502 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999492 adj=63999565 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2396 bytes_read=21855 bytes_retransmit=9 bytes_invalid=0 send_seq=309 receive_seq=309 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999647 adj=63999718 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=27.5 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1268 bytes_read=55824 bytes_retransmit=0 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000021 coil_temp=22.7 refs=0 mcu_temp=23.05 supply_voltage=3.068 sysload=0.73 cputime=14.966 memavail=366264 print_time=213.196 buffer_time=20.433 print_stall=0 extruder: target=220 temp=225.3 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 185.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4892 bytes_read=25299 bytes_retransmit=9 bytes_invalid=0 send_seq=475 receive_seq=475 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999763 rpi: mcu_awake=0.001 mcu_task_avg=0.000024 mcu_task_stddev=0.000039 bytes_write=1780 bytes_read=7529 bytes_retransmit=0 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000051 adj=50000063 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7862 bytes_read=24279 bytes_retransmit=9 bytes_invalid=0 send_seq=505 receive_seq=505 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999491 adj=63999562 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2402 bytes_read=21955 bytes_retransmit=9 bytes_invalid=0 send_seq=310 receive_seq=310 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999650 adj=63999715 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=27.5 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1274 bytes_read=56180 bytes_retransmit=0 bytes_invalid=0 send_seq=211 receive_seq=211 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000020 coil_temp=22.7 refs=0 mcu_temp=23.06 supply_voltage=3.068 sysload=0.67 cputime=15.012 memavail=366264 print_time=213.196 buffer_time=19.432 print_stall=0 extruder: target=220 temp=227.6 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 186.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4898 bytes_read=25402 bytes_retransmit=9 bytes_invalid=0 send_seq=476 receive_seq=476 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999767 rpi: mcu_awake=0.001 mcu_task_avg=0.000024 mcu_task_stddev=0.000039 bytes_write=1786 bytes_read=7545 bytes_retransmit=0 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000048 adj=50000056 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7911 bytes_read=24462 bytes_retransmit=9 bytes_invalid=0 send_seq=509 receive_seq=509 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999490 adj=63999559 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2408 bytes_read=22083 bytes_retransmit=9 bytes_invalid=0 send_seq=311 receive_seq=311 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999718 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1280 bytes_read=56536 bytes_retransmit=0 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=32000029 coil_temp=22.7 refs=0 mcu_temp=23.06 supply_voltage=3.068 sysload=0.67 cputime=15.060 memavail=369964 print_time=213.196 buffer_time=18.432 print_stall=0 extruder: target=220 temp=226.5 pwm=0.147 extruder1: target=0 temp=22.0 pwm=0.000
Stats 187.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4904 bytes_read=25534 bytes_retransmit=9 bytes_invalid=0 send_seq=477 receive_seq=477 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999771 rpi: mcu_awake=0.001 mcu_task_avg=0.000024 mcu_task_stddev=0.000039 bytes_write=1792 bytes_read=7561 bytes_retransmit=0 bytes_invalid=0 send_seq=270 receive_seq=270 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000049 adj=50000048 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7993 bytes_read=24641 bytes_retransmit=9 bytes_invalid=0 send_seq=515 receive_seq=515 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999490 adj=63999554 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2414 bytes_read=22197 bytes_retransmit=9 bytes_invalid=0 send_seq=312 receive_seq=312 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999714 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1286 bytes_read=56892 bytes_retransmit=0 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000029 coil_temp=22.7 refs=0 mcu_temp=23.06 supply_voltage=3.068 sysload=0.67 cputime=15.111 memavail=370044 print_time=213.196 buffer_time=17.431 print_stall=0 extruder: target=220 temp=224.8 pwm=0.948 extruder1: target=0 temp=22.0 pwm=0.000
Stats 188.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4910 bytes_read=25651 bytes_retransmit=9 bytes_invalid=0 send_seq=478 receive_seq=478 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999771 rpi: mcu_awake=0.001 mcu_task_avg=0.000024 mcu_task_stddev=0.000039 bytes_write=1798 bytes_read=7577 bytes_retransmit=0 bytes_invalid=0 send_seq=271 receive_seq=271 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000049 adj=50000048 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8070 bytes_read=24800 bytes_retransmit=9 bytes_invalid=0 send_seq=520 receive_seq=520 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999518 adj=63999550 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2420 bytes_read=22297 bytes_retransmit=9 bytes_invalid=0 send_seq=313 receive_seq=313 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999711 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1292 bytes_read=57248 bytes_retransmit=0 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000027 coil_temp=22.7 refs=0 mcu_temp=23.07 supply_voltage=3.068 sysload=0.67 cputime=15.159 memavail=370044 print_time=213.196 buffer_time=16.431 print_stall=0 extruder: target=220 temp=224.6 pwm=0.368 extruder1: target=0 temp=22.0 pwm=0.000
Stats 189.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4916 bytes_read=25754 bytes_retransmit=9 bytes_invalid=0 send_seq=479 receive_seq=479 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999772 rpi: mcu_awake=0.001 mcu_task_avg=0.000027 mcu_task_stddev=0.000046 bytes_write=1804 bytes_read=7606 bytes_retransmit=0 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000045 adj=50000048 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8117 bytes_read=24983 bytes_retransmit=9 bytes_invalid=0 send_seq=524 receive_seq=524 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999515 adj=63999605 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2426 bytes_read=22425 bytes_retransmit=9 bytes_invalid=0 send_seq=314 receive_seq=314 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999709 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.8 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1298 bytes_read=57604 bytes_retransmit=0 bytes_invalid=0 send_seq=215 receive_seq=215 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000026 coil_temp=22.7 refs=0 mcu_temp=23.07 supply_voltage=3.068 sysload=0.67 cputime=15.209 memavail=370152 print_time=213.196 buffer_time=15.431 print_stall=0 extruder: target=220 temp=227.7 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 190.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4922 bytes_read=25886 bytes_retransmit=9 bytes_invalid=0 send_seq=480 receive_seq=480 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999773 rpi: mcu_awake=0.001 mcu_task_avg=0.000027 mcu_task_stddev=0.000046 bytes_write=1810 bytes_read=7622 bytes_retransmit=0 bytes_invalid=0 send_seq=273 receive_seq=273 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000041 adj=50000039 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8151 bytes_read=25131 bytes_retransmit=9 bytes_invalid=0 send_seq=527 receive_seq=527 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999512 adj=63999598 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2432 bytes_read=22524 bytes_retransmit=9 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999654 adj=63999708 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.9 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1304 bytes_read=57960 bytes_retransmit=0 bytes_invalid=0 send_seq=216 receive_seq=216 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000024 coil_temp=22.8 refs=0 mcu_temp=23.08 supply_voltage=3.068 sysload=0.70 cputime=15.256 memavail=370172 print_time=213.196 buffer_time=14.430 print_stall=0 extruder: target=220 temp=227.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 191.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4928 bytes_read=25989 bytes_retransmit=9 bytes_invalid=0 send_seq=481 receive_seq=481 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999773 rpi: mcu_awake=0.001 mcu_task_avg=0.000027 mcu_task_stddev=0.000046 bytes_write=1816 bytes_read=7638 bytes_retransmit=0 bytes_invalid=0 send_seq=274 receive_seq=274 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000040 adj=50000032 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8227 bytes_read=25283 bytes_retransmit=9 bytes_invalid=0 send_seq=532 receive_seq=532 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999538 adj=63999593 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2438 bytes_read=22630 bytes_retransmit=9 bytes_invalid=0 send_seq=316 receive_seq=316 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999656 adj=63999720 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=27.9 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1310 bytes_read=58316 bytes_retransmit=0 bytes_invalid=0 send_seq=217 receive_seq=217 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000023 coil_temp=22.8 refs=0 mcu_temp=23.09 supply_voltage=3.068 sysload=0.70 cputime=15.307 memavail=370172 print_time=213.196 buffer_time=13.429 print_stall=0 extruder: target=220 temp=225.2 pwm=0.728 extruder1: target=0 temp=22.0 pwm=0.000
Stats 192.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4934 bytes_read=26092 bytes_retransmit=9 bytes_invalid=0 send_seq=482 receive_seq=482 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999773 rpi: mcu_awake=0.001 mcu_task_avg=0.000027 mcu_task_stddev=0.000046 bytes_write=1822 bytes_read=7654 bytes_retransmit=0 bytes_invalid=0 send_seq=275 receive_seq=275 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000045 adj=50000030 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8324 bytes_read=25487 bytes_retransmit=9 bytes_invalid=0 send_seq=539 receive_seq=539 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999534 adj=63999642 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2444 bytes_read=22750 bytes_retransmit=9 bytes_invalid=0 send_seq=317 receive_seq=317 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999724 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1316 bytes_read=58672 bytes_retransmit=0 bytes_invalid=0 send_seq=218 receive_seq=218 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000022 coil_temp=22.8 refs=0 mcu_temp=23.09 supply_voltage=3.068 sysload=0.70 cputime=15.359 memavail=370172 print_time=213.196 buffer_time=12.428 print_stall=0 extruder: target=220 temp=224.9 pwm=0.076 extruder1: target=0 temp=21.9 pwm=0.000
Stats 193.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4940 bytes_read=26238 bytes_retransmit=9 bytes_invalid=0 send_seq=483 receive_seq=483 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999775 rpi: mcu_awake=0.001 mcu_task_avg=0.000027 mcu_task_stddev=0.000046 bytes_write=1828 bytes_read=7670 bytes_retransmit=0 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000058 adj=50000040 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8371 bytes_read=25634 bytes_retransmit=9 bytes_invalid=0 send_seq=543 receive_seq=543 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999541 adj=63999634 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2450 bytes_read=22843 bytes_retransmit=9 bytes_invalid=0 send_seq=318 receive_seq=318 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999656 adj=63999723 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=38.0 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1322 bytes_read=59028 bytes_retransmit=0 bytes_invalid=0 send_seq=219 receive_seq=219 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000023 coil_temp=22.8 refs=0 mcu_temp=23.09 supply_voltage=3.068 sysload=0.70 cputime=15.407 memavail=370172 print_time=213.196 buffer_time=11.427 print_stall=0 extruder: target=220 temp=227.0 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 194.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4946 bytes_read=26341 bytes_retransmit=9 bytes_invalid=0 send_seq=484 receive_seq=484 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999776 rpi: mcu_awake=0.002 mcu_task_avg=0.000031 mcu_task_stddev=0.000057 bytes_write=1834 bytes_read=7700 bytes_retransmit=0 bytes_invalid=0 send_seq=277 receive_seq=277 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000067 adj=50000062 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8405 bytes_read=25789 bytes_retransmit=9 bytes_invalid=0 send_seq=546 receive_seq=546 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999646 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2456 bytes_read=22949 bytes_retransmit=9 bytes_invalid=0 send_seq=319 receive_seq=319 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999722 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1328 bytes_read=59384 bytes_retransmit=0 bytes_invalid=0 send_seq=220 receive_seq=220 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000023 coil_temp=22.8 refs=0 mcu_temp=23.09 supply_voltage=3.068 sysload=0.70 cputime=15.453 memavail=370172 print_time=213.196 buffer_time=10.427 print_stall=0 extruder: target=220 temp=226.9 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 195.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4952 bytes_read=26444 bytes_retransmit=9 bytes_invalid=0 send_seq=485 receive_seq=485 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999786 rpi: mcu_awake=0.002 mcu_task_avg=0.000031 mcu_task_stddev=0.000057 bytes_write=1840 bytes_read=7716 bytes_retransmit=0 bytes_invalid=0 send_seq=278 receive_seq=278 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000076 adj=50000080 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8502 bytes_read=25973 bytes_retransmit=9 bytes_invalid=0 send_seq=553 receive_seq=553 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999533 adj=63999637 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2462 bytes_read=23063 bytes_retransmit=9 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999654 adj=63999720 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=28.1 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1334 bytes_read=59740 bytes_retransmit=0 bytes_invalid=0 send_seq=221 receive_seq=221 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000021 coil_temp=22.8 refs=0 mcu_temp=23.09 supply_voltage=3.068 sysload=0.64 cputime=15.503 memavail=369932 print_time=213.196 buffer_time=9.426 print_stall=0 extruder: target=220 temp=224.3 pwm=0.948 extruder1: target=0 temp=21.9 pwm=0.000
Stats 196.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4958 bytes_read=26576 bytes_retransmit=9 bytes_invalid=0 send_seq=486 receive_seq=486 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999781 rpi: mcu_awake=0.002 mcu_task_avg=0.000031 mcu_task_stddev=0.000057 bytes_write=1846 bytes_read=7732 bytes_retransmit=0 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000069 adj=50000091 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8583 bytes_read=26137 bytes_retransmit=9 bytes_invalid=0 send_seq=559 receive_seq=559 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999538 adj=63999624 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2468 bytes_read=23163 bytes_retransmit=9 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999711 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.1 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1340 bytes_read=60096 bytes_retransmit=0 bytes_invalid=0 send_seq=222 receive_seq=222 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000016 coil_temp=22.8 refs=0 mcu_temp=23.09 supply_voltage=3.068 sysload=0.64 cputime=15.531 memavail=364180 print_time=213.196 buffer_time=8.426 print_stall=0 extruder: target=220 temp=224.6 pwm=0.161 extruder1: target=0 temp=22.0 pwm=0.000
Stats 197.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4964 bytes_read=26679 bytes_retransmit=9 bytes_invalid=0 send_seq=487 receive_seq=487 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999776 rpi: mcu_awake=0.002 mcu_task_avg=0.000031 mcu_task_stddev=0.000057 bytes_write=1852 bytes_read=7748 bytes_retransmit=0 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000063 adj=50000079 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8630 bytes_read=26320 bytes_retransmit=9 bytes_invalid=0 send_seq=563 receive_seq=563 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999532 adj=63999637 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2474 bytes_read=23291 bytes_retransmit=9 bytes_invalid=0 send_seq=322 receive_seq=322 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999710 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1346 bytes_read=60452 bytes_retransmit=0 bytes_invalid=0 send_seq=223 receive_seq=223 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000019 coil_temp=22.8 refs=0 mcu_temp=23.09 supply_voltage=3.069 sysload=0.64 cputime=15.554 memavail=364180 print_time=213.196 buffer_time=7.425 print_stall=0 extruder: target=220 temp=226.8 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 198.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4970 bytes_read=26796 bytes_retransmit=9 bytes_invalid=0 send_seq=488 receive_seq=488 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999772 rpi: mcu_awake=0.002 mcu_task_avg=0.000031 mcu_task_stddev=0.000057 bytes_write=1858 bytes_read=7764 bytes_retransmit=0 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000056 adj=50000073 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8679 bytes_read=26489 bytes_retransmit=9 bytes_invalid=0 send_seq=567 receive_seq=567 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999533 adj=63999629 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2480 bytes_read=23405 bytes_retransmit=9 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999647 adj=63999709 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1352 bytes_read=60808 bytes_retransmit=0 bytes_invalid=0 send_seq=224 receive_seq=224 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000018 coil_temp=22.8 refs=0 mcu_temp=23.10 supply_voltage=3.069 sysload=0.64 cputime=15.576 memavail=364432 print_time=213.196 buffer_time=6.425 print_stall=0 extruder: target=220 temp=226.0 pwm=0.174 extruder1: target=0 temp=22.0 pwm=0.000
Stats 199.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4976 bytes_read=26928 bytes_retransmit=9 bytes_invalid=0 send_seq=489 receive_seq=489 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999784 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000024 bytes_write=1864 bytes_read=7793 bytes_retransmit=0 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000052 adj=50000060 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8761 bytes_read=26653 bytes_retransmit=9 bytes_invalid=0 send_seq=573 receive_seq=573 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999528 adj=63999633 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2486 bytes_read=23505 bytes_retransmit=9 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999645 adj=63999707 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=28.1 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1358 bytes_read=61164 bytes_retransmit=0 bytes_invalid=0 send_seq=225 receive_seq=225 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000016 coil_temp=22.9 refs=0 mcu_temp=23.11 supply_voltage=3.069 sysload=0.64 cputime=15.599 memavail=366212 print_time=213.196 buffer_time=5.425 print_stall=0 extruder: target=220 temp=224.5 pwm=0.777 extruder1: target=0 temp=21.9 pwm=0.000
Stats 200.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4982 bytes_read=27031 bytes_retransmit=9 bytes_invalid=0 send_seq=490 receive_seq=490 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999780 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000024 bytes_write=1870 bytes_read=7809 bytes_retransmit=0 bytes_invalid=0 send_seq=283 receive_seq=283 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000045 adj=50000047 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8842 bytes_read=26831 bytes_retransmit=9 bytes_invalid=0 send_seq=579 receive_seq=579 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999522 adj=63999616 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2492 bytes_read=23619 bytes_retransmit=9 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999697 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1364 bytes_read=61520 bytes_retransmit=0 bytes_invalid=0 send_seq=226 receive_seq=226 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000013 coil_temp=22.9 refs=0 mcu_temp=23.11 supply_voltage=3.069 sysload=0.59 cputime=15.622 memavail=366212 print_time=213.196 buffer_time=4.425 print_stall=0 extruder: target=220 temp=224.6 pwm=0.030 extruder1: target=0 temp=22.0 pwm=0.000
Stats 201.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4988 bytes_read=27134 bytes_retransmit=9 bytes_invalid=0 send_seq=491 receive_seq=491 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999788 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000024 bytes_write=1876 bytes_read=7825 bytes_retransmit=0 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000054 adj=50000038 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8876 bytes_read=26995 bytes_retransmit=9 bytes_invalid=0 send_seq=582 receive_seq=582 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999520 adj=63999608 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2498 bytes_read=23733 bytes_retransmit=9 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999695 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1370 bytes_read=61876 bytes_retransmit=0 bytes_invalid=0 send_seq=227 receive_seq=227 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000013 coil_temp=22.9 refs=0 mcu_temp=23.12 supply_voltage=3.068 sysload=0.59 cputime=15.666 memavail=366212 print_time=213.196 buffer_time=3.424 print_stall=0 extruder: target=220 temp=226.4 pwm=0.030 extruder1: target=0 temp=21.9 pwm=0.000
Stats 202.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4994 bytes_read=27266 bytes_retransmit=9 bytes_invalid=0 send_seq=492 receive_seq=492 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999789 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000024 bytes_write=1882 bytes_read=7841 bytes_retransmit=0 bytes_invalid=0 send_seq=285 receive_seq=285 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000051 adj=50000049 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8910 bytes_read=27158 bytes_retransmit=9 bytes_invalid=0 send_seq=585 receive_seq=585 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999532 adj=63999599 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2504 bytes_read=23833 bytes_retransmit=9 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999644 adj=63999690 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.3 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1376 bytes_read=62232 bytes_retransmit=0 bytes_invalid=0 send_seq=228 receive_seq=228 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000010 coil_temp=22.9 refs=0 mcu_temp=23.14 supply_voltage=3.068 sysload=0.59 cputime=15.716 memavail=366212 print_time=213.196 buffer_time=2.424 print_stall=0 extruder: target=220 temp=225.6 pwm=0.030 extruder1: target=0 temp=21.9 pwm=0.000
Stats 203.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5000 bytes_read=27383 bytes_retransmit=9 bytes_invalid=0 send_seq=493 receive_seq=493 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999790 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000024 bytes_write=1888 bytes_read=7857 bytes_retransmit=0 bytes_invalid=0 send_seq=286 receive_seq=286 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000050 adj=50000043 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=10103 bytes_read=27421 bytes_retransmit=9 bytes_invalid=0 send_seq=608 receive_seq=608 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=35 upcoming_bytes=401 freq=63999531 adj=63999619 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2510 bytes_read=23961 bytes_retransmit=9 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999647 adj=63999691 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=28.5 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1382 bytes_read=62588 bytes_retransmit=0 bytes_invalid=0 send_seq=229 receive_seq=229 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000009 coil_temp=22.9 refs=0 mcu_temp=23.15 supply_voltage=3.068 sysload=0.59 cputime=16.012 memavail=366212 print_time=248.457 buffer_time=36.684 print_stall=0 extruder: target=220 temp=224.1 pwm=0.738 extruder1: target=0 temp=21.9 pwm=0.000
Stats 204.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5006 bytes_read=27486 bytes_retransmit=9 bytes_invalid=0 send_seq=494 receive_seq=494 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999785 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000024 bytes_write=1894 bytes_read=7873 bytes_retransmit=0 bytes_invalid=0 send_seq=287 receive_seq=287 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000045 adj=50000075 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=10663 bytes_read=27635 bytes_retransmit=9 bytes_invalid=0 send_seq=621 receive_seq=621 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999534 adj=63999610 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2516 bytes_read=24075 bytes_retransmit=9 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999645 adj=63999712 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.5 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1388 bytes_read=62944 bytes_retransmit=0 bytes_invalid=0 send_seq=230 receive_seq=230 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000010 coil_temp=22.9 refs=0 mcu_temp=23.16 supply_voltage=3.068 sysload=0.59 cputime=16.038 memavail=366212 print_time=248.457 buffer_time=35.684 print_stall=0 extruder: target=220 temp=224.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 205.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5012 bytes_read=27618 bytes_retransmit=9 bytes_invalid=0 send_seq=495 receive_seq=495 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999780 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000027 bytes_write=1900 bytes_read=7902 bytes_retransmit=0 bytes_invalid=0 send_seq=288 receive_seq=288 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000041 adj=50000068 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=10697 bytes_read=27784 bytes_retransmit=9 bytes_invalid=0 send_seq=624 receive_seq=624 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999527 adj=63999620 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2522 bytes_read=24175 bytes_retransmit=9 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999712 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=28.5 EBB42_v1.2_T1: temp=26.2 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1394 bytes_read=63300 bytes_retransmit=0 bytes_invalid=0 send_seq=231 receive_seq=231 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000010 coil_temp=22.9 refs=0 mcu_temp=23.17 supply_voltage=3.068 sysload=0.54 cputime=16.060 memavail=366212 print_time=248.457 buffer_time=34.683 print_stall=0 extruder: target=220 temp=226.0 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 206.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5018 bytes_read=27717 bytes_retransmit=9 bytes_invalid=0 send_seq=496 receive_seq=496 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999776 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000027 bytes_write=1906 bytes_read=7918 bytes_retransmit=0 bytes_invalid=0 send_seq=289 receive_seq=289 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000036 adj=50000063 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=10731 bytes_read=27947 bytes_retransmit=9 bytes_invalid=0 send_seq=627 receive_seq=627 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999524 adj=63999610 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2528 bytes_read=24289 bytes_retransmit=9 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999641 adj=63999710 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=28.5 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1400 bytes_read=63656 bytes_retransmit=0 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000010 coil_temp=23.0 refs=0 mcu_temp=23.17 supply_voltage=3.068 sysload=0.54 cputime=16.082 memavail=366212 print_time=248.457 buffer_time=33.682 print_stall=0 extruder: target=220 temp=225.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 207.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5024 bytes_read=27813 bytes_retransmit=9 bytes_invalid=0 send_seq=497 receive_seq=497 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999777 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000027 bytes_write=1912 bytes_read=7934 bytes_retransmit=0 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000033 adj=50000054 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=10829 bytes_read=28146 bytes_retransmit=9 bytes_invalid=0 send_seq=634 receive_seq=634 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999519 adj=63999606 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2534 bytes_read=24403 bytes_retransmit=9 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999709 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=28.7 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1406 bytes_read=64012 bytes_retransmit=0 bytes_invalid=0 send_seq=233 receive_seq=233 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000010 coil_temp=23.0 refs=0 mcu_temp=23.18 supply_voltage=3.068 sysload=0.54 cputime=16.105 memavail=366228 print_time=248.457 buffer_time=32.682 print_stall=0 extruder: target=220 temp=223.1 pwm=0.873 extruder1: target=0 temp=21.9 pwm=0.000
Stats 208.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5030 bytes_read=27959 bytes_retransmit=9 bytes_invalid=0 send_seq=498 receive_seq=498 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999771 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000027 bytes_write=1918 bytes_read=7950 bytes_retransmit=0 bytes_invalid=0 send_seq=291 receive_seq=291 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000029 adj=50000048 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=10908 bytes_read=28310 bytes_retransmit=9 bytes_invalid=0 send_seq=640 receive_seq=640 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999513 adj=63999596 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2540 bytes_read=24517 bytes_retransmit=9 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999705 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.8 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1412 bytes_read=64368 bytes_retransmit=0 bytes_invalid=0 send_seq=234 receive_seq=234 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000014 coil_temp=23.0 refs=0 mcu_temp=23.18 supply_voltage=3.068 sysload=0.54 cputime=16.138 memavail=366228 print_time=248.457 buffer_time=31.681 print_stall=0 extruder: target=220 temp=223.8 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 209.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5036 bytes_read=28062 bytes_retransmit=9 bytes_invalid=0 send_seq=499 receive_seq=499 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999772 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000027 bytes_write=1924 bytes_read=7966 bytes_retransmit=0 bytes_invalid=0 send_seq=292 receive_seq=292 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000060 adj=50000045 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=10942 bytes_read=28473 bytes_retransmit=9 bytes_invalid=0 send_seq=643 receive_seq=643 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999510 adj=63999588 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2546 bytes_read=24631 bytes_retransmit=9 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999638 adj=63999708 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=28.7 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1418 bytes_read=64724 bytes_retransmit=0 bytes_invalid=0 send_seq=235 receive_seq=235 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000014 coil_temp=23.0 refs=0 mcu_temp=23.18 supply_voltage=3.068 sysload=0.54 cputime=16.185 memavail=366232 print_time=248.457 buffer_time=30.680 print_stall=0 extruder: target=220 temp=225.8 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 210.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5042 bytes_read=28165 bytes_retransmit=9 bytes_invalid=0 send_seq=500 receive_seq=500 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999776 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1930 bytes_read=7995 bytes_retransmit=0 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000060 adj=50000105 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=10991 bytes_read=28642 bytes_retransmit=9 bytes_invalid=0 send_seq=647 receive_seq=647 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999506 adj=63999582 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2552 bytes_read=24745 bytes_retransmit=9 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999707 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.7 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1424 bytes_read=65080 bytes_retransmit=0 bytes_invalid=0 send_seq=236 receive_seq=236 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000012 coil_temp=23.0 refs=0 mcu_temp=23.19 supply_voltage=3.068 sysload=0.50 cputime=16.233 memavail=366232 print_time=248.457 buffer_time=29.679 print_stall=0 extruder: target=220 temp=224.7 pwm=0.199 extruder1: target=0 temp=22.0 pwm=0.000
Stats 211.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5048 bytes_read=28297 bytes_retransmit=9 bytes_invalid=0 send_seq=501 receive_seq=501 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999778 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1936 bytes_read=8011 bytes_retransmit=0 bytes_invalid=0 send_seq=294 receive_seq=294 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000058 adj=50000103 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=11076 bytes_read=28816 bytes_retransmit=9 bytes_invalid=0 send_seq=653 receive_seq=653 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999505 adj=63999572 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2558 bytes_read=24845 bytes_retransmit=9 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999708 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.8 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=38.5 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1430 bytes_read=65436 bytes_retransmit=0 bytes_invalid=0 send_seq=237 receive_seq=237 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000012 coil_temp=23.0 refs=0 mcu_temp=23.20 supply_voltage=3.068 sysload=0.50 cputime=16.284 memavail=366232 print_time=248.457 buffer_time=28.679 print_stall=0 extruder: target=220 temp=223.1 pwm=0.738 extruder1: target=0 temp=22.1 pwm=0.000
Stats 212.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5054 bytes_read=28400 bytes_retransmit=9 bytes_invalid=0 send_seq=502 receive_seq=502 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999781 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1942 bytes_read=8027 bytes_retransmit=0 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000055 adj=50000097 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11156 bytes_read=29009 bytes_retransmit=9 bytes_invalid=0 send_seq=659 receive_seq=659 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999502 adj=63999567 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2564 bytes_read=24959 bytes_retransmit=9 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999641 adj=63999707 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=29.0 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1436 bytes_read=65792 bytes_retransmit=0 bytes_invalid=0 send_seq=238 receive_seq=238 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000011 coil_temp=23.0 refs=0 mcu_temp=23.22 supply_voltage=3.068 sysload=0.50 cputime=16.336 memavail=366232 print_time=248.457 buffer_time=27.678 print_stall=0 extruder: target=220 temp=223.3 pwm=0.138 extruder1: target=0 temp=21.9 pwm=0.000
Stats 213.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5060 bytes_read=28517 bytes_retransmit=9 bytes_invalid=0 send_seq=503 receive_seq=503 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999803 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1948 bytes_read=8043 bytes_retransmit=0 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000054 adj=50000091 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11203 bytes_read=29178 bytes_retransmit=9 bytes_invalid=0 send_seq=663 receive_seq=663 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999503 adj=63999559 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2570 bytes_read=25087 bytes_retransmit=9 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999641 adj=63999705 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.9 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1442 bytes_read=66148 bytes_retransmit=0 bytes_invalid=0 send_seq=239 receive_seq=239 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000009 coil_temp=23.0 refs=0 mcu_temp=23.23 supply_voltage=3.068 sysload=0.50 cputime=16.384 memavail=366232 print_time=248.457 buffer_time=26.677 print_stall=0 extruder: target=220 temp=225.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 214.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5066 bytes_read=28649 bytes_retransmit=9 bytes_invalid=0 send_seq=504 receive_seq=504 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999803 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1954 bytes_read=8059 bytes_retransmit=0 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000051 adj=50000075 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11253 bytes_read=29332 bytes_retransmit=9 bytes_invalid=0 send_seq=667 receive_seq=667 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999500 adj=63999547 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2576 bytes_read=25187 bytes_retransmit=9 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999691 Octopus_V1.1_F446: temp=24.9 EBB42_v1.2_T0: temp=29.2 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1448 bytes_read=66504 bytes_retransmit=0 bytes_invalid=0 send_seq=240 receive_seq=240 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000001 coil_temp=23.0 refs=0 mcu_temp=23.24 supply_voltage=3.068 sysload=0.50 cputime=16.434 memavail=366232 print_time=248.457 buffer_time=25.677 print_stall=0 extruder: target=220 temp=224.0 pwm=0.330 extruder1: target=0 temp=22.0 pwm=0.000
Stats 215.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5072 bytes_read=28752 bytes_retransmit=9 bytes_invalid=0 send_seq=505 receive_seq=505 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999802 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1960 bytes_read=8088 bytes_retransmit=0 bytes_invalid=0 send_seq=298 receive_seq=298 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000049 adj=50000071 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11319 bytes_read=29505 bytes_retransmit=9 bytes_invalid=0 send_seq=672 receive_seq=672 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999497 adj=63999541 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2582 bytes_read=25301 bytes_retransmit=9 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999693 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=28.9 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1454 bytes_read=66860 bytes_retransmit=0 bytes_invalid=0 send_seq=241 receive_seq=241 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000001 coil_temp=23.0 refs=0 mcu_temp=23.24 supply_voltage=3.068 sysload=0.46 cputime=16.483 memavail=366232 print_time=248.457 buffer_time=24.676 print_stall=0 extruder: target=220 temp=222.8 pwm=0.716 extruder1: target=0 temp=21.9 pwm=0.000
Stats 216.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5078 bytes_read=28855 bytes_retransmit=9 bytes_invalid=0 send_seq=506 receive_seq=506 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999802 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1966 bytes_read=8104 bytes_retransmit=0 bytes_invalid=0 send_seq=299 receive_seq=299 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000047 adj=50000067 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11413 bytes_read=29689 bytes_retransmit=9 bytes_invalid=0 send_seq=679 receive_seq=679 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999496 adj=63999536 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2588 bytes_read=25415 bytes_retransmit=9 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999641 adj=63999693 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=29.1 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1460 bytes_read=67216 bytes_retransmit=0 bytes_invalid=0 send_seq=242 receive_seq=242 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000004 coil_temp=23.0 refs=0 mcu_temp=23.25 supply_voltage=3.068 sysload=0.46 cputime=16.532 memavail=366232 print_time=248.457 buffer_time=23.675 print_stall=0 extruder: target=220 temp=223.4 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 217.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5084 bytes_read=28987 bytes_retransmit=9 bytes_invalid=0 send_seq=507 receive_seq=507 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999804 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1972 bytes_read=8120 bytes_retransmit=0 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000048 adj=50000064 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000010 bytes_write=11455 bytes_read=29867 bytes_retransmit=9 bytes_invalid=0 send_seq=683 receive_seq=683 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999496 adj=63999534 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2594 bytes_read=25515 bytes_retransmit=9 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999692 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=28.9 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1466 bytes_read=67572 bytes_retransmit=0 bytes_invalid=0 send_seq=243 receive_seq=243 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000004 coil_temp=23.0 refs=0 mcu_temp=23.25 supply_voltage=3.068 sysload=0.46 cputime=16.581 memavail=366232 print_time=248.457 buffer_time=22.675 print_stall=0 extruder: target=220 temp=225.1 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 218.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5090 bytes_read=29104 bytes_retransmit=9 bytes_invalid=0 send_seq=508 receive_seq=508 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999817 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1978 bytes_read=8136 bytes_retransmit=0 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000055 adj=50000063 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000010 bytes_write=11489 bytes_read=30030 bytes_retransmit=9 bytes_invalid=0 send_seq=686 receive_seq=686 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63999533 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2600 bytes_read=25643 bytes_retransmit=9 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999692 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=29.2 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1472 bytes_read=67928 bytes_retransmit=0 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000007 coil_temp=23.1 refs=0 mcu_temp=23.26 supply_voltage=3.068 sysload=0.46 cputime=16.628 memavail=366932 print_time=248.457 buffer_time=21.675 print_stall=0 extruder: target=220 temp=224.6 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 219.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5096 bytes_read=29207 bytes_retransmit=9 bytes_invalid=0 send_seq=509 receive_seq=509 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999819 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1984 bytes_read=8152 bytes_retransmit=0 bytes_invalid=0 send_seq=302 receive_seq=302 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000057 adj=50000070 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000010 bytes_write=11587 bytes_read=30214 bytes_retransmit=9 bytes_invalid=0 send_seq=693 receive_seq=693 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999493 adj=63999522 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2606 bytes_read=25757 bytes_retransmit=9 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999683 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=29.1 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1478 bytes_read=68284 bytes_retransmit=0 bytes_invalid=0 send_seq=245 receive_seq=245 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000003 coil_temp=23.1 refs=0 mcu_temp=23.26 supply_voltage=3.068 sysload=0.46 cputime=16.677 memavail=367000 print_time=248.457 buffer_time=20.674 print_stall=0 extruder: target=220 temp=222.4 pwm=0.742 extruder1: target=0 temp=21.9 pwm=0.000
Stats 220.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5102 bytes_read=29339 bytes_retransmit=9 bytes_invalid=0 send_seq=510 receive_seq=510 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999819 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000025 bytes_write=1990 bytes_read=8181 bytes_retransmit=0 bytes_invalid=0 send_seq=303 receive_seq=303 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000064 adj=50000075 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000010 bytes_write=11650 bytes_read=30373 bytes_retransmit=9 bytes_invalid=0 send_seq=698 receive_seq=698 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999492 adj=63999517 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2612 bytes_read=25857 bytes_retransmit=9 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999682 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=29.2 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1484 bytes_read=68640 bytes_retransmit=0 bytes_invalid=0 send_seq=246 receive_seq=246 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000001 coil_temp=23.1 refs=0 mcu_temp=23.26 supply_voltage=3.068 sysload=0.42 cputime=16.725 memavail=367000 print_time=248.457 buffer_time=19.674 print_stall=0 extruder: target=220 temp=222.9 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 221.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5108 bytes_read=29442 bytes_retransmit=9 bytes_invalid=0 send_seq=511 receive_seq=511 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999830 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000025 bytes_write=1996 bytes_read=8197 bytes_retransmit=0 bytes_invalid=0 send_seq=304 receive_seq=304 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000073 adj=50000087 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000010 bytes_write=11684 bytes_read=30536 bytes_retransmit=9 bytes_invalid=0 send_seq=701 receive_seq=701 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999490 adj=63999515 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2618 bytes_read=25971 bytes_retransmit=9 bytes_invalid=0 send_seq=346 receive_seq=346 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999683 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=29.3 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1490 bytes_read=69014 bytes_retransmit=0 bytes_invalid=0 send_seq=247 receive_seq=247 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000000 coil_temp=23.1 refs=0 mcu_temp=23.26 supply_voltage=3.068 sysload=0.42 cputime=16.773 memavail=367000 print_time=248.457 buffer_time=18.673 print_stall=0 extruder: target=220 temp=224.5 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 222.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5114 bytes_read=29545 bytes_retransmit=9 bytes_invalid=0 send_seq=512 receive_seq=512 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999828 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000025 bytes_write=2002 bytes_read=8213 bytes_retransmit=0 bytes_invalid=0 send_seq=305 receive_seq=305 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000069 adj=50000098 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11733 bytes_read=30719 bytes_retransmit=9 bytes_invalid=0 send_seq=705 receive_seq=705 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999487 adj=63999504 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2624 bytes_read=26085 bytes_retransmit=9 bytes_invalid=0 send_seq=347 receive_seq=347 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999676 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=29.5 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1496 bytes_read=69370 bytes_retransmit=0 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000001 coil_temp=23.1 refs=0 mcu_temp=23.26 supply_voltage=3.068 sysload=0.42 cputime=16.818 memavail=367000 print_time=248.457 buffer_time=17.673 print_stall=0 extruder: target=220 temp=223.7 pwm=0.171 extruder1: target=0 temp=21.9 pwm=0.000
Stats 223.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5120 bytes_read=29691 bytes_retransmit=9 bytes_invalid=0 send_seq=513 receive_seq=513 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999836 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000025 bytes_write=2008 bytes_read=8229 bytes_retransmit=0 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000066 adj=50000092 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11799 bytes_read=30878 bytes_retransmit=9 bytes_invalid=0 send_seq=710 receive_seq=710 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999489 adj=63999500 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2630 bytes_read=26199 bytes_retransmit=9 bytes_invalid=0 send_seq=348 receive_seq=348 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999676 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=29.4 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1502 bytes_read=69726 bytes_retransmit=0 bytes_invalid=0 send_seq=249 receive_seq=249 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=31999999 coil_temp=23.1 refs=0 mcu_temp=23.28 supply_voltage=3.068 sysload=0.42 cputime=16.866 memavail=367000 print_time=248.457 buffer_time=16.671 print_stall=0 extruder: target=220 temp=222.0 pwm=0.908 extruder1: target=0 temp=22.0 pwm=0.000
Stats 224.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5126 bytes_read=29794 bytes_retransmit=9 bytes_invalid=0 send_seq=514 receive_seq=514 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999836 rpi: mcu_awake=0.001 mcu_task_avg=0.000021 mcu_task_stddev=0.000025 bytes_write=2014 bytes_read=8245 bytes_retransmit=0 bytes_invalid=0 send_seq=307 receive_seq=307 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000071 adj=50000082 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11862 bytes_read=31051 bytes_retransmit=9 bytes_invalid=0 send_seq=715 receive_seq=715 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999487 adj=63999499 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2636 bytes_read=26313 bytes_retransmit=9 bytes_invalid=0 send_seq=349 receive_seq=349 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999672 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1508 bytes_read=70082 bytes_retransmit=0 bytes_invalid=0 send_seq=250 receive_seq=250 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999995 coil_temp=23.1 refs=0 mcu_temp=23.28 supply_voltage=3.068 sysload=0.42 cputime=16.913 memavail=367000 print_time=248.457 buffer_time=15.671 print_stall=0 extruder: target=220 temp=222.5 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 225.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5138 bytes_read=29913 bytes_retransmit=9 bytes_invalid=0 send_seq=516 receive_seq=516 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999839 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000031 bytes_write=2026 bytes_read=8290 bytes_retransmit=0 bytes_invalid=0 send_seq=309 receive_seq=309 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000096 adj=50000091 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11902 bytes_read=31231 bytes_retransmit=9 bytes_invalid=0 send_seq=719 receive_seq=719 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999483 adj=63999495 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2648 bytes_read=26443 bytes_retransmit=9 bytes_invalid=0 send_seq=351 receive_seq=351 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999680 adj=63999694 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=29.4 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1520 bytes_read=70454 bytes_retransmit=0 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999995 coil_temp=23.1 refs=0 mcu_temp=23.30 supply_voltage=3.068 sysload=0.39 cputime=16.962 memavail=367056 print_time=248.457 buffer_time=14.670 print_stall=0 extruder: target=220 temp=224.6 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 226.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5144 bytes_read=30045 bytes_retransmit=9 bytes_invalid=0 send_seq=517 receive_seq=517 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999837 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000031 bytes_write=2032 bytes_read=8306 bytes_retransmit=0 bytes_invalid=0 send_seq=310 receive_seq=310 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000097 adj=50000134 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11936 bytes_read=31380 bytes_retransmit=9 bytes_invalid=0 send_seq=722 receive_seq=722 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999505 adj=63999486 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2654 bytes_read=26543 bytes_retransmit=9 bytes_invalid=0 send_seq=352 receive_seq=352 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999682 adj=63999737 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1526 bytes_read=70810 bytes_retransmit=0 bytes_invalid=0 send_seq=253 receive_seq=253 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=31999991 coil_temp=23.2 refs=0 mcu_temp=23.31 supply_voltage=3.068 sysload=0.39 cputime=17.013 memavail=367056 print_time=248.457 buffer_time=13.670 print_stall=0 extruder: target=220 temp=223.9 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 227.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5150 bytes_read=30148 bytes_retransmit=9 bytes_invalid=0 send_seq=518 receive_seq=518 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999836 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000031 bytes_write=2038 bytes_read=8322 bytes_retransmit=0 bytes_invalid=0 send_seq=311 receive_seq=311 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000095 adj=50000136 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12018 bytes_read=31573 bytes_retransmit=9 bytes_invalid=0 send_seq=728 receive_seq=728 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999502 adj=63999526 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2660 bytes_read=26657 bytes_retransmit=9 bytes_invalid=0 send_seq=353 receive_seq=353 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999679 adj=63999742 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=29.4 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1532 bytes_read=71166 bytes_retransmit=0 bytes_invalid=0 send_seq=254 receive_seq=254 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000007 coil_temp=23.2 refs=0 mcu_temp=23.32 supply_voltage=3.068 sysload=0.39 cputime=17.063 memavail=367056 print_time=248.457 buffer_time=12.669 print_stall=0 extruder: target=220 temp=222.3 pwm=0.822 extruder1: target=0 temp=22.0 pwm=0.000
Stats 228.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5156 bytes_read=30265 bytes_retransmit=9 bytes_invalid=0 send_seq=519 receive_seq=519 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999839 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000031 bytes_write=2044 bytes_read=8338 bytes_retransmit=0 bytes_invalid=0 send_seq=312 receive_seq=312 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000097 adj=50000135 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12110 bytes_read=31752 bytes_retransmit=9 bytes_invalid=0 send_seq=734 receive_seq=734 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999500 adj=63999521 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2666 bytes_read=26785 bytes_retransmit=9 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999699 adj=63999737 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=29.5 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1538 bytes_read=71522 bytes_retransmit=0 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000007 coil_temp=23.2 refs=0 mcu_temp=23.33 supply_voltage=3.068 sysload=0.39 cputime=17.111 memavail=367056 print_time=248.457 buffer_time=11.667 print_stall=0 extruder: target=220 temp=222.2 pwm=0.052 extruder1: target=0 temp=21.8 pwm=0.000
Stats 229.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5162 bytes_read=30397 bytes_retransmit=9 bytes_invalid=0 send_seq=520 receive_seq=520 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999837 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000031 bytes_write=2050 bytes_read=8354 bytes_retransmit=0 bytes_invalid=0 send_seq=313 receive_seq=313 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000091 adj=50000135 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12157 bytes_read=31906 bytes_retransmit=9 bytes_invalid=0 send_seq=738 receive_seq=738 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999498 adj=63999516 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2672 bytes_read=26885 bytes_retransmit=9 bytes_invalid=0 send_seq=355 receive_seq=355 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999698 adj=63999770 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1544 bytes_read=71878 bytes_retransmit=0 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000004 coil_temp=23.2 refs=0 mcu_temp=23.34 supply_voltage=3.068 sysload=0.39 cputime=17.154 memavail=367056 print_time=248.457 buffer_time=10.666 print_stall=0 extruder: target=220 temp=224.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 230.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5168 bytes_read=30493 bytes_retransmit=9 bytes_invalid=0 send_seq=521 receive_seq=521 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999836 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000027 bytes_write=2056 bytes_read=8383 bytes_retransmit=0 bytes_invalid=0 send_seq=314 receive_seq=314 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000123 adj=50000127 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12191 bytes_read=32069 bytes_retransmit=9 bytes_invalid=0 send_seq=741 receive_seq=741 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63999515 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2678 bytes_read=26999 bytes_retransmit=9 bytes_invalid=0 send_seq=356 receive_seq=356 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999693 adj=63999770 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1550 bytes_read=72234 bytes_retransmit=0 bytes_invalid=0 send_seq=257 receive_seq=257 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000005 coil_temp=23.2 refs=0 mcu_temp=23.35 supply_voltage=3.068 sysload=0.36 cputime=17.199 memavail=367056 print_time=248.457 buffer_time=9.666 print_stall=0 extruder: target=220 temp=224.1 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 231.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5174 bytes_read=30591 bytes_retransmit=9 bytes_invalid=0 send_seq=522 receive_seq=522 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999845 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000027 bytes_write=2062 bytes_read=8399 bytes_retransmit=0 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000117 adj=50000183 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12273 bytes_read=32248 bytes_retransmit=9 bytes_invalid=0 send_seq=747 receive_seq=747 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999491 adj=63999509 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2684 bytes_read=27113 bytes_retransmit=9 bytes_invalid=0 send_seq=357 receive_seq=357 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999689 adj=63999763 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1556 bytes_read=72590 bytes_retransmit=0 bytes_invalid=0 send_seq=258 receive_seq=258 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000004 coil_temp=23.2 refs=0 mcu_temp=23.35 supply_voltage=3.068 sysload=0.36 cputime=17.247 memavail=367056 print_time=248.457 buffer_time=8.665 print_stall=0 extruder: target=220 temp=222.2 pwm=0.621 extruder1: target=0 temp=22.0 pwm=0.000
Stats 232.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5180 bytes_read=30723 bytes_retransmit=9 bytes_invalid=0 send_seq=523 receive_seq=523 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999840 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000027 bytes_write=2068 bytes_read=8415 bytes_retransmit=0 bytes_invalid=0 send_seq=316 receive_seq=316 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000136 adj=50000168 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12339 bytes_read=32422 bytes_retransmit=9 bytes_invalid=0 send_seq=752 receive_seq=752 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999489 adj=63999498 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2690 bytes_read=27213 bytes_retransmit=9 bytes_invalid=0 send_seq=358 receive_seq=358 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999685 adj=63999750 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1562 bytes_read=72946 bytes_retransmit=0 bytes_invalid=0 send_seq=259 receive_seq=259 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000003 coil_temp=23.2 refs=0 mcu_temp=23.36 supply_voltage=3.068 sysload=0.36 cputime=17.292 memavail=367056 print_time=248.457 buffer_time=7.665 print_stall=0 extruder: target=220 temp=221.7 pwm=0.364 extruder1: target=0 temp=22.0 pwm=0.000
Stats 233.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5186 bytes_read=30840 bytes_retransmit=9 bytes_invalid=0 send_seq=524 receive_seq=524 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999851 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000027 bytes_write=2074 bytes_read=8431 bytes_retransmit=0 bytes_invalid=0 send_seq=317 receive_seq=317 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000127 adj=50000202 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12401 bytes_read=32595 bytes_retransmit=9 bytes_invalid=0 send_seq=757 receive_seq=757 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999497 adj=63999496 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2696 bytes_read=27341 bytes_retransmit=9 bytes_invalid=0 send_seq=359 receive_seq=359 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999691 adj=63999746 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1568 bytes_read=73302 bytes_retransmit=0 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000002 coil_temp=23.2 refs=0 mcu_temp=23.36 supply_voltage=3.068 sysload=0.36 cputime=17.339 memavail=367056 print_time=248.457 buffer_time=6.665 print_stall=0 extruder: target=220 temp=223.6 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 234.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5192 bytes_read=30943 bytes_retransmit=9 bytes_invalid=0 send_seq=525 receive_seq=525 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999847 rpi: mcu_awake=0.001 mcu_task_avg=0.000022 mcu_task_stddev=0.000027 bytes_write=2080 bytes_read=8447 bytes_retransmit=0 bytes_invalid=0 send_seq=318 receive_seq=318 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000123 adj=50000182 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12435 bytes_read=32759 bytes_retransmit=9 bytes_invalid=0 send_seq=760 receive_seq=760 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999498 adj=63999504 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2702 bytes_read=27455 bytes_retransmit=9 bytes_invalid=0 send_seq=360 receive_seq=360 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999690 adj=63999749 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1574 bytes_read=73658 bytes_retransmit=0 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999997 coil_temp=23.2 refs=0 mcu_temp=23.36 supply_voltage=3.068 sysload=0.36 cputime=17.384 memavail=366500 print_time=248.457 buffer_time=5.665 print_stall=0 extruder: target=220 temp=223.6 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 235.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5198 bytes_read=31075 bytes_retransmit=9 bytes_invalid=0 send_seq=526 receive_seq=526 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999843 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=2086 bytes_read=8476 bytes_retransmit=0 bytes_invalid=0 send_seq=319 receive_seq=319 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000121 adj=50000177 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12511 bytes_read=32918 bytes_retransmit=9 bytes_invalid=0 send_seq=765 receive_seq=765 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63999508 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2708 bytes_read=27555 bytes_retransmit=9 bytes_invalid=0 send_seq=361 receive_seq=361 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999686 adj=63999749 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1580 bytes_read=74014 bytes_retransmit=0 bytes_invalid=0 send_seq=262 receive_seq=262 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999996 coil_temp=23.3 refs=0 mcu_temp=23.37 supply_voltage=3.068 sysload=0.33 cputime=17.431 memavail=366572 print_time=248.457 buffer_time=4.664 print_stall=0 extruder: target=220 temp=222.0 pwm=0.761 extruder1: target=0 temp=21.9 pwm=0.000
Stats 236.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5204 bytes_read=31178 bytes_retransmit=9 bytes_invalid=0 send_seq=527 receive_seq=527 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999849 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=2092 bytes_read=8492 bytes_retransmit=0 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000124 adj=50000175 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12596 bytes_read=33106 bytes_retransmit=9 bytes_invalid=0 send_seq=771 receive_seq=771 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999491 adj=63999504 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2714 bytes_read=27669 bytes_retransmit=9 bytes_invalid=0 send_seq=362 receive_seq=362 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999683 adj=63999746 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1586 bytes_read=74370 bytes_retransmit=0 bytes_invalid=0 send_seq=263 receive_seq=263 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999997 coil_temp=23.3 refs=0 mcu_temp=23.37 supply_voltage=3.068 sysload=0.33 cputime=17.480 memavail=366572 print_time=248.457 buffer_time=3.663 print_stall=0 extruder: target=220 temp=221.0 pwm=0.783 extruder1: target=0 temp=22.0 pwm=0.000
Stats 237.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5210 bytes_read=31281 bytes_retransmit=9 bytes_invalid=0 send_seq=528 receive_seq=528 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999844 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=2098 bytes_read=8508 bytes_retransmit=0 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000123 adj=50000177 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12645 bytes_read=33290 bytes_retransmit=9 bytes_invalid=0 send_seq=775 receive_seq=775 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999490 adj=63999495 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2720 bytes_read=27783 bytes_retransmit=9 bytes_invalid=0 send_seq=363 receive_seq=363 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999684 adj=63999737 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1592 bytes_read=74726 bytes_retransmit=0 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999995 coil_temp=23.3 refs=0 mcu_temp=23.37 supply_voltage=3.068 sysload=0.33 cputime=17.527 memavail=366580 print_time=248.457 buffer_time=2.663 print_stall=0 extruder: target=220 temp=223.2 pwm=0.012 extruder1: target=0 temp=22.0 pwm=0.000
Extruder extruder already active
RatOS | TEMPERATURE_WAIT:: Waiting for sensor: extruder, MINIMUM: 220
RatOS:: please wait...
RatOS | TEMPERATURE_WAIT:: Temperature for toolhead T0 reached.
Stats 238.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5216 bytes_read=31427 bytes_retransmit=9 bytes_invalid=0 send_seq=529 receive_seq=529 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999850 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=2104 bytes_read=8524 bytes_retransmit=0 bytes_invalid=0 send_seq=322 receive_seq=322 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000117 adj=50000178 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=14917 bytes_read=33633 bytes_retransmit=9 bytes_invalid=0 send_seq=814 receive_seq=814 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=22 upcoming_bytes=0 freq=63999491 adj=63999496 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2726 bytes_read=27911 bytes_retransmit=9 bytes_invalid=0 send_seq=364 receive_seq=364 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999681 adj=63999742 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1598 bytes_read=75082 bytes_retransmit=0 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=31999996 coil_temp=23.3 refs=0 mcu_temp=23.37 supply_voltage=3.068 sysload=0.33 cputime=17.830 memavail=371756 print_time=278.978 buffer_time=32.097 print_stall=0 extruder: target=0 temp=223.4 pwm=0.012 extruder1: target=0 temp=21.9 pwm=0.000
Stats 239.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5222 bytes_read=31530 bytes_retransmit=9 bytes_invalid=0 send_seq=530 receive_seq=530 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999843 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=2110 bytes_read=8540 bytes_retransmit=0 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000108 adj=50000159 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=14973 bytes_read=33797 bytes_retransmit=9 bytes_invalid=0 send_seq=817 receive_seq=817 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999491 adj=63999507 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2732 bytes_read=28025 bytes_retransmit=9 bytes_invalid=0 send_seq=365 receive_seq=365 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999679 adj=63999730 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1604 bytes_read=75438 bytes_retransmit=0 bytes_invalid=0 send_seq=266 receive_seq=266 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000002 coil_temp=23.3 refs=0 mcu_temp=23.38 supply_voltage=3.068 sysload=0.33 cputime=17.854 memavail=371756 print_time=278.978 buffer_time=31.096 print_stall=0 extruder: target=0 temp=221.5 pwm=0.012 extruder1: target=0 temp=22.0 pwm=0.000
Stats 240.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5228 bytes_read=31662 bytes_retransmit=9 bytes_invalid=0 send_seq=531 receive_seq=531 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999841 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000025 bytes_write=2116 bytes_read=8569 bytes_retransmit=0 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000102 adj=50000145 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15007 bytes_read=33946 bytes_retransmit=9 bytes_invalid=0 send_seq=820 receive_seq=820 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999487 adj=63999512 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2738 bytes_read=28125 bytes_retransmit=9 bytes_invalid=0 send_seq=366 receive_seq=366 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999678 adj=63999731 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1610 bytes_read=75794 bytes_retransmit=0 bytes_invalid=0 send_seq=267 receive_seq=267 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000002 coil_temp=23.3 refs=0 mcu_temp=23.38 supply_voltage=3.068 sysload=0.30 cputime=17.876 memavail=371756 print_time=278.978 buffer_time=30.096 print_stall=0 extruder: target=0 temp=219.8 pwm=0.012 extruder1: target=0 temp=22.0 pwm=0.000
Stats 241.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5234 bytes_read=31765 bytes_retransmit=9 bytes_invalid=0 send_seq=532 receive_seq=532 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999837 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000025 bytes_write=2122 bytes_read=8585 bytes_retransmit=0 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000096 adj=50000133 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15054 bytes_read=34114 bytes_retransmit=9 bytes_invalid=0 send_seq=824 receive_seq=824 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999482 adj=63999505 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2744 bytes_read=28239 bytes_retransmit=9 bytes_invalid=0 send_seq=367 receive_seq=367 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999678 adj=63999731 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1616 bytes_read=76150 bytes_retransmit=0 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999999 coil_temp=23.3 refs=0 mcu_temp=23.39 supply_voltage=3.068 sysload=0.30 cputime=17.899 memavail=383200 print_time=278.978 buffer_time=29.096 print_stall=0 extruder: target=0 temp=217.6 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 242.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5240 bytes_read=31868 bytes_retransmit=9 bytes_invalid=0 send_seq=533 receive_seq=533 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999836 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000025 bytes_write=2128 bytes_read=8601 bytes_retransmit=0 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000089 adj=50000122 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000028 mcu_task_stddev=0.000032 bytes_write=15088 bytes_read=34293 bytes_retransmit=9 bytes_invalid=0 send_seq=827 receive_seq=827 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999478 adj=63999497 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2750 bytes_read=28353 bytes_retransmit=9 bytes_invalid=0 send_seq=368 receive_seq=368 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999674 adj=63999733 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1622 bytes_read=76506 bytes_retransmit=0 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999997 coil_temp=23.3 refs=0 mcu_temp=23.39 supply_voltage=3.068 sysload=0.30 cputime=17.920 memavail=382984 print_time=278.978 buffer_time=28.095 print_stall=0 extruder: target=0 temp=215.4 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 243.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5246 bytes_read=32014 bytes_retransmit=9 bytes_invalid=0 send_seq=534 receive_seq=534 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999829 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000025 bytes_write=2134 bytes_read=8617 bytes_retransmit=0 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000082 adj=50000110 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000028 mcu_task_stddev=0.000032 bytes_write=15122 bytes_read=34442 bytes_retransmit=9 bytes_invalid=0 send_seq=830 receive_seq=830 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999474 adj=63999489 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2756 bytes_read=28467 bytes_retransmit=9 bytes_invalid=0 send_seq=369 receive_seq=369 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999682 adj=63999726 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1628 bytes_read=76862 bytes_retransmit=0 bytes_invalid=0 send_seq=270 receive_seq=270 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999994 coil_temp=23.3 refs=0 mcu_temp=23.39 supply_voltage=3.068 sysload=0.30 cputime=17.944 memavail=382984 print_time=278.978 buffer_time=27.095 print_stall=0 extruder: target=0 temp=213.7 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 244.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5252 bytes_read=32117 bytes_retransmit=9 bytes_invalid=0 send_seq=535 receive_seq=535 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999829 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000025 bytes_write=2140 bytes_read=8633 bytes_retransmit=0 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000077 adj=50000099 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000028 mcu_task_stddev=0.000032 bytes_write=15156 bytes_read=34605 bytes_retransmit=9 bytes_invalid=0 send_seq=833 receive_seq=833 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999471 adj=63999485 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2762 bytes_read=28581 bytes_retransmit=9 bytes_invalid=0 send_seq=370 receive_seq=370 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999678 adj=63999748 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1634 bytes_read=77218 bytes_retransmit=0 bytes_invalid=0 send_seq=271 receive_seq=271 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000004 coil_temp=23.3 refs=0 mcu_temp=23.41 supply_voltage=3.068 sysload=0.30 cputime=17.989 memavail=382024 print_time=278.978 buffer_time=26.094 print_stall=0 extruder: target=0 temp=212.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 245.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5258 bytes_read=32220 bytes_retransmit=9 bytes_invalid=0 send_seq=536 receive_seq=536 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999829 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000017 bytes_write=2146 bytes_read=8662 bytes_retransmit=0 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000083 adj=50000088 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000028 mcu_task_stddev=0.000032 bytes_write=15190 bytes_read=34769 bytes_retransmit=9 bytes_invalid=0 send_seq=836 receive_seq=836 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999468 adj=63999480 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2768 bytes_read=28695 bytes_retransmit=9 bytes_invalid=0 send_seq=371 receive_seq=371 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999675 adj=63999740 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1640 bytes_read=77574 bytes_retransmit=0 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000002 coil_temp=23.3 refs=0 mcu_temp=23.41 supply_voltage=3.068 sysload=0.28 cputime=18.036 memavail=382024 print_time=278.978 buffer_time=25.093 print_stall=0 extruder: target=0 temp=209.9 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 246.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5264 bytes_read=32352 bytes_retransmit=9 bytes_invalid=0 send_seq=537 receive_seq=537 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999833 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000017 bytes_write=2152 bytes_read=8678 bytes_retransmit=0 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000078 adj=50000100 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000028 mcu_task_stddev=0.000032 bytes_write=15224 bytes_read=34918 bytes_retransmit=9 bytes_invalid=0 send_seq=839 receive_seq=839 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999474 adj=63999474 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2774 bytes_read=28795 bytes_retransmit=9 bytes_invalid=0 send_seq=372 receive_seq=372 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999674 adj=63999733 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.2 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1646 bytes_read=77930 bytes_retransmit=0 bytes_invalid=0 send_seq=273 receive_seq=273 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000000 coil_temp=23.3 refs=0 mcu_temp=23.43 supply_voltage=3.068 sysload=0.28 cputime=18.083 memavail=381548 print_time=278.978 buffer_time=24.093 print_stall=0 extruder: target=0 temp=208.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 247.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5270 bytes_read=32455 bytes_retransmit=9 bytes_invalid=0 send_seq=538 receive_seq=538 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999832 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000017 bytes_write=2158 bytes_read=8694 bytes_retransmit=0 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000075 adj=50000088 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15258 bytes_read=35095 bytes_retransmit=9 bytes_invalid=0 send_seq=842 receive_seq=842 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999471 adj=63999484 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2780 bytes_read=28909 bytes_retransmit=9 bytes_invalid=0 send_seq=373 receive_seq=373 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999670 adj=63999729 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1652 bytes_read=78286 bytes_retransmit=0 bytes_invalid=0 send_seq=274 receive_seq=274 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000000 coil_temp=23.3 refs=0 mcu_temp=23.44 supply_voltage=3.068 sysload=0.28 cputime=18.126 memavail=377516 print_time=278.978 buffer_time=23.092 print_stall=0 extruder: target=0 temp=206.8 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 248.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5276 bytes_read=32572 bytes_retransmit=9 bytes_invalid=0 send_seq=539 receive_seq=539 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999837 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000017 bytes_write=2164 bytes_read=8710 bytes_retransmit=0 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000083 adj=50000082 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15292 bytes_read=35259 bytes_retransmit=9 bytes_invalid=0 send_seq=845 receive_seq=845 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999471 adj=63999477 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2786 bytes_read=29037 bytes_retransmit=9 bytes_invalid=0 send_seq=374 receive_seq=374 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999668 adj=63999721 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=30.4 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1658 bytes_read=78642 bytes_retransmit=0 bytes_invalid=0 send_seq=275 receive_seq=275 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000001 coil_temp=23.3 refs=0 mcu_temp=23.44 supply_voltage=3.068 sysload=0.28 cputime=18.174 memavail=377284 print_time=278.978 buffer_time=22.092 print_stall=0 extruder: target=0 temp=205.0 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 249.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5282 bytes_read=32704 bytes_retransmit=9 bytes_invalid=0 send_seq=540 receive_seq=540 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999830 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000017 bytes_write=2170 bytes_read=8726 bytes_retransmit=0 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000075 adj=50000096 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15326 bytes_read=35408 bytes_retransmit=9 bytes_invalid=0 send_seq=848 receive_seq=848 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999470 adj=63999474 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2792 bytes_read=29137 bytes_retransmit=9 bytes_invalid=0 send_seq=375 receive_seq=375 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999665 adj=63999715 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1664 bytes_read=78998 bytes_retransmit=0 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999999 coil_temp=23.4 refs=0 mcu_temp=23.45 supply_voltage=3.068 sysload=0.28 cputime=18.202 memavail=377284 print_time=278.978 buffer_time=21.091 print_stall=0 extruder: target=0 temp=203.2 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 250.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5288 bytes_read=32807 bytes_retransmit=9 bytes_invalid=0 send_seq=541 receive_seq=541 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999824 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000026 bytes_write=2176 bytes_read=8755 bytes_retransmit=0 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000067 adj=50000084 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15360 bytes_read=35571 bytes_retransmit=9 bytes_invalid=0 send_seq=851 receive_seq=851 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999469 adj=63999477 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2798 bytes_read=29251 bytes_retransmit=9 bytes_invalid=0 send_seq=376 receive_seq=376 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999661 adj=63999713 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.3 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1670 bytes_read=79354 bytes_retransmit=0 bytes_invalid=0 send_seq=277 receive_seq=277 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000000 coil_temp=23.4 refs=0 mcu_temp=23.45 supply_voltage=3.068 sysload=0.25 cputime=18.224 memavail=378300 print_time=278.978 buffer_time=20.090 print_stall=0 extruder: target=0 temp=202.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 251.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5294 bytes_read=32910 bytes_retransmit=9 bytes_invalid=0 send_seq=542 receive_seq=542 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999868 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000026 bytes_write=2182 bytes_read=8771 bytes_retransmit=0 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000074 adj=50000072 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15394 bytes_read=35735 bytes_retransmit=9 bytes_invalid=0 send_seq=854 receive_seq=854 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999466 adj=63999480 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2804 bytes_read=29365 bytes_retransmit=9 bytes_invalid=0 send_seq=377 receive_seq=377 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999657 adj=63999708 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.4 EBB42_v1.2_T1: temp=27.1 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1676 bytes_read=79710 bytes_retransmit=0 bytes_invalid=0 send_seq=278 receive_seq=278 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000000 coil_temp=23.4 refs=0 mcu_temp=23.46 supply_voltage=3.068 sysload=0.25 cputime=18.251 memavail=373328 print_time=278.978 buffer_time=19.089 print_stall=0 extruder: target=0 temp=200.2 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 252.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5300 bytes_read=33042 bytes_retransmit=9 bytes_invalid=0 send_seq=543 receive_seq=543 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999859 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000026 bytes_write=2188 bytes_read=8787 bytes_retransmit=0 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000065 adj=50000061 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15428 bytes_read=35898 bytes_retransmit=9 bytes_invalid=0 send_seq=857 receive_seq=857 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999463 adj=63999442 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2810 bytes_read=29465 bytes_retransmit=9 bytes_invalid=0 send_seq=378 receive_seq=378 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999653 adj=63999670 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=30.3 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1682 bytes_read=80066 bytes_retransmit=0 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999982 coil_temp=23.4 refs=0 mcu_temp=23.46 supply_voltage=3.068 sysload=0.25 cputime=18.272 memavail=373328 print_time=278.978 buffer_time=18.088 print_stall=0 extruder: target=0 temp=198.5 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 253.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5306 bytes_read=33159 bytes_retransmit=9 bytes_invalid=0 send_seq=544 receive_seq=544 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999852 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000026 bytes_write=2194 bytes_read=8803 bytes_retransmit=0 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000057 adj=50000048 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15462 bytes_read=36061 bytes_retransmit=9 bytes_invalid=0 send_seq=860 receive_seq=860 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999464 adj=63999443 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2816 bytes_read=29593 bytes_retransmit=9 bytes_invalid=0 send_seq=379 receive_seq=379 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999668 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.5 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1688 bytes_read=80422 bytes_retransmit=0 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999983 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.25 cputime=18.294 memavail=373328 print_time=278.978 buffer_time=17.088 print_stall=0 extruder: target=0 temp=197.2 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 254.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5312 bytes_read=33255 bytes_retransmit=9 bytes_invalid=0 send_seq=545 receive_seq=545 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999849 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000026 bytes_write=2200 bytes_read=8819 bytes_retransmit=0 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000051 adj=50000037 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15496 bytes_read=36225 bytes_retransmit=9 bytes_invalid=0 send_seq=863 receive_seq=863 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999461 adj=63999449 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2822 bytes_read=29707 bytes_retransmit=9 bytes_invalid=0 send_seq=380 receive_seq=380 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999666 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=30.5 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1694 bytes_read=80778 bytes_retransmit=0 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999983 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.25 cputime=18.335 memavail=377112 print_time=278.978 buffer_time=16.087 print_stall=0 extruder: target=0 temp=195.4 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 255.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5318 bytes_read=33382 bytes_retransmit=9 bytes_invalid=0 send_seq=546 receive_seq=546 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999843 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=2206 bytes_read=8848 bytes_retransmit=0 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000044 adj=50000027 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15530 bytes_read=36374 bytes_retransmit=9 bytes_invalid=0 send_seq=866 receive_seq=866 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999466 adj=63999446 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2828 bytes_read=29807 bytes_retransmit=9 bytes_invalid=0 send_seq=381 receive_seq=381 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999656 adj=63999665 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.6 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1700 bytes_read=81134 bytes_retransmit=0 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999983 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.23 cputime=18.363 memavail=376376 print_time=278.978 buffer_time=15.086 print_stall=0 extruder: target=0 temp=193.5 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 256.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5324 bytes_read=33485 bytes_retransmit=9 bytes_invalid=0 send_seq=547 receive_seq=547 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999836 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=2212 bytes_read=8864 bytes_retransmit=0 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000038 adj=50000016 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15564 bytes_read=36537 bytes_retransmit=9 bytes_invalid=0 send_seq=869 receive_seq=869 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999462 adj=63999460 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2834 bytes_read=29921 bytes_retransmit=9 bytes_invalid=0 send_seq=382 receive_seq=382 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999684 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.3 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1706 bytes_read=81490 bytes_retransmit=0 bytes_invalid=0 send_seq=283 receive_seq=283 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999989 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.23 cputime=18.387 memavail=369320 print_time=278.978 buffer_time=14.086 print_stall=0 extruder: target=0 temp=192.6 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 257.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5330 bytes_read=33588 bytes_retransmit=9 bytes_invalid=0 send_seq=548 receive_seq=548 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999854 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=2218 bytes_read=8880 bytes_retransmit=0 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000031 adj=50000008 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15598 bytes_read=36713 bytes_retransmit=9 bytes_invalid=0 send_seq=872 receive_seq=872 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999479 adj=63999457 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2840 bytes_read=30033 bytes_retransmit=9 bytes_invalid=0 send_seq=383 receive_seq=383 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999681 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.5 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1712 bytes_read=81846 bytes_retransmit=0 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999988 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.23 cputime=18.410 memavail=369324 print_time=278.978 buffer_time=13.086 print_stall=0 extruder: target=0 temp=190.7 pwm=0.000 extruder1: target=0 temp=21.8 pwm=0.000
Stats 258.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5336 bytes_read=33734 bytes_retransmit=9 bytes_invalid=0 send_seq=549 receive_seq=549 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999849 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=2224 bytes_read=8896 bytes_retransmit=0 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000026 adj=49999985 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15632 bytes_read=36855 bytes_retransmit=9 bytes_invalid=0 send_seq=875 receive_seq=875 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999484 adj=63999476 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2846 bytes_read=30140 bytes_retransmit=9 bytes_invalid=0 send_seq=384 receive_seq=384 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999645 adj=63999668 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=30.6 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1718 bytes_read=82202 bytes_retransmit=0 bytes_invalid=0 send_seq=285 receive_seq=285 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999980 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.23 cputime=18.434 memavail=374768 print_time=278.978 buffer_time=12.085 print_stall=0 extruder: target=0 temp=189.6 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 259.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5342 bytes_read=33837 bytes_retransmit=9 bytes_invalid=0 send_seq=550 receive_seq=550 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999842 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=2230 bytes_read=8912 bytes_retransmit=0 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000020 adj=49999979 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15666 bytes_read=37010 bytes_retransmit=9 bytes_invalid=0 send_seq=878 receive_seq=878 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999479 adj=63999490 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2852 bytes_read=30246 bytes_retransmit=9 bytes_invalid=0 send_seq=385 receive_seq=385 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999641 adj=63999665 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=30.4 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1724 bytes_read=82548 bytes_retransmit=0 bytes_invalid=0 send_seq=286 receive_seq=286 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999979 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.23 cputime=18.459 memavail=373804 print_time=278.978 buffer_time=11.085 print_stall=0 extruder: target=0 temp=188.2 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 260.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5348 bytes_read=33940 bytes_retransmit=9 bytes_invalid=0 send_seq=551 receive_seq=551 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999842 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000021 bytes_write=2236 bytes_read=8941 bytes_retransmit=0 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000020 adj=49999970 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15700 bytes_read=37166 bytes_retransmit=9 bytes_invalid=0 send_seq=881 receive_seq=881 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999476 adj=63999484 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2858 bytes_read=30352 bytes_retransmit=9 bytes_invalid=0 send_seq=386 receive_seq=386 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999647 adj=63999663 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.8 EBB42_v1.2_T1: temp=27.1 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1730 bytes_read=82910 bytes_retransmit=0 bytes_invalid=0 send_seq=287 receive_seq=287 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999979 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.29 cputime=18.501 memavail=373048 print_time=278.978 buffer_time=10.084 print_stall=0 extruder: target=0 temp=186.4 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 261.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5354 bytes_read=34072 bytes_retransmit=9 bytes_invalid=0 send_seq=552 receive_seq=552 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999843 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000021 bytes_write=2242 bytes_read=8957 bytes_retransmit=0 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000028 adj=49999972 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15734 bytes_read=37308 bytes_retransmit=9 bytes_invalid=0 send_seq=884 receive_seq=884 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999475 adj=63999479 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2864 bytes_read=30445 bytes_retransmit=9 bytes_invalid=0 send_seq=387 receive_seq=387 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999647 adj=63999674 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.5 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1736 bytes_read=83254 bytes_retransmit=0 bytes_invalid=0 send_seq=288 receive_seq=288 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999981 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.29 cputime=18.550 memavail=373816 print_time=278.978 buffer_time=9.084 print_stall=0 extruder: target=0 temp=185.3 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 262.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5360 bytes_read=34175 bytes_retransmit=9 bytes_invalid=0 send_seq=553 receive_seq=553 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999846 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000021 bytes_write=2248 bytes_read=8973 bytes_retransmit=0 bytes_invalid=0 send_seq=346 receive_seq=346 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000033 adj=49999985 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15768 bytes_read=37485 bytes_retransmit=9 bytes_invalid=0 send_seq=887 receive_seq=887 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999471 adj=63999476 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2870 bytes_read=30559 bytes_retransmit=9 bytes_invalid=0 send_seq=388 receive_seq=388 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999672 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.7 EBB42_v1.2_T1: temp=27.0 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1742 bytes_read=83599 bytes_retransmit=0 bytes_invalid=0 send_seq=289 receive_seq=289 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999982 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.29 cputime=18.596 memavail=377596 print_time=278.978 buffer_time=8.084 print_stall=0 extruder: target=0 temp=184.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 263.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5366 bytes_read=34292 bytes_retransmit=9 bytes_invalid=0 send_seq=554 receive_seq=554 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999850 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000021 bytes_write=2254 bytes_read=8989 bytes_retransmit=0 bytes_invalid=0 send_seq=347 receive_seq=347 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000045 adj=49999992 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15802 bytes_read=37649 bytes_retransmit=9 bytes_invalid=0 send_seq=890 receive_seq=890 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999467 adj=63999467 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2876 bytes_read=30687 bytes_retransmit=9 bytes_invalid=0 send_seq=389 receive_seq=389 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999644 adj=63999668 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.7 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1748 bytes_read=83944 bytes_retransmit=0 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999981 coil_temp=23.4 refs=0 mcu_temp=23.47 supply_voltage=3.068 sysload=0.29 cputime=18.644 memavail=377596 print_time=278.978 buffer_time=7.083 print_stall=0 extruder: target=0 temp=182.5 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 264.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5372 bytes_read=34424 bytes_retransmit=9 bytes_invalid=0 send_seq=555 receive_seq=555 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999851 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000021 bytes_write=2260 bytes_read=9005 bytes_retransmit=0 bytes_invalid=0 send_seq=348 receive_seq=348 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000043 adj=50000012 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15836 bytes_read=37798 bytes_retransmit=9 bytes_invalid=0 send_seq=893 receive_seq=893 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999485 adj=63999458 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2882 bytes_read=30787 bytes_retransmit=9 bytes_invalid=0 send_seq=390 receive_seq=390 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999663 Octopus_V1.1_F446: temp=24.9 EBB42_v1.2_T0: temp=30.9 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1754 bytes_read=84289 bytes_retransmit=0 bytes_invalid=0 send_seq=291 receive_seq=291 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999982 coil_temp=23.4 refs=0 mcu_temp=23.48 supply_voltage=3.068 sysload=0.29 cputime=18.689 memavail=377604 print_time=278.978 buffer_time=6.083 print_stall=0 extruder: target=0 temp=181.4 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 265.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5378 bytes_read=34527 bytes_retransmit=9 bytes_invalid=0 send_seq=556 receive_seq=556 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999845 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000022 bytes_write=2266 bytes_read=9033 bytes_retransmit=0 bytes_invalid=0 send_seq=349 receive_seq=349 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000041 adj=50000009 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15870 bytes_read=37961 bytes_retransmit=9 bytes_invalid=0 send_seq=896 receive_seq=896 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999479 adj=63999489 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2888 bytes_read=30901 bytes_retransmit=9 bytes_invalid=0 send_seq=391 receive_seq=391 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999659 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=31.1 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1760 bytes_read=84617 bytes_retransmit=0 bytes_invalid=0 send_seq=292 receive_seq=292 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999982 coil_temp=23.4 refs=0 mcu_temp=23.49 supply_voltage=3.068 sysload=0.27 cputime=18.720 memavail=374712 print_time=278.978 buffer_time=5.083 print_stall=0 extruder: target=0 temp=179.8 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 266.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5384 bytes_read=34630 bytes_retransmit=9 bytes_invalid=0 send_seq=557 receive_seq=557 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999839 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000022 bytes_write=2272 bytes_read=9048 bytes_retransmit=0 bytes_invalid=0 send_seq=350 receive_seq=350 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000034 adj=50000008 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=15904 bytes_read=38125 bytes_retransmit=9 bytes_invalid=0 send_seq=899 receive_seq=899 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999475 adj=63999482 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2894 bytes_read=31015 bytes_retransmit=9 bytes_invalid=0 send_seq=392 receive_seq=392 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999657 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=30.9 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1766 bytes_read=84962 bytes_retransmit=0 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999983 coil_temp=23.5 refs=0 mcu_temp=23.49 supply_voltage=3.068 sysload=0.27 cputime=18.743 memavail=374712 print_time=278.978 buffer_time=4.082 print_stall=0 extruder: target=0 temp=178.4 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 267.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5390 bytes_read=34762 bytes_retransmit=9 bytes_invalid=0 send_seq=558 receive_seq=558 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999842 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000022 bytes_write=2278 bytes_read=9063 bytes_retransmit=0 bytes_invalid=0 send_seq=351 receive_seq=351 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000029 adj=49999998 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=15938 bytes_read=38288 bytes_retransmit=9 bytes_invalid=0 send_seq=902 receive_seq=902 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999470 adj=63999479 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2900 bytes_read=31115 bytes_retransmit=9 bytes_invalid=0 send_seq=393 receive_seq=393 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999658 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1772 bytes_read=85312 bytes_retransmit=0 bytes_invalid=0 send_seq=294 receive_seq=294 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999982 coil_temp=23.5 refs=0 mcu_temp=23.49 supply_voltage=3.068 sysload=0.27 cputime=18.765 memavail=374712 print_time=278.978 buffer_time=3.082 print_stall=0 extruder: target=0 temp=177.2 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 268.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5396 bytes_read=34879 bytes_retransmit=9 bytes_invalid=0 send_seq=559 receive_seq=559 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999850 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000022 bytes_write=2284 bytes_read=9078 bytes_retransmit=0 bytes_invalid=0 send_seq=352 receive_seq=352 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000026 adj=49999989 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=15972 bytes_read=38451 bytes_retransmit=9 bytes_invalid=0 send_seq=905 receive_seq=905 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999466 adj=63999467 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2906 bytes_read=31243 bytes_retransmit=9 bytes_invalid=0 send_seq=394 receive_seq=394 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999651 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1778 bytes_read=85668 bytes_retransmit=0 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999980 coil_temp=23.5 refs=0 mcu_temp=23.49 supply_voltage=3.068 sysload=0.27 cputime=18.789 memavail=376564 print_time=278.978 buffer_time=2.082 print_stall=0 extruder: target=0 temp=175.9 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 269.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5402 bytes_read=34982 bytes_retransmit=9 bytes_invalid=0 send_seq=560 receive_seq=560 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999843 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000022 bytes_write=2290 bytes_read=9093 bytes_retransmit=0 bytes_invalid=0 send_seq=353 receive_seq=353 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000022 adj=49999978 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=17598 bytes_read=38740 bytes_retransmit=9 bytes_invalid=0 send_seq=933 receive_seq=933 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=38 upcoming_bytes=0 freq=63999462 adj=63999456 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2912 bytes_read=31357 bytes_retransmit=9 bytes_invalid=0 send_seq=395 receive_seq=395 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999642 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=27.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1784 bytes_read=86024 bytes_retransmit=0 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999975 coil_temp=23.5 refs=0 mcu_temp=23.49 supply_voltage=3.068 sysload=0.27 cputime=19.016 memavail=369352 print_time=314.239 buffer_time=36.342 print_stall=0 extruder: target=0 temp=174.7 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 270.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5408 bytes_read=35114 bytes_retransmit=9 bytes_invalid=0 send_seq=561 receive_seq=561 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999842 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000014 bytes_write=2296 bytes_read=9122 bytes_retransmit=0 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000026 adj=50000019 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=17670 bytes_read=38889 bytes_retransmit=9 bytes_invalid=0 send_seq=936 receive_seq=936 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999463 adj=63999484 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2918 bytes_read=31457 bytes_retransmit=9 bytes_invalid=0 send_seq=396 receive_seq=396 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999631 adj=63999668 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1790 bytes_read=86398 bytes_retransmit=0 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999985 coil_temp=23.5 refs=0 mcu_temp=23.48 supply_voltage=3.068 sysload=0.25 cputime=19.058 memavail=369932 print_time=314.239 buffer_time=35.341 print_stall=0 extruder: target=0 temp=173.1 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 271.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5414 bytes_read=35217 bytes_retransmit=9 bytes_invalid=0 send_seq=562 receive_seq=562 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999841 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000014 bytes_write=2302 bytes_read=9138 bytes_retransmit=0 bytes_invalid=0 send_seq=355 receive_seq=355 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000024 adj=50000030 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=17704 bytes_read=39052 bytes_retransmit=9 bytes_invalid=0 send_seq=939 receive_seq=939 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999460 adj=63999487 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2924 bytes_read=31571 bytes_retransmit=9 bytes_invalid=0 send_seq=397 receive_seq=397 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999668 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=27.0 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1796 bytes_read=86754 bytes_retransmit=0 bytes_invalid=0 send_seq=298 receive_seq=298 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999985 coil_temp=23.5 refs=0 mcu_temp=23.48 supply_voltage=3.068 sysload=0.25 cputime=19.104 memavail=378080 print_time=314.239 buffer_time=34.341 print_stall=0 extruder: target=0 temp=172.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
webhooks client 4104245224: Disconnected
Stats 272.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5420 bytes_read=35320 bytes_retransmit=9 bytes_invalid=0 send_seq=563 receive_seq=563 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999837 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000014 bytes_write=2308 bytes_read=9154 bytes_retransmit=0 bytes_invalid=0 send_seq=356 receive_seq=356 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000040 adj=50000025 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000027 bytes_write=17738 bytes_read=39231 bytes_retransmit=9 bytes_invalid=0 send_seq=942 receive_seq=942 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999456 adj=63999483 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2930 bytes_read=31685 bytes_retransmit=9 bytes_invalid=0 send_seq=398 receive_seq=398 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999676 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=31.1 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1802 bytes_read=87110 bytes_retransmit=0 bytes_invalid=0 send_seq=299 receive_seq=299 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999987 coil_temp=23.5 refs=0 mcu_temp=23.49 supply_voltage=3.068 sysload=0.25 cputime=19.136 memavail=466824 print_time=314.239 buffer_time=33.341 print_stall=0 extruder: target=0 temp=170.6 pwm=0.000 extruder1: target=0 temp=21.9 pwm=0.000
Stats 273.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5426 bytes_read=35466 bytes_retransmit=9 bytes_invalid=0 send_seq=564 receive_seq=564 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999833 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000014 bytes_write=2314 bytes_read=9170 bytes_retransmit=0 bytes_invalid=0 send_seq=357 receive_seq=357 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000035 adj=50000059 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000027 bytes_write=17772 bytes_read=39380 bytes_retransmit=9 bytes_invalid=0 send_seq=945 receive_seq=945 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999452 adj=63999477 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2936 bytes_read=31785 bytes_retransmit=9 bytes_invalid=0 send_seq=399 receive_seq=399 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999674 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=31.2 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1808 bytes_read=87466 bytes_retransmit=0 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999991 coil_temp=23.5 refs=0 mcu_temp=23.50 supply_voltage=3.068 sysload=0.25 cputime=19.159 memavail=547788 print_time=314.239 buffer_time=32.340 print_stall=0 extruder: target=0 temp=169.6 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 274.9: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5432 bytes_read=35569 bytes_retransmit=9 bytes_invalid=0 send_seq=565 receive_seq=565 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999842 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000014 bytes_write=2320 bytes_read=9186 bytes_retransmit=0 bytes_invalid=0 send_seq=358 receive_seq=358 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000032 adj=50000052 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000027 bytes_write=17806 bytes_read=39543 bytes_retransmit=9 bytes_invalid=0 send_seq=948 receive_seq=948 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999447 adj=63999470 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2942 bytes_read=31913 bytes_retransmit=9 bytes_invalid=0 send_seq=400 receive_seq=400 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999683 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=30.9 EBB42_v1.2_T1: temp=27.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1814 bytes_read=87822 bytes_retransmit=0 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999992 coil_temp=23.5 refs=0 mcu_temp=23.51 supply_voltage=3.068 sysload=0.25 cputime=19.184 memavail=556068 print_time=314.239 buffer_time=31.340 print_stall=0 extruder: target=0 temp=168.5 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Starting Klippy...
Args: ['/home/pi/klipper/klippy/klippy.py', '/home/pi/printer_data/config/printer.cfg', '-l', '/home/pi/printer_data/logs/klippy.log', '-I', '/home/pi/printer_data/comms/klippy.serial', '-a', '/home/pi/printer_data/comms/klippy.sock']
Git version: 'v0.12.0-396-gb7233d11-dirty'
Untracked files: klippy/extras/beacon.py, klippy/extras/gcode_shell_command.py, klippy/extras/linear_movement_vibrations.py, klippy/extras/ratos.py, klippy/extras/ratos_homing.py, klippy/extras/resonance_generator.py, klippy/extras/z_offset_probe.py, klippy/kinematics/ratos_hybrid_corexy.py
Branch: master
Remote: origin
Tracked URL: https://github.com/Klipper3d/klipper.git
CPU: 4 core ?
Python: '3.9.2 (default, Mar 20 2025, 22:21:41) \n[GCC 10.2.1 20210110]'
Start printer at Thu Oct 16 09:07:08 2025 (1760602028.7 19.5)
===== Config file =====
[mcu rpi]
serial = /tmp/klipper_host_mcu
[board_pins btt-octopus-11]
aliases =
x_step_pin=PF13,
x_dir_pin=PF12,
x_enable_pin=PF14,
x_uart_pin=PC4,
x_diag_pin=PG6,
x_endstop_pin=PG6,
dual_carriage_step_pin=PF9,
dual_carriage_dir_pin=PF10,
dual_carriage_enable_pin=PG2,
dual_carriage_uart_pin=PF2,
dual_carriage_diag_pin=PG12,
dual_carriage_endstop_pin=PG12,
y_step_pin=PG0,
y_dir_pin=PG1,
y_enable_pin=PF15,
y_uart_pin=PD11,
y_diag_pin=PG9,
y_endstop_pin=PG9,
y1_step_pin=PG4,
y1_dir_pin=PC1,
y1_enable_pin=PA0,
y1_uart_pin=PC7,
y1_diag_pin=PG11,
y1_endstop_pin=PG11,
z0_step_pin=PC13,
z0_dir_pin=PF0,
z0_enable_pin=PF1,
z0_uart_pin=PE4,
z0_diag_pin=PG13,
z1_step_pin=PE2,
z1_dir_pin=PE3,
z1_enable_pin=PD4,
z1_uart_pin=PE1,
z1_diag_pin=PG14,
z2_step_pin=PE6,
z2_dir_pin=PA14,
z2_enable_pin=PE0,
z2_uart_pin=PD3,
z2_diag_pin=PG15,
e_step_pin=PF11,
e_dir_pin=PG3,
e_enable_pin=PG5,
e_uart_pin=PC6,
e_heater_pin=PA2,
e_sensor_pin=PF4,
stepper_spi_mosi_pin=PA7,
stepper_spi_miso_pin=PA6,
stepper_spi_sclk_pin=PA5,
adxl345_cs_pin=PA15,
bltouch_sensor_pin=PB7,
bltouch_control_pin=PB6,
probe_pin=PB7,
fan_part_cooling_pin=PA8,
fan_toolhead_cooling_pin=PE5,
fan_controller_board_pin=PD12,
heater_bed_heating_pin=PA1,
heater_bed_sensor_pin=PF3,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu]
serial = /dev/RatOS/btt-octopus-11
[temperature_sensor Octopus_V1.1_F446]
sensor_type = temperature_mcu
[adxl345 controlboard]
cs_pin = PA15
spi_bus = spi3
[board_pins toolboard_t0]
mcu = toolboard_t0
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t0]
serial = /dev/RatOS/btt-ebb42-12-t0
[temperature_sensor EBB42_v1.2_T0]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t0
[adxl345 toolboard_t0]
axes_map = x, z, y
cs_pin = toolboard_t0:PB12
spi_software_mosi_pin = toolboard_t0:PB11
spi_software_miso_pin = toolboard_t0:PB2
spi_software_sclk_pin = toolboard_t0:PB10
[board_pins toolboard_t1]
mcu = toolboard_t1
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t1]
serial = /dev/RatOS/btt-ebb42-12-t1
[temperature_sensor EBB42_v1.2_T1]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t1
[adxl345 toolboard_t1]
axes_map = x, z, y
cs_pin = toolboard_t1:PB12
spi_software_mosi_pin = toolboard_t1:PB11
spi_software_miso_pin = toolboard_t1:PB2
spi_software_sclk_pin = toolboard_t1:PB10
[gcode_macro RatOS]
variable_homing = "endstops"
variable_z_probe = "static"
variable_sensorless_x_current = 0.6
variable_sensorless_y_current = 0.9
variable_safe_home_x = "middle"
variable_safe_home_y = "middle"
variable_driver_type_x = "tmc2209"
variable_driver_type_y = "tmc2209"
variable_stowable_probe_stop_on_error = False
variable_chamber_filter_enable = True
variable_chamber_filter_speed = 0.5
variable_chamber_filter_disable_speed = 1.0
variable_chamber_filter_enable_at = "after_print_start"
variable_chamber_filter_disable_period = 300
variable_chamber_filter_disable_bed_temp = 0
variable_chamber_heater_enable = True
variable_chamber_heater_bed_temp = 115
variable_chamber_heater_preheating_temp = 150
variable_chamber_heater_heating_temp_offset = 25
variable_chamber_heater_control_external_heater = False
variable_chamber_heater_air_circulation_enable = True
variable_chamber_heater_air_circulation_fan_speed = 0.35
variable_chamber_heater_air_circulation_y_pos = 0
variable_chamber_heater_air_circulation_z_pos = 100
variable_chamber_heater_extra_fan_speed = 1.0
variable_chamber_heater_filter_fan_speed = 1.0
variable_led_status_action = 0.0,1.0,1.0
variable_led_status_success = 0.0,1.0,0.0
variable_led_status_error = 1.0,0.0,1.0
variable_led_status_on = 1.0,1.0,1.0
variable_led_status_off = 0.0,0.0,1.0
variable_led_status_standby = 0.1,0.1,0.1
variable_led_status_heating = 1.0,0.0,0.0
variable_led_status_cooling = 0.0,0.0,1.0
variable_calibrate_bed_mesh = True
variable_adaptive_mesh = True
variable_start_print_park_in = "back"
variable_start_print_park_z_height = 50
variable_end_print_park_in = "front"
variable_pause_print_park_in = "front"
variable_end_print_park_z_hop = 20
variable_nozzle_priming = "primeblob"
variable_nozzle_prime_start_x = "max"
variable_nozzle_prime_start_y = "min"
variable_nozzle_prime_direction = "auto"
variable_nozzle_prime_bridge_fan = 102
variable_probe_for_priming_result = None
variable_probe_for_priming_end_result = None
variable_probe_for_priming_result_t1 = None
variable_probe_for_priming_end_result_t1 = None
variable_probe_for_priming_disable_mesh_constraints = False
variable_adaptive_prime_offset_threshold = -1.0
variable_last_z_offset = None
variable_runout_park_in = "front"
variable_enable_unload_tip_forming = False
variable_filament_unload_length = 150
description = RatOS variable storage macro, will echo variables to the console when run.
variable_relative_extrusion = True
variable_force_absolute_position = False
variable_preheat_extruder = True
variable_preheat_extruder_temp = 150
variable_macro_travel_speed = 600
variable_macro_travel_accel = 8000
variable_macro_z_speed = 15
variable_bed_margin_x = [59.8, 59.8]
variable_bed_margin_y = [14.35, 33.65]
variable_printable_x_min = 0
variable_printable_x_max = 0
variable_printable_y_min = 0
variable_printable_y_max = 0
variable_end_print_motors_off = True
variable_status_color_ok = "00FF00"
variable_status_color_error = "FF0000"
variable_status_color_unknown = "FFFF00"
variable_end_print_retract_filament = 10
gcode =
ECHO_RATOS_VARS
variable_auto_center_subject = False
variable_toolchange_zhop = 2.0
variable_toolchange_zspeed = 25
variable_toolchange_sync_fans = False
variable_toolchange_combined_zhop = False
variable_toolchange_travel_speed = 600
variable_toolchange_travel_accel = 8000
variable_toolchange_extrusion = 2.0
variable_toolchange_retraction = 2.0
variable_toolchange_feedrate = 7200
variable_toolchange_prepurging_timer = 0
variable_toolchange_standby_temp = -1
variable_toolchange_purge = 25
variable_toolchange_first_purge = 50
variable_beacon_bed_mesh_scv = 25
variable_beacon_contact_z_homing = False
variable_beacon_contact_start_print_true_zero = True
variable_beacon_contact_wipe_before_true_zero = True
variable_beacon_contact_true_zero_temp = 150
variable_beacon_contact_prime_probing = True
variable_beacon_contact_expansion_compensation = True
variable_beacon_contact_bed_mesh = False
variable_beacon_contact_bed_mesh_samples = 2
variable_beacon_contact_z_tilt_adjust = False
variable_beacon_contact_z_tilt_adjust_samples = 2
variable_beacon_scan_compensation_enable = True
variable_beacon_scan_compensation_profile = "ratos"
variable_beacon_scan_compensation_probe_count = 15,15
variable_beacon_contact_poke_bottom_limit = -1
variable_homing_x = "endstop"
variable_homing_y = "endstop"
variable_default_toolhead = 0
variable_adxl_chip = ["adxl345 toolboard_t0", "adxl345 toolboard_t1"]
variable_shaper_x_freq = [52.8, 49.2, 50.7, 48.8]
variable_shaper_y_freq = [38.2, 37.0, 32.3, 33.1]
variable_shaper_x_type = ["mzv", "mzv", "mzv", "mzv"]
variable_shaper_y_type = ["mzv", "mzv", "mzv", "mzv"]
variable_x_driver_types = ["tmc2209"]
variable_x_axes = ["x"]
variable_y_driver_types = ["tmc2209", "tmc2209"]
variable_y_axes = ["y", "y1"]
variable_z_driver_types = ["tmc2209", "tmc2209", "tmc2209"]
variable_z_axes = ["z", "z1", "z2"]
variable_home_y_first = True
[ratos_homing]
axes = xyz
z_hop = 15
z_hop_speed = 15
gcode =
_LED_ON
{% set prev_stop_on_error = printer["gcode_macro RatOS"].stowable_probe_stop_on_error %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set target_idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE=True
M400
G90
{% set X = true if params.X is defined else false %}
{% set Y = true if params.Y is defined else false %}
{% set Z = true if params.Z is defined else false %}
{% if printer["gcode_macro RatOS"].home_y_first|default(false)|lower == 'true' %}
HOME_Y X={X} Y={Y} Z={Z}
HOME_X X={X} Y={Y} Z={Z}
{% else %}
HOME_X X={X} Y={Y} Z={Z}
HOME_Y X={X} Y={Y} Z={Z}
{% endif %}
HOME_Z X={X} Y={Y} Z={Z}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE={prev_stop_on_error}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[gcode_macro HOME_X]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_x = printer["gcode_macro RatOS"].homing_x|lower %}
{% set homing_x = homing_x if homing_x else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_X" MSG="printable_x_max: {printable_x_max}, safe_home_x: {safe_home_x}, axis_maximum.x: {printer.toolhead.axis_maximum.x}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}"
{% if X or not Y and not Z %}
{% if homing_x == 'endstop' %}
G28 X
{% elif homing_x == 'sensorless' %}
{% if printer["dual_carriage"] is defined %}
{ action_emergency_stop("sensorless homing not supported on IDEX!") }
{% endif %}
HOME_X_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_x to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_x, homing)) }
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1} MODE=PRIMARY
G1 X{parking_position} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% endif %}
{% set x_homed = True %}
G0 X{safe_home_x} F{speed}
M400
{% endif %}
[gcode_macro HOME_Y]
gcode =
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_y = printer["gcode_macro RatOS"].homing_y|lower %}
{% set homing_y = homing_y if homing_y else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Y" MSG="printable_y_max: {printable_y_max}, safe_home_y: {safe_home_y}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}"
{% if Y or not X and not Z %}
{% if homing_y == 'endstop' %}
G28 Y
{% elif homing_y == 'sensorless' %}
HOME_Y_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_y to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_y, homing)) }
{% endif %}
{% set y_homed = True %}
G0 Y{safe_home_y} F{speed}
{% endif %}
[gcode_macro HOME_Z]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set z_probe = printer["gcode_macro RatOS"].z_probe %}
{% set beacon_contact_z_homing = true if printer["gcode_macro RatOS"].beacon_contact_z_homing|default(false)|lower == 'true' else false %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Z" MSG="x_homed: {x_homed}, y_homed: {y_homed}, z_probe: {z_probe}, beacon_contact_z_homing: {beacon_contact_z_homing}"
{% if Z or not Y and not X %}
RATOS_ECHO MSG="Homing Z"
{% if x_homed == False or y_homed == False %}
{ action_emergency_stop("X and Y must be homed before homing Z") }
{% else %}
{% if z_probe == "stowable" %}
DEPLOY_PROBE
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
STOW_PROBE
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
{% endif %}
{% endif %}
{% endif %}
[gcode_macro HOME_X_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
G4 P300
G28 X
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
[gcode_macro HOME_Y_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
G4 P300
G28 Y
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
[gcode_macro _Z_HOP]
description = Move Z axis up by Z_HOP distance at Z_HOP_SPEED. In relative mode it will move Z axis up by Z_HOP distance. In absolute mode it will move Z axis to Z_HOP distance.
gcode =
{% set z_hop = printer.configfile.config.ratos_homing.z_hop|float %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
G0 Z{z_hop} F{z_hop_speed}
[gcode_macro _MOVE_TO_SAFE_Z_HOME]
description = Move to safe home position with optional Z_HOP (pass Z_HOP=True as parameter)
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% if params.Z_HOP is defined %}
_Z_HOP
{% endif %}
DEBUG_ECHO PREFIX="_MOVE_TO_SAFE_Z_HOME" MSG="axis_maximum.x: {printer.toolhead.axis_maximum.x}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}, safe_home_x: {safe_home_x}, safe_home_y: {safe_home_y}, printable_x_max: {printable_x_max}, printable_y_max: {printable_y_max}"
G0 X{safe_home_x} Y{safe_home_y} F{speed}
[gcode_macro MAYBE_HOME]
description = Only home unhomed axis
variable_is_kinematic_position_overriden = False
gcode =
{% if printer["gcode_macro MAYBE_HOME"].is_kinematic_position_overriden|lower == 'true' %}
RATOS_ECHO MSG="SET_CENTER_KINEMATIC_POSITION has been abused. Homing all axes. Please refrain from using SET_CENTER_KINEMATIC_POSITION outside of debugging purposes."
G28
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=False
{% else %}
{% set axes = '' %}
{% set isHomed = true %}
{% set axesToHome = '' %}
{% if params.X is defined %}
{% set axes = axes ~ 'X ' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% endif %}
{% if params.Y is defined %}
{% set axes = axes ~ 'Y ' %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% endif %}
{% if params.Z is defined %}
{% set axes = axes ~ 'Z ' %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if params.X is not defined and params.Y is not defined and params.Z is not defined %}
{% set axes = '' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if isHomed is false %}
RATOS_ECHO MSG="Homing {axesToHome}"
G28 {axesToHome}
{% else %}
RATOS_ECHO MSG="All requested axes already homed, skipping.."
{% endif %}
{% endif %}
[gcode_macro PID_CALIBRATE_HOTEND]
description = Perform a PID calibration test for a given extruder heater.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set temp = params.TEMP|default(220)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_HOTEND" MSG="TEMP={temp}"
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO MSG="PID calibration hotend heater T0 at {temp}°C..."
PID_CALIBRATE HEATER=extruder TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
{% if toolhead==0 or toolhead==1 %}
RATOS_ECHO MSG="PID calibration hotend heater T{toolhead} at {temp}°C..."
PID_CALIBRATE HEATER=extruder{'' if toolhead==0 else toolhead} TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_BED]
description = Perform a PID calibration test for the bed heater.
gcode =
{% set temp = params.TEMP|default(80)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_BED" MSG="TEMP={temp}"
RATOS_ECHO MSG="PID calibration bed heater at {temp}°C..."
PID_CALIBRATE HEATER=heater_bed TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_CHAMBER_HEATER]
description = Perform a PID calibration test for the chamber heater.
gcode =
{% set temp = params.TEMP|default(150)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_CHAMBER_HEATER" MSG="TEMP={temp}"
{% if printer["heater_generic chamber_heater"] is defined %}
RATOS_ECHO MSG="PID calibration chamber heater at {temp}°C..."
PID_CALIBRATE HEATER=chamber_heater TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_heater" %}
{% set link_text = "RatOS Chamber Heater" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber heater found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro INITIALIZE_PA_TUNING]
description = Start a pressure advance tuning tower.
gcode =
{% set start = params.START|default(0.0)|float %}
{% set factor = params.FACTOR|default(0.001)|float %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if is_printing_gcode and layer_number < 2 %}
DEBUG_ECHO PREFIX="START_PA_TOWER" MSG="START: {start}, FACTOR: {factor}"
RATOS_ECHO MSG="Starting presssure advance tuning tower..."
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START={start} FACTOR={factor}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro CHAMBER_FILTER_ON]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro CHAMBER_FILTER_OFF]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Deactivating chamber filter..."
_CHAMBER_FILTER_TURN_OFF
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro _CHAMBER_FILTER_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set chamber_filter_enable_at = printer["gcode_macro RatOS"].chamber_filter_enable_at|default('after_print_start')|lower %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_ON" MSG="at: {at}, chamber_filter_enable: {chamber_filter_enable}, chamber_filter_enable_at: {chamber_filter_enable_at}, chamber_filter_speed: {chamber_filter_speed}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if chamber_filter_enable_at == at %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON AT={at}
{% if chamber_filter_enable_at == "print_end" %}
_LED_CHAMBER_FILTER_ON
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_FILTER_OFF]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF" MSG="chamber_filter_enable: {chamber_filter_enable}, filter_disable_period: {filter_disable_period}, filter_disable_bed_temp: {filter_disable_bed_temp}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_period > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting {filter_disable_period} seconds before turning chamber filter off..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION={filter_disable_period}
{% endif %}
{% if filter_disable_bed_temp > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting for bed temp to cool down to {filter_disable_bed_temp}°C to turn filter off..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=0 MAXIMUM={filter_disable_bed_temp}
_CHAMBER_FILTER_TURN_OFF
_LED_CHAMBER_FILTER_OFF
{% endif %}
{% endif %}
[delayed_gcode _CHAMBER_FILTER_OFF_TIMER]
gcode =
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF_TIMER" MSG="executed"
_CHAMBER_FILTER_TURN_OFF
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Chamber filter turned off!"
_LED_CHAMBER_FILTER_OFF
[gcode_macro _CHAMBER_FILTER_TURN_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_speed|default(0)|float %}
{% if at == "print_end" %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_disable_speed|default(0)|float %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION=0
SET_FAN_SPEED FAN=filter SPEED={chamber_filter_speed}
[gcode_macro _CHAMBER_FILTER_TURN_OFF]
gcode =
SET_FAN_SPEED FAN=filter SPEED=0
[gcode_macro _CHAMBER_FILTER_SANITY_CHECK]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_bed_temp > 0 and filter_disable_period > 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable, not both.")}
{% endif %}
{% if filter_disable_bed_temp == 0 and filter_disable_period == 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable.")}
{% endif %}
{% endif %}
[gcode_macro CHAMBER_HEATER_ON]
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(45)|int %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp} IS_FROM_START_PRINT=False
[gcode_macro CHAMBER_HEATER_OFF]
gcode =
_CHAMBER_HEATER_OFF
[gcode_macro _CHAMBER_HEATER_ON]
variable_chamber_temp = 0
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set is_from_start_print = true if params.IS_FROM_START_PRINT|default(True)|lower == 'true' else false %}
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set chamber_heater_enable = true if printer["gcode_macro RatOS"].chamber_heater_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
{% set chamber_heater_preheating_temp = printer["gcode_macro RatOS"].chamber_heater_preheating_temp|default(150)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set chamber_heater_control_external_heater = true if printer["gcode_macro RatOS"].chamber_heater_control_external_heater|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_enable = true if printer["gcode_macro RatOS"].chamber_heater_air_circulation_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_fan_speed = printer["gcode_macro RatOS"].chamber_heater_air_circulation_fan_speed|default(0.35)|float %}
{% set chamber_heater_air_circulation_y_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_y_pos|default(0)|float %}
{% set chamber_heater_air_circulation_z_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_z_pos|default(100)|float %}
DEBUG_ECHO PREFIX="_CHAMBER_HEATER_ON" MSG="chamber_heater_enable: {chamber_heater_enable}, chamber_heater_preheating_temp: {chamber_heater_preheating_temp}, chamber_heater_heating_temp_offset: {chamber_heater_heating_temp_offset}, bed_temp: {bed_temp}, chamber_temp: {chamber_temp}, start_chamber_temp: {start_chamber_temp}"
{% if chamber_heater_enable and chamber_temp > 0 and chamber_heater_bed_temp > 0 %}
_LED_HEATING
RATOS_ECHO MSG="Preheating chamber to {(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}°C..."
{% set chamber_temp_sensor = "extruder" %}
{% if printer["dual_carriage"] is defined and default_toolhead == 1 %}
{% set chamber_temp_sensor = "extruder1" %}
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% set chamber_temp_sensor = "temperature_sensor chamber" %}
{% endif %}
{% set current_chamber_temp = printer['%s' % chamber_temp_sensor].temperature|int %}
{% set needs_heating = current_chamber_temp < (start_chamber_temp if start_chamber_temp > 0 else chamber_temp) %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_BEFORE_PREHEATING
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
{% if not is_from_start_print %}
MAYBE_HOME
{% endif %}
G0 Z{chamber_heater_air_circulation_z_pos} F{z_speed}
G0 Y{chamber_heater_air_circulation_y_pos} F{speed}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 1 else 0}
{% else %}
M106 S{(255 * chamber_heater_air_circulation_fan_speed)}
{% endif %}
{% else %}
{% if is_from_start_print %}
G0 Z{z} F{z_speed}
{% endif %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE={chamber_temp}
{% if needs_heating %}
M140 S{chamber_heater_bed_temp}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={chamber_heater_preheating_temp}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if needs_heating %}
_CHAMBER_HEATER_EXTRA_FAN_ON
{% endif %}
{% if needs_heating %}
TEMPERATURE_WAIT SENSOR="{chamber_temp_sensor}" MINIMUM={(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% endif %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED=0
_CHAMBER_FILTER_ON AT="before_print_start"
{% endif %}
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
G28 Z
{% endif %}
{% endif %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_AFTER_PREHEATING
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% if printer["heater_generic chamber_heater"] is defined %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined and chamber_heater_control_external_heater %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
_LED_SUCCESS
{% endif %}
[gcode_macro _CHAMBER_HEATER_OFF]
gcode =
RATOS_ECHO MSG="Deactivating chamber heater..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=0
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE=0
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
_CHAMBER_HEATER_EXTRA_FAN_OFF
[delayed_gcode _CHAMBER_HEATER_CONTROL]
initial_duration = 0.
gcode =
{% set chamber_temp = printer["gcode_macro _CHAMBER_HEATER_ON"].chamber_temp|default(0)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set current_chamber_temp = printer['temperature_sensor chamber'].temperature|int %}
{% if current_chamber_temp < chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if current_chamber_temp >= chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_ON]
gcode =
{% set chamber_heater_extra_fan_speed = printer["gcode_macro RatOS"].chamber_heater_extra_fan_speed|default(0.0)|float %}
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
{% if chamber_heater_extra_fan_speed > 0 %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED={chamber_heater_extra_fan_speed}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_OFF]
gcode =
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED=0
{% endif %}
[gcode_macro _USER_CHAMBER_HEATER_BEFORE_PREHEATING]
description = Will be executed before chamber preheating, only if heating is needed.
gcode =
[gcode_macro _USER_CHAMBER_HEATER_AFTER_PREHEATING]
description = Will be executed after chamber preheating, only if heating was needed.
gcode =
[gcode_macro _LED_START_PRINTING]
gcode =
_LED_ACTION
[gcode_macro _LED_START_PRINTING_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_PRINTING]
gcode =
_LED_ON TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_PAUSE]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_ON]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_OFF]
gcode =
_LED_STANDBY
[gcode_macro _LED_LOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_LOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_RUNOUT]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_CLOG]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_UNLOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_UNLOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_DEACTIVATE_TOOLHEAD]
gcode =
_LED_OFF TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_STANDBY]
gcode =
_LED_STANDBY TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_WAKEUP]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_MOTORS_OFF]
gcode =
_LED_STANDBY
_LED_VAOC_OFF
[gcode_macro _LED_INPUT_SHAPER_START]
gcode =
_LED_ACTION
[gcode_macro _LED_INPUT_SHAPER_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_START]
gcode =
_LED_ACTION
[gcode_macro _LED_BEACON_CALIBRATION_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_VAOC_ON]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=1.0 GREEN=1.0 BLUE=1.0
{% endif %}
[gcode_macro _LED_VAOC_OFF]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=0.0 GREEN=0.0 BLUE=0.0
{% endif %}
[gcode_macro _LED_ACTION]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_action %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SUCCESS]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_success %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_HEATING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_heating %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_COOLING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_cooling %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ERROR]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_error %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ON]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_on %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_OFF]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_off %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_STANDBY]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_standby %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
{% if toolhead >= 0 %}
{% if printer['neopixel nozzle_led_t%s' % toolhead] is defined %}
SET_LED LED={'nozzle_led_t%s' % toolhead} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% else %}
{% if printer['neopixel nozzle_led_t0'] is defined %}
SET_LED LED={'nozzle_led_t0'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% if printer['neopixel nozzle_led_t1'] is defined %}
SET_LED LED={'nozzle_led_t1'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% endif %}
_USER_LED_SET { rawparams }
[gcode_macro _USER_LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
[gcode_macro LOAD_FILAMENT]
description = Loads new filament. Note: be careful with PETG, make sure you inspect the tip of your filament before loading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% if filament_name == '' or filament_type == '' %}
{% set filament_name = 'unknown' %}
{% set filament_type = 'unknown' %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_LOAD_FILAMENT TEMP={temp} NAME={filament_name} TYPE={filament_type}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_LOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME={filament_name} TYPE={filament_type}
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _DEFAULT_LOAD_FILAMENT]
description = Load filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_LOAD_FILAMENT" MSG="TEMP={temp}"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=load_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
_LOAD_FILAMENT TOOLHEAD=0
RESTORE_GCODE_STATE NAME=load_state
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD=0
[gcode_macro _IDEX_LOAD_FILAMENT]
description = Load filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_LOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
_LOAD_FILAMENT TOOLHEAD={toolhead} TEMP={temp}
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into hotend.."
G92 E0
G0 E{extruder_gear_to_cooling_position_distance} F{extruder_load_speed}
G92 E0
M400
RATOS_ECHO MSG="Filament loaded into hotend."
[gcode_macro _LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set load_speed = printer["gcode_macro T%s" % toolhead].filament_load_speed|float * 60 %}
{% set filament_loading_nozzle_offset = printer["gcode_macro T%s" % toolhead].filament_loading_nozzle_offset|float %}
{% set cooling_position_to_nozzle_distance = printer["gcode_macro T%s" % toolhead].cooling_position_to_nozzle_distance|float %}
{% set purge_after_load = printer["gcode_macro T%s" % toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into nozzle... Please wait!"
G92 E0
G0 E{cooling_position_to_nozzle_distance + filament_loading_nozzle_offset} F{load_speed}
G92 E0
G4 P1000
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge_after_load}
RATOS_ECHO MSG="Filament loaded into nozzle!"
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
{% set filament_grabbing_length = printer["gcode_macro T%s" % toolhead].filament_grabbing_length|float %}
{% set filament_grabbing_speed = printer["gcode_macro T%s" % toolhead].filament_grabbing_speed|float %}
{% set resume_after_insert = true if printer["gcode_macro T%s" % toolhead].resume_after_insert|default(true)|lower == 'true' else false %}
{% set enable_insert_detection = true if printer["gcode_macro T%s" % toolhead].enable_insert_detection|default(true)|lower == 'true' else false %}
{% set current_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% if enable_insert_detection %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="toolhead: {toolhead}, filament_grabbing_length: {filament_grabbing_length}, filament_grabbing_speed: {filament_grabbing_speed}, current_idex_mode: {current_idex_mode}"
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
FORCE_MOVE STEPPER={'extruder%s' % ('' if toolhead == 0 else toolhead)} DISTANCE={filament_grabbing_length} VELOCITY={filament_grabbing_speed}
M400
{% if printer.pause_resume.is_paused %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% if resume_after_insert %}
RESUME
{% endif %}
{% else %}
{% if not printer.virtual_sdcard.is_active %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
[gcode_macro _PURGE_BEFORE_UNLOAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set purge_before_unload = printer["gcode_macro T%s" % toolhead].purge_before_unload|float %}
DEBUG_ECHO PREFIX="_PURGE_BEFORE_UNLOAD" MSG="TOOLHEAD: {toolhead}"
{% if purge_before_unload > 0 %}
G92 E0
G0 E{purge_before_unload} F300
G92 E0
M400
{% endif %}
[gcode_macro _PURGE_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set e = params.E|int %}
{% set r = params.R|default(0)|int %}
DEBUG_ECHO PREFIX="_PURGE_FILAMENT" MSG="TOOLHEAD: {toolhead}, E: {e}"
{% if e > 0 %}
G92 E0
G0 E{e} F300
G92 E0
M400
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={0.4 if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={0.4 if toolhead == 1 else 0}
{% else %}
M106 S{(255 * 0.4)}
{% endif %}
{% endif %}
G4 P3000
{% if r > 0 %}
G92 E0
G0 E-{r} F300
G92 E0
M400
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_PARKING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_PARKING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_LOADING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_LOADING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if act_t == toolhead %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{loading_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CLEANING_MOVE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined and printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set cleaning_position = loading_position %}
{% if loading_position == parking_position %}
{% if loading_position > 0 %}
{% set cleaning_position = loading_position - 30 %}
{% else %}
{% set cleaning_position = loading_position + 30 %}
{% endif %}
{% endif %}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _START_PRINT_BED_MESH]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
SET_MACRO_TRAVEL_SETTINGS
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set X=[params.X0|default(-1)|float, params.X1|default(-1)|float] %}
{% set Y=[params.Y0|default(-1)|float, params.Y1|default(-1)|float] %}
DEBUG_ECHO PREFIX="_START_PRINT_BED_MESH" MSG="idex_mode: {idex_mode}, X: {X}, Y: {Y}"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set X=[0, printable_x_max] %}
{% endif %}
{% set beacon_bed_mesh_scv = printer["gcode_macro RatOS"].beacon_bed_mesh_scv|default(25)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% if printer.configfile.settings.beacon is defined and not beacon_contact_bed_mesh %}
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={beacon_bed_mesh_scv}
{% endif %}
{% set default_profile = printer["gcode_macro RatOS"].bed_mesh_profile|default('ratos') %}
{% if printer["gcode_macro RatOS"].calibrate_bed_mesh|lower == 'true' %}
BED_MESH_CLEAR
{% if printer["gcode_macro RatOS"].adaptive_mesh|lower == 'true' %}
CALIBRATE_ADAPTIVE_MESH PROFILE={default_profile} X0={X[0]} X1={X[1]} Y0={Y[0]} Y1={Y[1]} T={params.T|int} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={idex_mode}
{% else %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% endif %}
BED_MESH_PROFILE LOAD={default_profile}
{% elif printer["gcode_macro RatOS"].bed_mesh_profile is defined %}
BED_MESH_CLEAR
BED_MESH_PROFILE LOAD={printer["gcode_macro RatOS"].bed_mesh_profile}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
[gcode_macro CALIBRATE_ADAPTIVE_MESH]
gcode =
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set default_profile = params.PROFILE %}
{% set x0 = params.X0|default(-1)|float %}
{% set y0 = params.Y0|default(-1)|float %}
{% set x1 = params.X1|default(-1)|float %}
{% set y1 = params.Y1|default(-1)|float %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Recieved coordinates X0={x0} Y0={y0} X1={x1} Y1={y1}"
{% if x0 >= x1 or y0 >= y1 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Invalid coordinates received. Please check your slicer settings. Falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float %}
{% set mesh_x0 = [[x0, max_x]|min, min_x]|max %}
{% set mesh_y0 = [[y0, max_y]|min, min_y]|max %}
{% set mesh_x1 = [[x1, max_x]|min, min_x]|max %}
{% set mesh_y1 = [[y1, max_y]|min, min_y]|max %}
{% if mesh_x0 == min_x and mesh_y0 == min_y and mesh_x1 == max_x and mesh_y1 == max_y %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Print is using the full bed, falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% set probe_count_x = mesh_config.probe_count.split(",")[0]|int %}
{% if mesh_config.probe_count.split(",")|length == 2 %}
{% set probe_count_y = mesh_config.probe_count.split(",")[1]|int %}
{% else %}
{% set probe_count_y = mesh_config.probe_count.split(",")[0]|int %}
{% endif %}
{% set probe_x_step = (max_x - min_x) / probe_count_x %}
{% set probe_y_step = (max_y - min_y) / probe_count_y %}
{% set mesh_count_x = ([(mesh_x1 - mesh_x0) / probe_x_step, 3]|max)|int %}
{% set mesh_count_y = ([(mesh_y1 - mesh_y0) / probe_y_step, 3]|max)|int %}
{% set min_mesh_count = [mesh_count_x, mesh_count_y]|min %}
{% set max_mesh_count = [mesh_count_x, mesh_count_y]|max %}
{% set algorithm = mesh_config.algorithm %}
{% if algorithm|lower == 'lagrange' and max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="cannot exceed a probe_count of 6 when using lagrange interpolation. Falling back to bicubic interpolation."
{% set algorithm = 'bicubic' %}
{% endif %}
{% if algorithm|lower == 'bicubic' and min_mesh_count < 4 %}
{% if max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="invalid probe_count option when using bicubic interpolation. Combination of 3 points on one axis with more than 6 on another is not permitted. Forcing minimum mesh count to be 4."
{% set min_mesh_count = 4 %}
{% else %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="bicubic interpolation with a probe_count of less than 4 points detected. Forcing lagrange interpolation."
{% set algorithm = 'lagrange' %}
{% endif %}
{% endif %}
{% set mesh_count_x = ([min_mesh_count, mesh_count_x]|max)|int %}
{% set mesh_count_x = ([max_mesh_count, mesh_count_x]|min)|int %}
{% set mesh_count_y = ([min_mesh_count, mesh_count_y]|max)|int %}
{% set mesh_count_y = ([max_mesh_count, mesh_count_y]|min)|int %}
{% set should_prime = printer["gcode_macro RatOS"].nozzle_priming == 'primeblob' %}
{% if printer["dual_carriage"] is not defined %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% else %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% endif %}
{% if printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 != 0 and probe_first %}
{% set probe_first = false %}
{% elif printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 == 0 and not probe_first %}
{% set probe_first = true %}
{% endif %}
{% if should_prime and probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="mesh coordinates X0={mesh_x0} Y0={mesh_y0} X1={mesh_x1} Y1={mesh_y1}"
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% if should_prime and not probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
STOW_PROBE
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M84]
rename_existing = M84.1
gcode =
M84.1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
{% if printer["dual_carriage"] is defined %}
_SET_TOOLHEAD_OFFSET T={printer["gcode_macro RatOS"].default_toolhead|int} MOVE=0
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro _VAOC"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
{% endif %}
SET_GCODE_OFFSET X=0 Y=0 Z=0 MOVE=0
_IDEX_SINGLE INIT=1
{% endif %}
SET_SKEW CLEAR=1
_LED_MOTORS_OFF
[gcode_macro M104]
rename_existing = M104.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
DEBUG_ECHO PREFIX="M104" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set temperature_offset_t0 = printer["gcode_macro T0"].temperature_offset|default(0)|int %}
{% set temperature_offset_t1 = printer["gcode_macro T1"].temperature_offset|default(0)|int %}
{% set s0 = [s + temperature_offset_t0, 0]|max %}
{% set s1 = [s + temperature_offset_t1, 0]|max %}
{% if temperature_offset_t0 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t0}°C added to toolhead T0."
{% endif %}
{% if temperature_offset_t1 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t1}°C added to toolhead T1."
{% endif %}
{% else %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
M104.1 S{s0} T0
M104.1 S{s1} T1
{% else %}
M104.1 S{s} T{t}
{% endif %}
{% endif %}
[gcode_macro M109]
rename_existing = M109.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
DEBUG_ECHO PREFIX="M109" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M109" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
M109.1 S{s} T{t}
{% endif %}
[gcode_macro SET_HEATER_TEMPERATURE]
rename_existing = SET_HEATER_TEMPERATURE_BASE
gcode =
{% set heater = params.HEATER|default("") %}
{% set target = params.TARGET|default(0)|int %}
DEBUG_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="heater: {heater}, target: {target}"
{% if heater|lower == "extruder" or heater|lower == "extruder1" %}
{% set t = 0 if heater|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and target > 0 %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set target = [target + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
SET_HEATER_TEMPERATURE_BASE HEATER="{heater}" TARGET={target}
[gcode_macro TEMPERATURE_WAIT]
rename_existing = TEMPERATURE_WAIT_BASE
gcode =
{% set sensor = params.SENSOR|default("") %}
{% set minimum = params.MINIMUM|default(-1)|int %}
{% set maximum = params.MAXIMUM|default(-1)|int %}
DEBUG_ECHO PREFIX="TEMPERATURE_WAIT" MSG="sensor: {sensor}, minimum: {minimum}, maximum: {maximum}"
{% if sensor|lower == "extruder" or sensor|lower == "extruder1" %}
{% set t = 0 if sensor|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and (minimum > 0 or maximum > 0) %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% if minimum > -1 %}
{% set minimum = [minimum + temperature_offset, 0]|max %}
{% endif %}
{% if maximum > -1 %}
{% set maximum = [maximum + temperature_offset, 0]|max %}
{% endif %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% if minimum > -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum} MAXIMUM={maximum}
{% elif minimum > -1 and maximum == -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum}
{% elif minimum == -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MAXIMUM={maximum}
{% endif %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature for toolhead T{t} reached."
[gcode_macro SET_GCODE_OFFSET]
rename_existing = SET_GCODE_OFFSET_ORG
gcode =
SET_GCODE_OFFSET_ORG { rawparams }
{% if printer.configfile.settings.beacon is defined and (params.Z_ADJUST is defined or params.Z is defined) %}
_BEACON_APPLY_RUNTIME_MULTIPLIER
{% endif %}
[gcode_macro SDCARD_PRINT_FILE]
rename_existing = SDCARD_PRINT_FILE_BASE
gcode =
{% if printer["ratos"] is defined %}
PROCESS_GCODE_FILE { rawparams }
{% else %}
SDCARD_PRINT_FILE_BASE { rawparams }
{% endif %}
[gcode_macro SKEW_PROFILE]
rename_existing = SKEW_PROFILE_BASE
variable_loaded_profile = ""
gcode =
{% if params.LOAD is defined %}
{% if printer.configfile.settings["skew_correction %s" % params.LOAD] is defined %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='"{params.LOAD}"'
{% endif %}
{% endif %}
SKEW_PROFILE_BASE { rawparams }
[gcode_macro SET_SKEW]
rename_existing = SET_SKEW_BASE
gcode =
{% if params.CLEAR is defined %}
{% if params.CLEAR|default(0)|int == 1 %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='""'
{% endif %}
{% endif %}
SET_SKEW_BASE { rawparams }
[gcode_macro SET_VELOCITY_LIMIT]
rename_existing = SET_VELOCITY_LIMIT_BASE
gcode =
{% if params.ACCEL_TO_DECEL is defined %}
{% if params.ACCEL is defined %}
{% set accel = params.ACCEL|float %}
{% else %}
{% set accel = printer.toolhead.max_accel|float %}
{% endif %}
{% if params.VELOCITY is defined %}
{% set velocity = params.VELOCITY|float %}
{% else %}
{% set velocity = printer.toolhead.max_velocity|float %}
{% endif %}
{% if params.SQUARE_CORNER_VELOCITY is defined %}
{% set scv = params.SQUARE_CORNER_VELOCITY|float %}
{% else %}
{% set scv = printer.toolhead.square_corner_velocity|float %}
{% endif %}
{% set mcr = params.ACCEL_TO_DECEL|float / accel %}
DEBUG_ECHO PREFIX="SET_VELOCITY_LIMIT" MSG="ACCEL={accel}, VELOCITY={velocity}, SQUARE_CORNER_VELOCITY={scv}, MINIMUM_CRUISE_RATIO={mcr}"
SET_VELOCITY_LIMIT_BASE ACCEL={accel} VELOCITY={velocity} SQUARE_CORNER_VELOCITY={scv} MINIMUM_CRUISE_RATIO={1-mcr}
{% else %}
SET_VELOCITY_LIMIT_BASE { rawparams }
{% endif %}
[gcode_macro _START_PRINT_PARK]
gcode =
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_x = printer["gcode_macro RatOS"].start_print_park_x %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% endif %}
{% if printer["dual_carriage"] is defined and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
{% if printer["gcode_macro RatOS"].start_print_park_x is defined and printer["gcode_macro RatOS"].start_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="start_print_park_x is ignored for IDEX printers"
{% endif %}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={start_print_park_in} X={start_print_park_x}
G0 Z{z} F{z_speed}
[gcode_macro _END_PRINT_PARK]
gcode =
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro RatOS"].end_print_park_x is defined and printer["gcode_macro RatOS"].end_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="end_print_park_x is ignored for IDEX printers"
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={printer["gcode_macro RatOS"].end_print_park_in} X={printer["gcode_macro RatOS"].end_print_park_x}
[gcode_macro _PARK]
gcode =
{% set x = params.X %}
{% set location = params.LOCATION|default('back')|lower %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set nozzle_priming = printer["gcode_macro RatOS"].nozzle_priming|lower %}
CACHE_TOOLHEAD_SETTINGS KEY="park"
SET_MACRO_TRAVEL_SETTINGS
{% if x != '' %}
{% if x|float >= printer.toolhead.axis_minimum.x + 5 and x|float <= printable_x_max - 5 %}
{% set park_x = x|float %}
{% else %}
{action_respond_info('The requested X co-ordinate is outside the defined axis bounds - using defaults')}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% else %}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% set park_y = printable_y_max - 15 %}
{% if location == 'front' %}
{% set park_y = printer.toolhead.axis_minimum.y + 5 %}
{% elif location == 'center' %}
{% set park_y = printable_y_max / 2 %}
{% elif location == 'primeblob' and printer["dual_carriage"] is defined %}
{% set park_y = printable_y_max - 15 %}
{% endif %}
{% if location == 'primeblob' and printer["dual_carriage"] is not defined %}
{% if (nozzle_priming == 'primeblob' or nozzle_priming == 'primeline') %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set park_x = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set park_x = printable_x_max - 5 %}
{% else %}
{% set park_x = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set park_y = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set park_y = printable_y_max - 5 %}
{% else %}
{% set park_y = nozzle_prime_start_y|float %}
{% endif %}
{% endif %}
{% endif %}
G90
{% if printer["dual_carriage"] is not defined %}
G0 X{park_x} Y{park_y} F{speed}
{% else %}
G0 Y{park_y} F{speed}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="park"
[gcode_macro SAVE_PROBE_RESULT]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
{% set last_z_offset = 9999.9 %}
{% if printer.configfile.settings.beacon is defined %}
{% set current_z = printer.toolhead.position.z|float %}
{% if beacon_contact_prime_probing %}
{% set last_z_offset = printer.beacon.last_z_result %}
{% else %}
{% set last_z_offset = printer.beacon.last_sample.dist - current_z %}
{% endif %}
{% elif printer.configfile.settings.bltouch is defined %}
{% set config_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% elif printer.configfile.settings.probe is defined %}
{% set config_offset = printer.configfile.settings.probe.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Saving offset adjustment of {last_z_offset} in {params.VARIABLE|default('last_z_offset')}"
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE={params.VARIABLE|default('last_z_offset')} VALUE={last_z_offset}
[gcode_macro PROBE_FOR_PRIMING]
gcode =
{% set probe_for_priming_disable_mesh_constraints = true if printer["gcode_macro RatOS"].probe_for_priming_disable_mesh_constraints|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower != 'false' %}
SAVE_GCODE_STATE NAME=probe_for_priming_state
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the prime location.."
CACHE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
SET_MACRO_TRAVEL_SETTINGS
{% set t = params.TOOLHEAD|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% if idex_mode == '' %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% if t == 0 %}
{% set x_start = 5 %}
{% else %}
{% set x_start = printable_x_max - 5 %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% endif %}
{% endif %}
{% set z = printer.configfile.settings.bed_mesh.horizontal_move_z|float %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% if printer.configfile.settings.bltouch is defined %}
{% set x_offset = printer.configfile.settings.bltouch.x_offset|float %}
{% set y_offset = printer.configfile.settings.bltouch.y_offset|float %}
{% set z_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% elif printer.configfile.settings.probe is defined %}
{% set x_offset = printer.configfile.settings.probe.x_offset|float %}
{% set y_offset = printer.configfile.settings.probe.y_offset|float %}
{% set z_offset = printer.configfile.settings.probe.z_offset|float %}
{% elif printer.configfile.settings.beacon is defined %}
{% set x_offset = printer.configfile.settings.beacon.x_offset|float %}
{% set y_offset = printer.configfile.settings.beacon.y_offset|float %}
{% set z_offset = printer.configfile.settings.beacon.trigger_distance|float %}
{% else %}
{ action_raise_error("No probe, beacon or bltouch section found. Adaptive priming only works with a [probe], [beacon] or [bltouch] section defined.") }
{% endif %}
{% if z < z_offset %}
{ action_raise_error("Horizontal move Z ({z}) is below your probe's Z offset ({z_offset}). Please adjust your horizontal_move_z setting in [bed_mesh] to be above {z}.") }
{% endif %}
{% if not probe_for_priming_disable_mesh_constraints %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float - x_offset %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float - y_offset %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float - x_offset %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float - y_offset %}
{% set x_start = [[x_start, max_x]|min, min_x]|max %}
{% set y_start = [[y_start, max_y]|min, min_y]|max %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the start of the prime location at {x_start}, {y_start}"
G90
M83
G0 Z{z} F{z_speed}
G1 X{x_start} Y{y_start} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result
{% endif %}
{% if idex_mode == '' %}
{% set x_end = x_start %}
{% set y_end = y_start + 45 %}
{% else %}
{% if t==1 %}
{% set x_end = x_start - 45 %}
{% else %}
{% set x_end = x_start + 45 %}
{% endif %}
{% set y_end = y_start %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the end of the prime location at {x_end}, {y_end}"
G1 X{x_end} Y{y_end} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result
{% endif %}
RESTORE_GCODE_STATE NAME=probe_for_priming_state
RESTORE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
{% endif %}
[gcode_macro RESET_PRIME_PROBE_STATE]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result VALUE=None
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result_t1 VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result_t1 VALUE=None
{% endif %}
[gcode_macro PROBE_CURRENT_POSITION]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
SAVE_GCODE_STATE NAME=probe_current_position_state
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
ASSERT_PROBE_DEPLOYED
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_prime_probing %}
PROBE PROBE_METHOD=contact SAMPLES=1
{% else %}
PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
BEACON_QUERY
{% else %}
RESTORE_GCODE_STATE NAME=probe_current_position_state MOVE=1 MOVE_SPEED={printer["gcode_macro RatOS"].macro_z_speed|float}
{% endif %}
[gcode_macro PRIME_BLOB]
description = Prints a primeblob, used internally, if configured, as part of the START_PRINT macro.
variable_x_offset = 5
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="prime_blob"
SET_MACRO_TRAVEL_SETTINGS
RATOS_ECHO PREFIX="Priming" MSG="Priming nozzle with prime blob.."
{% set current_toolhead = 0 %}
{% set target_idex_mode = '' %}
{% set extruder = 'extruder' %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE is defined %}
{% set target_idex_mode = params.IDEX_MODE|default('')|lower %}
{% else %}
{ action_raise_error("IDEX_MODE parameter not found for PRIME_BLOB macro. This is likely a bug.") }
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Priming in IDEX {target_idex_mode} mode.."
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set current_toolhead = 1 if current_idex_mode=='primary' else 0 %}
{% set extruder = 'extruder1' if current_toolhead == 1 else 'extruder' %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
SAVE_GCODE_STATE NAME=prime_blob_state
{% endif %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set fan_speed = printer["gcode_macro RatOS"].nozzle_prime_bridge_fan|float %}
{% set nozzle_diameter = printer.configfile.settings[extruder].nozzle_diameter|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set has_start_offset_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) != 9999.9 %}
{% if printer["dual_carriage"] is defined %}
{% set has_start_offset_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) != 9999.9 %}
{% endif %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_z_height = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set nozzle_prime_direction = printer["gcode_macro RatOS"].nozzle_prime_direction|lower %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% if target_idex_mode == '' %}
{% set x_factor = 0 %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% set y_factor = 1 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% set y_factor = -1 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% if nozzle_prime_start_y|float < printable_y_max / 2 %}
{% set y_factor = 1 %}
{% else %}
{% set y_factor = -1 %}
{% endif %}
{% endif %}
{% if nozzle_prime_direction == 'forwards' %}
{% set y_factor = 1 %}
{% elif nozzle_prime_direction == 'backwards' %}
{% set y_factor = -1 %}
{% endif %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% else %}
{% set z = start_print_park_z_height %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% set y_factor = 0 %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set x_start = center_x / 2 + 5 %}
{% set x_factor = 1 %}
{% else %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% if current_toolhead == 0 %}
{% set x_start = 55 %}
{% set x_factor = -1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 55 %}
{% set x_factor = 1 %}
{% endif %}
{% else %}
{% if current_toolhead == 0 %}
{% set x_start = 5 %}
{% set x_factor = 1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 5 %}
{% set x_factor = -1 %}
{% endif %}
{% endif %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_x_max - 5 %}
{% endif %}
{% set z = 10 %}
{% endif %}
{% set start_z_offset = 0 %}
{% set end_z_offset = 0 %}
{% if has_start_offset_t0 %}
{% set start_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) %}
{% set end_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_end_result|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t0) ) }
{% endif %}
{% if end_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t0) ) }
{% endif %}
{% set start_z_offset = start_z_probe_result_t0 %}
{% set end_z_offset = end_z_probe_result_t0 %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if current_toolhead == 1 or both_toolheads or target_idex_mode == "copy" or target_idex_mode == "mirror" %}
{% if has_start_offset_t1 %}
{% set start_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) %}
{% set end_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_end_result_t1|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t1) ) }
{% endif %}
{% if end_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t1) ) }
{% endif %}
{% set start_z_offset = [start_z_offset, start_z_probe_result_t1]|max %}
{% set end_z_offset = [end_z_offset, start_z_probe_result_t1]|max %}
{% endif %}
{% endif %}
{% if target_idex_mode != 'copy' and target_idex_mode != 'mirror' %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% set original_start_z_offset = start_z_offset %}
{% set original_end_z_offset = end_z_offset %}
{% set start_z_offset = original_end_z_offset %}
{% set end_z_offset = original_start_z_offset %}
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={current_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="PRIME_BLOB" MSG="x_start: {x_start}, y_start: {y_start}, x_factor: {x_factor}, y_factor: {y_factor}, z: {z}, start_z_offset: {start_z_offset}, end_z_offset: {end_z_offset}"
G90
M83
RATOS_ECHO PREFIX="Priming" MSG="Lifting Z to {z}.."
G0 Z{z} F{z_speed}
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% if start_print_park_in != 'primeblob' %}
G1 X{x_start} F{speed}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% endif %}
{% else %}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% if target_idex_mode=="copy" or target_idex_mode=="mirror" %}
RATOS_ECHO PREFIX="Priming" MSG="Mirroring move to {x_start}, {y_start} along the edge of the print area.."
_IDEX_MIRROR PRIMING=1
{% else %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% endif %}
G1 X{x_start} F{speed}
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Starting prime blob.."
G1 Z{0.5 + start_z_offset} F{z_speed}
G1 Y{y_start} F{speed}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
M106 S{fan_speed}
G1 Z5 F100 E5
G92 E0
RATOS_ECHO PREFIX="Priming" MSG="Bridging with {((fan_speed/255) * 100)|int}% fan speed.."
G1 F3000 X{x_start + (15 * x_factor)} Y{y_start + (15 * y_factor)} E{1 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (20 * x_factor)} Y{y_start + (20 * y_factor)} Z{3.8 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (34 * x_factor)} Y{y_start + (34 * y_factor)} Z{2.6 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (38 * x_factor)} Y{y_start + (38 * y_factor)} Z{1.4 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (42 * x_factor)} Y{y_start + (42 * y_factor)} Z{0.2 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
M106 S0
G1 F3000 X{x_start + (46 * x_factor)} Y{y_start + (46 * y_factor)} Z{0.2 + end_z_offset} E0.6
G1 F{speed} X{x_start + (50 * x_factor)} Y{y_start + (50 * y_factor)}
{% if target_idex_mode == "copy" or target_idex_mode == "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if target_idex_mode == "copy" %}
{% if first_y >= 0 %}
_IDEX_COPY DANCE=0 Y={first_y}
{% else %}
_IDEX_COPY DANCE=0 Y={params.Y1}
{% endif %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
RESTORE_GCODE_STATE NAME=prime_blob_state
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="prime_blob"
G92 E0
[gcode_macro UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% set temp = params.TEMP|default(220)|int %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_UNLOAD_FILAMENT TEMP={temp} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _LEGACY_UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set unload_speed = 5 * 60 %}
{% set unload_length = printer["gcode_macro RatOS"].filament_unload_length|float %}
M117 Unloading filament...
G0 E10 F300
G0 E-5 F3600
G4 P3000
G0 E5 F6000
G0 E-15 F6000
G0 E-{unload_length} F{unload_speed}
_CLEANING_MOVE TOOLHEAD={toolhead}
M117 Filament unloaded!
RESPOND MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _DEFAULT_UNLOAD_FILAMENT]
description = Unload filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_UNLOAD_FILAMENT" MSG="TEMP: {temp}"
_LED_UNLOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=unload_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD=0 NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TOOLHEAD=0
{% endif %}
RESTORE_GCODE_STATE NAME=unload_state
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD=0
[gcode_macro _IDEX_UNLOAD_FILAMENT]
description = Unload filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_UNLOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead}
{% endif %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Unloading filament from nozzle to cooling zone... Please wait!"
_PURGE_BEFORE_UNLOAD TOOLHEAD={toolhead}
{% if printer["gcode_macro _UNLOAD_WITHOUT_TIP_FORMING"] is defined %}
_UNLOAD_WITHOUT_TIP_FORMING TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_UNLOAD_WITH_TIP_FORMING NAME='{filament_name}' TYPE='{filament_type}'
{% endif %}
G4 P3000
[gcode_macro _UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
{% set tooolhead_sensor_to_extruder_gear_distance = printer["gcode_macro T%s" % toolhead].tooolhead_sensor_to_extruder_gear_distance|float %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER" MSG="TOOLHEAD: {toolhead}"
G0 E-{extruder_gear_to_cooling_position_distance + tooolhead_sensor_to_extruder_gear_distance + 50} F{extruder_load_speed}
RATOS_ECHO MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _UNLOAD_WITH_TIP_FORMING]
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% if filament_name != '' and filament_type != '' %}
_UNLOAD_KNOWN_FILAMENT NAME={filament_name} TYPE={filament_type}
{% else %}
_UNLOAD_UNKNOWN_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _UNLOAD_KNOWN_FILAMENT]
description = User overrideable tip forming macro if slicer filament profiles are known
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
RATOS_ECHO PREFIX="FILAMENT TYPE" MSG='{filament_type}'
RATOS_ECHO PREFIX="FILAMENT PROFILE" MSG='{filament_name}'
{% if filament_name == "Prusament PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% elif filament_name == "Nobufil PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% else %}
RATOS_ECHO PREFIX="_UNLOAD_KNOWN_FILAMENT" MSG="Filament profile not found!"
_UNLOAD_UNKNOWN_FILAMENT
{% endif %}
[gcode_macro _UNLOAD_UNKNOWN_FILAMENT]
description = User overrideable standard tip forming macro
gcode =
DEBUG_ECHO PREFIX="_UNLOAD_UNKNOWN_FILAMENT" MSG="Using standard tip forming macro!"
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
[gcode_macro _TIP_FORMING]
gcode =
{% set cooling_moves = params.COOLING_MOVES|default(4)|int %}
{% set cooling_move_length = params.COOLING_MOVE_LENGTH|default(10)|float %}
{% set start_cooling_speed = params.START_COOLING_SPEED|default(10)|float * 60 %}
{% set end_cooling_speed = params.END_COOLING_SPEED|default(50)|float * 60 %}
{% if cooling_moves == 0 %}
{% set cooling_move_length = 0 %}
{% endif %}
{% set dip = true if params.DIP|default(false)|lower == "true" else false %}
{% set dip_length = params.DIP_LENGTH|default(22)|float %}
{% set dip_speed = params.DIP_SPEED|default(30)|float * 60 %}
{% set dip_retract_speed = params.DIP_RETRACT_SPEED|default(70)|float * 60 %}
{% set retract_length = params.RETRACT_LENGTH|default(18)|float %}
{% set start_retract_speed = params.START_RETRACT_SPEED|default(120)|float * 60 %}
{% set end_retract_speed = params.END_RETRACT_SPEED|default(20)|float * 60 %}
DEBUG_ECHO PREFIX="_TIP_FORMING" MSG="cooling_moves: {cooling_moves}, cooling_move_length: {cooling_move_length}, start_cooling_speed: {start_cooling_speed}, end_cooling_speed: {end_cooling_speed}, dip: {dip}, dip_length: {dip_length}, dip_speed: {dip_speed}, dip_retract_speed: {dip_retract_speed}, retract_length: {retract_length}, start_retract_speed: {start_retract_speed}, end_retract_speed: {end_retract_speed}"
M220 S100
G92 E0
{% set retract = retract_length + cooling_move_length / 2 - 15 %}
G1 E-15 F{start_retract_speed}
G1 E-{0.7 * retract} F{1.0 * end_retract_speed}
G1 E-{0.2 * retract} F{0.5 * end_retract_speed}
G1 E-{0.1 * retract} F{0.3 * end_retract_speed}
G92 E0
{% if cooling_moves > 0 %}
{% set i = (end_cooling_speed - start_cooling_speed) / (2 * cooling_moves - 1) %}
{% for m in range(cooling_moves) %}
G1 E{cooling_move_length} F{(start_cooling_speed + i * m * 2)}
G1 E-{cooling_move_length} F{(start_cooling_speed + i * (m * 2 + 1))}
{% endfor %}
{% endif %}
G92 E0
{% if dip %}
G1 E{dip_length} F{dip_speed}
G4 P100
G1 E-{dip_length} F{dip_retract_speed}
{% endif %}
G92 E0
M400
[gcode_macro _ON_FILAMENT_SENSOR_BUTTON_PRESSED]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_SENSOR_BUTTON_PRESSED" MSG="TOOLHEAD: {toolhead}"
{% if not printer.virtual_sdcard.is_active %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_FILAMENT_END]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set clogged = true if params.CLOGGED|default(false)|lower == 'true' else false %}
{% set unload_after_runout = printer["gcode_macro T%s" % toolhead].unload_after_runout|float %}
{% if clogged %}
_LED_FILAMENT_CLOG TOOLHEAD={toolhead}
{% else %}
_LED_FILAMENT_RUNOUT TOOLHEAD={toolhead}
{% endif %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_END" MSG="TOOLHEAD: {toolhead}"
{% if printer.virtual_sdcard.is_active %}
{% if not printer.pause_resume.is_paused %}
PAUSE RUNOUT=True
{% endif %}
{% if not clogged and unload_after_runout %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% if not clogged and printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true'%}
_JOIN_SPOOL TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M600]
description = Executes a color change by pausing the printer an unloading the filament.
gcode =
PAUSE
UNLOAD_FILAMENT
RATOS_ECHO MSG="Please load new filament and resume"
[gcode_macro COLD_PULL]
description = Automated hotend cold pull.
gcode =
{% set extrusion_temp = params.EXTRUSION_TEMP|default(220)|int %}
{% set cold_pull_temp = params.COLD_PULL_TEMP|default(80)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% if printer["dual_carriage"] is not defined %}
{% set toolhead = 0 %}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead != 0 and toolhead != 1 %}
{action_raise_error("Please select toolhead! 0 = left, 1 = right toolhead")}
{% endif %}
{% endif %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
SAVE_GCODE_STATE NAME=cold_pull_state
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
RATOS_ECHO MSG="Heating T{toolhead} to {extrusion_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={extrusion_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={extrusion_temp} MAXIMUM={extrusion_temp + 2}
G4 P3000
RATOS_ECHO MSG="extruding..."
G92 E0
G1 E30 F300
G92 E0
RATOS_ECHO MSG="Heating T{toolhead} to {cold_pull_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={cold_pull_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={cold_pull_temp} MAXIMUM={cold_pull_temp + 2}
G4 P10000
RATOS_ECHO MSG="cold pull..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-40 VELOCITY=5 ACCEL=100
RATOS_ECHO MSG="eject filament..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-200 VELOCITY=20 ACCEL=500
RATOS_ECHO MSG="cooling down extruder..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
RESTORE_GCODE_STATE NAME=cold_pull_state
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
CONSOLE_ECHO TITLE="Cold pull finished!" MSG="Please remove the filament from the PTFE tube and cut the end off. Do NOT try to load it again." TYPE="warning"
[gcode_macro _USER_START_PRINT_BEFORE_HOMING]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_BED]
gcode =
[gcode_macro _USER_START_PRINT_BED_MESH]
gcode =
[gcode_macro _USER_START_PRINT_PARK]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
[gcode_macro _USER_START_PRINT_HEAT_CHAMBER]
description = Uses the extruder sensor to wait for chamber temp. Override the _START_PRINT_HEAT_CHAMBER macro to implement heated chamber handling.
gcode =
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
[gcode_macro _USER_END_PRINT_BEFORE_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_AFTER_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_PARK]
gcode =
[gcode_macro _USER_END_PRINT_FINISHED]
description = User hook for when the print is finished after gcode state has been restored.
gcode =
[gcode_macro _USER_START_PRINT]
gcode =
[gcode_macro _USER_END_START_PRINT]
gcode =
[gcode_macro _USER_START_FEATURE]
gcode =
[gcode_macro _USER_END_FEATURE]
gcode =
[gcode_macro ECHO_T_VARS]
description = Echo Toolhead variables to the console.
gcode =
{% set t = params.T|default(0) %}
RATOS_ECHO MSG="T{t} Variables"
{% for var, value in printer["gcode_macro T%s" % t].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro ECHO_RATOS_VARS]
description = Echo RatOS variables to the console.
gcode =
{% for var, value in printer["gcode_macro RatOS"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[delayed_gcode RATOS_INIT]
initial_duration = 0.1
gcode =
_LED_STANDBY
CALCULATE_PRINTABLE_AREA
INITIAL_FRONTEND_UPDATE
_CHAMBER_FILTER_SANITY_CHECK
[delayed_gcode RATOS_LOGO]
initial_duration = 2
gcode =
HELLO_RATOS
[gcode_macro INITIAL_FRONTEND_UPDATE]
gcode =
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_error = printer["gcode_macro RatOS"].status_color_error|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_unknown}"'
{% endif %}
{% set t0_sensor = "undefined" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
{% set t0_sensor = "detected" %}
{% else %}
{% set t0_sensor = "empty" %}
{% endif %}
{% else %}
{% set t0_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set t1_sensor = "undefined" %}
{% if printer["dual_carriage"] is defined and printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
{% set t1_sensor = "detected" %}
{% else %}
{% set t1_sensor = "empty" %}
{% endif %}
{% else %}
{% set t1_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set svv = printer.save_variables.variables %}
{% if svv.t0_filament is defined and printer["gcode_macro T0"] is defined %}
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
{% if t0_sensor != "empty" %}
{% set t0_filament_type = svv.t0_filament[0]|default('')|string %}
{% set t0_filament_name = svv.t0_filament[1]|default('')|string %}
{% set t0_filament_temp = svv.t0_filament[2]|default(0)|float %}
{% if t0_filament_name != '' and t0_filament_type != '' and t0_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{t0_filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{t0_filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={t0_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
{% if svv.t1_filament is defined and printer["gcode_macro T1"] is defined %}
{% if printer["gcode_macro T1"].filament_name is defined and printer["gcode_macro T1"].filament_type is defined and printer["gcode_macro T1"].filament_temp is defined %}
{% if t1_sensor != "empty" %}
{% set t1_filament_type = svv.t1_filament[0]|default('')|string %}
{% set t1_filament_name = svv.t1_filament[1]|default('')|string %}
{% set t1_filament_temp = svv.t1_filament[2]|default(0)|float %}
{% if t1_filament_name != '' and t1_filament_type != '' and t1_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='"{t1_filament_name}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='"{t1_filament_type}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE={t1_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t1_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro CALCULATE_PRINTABLE_AREA]
gcode =
{% set bed_margin_x = printer["gcode_macro RatOS"].bed_margin_x %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set tool = 0 if printer["gcode_macro T0"] is not defined or printer["gcode_macro T0"].active else 1 %}
{% set max_x = printer.toolhead.axis_maximum.x if printer["dual_carriage"] is defined and tool == 0 else printer.toolhead.axis_maximum.x - bed_margin_x[1] %}
{% if printer["dual_carriage"] is defined %}
{% set max_x = printer.toolhead.axis_maximum.x %}
{% endif %}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="printer.toolhead.axis_maximum.x {printer.toolhead.axis_maximum.x}"
{% set max_y = printer.toolhead.axis_maximum.y - bed_margin_y[1]%}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_x_max VALUE={max_x}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_y_max VALUE={max_y}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="Printable area calculated: X: 0,{max_x} Y: 0,{max_y}"
[gcode_macro CACHE_TOOLHEAD_SETTINGS]
variable_cache = {"global": {"accel": 1000, "ratio": 0.5, "speed": 50, "scv": 5}}
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set dummy = cache.__setitem__(key, {"accel": printer.toolhead.max_accel, "ratio": printer.toolhead.minimum_cruise_ratio, "speed": printer.toolhead.max_velocity, "scv": printer.toolhead.square_corner_velocity}) %}
SET_GCODE_VARIABLE MACRO=CACHE_TOOLHEAD_SETTINGS VARIABLE=cache VALUE="{cache | pprint | replace("\n", "") | replace("\"", "\\\"")}"
DEBUG_ECHO PREFIX="CACHE_TOOLHEAD_SETTINGS" MSG="Toolhead settings cached for {key}. {printer.toolhead.max_accel} accel, {printer.toolhead.minimum_cruise_ratio} ratio, {printer.toolhead.max_velocity} velocity, {printer.toolhead.square_corner_velocity} scv."
[gcode_macro RESTORE_TOOLHEAD_SETTINGS]
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set values = printer["gcode_macro CACHE_TOOLHEAD_SETTINGS"].cache.__getitem__(key) %}
{% if values is not defined or values == 'None' %}
{ action_raise_error("RESTORE_TOOLHEAD_SETTINGS: Toolhead settings not cached for key '" ~ key ~ "'.") }
{% endif %}
SET_VELOCITY_LIMIT ACCEL={values.accel} MINIMUM_CRUISE_RATIO={values.ratio} VELOCITY={values.speed} SQUARE_CORNER_VELOCITY={values.scv}
DEBUG_ECHO PREFIX="RESTORE_TOOLHEAD_SETTINGS" MSG="Toolhead settings restored. {values.accel} accel, {values.ratio} ratio, {values.speed} velocity, {values.scv} scv."
[gcode_macro SET_MACRO_TRAVEL_SETTINGS]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set accel = printer["gcode_macro RatOS"].macro_travel_accel %}
SET_VELOCITY_LIMIT ACCEL={accel} MINIMUM_CRUISE_RATIO=0.5 VELOCITY={speed} SQUARE_CORNER_VELOCITY={5}
DEBUG_ECHO PREFIX="SET_MACRO_TRAVEL_SETTINGS" MSG="Macro travel settings set. {accel} accel, {speed} velocity"
[gcode_macro SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% if printer["dual_carriage"] is not defined %}
SET_KINEMATIC_POSITION X={printable_x_max / 2} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
{% else %}
IDEX_SET_CENTER_KINEMATIC_POSITION
{% endif %}
[gcode_macro IDEX_SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x - (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x + (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
[gcode_macro VERIFY_HYBRID_INVERTED]
gcode =
{% set inverted = False %}
{% if printer.configfile.settings.ratos_hybrid_corexy is defined and printer.configfile.settings.ratos_hybrid_corexy.inverted is defined %}
{% if printer.configfile.settings.ratos_hybrid_corexy.inverted|lower == 'true' %}
{% set inverted = True %}
{% endif %}
{% endif %}
{% if inverted == False %}
{ action_emergency_stop("ratos_hybrid_corexy NOT INVERTED! Inverted hybrid core-xy bugfix not detected.") }
{% endif %}
[gcode_macro RATOS_ECHO]
gcode =
{% set prefix = "RatOS" %}
{% set debug = params.DEBUG|default(0)|int %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " | " ~ params.PREFIX %}
{% endif %}
{% set prefix = prefix ~ ":" %}
{% set msg = "" %}
{% if params.MSG is defined %}
{% set msg = params.MSG %}
{% else %}
{% set msg = "No msg parameter provided (this is a bug or unintended use)." %}
{% endif %}
{% if not debug %}
M117 {prefix} {msg}
{% endif %}
RATOS_LOG PREFIX="{prefix}" MSG="{msg}"
{% if not debug %}
RESPOND PREFIX="{prefix}" MSG="{msg}"
{% else %}
CONSOLE_ECHO TITLE="{prefix}" TYPE="debug" MSG="{msg}"
{% endif %}
[gcode_macro ENABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=True
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=prefix_filter VALUE="'{params.FILTER|default('')|lower}'"
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging enabled."
[gcode_macro DISABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=False
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging disabled."
[gcode_macro DEBUG_ECHO]
variable_enabled = False
variable_prefix_filter = ''
gcode =
{% set prefix = "DEBUG" %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " - " ~ params.PREFIX %}
{% endif %}
{% if enabled and (prefix_filter|lower == '' or prefix_filter|lower in params.PREFIX|lower) %}
RATOS_ECHO PREFIX="{prefix}" MSG="{params.MSG}" DEBUG=1
{% endif %}
[gcode_macro START_FEATURE]
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="Start {params.FEATURE} feature gcode"
{% set scv = printer.toolhead.square_corner_velocity|int|default(5) %}
{% set accel = printer.toolhead.max_accel|int|default(10000) %}
{% set ratio = printer.toolhead.minimum_cruise_ratio|float|default(0.5) %}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="scv" VALUE={scv}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="accel" VALUE={accel}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="ratio" VALUE={ratio}
_USER_START_FEATURE FEATURE="{params.FEATURE}"
[gcode_macro END_FEATURE]
variable_scv = 5
variable_accel = 10000
variable_ratio = 0.5
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="End {params.FEATURE} feature gcode"
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={scv} ACCEL={accel} MINIMUM_CRUISE_RATIO={ratio}
_USER_END_FEATURE FEATURE="{params.FEATURE}" SCV={scv} ACCEL={accel} RATIO={ratio}
[gcode_macro _ON_LAYER_CHANGE]
variable_layer_number = 0
description = INTERNAL USE ONLY. Call it from the slicers after layer change custom gcode
gcode =
{% set layer = params.LAYER|int %}
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE={layer}
SET_PRINT_STATS_INFO CURRENT_LAYER={layer}
[gcode_macro _LEARN_MORE_CALIBRATION]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/calibration" %}
{% set link_text = "RatOS Calibration Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_CHAMBER_FILTER]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter Control" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_FILAMENT]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/filaments" %}
{% set link_text = "RatOS Filament Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _CONSOLE_SAVE_CONFIG]
gcode =
M118 Click SAVE_CONFIG to save the settings to your printer.cfg.
[gcode_macro SAVE_Z_OFFSET]
gcode =
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SAVE_MULTIPLIER
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _LOAD_RATOS_SKEW_PROFILE]
gcode =
{% set ratos_skew_profile = printer["gcode_macro RatOS"].skew_profile|default("") %}
{% if ratos_skew_profile != "" %}
{% if printer.configfile.config["skew_correction %s" % ratos_skew_profile] is defined %}
SKEW_PROFILE LOAD={ratos_skew_profile}
GET_CURRENT_SKEW
{% else %}
{% set line_1 = '"Could not find skew profile %s!_N_Clearing skew correction."' % ratos_skew_profile %}
CONSOLE_ECHO TITLE="Missing skew profile!" TYPE="warning" MSG={line_1}
SET_SKEW CLEAR=1
{% endif %}
{% endif %}
[gcode_macro M601]
gcode =
PAUSE
[gcode_macro PAUSE]
description = Pauses the print
rename_existing = PAUSE_BASE
variable_extrude = 1.5
variable_retract = 1.5
variable_fan_speed = 0
variable_idex_mode = ""
variable_idex_toolhead = 0
variable_idex_toolhead_x = 0.0
variable_idex_toolhead_y = 0.0
variable_idex_toolhead_z = 0.0
gcode =
{% set runout_detected = true if params.RUNOUT|default(false)|lower == 'true' else false %}
_LED_PAUSE
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set idex_toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
SAVE_GCODE_STATE NAME=PAUSE_state
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_mode VALUE='"{idex_mode}"'
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={idex_toolhead}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_x VALUE={printer.gcode_move.gcode_position.x|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_y VALUE={printer.gcode_move.gcode_position.y|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_z VALUE={printer.gcode_move.gcode_position.z|float}
DEBUG_ECHO PREFIX="PAUSE" MSG="idex_mode: {idex_mode}, idex_toolhead: {idex_toolhead}, idex_toolhead_x: {idex_toolhead_x}, idex_toolhead_y: {idex_toolhead_y}, idex_toolhead_z: {idex_toolhead_z}"
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
CACHE_TOOLHEAD_SETTINGS KEY="pause"
SET_MACRO_TRAVEL_SETTINGS
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% if current_z < (max_z - 20.0) %}
{% set z_safe = 20.0 %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
PAUSE_BASE
{% if printer["dual_carriage"] is not defined %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan"].speed|float}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
{% if idex_toolhead == 0 %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t1"].speed|float}
{% endif %}
{% endif %}
{% endif %}
M106 S0
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if idex_mode != '' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set R = printer["gcode_macro PAUSE"].retract|float %}
{% if can_extrude %}
G91
G1 E-{R} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].pause_print_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].pause_print_park_in %}
{% if runout_detected %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].runout_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].runout_park_in %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
DEBUG_ECHO PREFIX="PAUSE" MSG="z_speed: {z_speed}, pause_print_park_x: {pause_print_park_x}, pause_print_park_in: {pause_print_park_in}, default_toolhead: {default_toolhead}"
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F{z_speed}
G90
{% if printer["dual_carriage"] is not defined %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% else %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
_IDEX_SINGLE X={parking_position}
{% else %}
PARK_TOOLHEAD
{% endif %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="pause"
[gcode_macro RESUME]
description = Resumes the print if the printer is paused.
rename_existing = RESUME_BASE
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set target_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set target_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% endif %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if target_idex_mode != '' %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set fan_speed = printer["gcode_macro PAUSE"].fan_speed|float %}
{% if printer["dual_carriage"] is not defined %}
M106 S{(fan_speed * 255)}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% else %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% else %}
{% if printer["gcode_macro PAUSE"].idex_toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% endif %}
{% endif %}
M106.1 S{fan_speed}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY DANCE=0
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR DANCE=0
{% else %}
{% if params.TOOLHEAD is defined %}
_SELECT_TOOL T={params.TOOLHEAD} X=-1 Y=-1 TOOLSHIFT=false
{% else %}
_SELECT_TOOL T={printer["gcode_macro PAUSE"].idex_toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% endif %}
{% set x = printer["gcode_macro PAUSE"].idex_toolhead_x|float %}
{% set y = printer["gcode_macro PAUSE"].idex_toolhead_y|float %}
{% set z = printer["gcode_macro PAUSE"].idex_toolhead_z|float %}
G1 X{x} Y{y} Z{z} F{speed}
{% if params.TOOLHEAD is defined %}
SAVE_GCODE_STATE NAME=PAUSE_STATE
{% endif %}
{% endif %}
{% if params.TOOLHEAD is not defined %}
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
{% if can_extrude %}
G91
G1 E{E} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 MOVE_SPEED={speed}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
RESUME_BASE
_LED_PRINTING
[gcode_macro CANCEL_PRINT]
description = Cancels the printer
rename_existing = CANCEL_PRINT_BASE
gcode =
END_PRINT
TURN_OFF_HEATERS
CLEAR_PAUSE
CANCEL_PRINT_BASE
[gcode_macro START_PRINT]
description = Start print procedure, use this in your Slicer.
variable_post_processor_version = 2
variable_is_printing_gcode = False
variable_both_toolheads = True
variable_object_xoffset = 0
variable_first_x = -1
variable_first_y = -1
variable_total_toolshifts = 0
variable_initial_tool = 0
variable_extruder_first_layer_temp = ""
variable_extruder_other_layer_temp = ""
gcode =
{% if "xyz" in printer.toolhead.homed_axes and printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% if printer["gcode_macro _VAOC"].is_started|default(true)|lower == 'true' %}
_VAOC_END
{% endif %}
{% endif %}
_LED_START_PRINTING
CACHE_TOOLHEAD_SETTINGS KEY="start_print"
_USER_START_PRINT { rawparams }
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set z_probe_stowable = printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set X0 = params.X0|default(-1)|float %}
{% set X1 = params.X1|default(-1)|float %}
{% set Y0 = params.Y0|default(-1)|float %}
{% set Y1 = params.Y1|default(-1)|float %}
{% if first_x == -1 or first_y == -1 %}
{% set first_x = params.FIRST_X|default(-1)|float %}
{% set first_y = params.FIRST_Y|default(-1)|float %}
{% endif %}
{% set total_toolshifts = params.TOTAL_TOOLSHIFTS|default(0)|int %}
{% set initial_tool = params.INITIAL_TOOL|default(default_toolhead)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(printer.heater_bed.target, true)|float %}
{% set total_layer_count = params.TOTAL_LAYER_COUNT|default(0)|int %}
{% set extruder_first_layer_temp = (params.EXTRUDER_TEMP|default("")).split(",") %}
RATOS_ECHO MSG="First print coordinates X:{first_x} Y:{first_y}"
{% if params.TOTAL_LAYER_COUNT is not defined %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Configuration" %}
{% set line_1 = '"Your slicer gcode settings are not up to date._N_Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Incomplete Slicer Configuration detected" TYPE="warning" MSG={line_1}
{% endif %}
SET_PRINT_STATS_INFO CURRENT_LAYER=1
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE=1
{% if total_layer_count > 0 %}
SET_PRINT_STATS_INFO TOTAL_LAYER={total_layer_count}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads %}
{% set initial_tool = 0 if initial_tool == 1 else 1 %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% set both_toolheads = true %}
{% if total_toolshifts == 0 %}
{% set both_toolheads = false %}
{% endif %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
{% endif %}
{% if both_toolheads and (idex_mode == "copy" or idex_mode == "mirror") %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Gcode tool changes found. Copy and mirror mode do not support toolchanges.")}
{% endif %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set both_toolheads = true %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=initial_tool VALUE={initial_tool}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_x VALUE={first_x}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_y VALUE={first_y}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=total_toolshifts VALUE={total_toolshifts}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=both_toolheads VALUE={both_toolheads}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_first_layer_temp VALUE="'{params.EXTRUDER_TEMP}'"
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_other_layer_temp VALUE="'{params.EXTRUDER_OTHER_LAYER_TEMP}'"
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE=0
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set stepper_x_position_min = printer.configfile.settings.stepper_x.position_min|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set x_parking_space = parking_position_t0 - (stepper_x_position_endstop , stepper_x_position_min)|max %}
{% set dc_parking_space = (dual_carriage_position_endstop , dual_carriage_position_max)|min - parking_position_t1 %}
{% if svv.idex_xoffset|abs >= (x_parking_space - 0.5) or svv.idex_xoffset|abs >= (dc_parking_space - 0.5) %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Toolhead x-offset is too high for the available parking space. Calibrate your X and DC endstop positions and make sure you stay below 1mm." % (copy_mode_max_width)) }
{% endif %}
{% endif %}
{% if (idex_mode == "copy" or idex_mode == "mirror") and printer.configfile.settings.ratos.enable_gcode_transform %}
{% if params.MIN_X is not defined or params.MAX_X is not defined %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Something went wrong! Missing important post processor start print parameter!") }
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE=0
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set boundary_box_min_x = params.MIN_X|default(0)|float %}
{% set boundary_box_max_x = params.MAX_X|default(printable_x_max)|float %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
{% set boundary_box_max_x = boundary_box_max_x + svv.idex_xoffset %}
{% else %}
{% set boundary_box_min_x = boundary_box_min_x - svv.idex_xoffset %}
{% endif %}
{% set center_x = printable_x_max / 2.0 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set object_width = boundary_box_max_x - boundary_box_min_x %}
{% set copy_mode_max_width = center_x %}
{% set mirror_mode_max_width = center_x - safe_distance / 2.0 %}
DEBUG_ECHO PREFIX="START_PRINT" MSG="OBJECT_WIDTH: {object_width} BOUNDARY_BOX_MIN_X: {boundary_box_min_x} BOUNDARY_BOX_MAX_X: {boundary_box_max_x} CENTER_X: {center_x} SAFE_DISTANCE: {safe_distance}"
{% if idex_mode == "copy" and object_width > copy_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for copy mode! Max supported width is %s mm" % (copy_mode_max_width)) }
{% endif %}
{% if idex_mode == "mirror" and object_width > mirror_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for mirror mode! Max supported width is %s mm" % (mirror_mode_max_width)) }
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = (printable_x_max - boundary_box_max_x - boundary_box_min_x) / 2 %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE={object_xoffset}
{% endif %}
{% endif %}
{% set has_initial_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_initial_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined and both_toolheads %}
{% set has_secondary_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_secondary_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
_CHAMBER_FILTER_ON AT="before_print_start"
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true' %}
{% if both_toolheads %}
RATOS_ECHO MSG="Spool join is not possible if both toolheads are in use!"
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == '' %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
{% endif %}
{% endif %}
CLEAR_PAUSE
{% if printer["gcode_macro RatOS"].force_absolute_position|lower == 'true' %}
G90
{% endif %}
SAVE_GCODE_STATE NAME=start_print_state
G21
G90
M82
_USER_START_PRINT_BEFORE_HOMING { rawparams }
{% if z_probe_stowable == true %}
STOWABLE_PROBE_BEGIN_BATCH
{% endif %}
MAYBE_HOME
_Z_HOP
{% if idex_mode != '' and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
PARK_TOOLHEAD
{% endif %}
{% if chamber_temp > 0 %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED={printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float}
{% endif %}
{% endif %}
_CHAMBER_HEATER_ON START_CHAMBER_TEMP={start_chamber_temp} CHAMBER_TEMP={chamber_temp}
_USER_START_PRINT_HEAT_CHAMBER { rawparams } CHAMBER_TEMP={chamber_temp}
{% endif %}
_START_PRINT_BEFORE_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
RATOS_ECHO MSG="Heating bed..."
M190 S{bed_temp}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_BED { rawparams }
_START_PRINT_AFTER_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
_USER_START_PRINT_BED_MESH { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_BED_MESH X0={X0} X1={X1} Y0={Y0} Y1={Y1} T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if z_probe_stowable == true %}
STOWABLE_PROBE_END_BATCH
{% endif %}
{% if idex_mode == '' %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={extruder_first_layer_temp[1]|float}
{% endif %}
{% endif %}
_USER_START_PRINT_PARK { rawparams }
_START_PRINT_PARK
RATOS_ECHO MSG="Heating Extruder..."
{% if idex_mode == '' %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder1" MINIMUM={extruder_first_layer_temp[1]|float} MAXIMUM={extruder_first_layer_temp[1]|float + 5}
{% endif %}
{% endif %}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
{% if idex_mode == '' %}
_LED_PRINTING
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
_LED_PRINTING
{% else %}
{% if both_toolheads %}
_LED_PRINTING TOOLHEAD={initial_tool}
{% if toolchange_standby_temp > -1 %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={0 if initial_tool == 1 else 1}
{% else %}
_LED_PRINTING TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% else %}
_LED_PRINTING TOOLHEAD={initial_tool}
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% endif %}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_EXTRUDER { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_AFTER_HEATING_EXTRUDER X0={X0} X1={X1} Y0={Y0} Y1={Y1} INITIAL_TOOLHEAD={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if idex_mode != '' %}
{% if not both_toolheads %}
{% if initial_tool != default_toolhead %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if initial_tool == 1 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% set x_offset = printer.toolhead.position.x|float - printer.gcode_move.gcode_position.x|float %}
{% endif %}
RESTORE_GCODE_STATE NAME=start_print_state
{% if idex_mode != '' %}
{% set act_idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% if act_idex_mode == "copy" or act_idex_mode == "mirror" %}
SET_GCODE_OFFSET X={x_offset} MOVE=0
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% if idex_mode == "copy" and idex_mode != act_idex_mode %}
_IDEX_COPY DANCE=0
{% elif idex_mode == "mirror" and idex_mode != act_idex_mode %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
RATOS_ECHO MSG="Adjusting object x-offset by {(object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={object_xoffset} MOVE=0
{% endif %}
{% else %}
_SELECT_TOOL T={initial_tool} TOOLSHIFT=false
{% if initial_tool != default_toolhead %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_SET_TOOLHEAD_OFFSET T={initial_tool} MOVE=0
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={initial_tool}
{% endif %}
_SET_EXTRUSION_MODE
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={printer["print_stats"].print_duration}
{% endif %}
_USER_END_START_PRINT { rawparams }
G92 E0
_CHAMBER_FILTER_ON AT="after_print_start"
RATOS_ECHO MSG="Printing..."
[gcode_macro _START_PRINT_BEFORE_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set is_stowable_probe = true if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Pre-heating extruder..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={min_temp}
{% else %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET={min_temp}
{% endif %}
{% else %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
{% endif %}
{% endif %}
{% if not is_stowable_probe %}
{% if printer["dual_carriage"] is defined and act_t != default_toolhead %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
{% endif %}
RATOS_ECHO MSG="Heat soaking z probe..."
{% if auto_z_offset_calibration %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% if default_toolhead == 0 %}
_SELECT_TOOL T=0 TOOLSHIFT=false
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% elif default_toolhead == 1 %}
_SELECT_TOOL T=1 TOOLSHIFT=false
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% endif %}
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% endif %}
G0 Z2 F{z_speed}
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Waiting for extruder to be preheated..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
{% if default_toolhead == 0 %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_Z_HOP
{% endif %}
{% if auto_z_offset_calibration %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={default_toolhead}
_SELECT_TOOL T={0 if default_toolhead == 1 else 1} X={parking_position_t0 if default_toolhead == 1 else parking_position_t1} Y=0 TOOLSHIFT=false
_CLEANING_MOVE TOOLHEAD={0 if default_toolhead == 1 else 1}
_VAOC_CALIBRATE_Z_OFFSET AUTO_Z_OFFSET=True
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=false
{% endif %}
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
{% if needs_rehoming %}
G28 Z
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% if beacon_contact_wipe_before_true_zero %}
_START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE
{% endif %}
_START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
G0 Z5 F{z_speed}
G0 X50 Y10 F{speed}
PROBE PROBE_METHOD=contact SAMPLES=1
BEACON_QUERY
[gcode_macro _START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_true_zero_location = printer["gcode_macro RatOS"].beacon_contact_true_zero_location|default("front")|lower %}
{% set beacon_contact_true_zero_margin_x = printer["gcode_macro RatOS"].beacon_contact_true_zero_margin_x|default(30)|int %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_wipe_before_true_zero %}
{% if printer.beacon.last_probe_result|lower == "ok" %}
{% set last_z_offset = printer.beacon.last_z_result %}
RATOS_ECHO MSG="Auto calibration nozzle wipe with probe result {last_z_offset}..."
G0 Z{(0.2 + last_z_offset)} F{z_speed}
G0 X70 F300
{% else %}
RATOS_ECHO MSG="Skipping auto calibration nozzle wipe because probing failed!"
{% endif %}
{% endif %}
G0 Z5 F{z_speed}
_MOVE_TO_SAFE_Z_HOME
RATOS_ECHO MSG="Heating extruder to probing temperature..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={beacon_contact_true_zero_temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={beacon_contact_true_zero_temp} MAXIMUM={beacon_contact_true_zero_temp + 5}
RATOS_ECHO MSG="Beacon contact auto calibration..."
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
G0 Z5 F{z_speed}
[gcode_macro _START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set first_x = printer["gcode_macro START_PRINT"].first_x|default(-1)|float %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2.0 %}
{% set center_y = printable_y_max / 2.0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% if printer["dual_carriage"] is defined %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% endif %}
{% set X0 = params.X0|default(-1)|int %}
{% set X1 = params.X1|default(-1)|int %}
{% set Y0 = params.Y0|default(-1)|int %}
{% set Y1 = params.Y1|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% if idex_mode == '' %}
_PRIME
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
RATOS_ECHO PREFIX="IDEX" MSG="using combined prime offset for IDEX {idex_mode} mode"
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
{% if both_toolheads %}
{% if initial_toolhead == 0 %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T{initial_toolhead}"
_SELECT_TOOL T={initial_toolhead} TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% endif %}
{% endif %}
CACHE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
SET_MACRO_TRAVEL_SETTINGS
{% if (X0 > -1 and Y1 > -1) or (first_x > 0 and first_y > 0) %}
{% if printer["dual_carriage"] is defined %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
{% set first_z = 1 %}
{% else %}
{% set first_z = 3 %}
{% endif %}
{% if idex_mode == "mirror" %}
{% if first_y >= 0 %}
G0 Y{first_y} F{speed}
{% else %}
G0 Y{Y1} F{speed}
{% endif %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={initial_toolhead}
_PURGE_FILAMENT TOOLHEAD={initial_toolhead} E={printer["gcode_macro RatOS"].toolchange_first_purge|default(50)|float}
_CLEANING_MOVE TOOLHEAD={initial_toolhead}
{% endif %}
{% if first_x >= 0 and first_y >= 0 %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% else %}
{% set first_x = X0 %}
{% set first_y = Y0 %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'min' %}
{% set first_x = X0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'max' %}
{% set first_x = X1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|float <= center_x %}
{% set first_x = X0 %}
{% else %}
{% set first_x = X1 %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'min' %}
{% set first_y = Y0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'max' %}
{% set first_y = Y1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|float <= center_y %}
{% set first_y = Y0 %}
{% else %}
{% set first_y = Y1 %}
{% endif %}
{% endif %}
{% endif %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% endif %}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
_LOAD_RATOS_SKEW_PROFILE
[gcode_macro _PRIME]
gcode =
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
PRIME_BLOB INITIAL_TOOLHEAD={params.INITIAL_TOOLHEAD} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={params.IDEX_MODE} Y1={params.Y1}
{% else %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE == "copy" %}
_IDEX_COPY DANCE=0
{% elif params.IDEX_MODE == "mirror" %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro END_PRINT]
description = End print procedure, use this in your Slicer.
gcode =
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SAVE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = printer["gcode_macro START_PRINT"].object_xoffset|default(0)|float %}
RATOS_ECHO MSG="Adjusting object x-offset by {(0-object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={(0-object_xoffset)}
{% endif %}
{% endif %}
_USER_END_PRINT_BEFORE_HEATERS_OFF { rawparams }
_END_PRINT_BEFORE_HEATERS_OFF
TURN_OFF_HEATERS
_USER_END_PRINT_AFTER_HEATERS_OFF { rawparams }
_END_PRINT_AFTER_HEATERS_OFF
_USER_END_PRINT_PARK { rawparams }
_END_PRINT_PARK
{% if printer["gcode_macro RatOS"].skew_profile is defined %}
SET_SKEW CLEAR=1
{% endif %}
{% if printer["dual_carriage"] is not defined and printer["gcode_macro RatOS"].end_print_motors_off|lower != 'false' %}
M84
{% endif %}
M107
BED_MESH_CLEAR
RATOS_ECHO MSG="Done :)"
RESTORE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
M84
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
{% if printer["dual_carriage"] is not defined %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SET_GCODE_OFFSET Z=0 MOVE=0
{% endif %}
{% endif %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print"
_CHAMBER_FILTER_ON AT="print_end"
_CHAMBER_FILTER_OFF
_CHAMBER_HEATER_OFF
_USER_END_PRINT_FINISHED { rawparams }
[gcode_macro _END_PRINT_BEFORE_HEATERS_OFF]
gcode =
RATOS_ECHO MSG="Cleaning up..."
[gcode_macro _END_PRINT_AFTER_HEATERS_OFF]
gcode =
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% set z_hop = printer["gcode_macro RatOS"].end_print_park_z_hop|float %}
{% set r = printer["gcode_macro RatOS"].end_print_retract_filament|default(4)|float %}
{% if current_z < (max_z - z_hop) %}
{% set z_safe = z_hop %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
G91
G1 E-2 F3600
G0 Z{z_safe} F3600
G1 E-{(r-2)} F3600
G90
[gcode_macro _SET_EXTRUSION_MODE]
gcode =
{% if printer["gcode_macro RatOS"].relative_extrusion|lower == 'true' %}
M83
{% else %}
M82
{% endif %}
[gcode_macro GENERATE_SHAPER_GRAPHS]
description = Genarates input shaper resonances graphs for analysis. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set hz_per_sec = params.HZ_PER_SEC|default(1)|float %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set copy_mode_offset = printable_x_max / 4.0 %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% else %}
_IDEX_SINGLE
{% endif %}
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
{% if idex_mode != 'copy' and idex_mode != 'mirror' %}
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
{% endif %}
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Shaper graph"
[gcode_shell_command generate_shaper_graph_x]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-x.sh
timeout = 60.
verbose = True
[gcode_shell_command generate_shaper_graph_y]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-y.sh
timeout = 60.
verbose = True
[gcode_macro MEASURE_COREXY_BELT_TENSION]
description = Generates resonance graph used to ensure belts are equally tensioned. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
_IDEX_SINGLE
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if measure_t1 == false or measure_t0 == false %}
{action_raise_error("Axis specified. Not supported for belt tension on Y.")}
{% else %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
G4 P5000
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
PARK_TOOLHEAD
{% endif %}
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if params.TOOLHEAD is not defined %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
G1 X{parking_position_t1} F{speed}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
{% if params.TOOLHEAD is not defined %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Belt Tension Graph"
[gcode_shell_command generate_belt_tension_graph]
command = /home/pi/printer_data/config/RatOS/scripts/generate-belt-tension-graph.sh
timeout = 90.
verbose = True
[idle_timeout]
gcode =
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused|lower == 'false' %}
RATOS_ECHO PREFIX="IDLE" MSG="2 hours since last activity. Powering off heaters and motors.."
TURN_OFF_HEATERS
M84
{% endif %}
{% endif %}
timeout = 7200
[temperature_sensor raspberry_pi]
sensor_type = temperature_host
[skew_correction]
[input_shaper]
[virtual_sdcard]
path = ~/printer_data/gcodes
[display_status]
[pause_resume]
[force_move]
enable_force_move = True
[respond]
[resonance_generator]
[ratos]
allow_unknown_gcode_generator = True
enable_gcode_transform = True
allow_unsupported_slicer_versions = True
[exclude_object]
[heater_bed]
heater_pin = heater_bed_heating_pin
sensor_pin = heater_bed_sensor_pin
sensor_type = Generic 3950
min_temp = 0
max_temp = 140
pwm_cycle_time = 0.02
control = pid
pid_kp = 65.045
pid_ki = 1.953
pid_kd = 541.497
[fan]
pin = rpi:gpio4
shutdown_speed = 1.0
[heater_fan toolhead_cooling_fan]
pin = toolboard_t0:PA1
fan_speed = 1
heater = extruder
[printer]
kinematics = ratos_hybrid_corexy
max_velocity = 800
max_accel = 10000
minimum_cruise_ratio = 0.5
max_z_velocity = 50
max_z_accel = 600
square_corner_velocity = 5
[ratos_hybrid_corexy]
inverted = true
[dual_carriage]
axis = x
safe_distance = 55
position_max = 558.971
position_endstop = 558.971
position_min = 0
step_pin = PF9
dir_pin = dual_carriage_dir_pin
enable_pin = !PG2
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t1:PB6
[gcode_macro IDEX_SINGLE]
gcode =
_IDEX_REMAP_TOOLHEADS ENABLE=False
_IDEX_SINGLE
[gcode_macro _IDEX_SINGLE]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_single"
SET_MACRO_TRAVEL_SETTINGS
{% set init = params.INIT|default(0)|int %}
{% set new_x = params.X|default(-1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_act_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_default_t = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="init: {init}, new_x: {new_x}, idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, act_t: {act_t}"
{% if idex_mode == "copy" or idex_mode == "mirror" or init == 1 %}
{% if 'x' in printer.toolhead.homed_axes %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="reset gcode offset"
G1 X{center_x} F{(speed)}
SET_GCODE_OFFSET X_ADJUST={center_x / 2} MOVE=0
{% endif %}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="activate default carriage"
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% if 'x' in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolheads"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
G90
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position."
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1}
G1 X{parking_position_default_t} F{speed}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move default toolhead to its new position."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% if new_x == -1 %}
{% set new_x = center_x %}
{% endif %}
G1 X{new_x} F{speed}
M400
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="X Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set extruder motion queue."
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if default_toolhead==0 else default_toolhead}
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolhead offset."
_SET_TOOLHEAD_OFFSET T={default_toolhead}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set input shaper."
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[default_toolhead]|float)} SHAPER_FREQ_Y={(shaper_y_freq[default_toolhead]|float)} SHAPER_TYPE_X={(shaper_x_type[default_toolhead]|lower)} SHAPER_TYPE_Y={(shaper_y_type[default_toolhead]|lower)}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="update Frontend."
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if default_toolhead==0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if default_toolhead==1 else False}
{% else %}
{% if "xyz" in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_single"
[gcode_macro IDEX_COPY]
gcode =
_IDEX_COPY
[gcode_macro _IDEX_COPY]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_copy"
SET_MACRO_TRAVEL_SETTINGS
{% set y = params.Y|default(-1)|int %}
{% set dance = params.DANCE|default(1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_COPY" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}, y: {y}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "copy" %}
{% if idex_mode == "mirror" %}
{% if y>=0 %}
G1 X{center_x} Y{y} F{(speed)}
{% else %}
G1 X{center_x} F{(speed)}
{% endif %}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
{% if idex_mode != "mirror" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "mirror" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance == 1 %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[2]|float)} SHAPER_FREQ_Y={(shaper_y_freq[2]|float)} SHAPER_TYPE_X={(shaper_x_type[2]|lower)} SHAPER_TYPE_Y={(shaper_y_type[2]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_copy"
[gcode_macro IDEX_MIRROR]
gcode =
_IDEX_MIRROR
[gcode_macro _IDEX_MIRROR]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_mirror"
SET_MACRO_TRAVEL_SETTINGS
{% set dance = params.DANCE|default(1)|int %}
{% set priming = params.PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_MIRROR" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "mirror" %}
{% if idex_mode == "copy" %}
G1 X{center_x} F{(speed)}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS MIRROR_PRIMING={params.PRIMING}
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
{% if idex_mode != "copy" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "copy" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance and not priming %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[3]|float)} SHAPER_FREQ_Y={(shaper_y_freq[3]|float)} SHAPER_TYPE_X={(shaper_x_type[3]|lower)} SHAPER_TYPE_Y={(shaper_y_type[3]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_mirror"
[gcode_macro _IDEX_SET_TOOLHEADS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
SET_MACRO_TRAVEL_SETTINGS
{% set mirror_priming = params.MIRROR_PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position_inactive_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="_IDEX_SET_TOOLHEADS" MSG="idex_mode: {idex_mode}, act_t: {act_t}, center_x: {center_x}, mirror_priming: {mirror_priming}"
{% if act_t != default_toolhead %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE=1
{% endif %}
{% if mirror_priming %}
{% if parking_position_t0|abs < parking_position_t1 - printable_x_max %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{printable_x_max + parking_position_t0|abs} F{(speed)}
{% else %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{0 - (parking_position_t1 - printable_x_max)} F{(speed)}
{% endif %}
{% else %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1} MODE=PRIMARY
G1 X{parking_position_inactive_t} F{(speed)}
{% if act_t==1 %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{center_x / 2} F{(speed)}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
[gcode_macro IDEX_PARK]
gcode =
PARK_TOOLHEAD
[gcode_macro PARK_TOOLHEAD]
gcode =
{% set idex_mode = 'none' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode=='primary' else 0 %}
DEBUG_ECHO PREFIX="PARK_TOOLHEAD" MSG="Parking T{act_t}.."
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set parking_position_inact_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set printable_y_min = printer["gcode_macro RatOS"].printable_y_min|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% if idex_mode != "copy" and idex_mode != "mirror" and 'xy' in printer.toolhead.homed_axes %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% elif printer.toolhead.position.y|float < printable_y_min %}
G1 Y{printable_y_min} F{speed}
{% endif %}
SAVE_GCODE_STATE NAME=_PARK_TOOLHEAD
G90
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0.5
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_inact_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
SET_VELOCITY_LIMIT ACCEL={printer.toolhead.max_accel} MINIMUM_CRUISE_RATIO=0.5
M400
RESTORE_GCODE_STATE NAME=_PARK_TOOLHEAD
{% endif %}
[gcode_macro JOIN_SPOOLS]
gcode =
{% set spools = params.SPOOLS|default("") %}
{% if spools == "" %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{% if spools != "0,1" and spools != "1,0" %}
RATOS_ECHO MSG="Wrong spool configuration!"
RATOS_ECHO MSG="Join Spools = JOIN_SPOOLS SPOOLS=0,1"
RATOS_ECHO MSG="Deactivate = JOIN_SPOOLS SPOOLS="
{% else %}
{% if spools == "0,1" or spools == "1,0" %}
_IDEX_JOIN_SPOOLS ENABLE=true
{% else %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_JOIN_SPOOLS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if enable %}
{% set has_t0_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t1_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t0_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined else false %}
{% set has_t1_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined else false %}
{% if (has_t0_toolhead_filament_sensor and has_t1_toolhead_filament_sensor) or (has_t0_bowden_filament_sensor and has_t1_bowden_filament_sensor) %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=True
RATOS_ECHO MSG="Spool joining enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Can not enable spool joining! No filament sensors found."
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining deactivated!"
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining is not possible in copy and mirror mode!"
{% endif %}
[gcode_macro _JOIN_SPOOL]
gcode =
{% set old_toolhead = params.TOOLHEAD|int %}
{% set new_toolhead = 0 if old_toolhead == 1 else 1 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set purge_after_load = printer["gcode_macro T%s" % new_toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_JOIN_SPOOL" MSG="toolhead: {new_toolhead}"
{% set has_filament = true %}
{% set has_new_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% set has_new_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% if has_new_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_new_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_filament %}
RATOS_ECHO MSG="Joining spools! Please wait for extruder to heat up...."
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={new_toolhead}
_DEACTIVATE_TOOLHEAD TOOLHEAD={old_toolhead}
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set extruder_temp = extruder_first_layer_temp[new_toolhead]|float %}
{% else %}
{% set extruder_temp = extruder_other_layer_temp[new_toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if new_toolhead == 0 else 'extruder1'} TARGET={extruder_temp}
TEMPERATURE_WAIT SENSOR={'extruder' if new_toolhead == 0 else 'extruder1'} MINIMUM={extruder_temp} MAXIMUM={extruder_temp + 5}
{% if purge_after_load > 0 %}
SET_DUAL_CARRIAGE CARRIAGE={new_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_toolhead == 0 else new_toolhead}
_MOVE_TO_LOADING_POSITION TOOLHEAD={new_toolhead}
_PURGE_FILAMENT TOOLHEAD={new_toolhead} E={purge_after_load}
_CLEANING_MOVE TOOLHEAD={new_toolhead}
SET_DUAL_CARRIAGE CARRIAGE={old_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if old_toolhead == 0 else old_toolhead}
{% endif %}
RESUME TOOLHEAD={new_toolhead}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{ action_raise_error("Spool join failed! No filament found or filament sensor is disabled.") }
{% endif %}
[gcode_macro REMAP_TOOLHEADS]
gcode =
{% set toolheads = params.TOOLHEADS|default("") %}
{% if toolheads == "" %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% else %}
{% if toolheads != "0,1" and toolheads != "1,0" %}
RATOS_ECHO MSG="Wrong toolhead configuration!"
RATOS_ECHO MSG="Remap = REMAP_TOOLHEADS TOOLHEADS=0,1"
RATOS_ECHO MSG="Deactivate = REMAP_TOOLHEADS TOOLHEADS="
{% else %}
{% if toolheads == "0,1" or toolheads == "1,0" %}
_IDEX_REMAP_TOOLHEADS ENABLE=true
_IDEX_SINGLE
{% else %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_REMAP_TOOLHEADS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if not enable or (idex_mode != "copy" and idex_mode != "mirror") %}
{% if enable %}
RATOS_ECHO MSG="Toolhead remapping enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Toolhead remapping deactivated!"
{% endif %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE={enable}
{% else %}
RATOS_ECHO MSG="Toolhead remapping not possible in copy and mirror mode!"
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
{% endif %}
[gcode_macro SHAPER_CALIBRATE]
rename_existing = SHAPER_CALIBRATE_ORG
gcode =
RATOS_ECHO PREFIX="IDEX" MSG="SHAPER_CALIBRATE is useless on IDEX machines. Please use the GENERATE_SHAPER_GRAPHS macro and type the values into `variable_shaper_*_freq` and `variable_shaper_*_type manually`."
[gcode_shell_command generate_shaper_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-shaper-graph.sh
timeout = 120.
verbose = True
[gcode_shell_command generate_tension_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-belt-tension-graph.sh
timeout = 120.
verbose = True
[gcode_macro SET_PRESSURE_ADVANCE]
variable_snyc_toolheads = False
rename_existing = SET_PRESSURE_ADVANCE_BASE
gcode =
{% if params.SYNC_TOOLHEADS is defined %}
{% set snyc_toolheads = true if params.SYNC_TOOLHEADS|default(false)|lower == 'true' else false %}
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=True
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="Syncing toolheads..."
{% else %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' or snyc_toolheads %}
{% set advance = params.ADVANCE|default(printer['extruder'].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['extruder'].smooth_time|float)|float %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T0"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder' ADVANCE={advance} SMOOTH_TIME={smooth_time}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T1"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder1' ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% else %}
{% set extruder = 'extruder' if act_t == 0 else 'extruder1' %}
{% if params.EXTRUDER is defined %}
{% set extruder = params.EXTRUDER %}
{% endif %}
{% if extruder == 'extruder' or extruder == 'extruder1' %}
{% set advance = params.ADVANCE|default(printer['%s' % extruder].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['%s' % extruder].smooth_time|float)|float %}
SET_PRESSURE_ADVANCE_BASE EXTRUDER={extruder} ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% if params.EXTRUDER is not defined %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG={"T%s" % act_t}
{% endif %}
{% else %}
SET_PRESSURE_ADVANCE_BASE { rawparams }
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M106]
rename_existing = M106.1
variable_swap_speed = -1
gcode =
{% set s = [[params.S|default(255)|int, 255]|min, 0]|max %}
{% set p = params.P|default(-1)|int %}
{% set speed = s / 255 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set t = 1 if idex_mode=='primary' else 0 %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(0)|int == 1 else false %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set sync_fans = true %}
{% endif %}
{% if sync_fans and idex_mode != "copy" and idex_mode != "mirror" %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int %}
{% if toolshift_count > total_toolshifts %}
{% set sync_fans = false %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE=-1
{% if p == -1 %}
{% if speed == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed}
{% else %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE={speed}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={(speed if (t == 0 or sync_fans) else 0)}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={(speed if (t == 1 or sync_fans) else 0)}
{% endif %}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed if t == p else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed if t == p else 0}
{% endif %}
M106.1 S{s}
[gcode_macro M107]
rename_existing = M107.1
gcode =
{% set p = params.P|default(-1)|int %}
M106 S0 P{p}
[gcode_macro _SELECT_TOOL]
variable_last_timestamp = 0
gcode =
{% if params.T is defined %}
{% set idex_mode = '' %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if "xyz" not in printer.toolhead.homed_axes and (idex_mode == "copy" or idex_mode == "mirror") %}
_IDEX_SINGLE
{% set idex_mode = 'reset' %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set new_t = params.T|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads and is_printing_gcode %}
{% set new_t = 0 if new_t == 1 else 1 %}
{% endif %}
{% set toolchange_prepurging_timer = printer["gcode_macro RatOS"].toolchange_prepurging_timer|default(0)|int %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
DEBUG_ECHO PREFIX="_SELECT_TOOL" MSG="act_t: {act_t}, new_t: {new_t}, is_printing_gcode: {is_printing_gcode}, swap_toolheads: {swap_toolheads}, toolchange_standby_temp: {toolchange_standby_temp}"
{% set act_extruder = 'extruder%s' % ('' if new_t == 0 else new_t) %}
{% if new_t != act_t or printer.toolhead.extruder != act_extruder or idex_mode == 'reset' %}
RATOS_ECHO PREFIX="IDEX" MSG="Selecting T{new_t}.."
M220 S100
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(1)|int == 1 else false %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set toolshift = false %}
{% endif %}
{% set fan_speed = printer["fan_generic part_fan_t%s" % act_t].speed %}
{% set deactivate_toolhead = false %}
{% if is_printing_gcode %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int + 1 %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE={toolshift_count}
{% if toolshift_count == total_toolshifts %}
{% set deactivate_toolhead = true %}
{% endif %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % new_t].standby|default(false)|lower == 'true' else false %}
{% set needs_purging = false %}
{% set wake_up_purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% if is_printing_gcode and toolchange_prepurging_timer > 0 and wake_up_purge > 0 %}
{% set new_timestamp = printer["print_stats"].print_duration %}
{% set elapsed_time = new_timestamp - last_timestamp %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={new_timestamp}
{% if elapsed_time > toolchange_prepurging_timer %}
{% set needs_purging = true %}
{% endif %}
{% endif %}
{% set first_use_purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% if toolshift_count == 1 and first_use_purge > 0 %}
{% set needs_purging = true %}
{% endif %}
{% if is_printing_gcode and (toolchange_standby_temp > -1 or needs_purging or needs_wakeup) %}
_TOOLHEAD_STANDBY TOOLHEAD={act_t}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
_TOOLHEAD_WAKEUP TOOLHEAD={new_t} X={new_x} Y={new_y} Z={new_z} FAN_SPEED={fan_speed} TOOLSHIFT_COUNT={toolshift_count}
{% else %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(false)|lower == 'true' else false %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if (new_t == 0 or sync_fans) else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if (new_t == 1 or sync_fans) else 0}
M106.1 S{fan_speed}
{% endif %}
_TOOLCHANGE T={new_t} X={new_x} Y={new_y} Z={new_z} PARK_T0={park_t0} PARK_T1={park_t1} TOOLSHIFT={toolshift}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[new_t]|float)} SHAPER_FREQ_Y={(shaper_y_freq[new_t]|float)} SHAPER_TYPE_X={(shaper_x_type[new_t]|lower)} SHAPER_TYPE_Y={(shaper_y_type[new_t]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if new_t == 0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if new_t == 1 else False}
{% if 'x' in printer.toolhead.homed_axes %}
{% set sanity_check_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if new_t == 0 %}
{% if printer.toolhead.extruder == 'extruder' %}
{% if sanity_check_idex_mode == 'primary' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% elif new_t == 1 %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% if sanity_check_idex_mode == 'inactive' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
G90
G92 E0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _TOOLHEAD_STANDBY]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
RATOS_ECHO PREFIX="IDEX" MSG="Putting toolhead T{toolhead} into standby mode."
DEBUG_ECHO PREFIX="_TOOLHEAD_STANDBY" MSG="toolhead: {toolhead}, config_z_hop: {config_z_hop}, toolchange_standby_temp: {toolchange_standby_temp}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={toolhead} SYNC=0
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={toolhead}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% if toolchange_standby_temp > -1 %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=True
{% endif %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={toolhead}
[gcode_macro _TOOLHEAD_WAKEUP]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set fan_speed = params.FAN_SPEED|float %}
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift_count = params.TOOLSHIFT_COUNT|default(0)|int %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% if toolshift_count == 1 %}
{% set purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % toolhead].standby|default(false)|lower == 'true' else false %}
RATOS_ECHO PREFIX="IDEX" MSG="Waking up toolhead T{toolhead}. Please wait for extruder to heat up..."
DEBUG_ECHO PREFIX="_TOOLHEAD_WAKEUP" MSG="toolhead: {toolhead}, fan_speed: {fan_speed}, new_x: {new_x}, new_y: {new_y}, new_z: {new_z}, config_z_hop: {config_z_hop}"
_LED_TOOLHEAD_WAKEUP TOOLHEAD={toolhead}
SET_DUAL_CARRIAGE CARRIAGE={toolhead} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={toolhead} MOVE=1
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if toolhead == 0 else toolhead}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if needs_wakeup %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set temp = extruder_first_layer_temp[toolhead]|float %}
{% else %}
{% set temp = extruder_other_layer_temp[toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
TEMPERATURE_WAIT SENSOR={'extruder' if toolhead == 0 else 'extruder1'} MINIMUM={temp} MAXIMUM={temp + 5}
{% endif %}
_LED_PRINTING TOOLHEAD={toolhead}
{% if purge > 0 %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge}
_CLEANING_MOVE TOOLHEAD={toolhead}
{% endif %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if toolhead == 1 else 0}
M106.1 S{fan_speed}
{% endif %}
G92 E0
G1 E-{e} F{feedrate}
G92 E0
{% if new_x >= 0 and new_y >= 0 %}
G1 X{new_x} Y{new_y} F{speed}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={config_z_hop} T={toolhead} SYNC=0
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=False
[gcode_macro _TOOLCHANGE]
variable_toolshift_count = 0
gcode =
{% set new_t = params.T|default(-1)|int %}
{% set new_x = params.X|default(-1.0)|float %}
{% set new_y = params.Y|default(-1.0)|float %}
{% set new_z = params.Z|default(-1.0)|float %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(true)|lower == 'true' else false %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T: {new_t}, X: {new_x}, Y: {new_y}, Z: {new_z}, PARK_T0: {park_t0}, PARK_T1: {park_t1}, IS_PRINTING_GCODE: {is_printing_gcode}, TOOLSHIFT: {toolshift}"
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% if park_t0 >= 0 and park_t1 >= 0 %}
{% set parking_position_t0 = park_t0 %}
{% set parking_position_t1 = park_t1 %}
{% set parking_position_act_t = park_t0 if act_t == 0 else park_t1 %}
{% endif %}
{% if not is_printing_gcode and not toolshift %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Changing tool to T{new_t} without retracting/extruding or moving the toolheads except for parking."
{% if "xyz" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
G90
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% if not is_printing_gcode and toolshift and new_x < 0 and new_y < 0 %}
{% set new_x = center_x %}
{% set new_y = printer.gcode_move.gcode_position.y|float %}
{% endif %}
{% if new_x < 0 or new_y < 0 %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="No new X or Y position given, parking the active toolhead and activating the new toolhead without moving it."
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={new_t}
{% if "x" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
{% if is_printing_gcode %}
_EXTRUDE T={new_t}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% if "xyz" not in printer.toolhead.homed_axes %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% set svv = printer.save_variables.variables %}
{% if new_t == default_toolhead %}
{% set xoffset = svv.idex_xoffset %}
{% set yoffset = svv.idex_yoffset %}
{% set zoffset = svv.idex_zoffset %}
{% else %}
{% set xoffset = 0 - svv.idex_xoffset %}
{% set yoffset = 0 - svv.idex_yoffset %}
{% set zoffset = 0 - svv.idex_zoffset %}
{% endif %}
{% if svv.idex_applied_offset == new_t %}
{% set xoffset = 0 %}
{% set yoffset = 0 %}
{% set zoffset = 0 %}
{% endif %}
{% set gcode_z = printer.gcode_move.gcode_position.z|float %}
{% set toolhead_z = printer.toolhead.position.z|float %}
{% if new_t == 0 %}
{% set t0_act_x = parking_position_t0 %}
{% set t1_act_x = printer.toolhead.position.x|float %}
{% set t0_new_x = new_x %}
{% set t1_new_x = parking_position_t1 %}
{% set t0_distance = t0_new_x - t0_act_x %}
{% set t1_distance = t1_new_x - t1_act_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T0."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x + (t1_new_x - t1_act_x)} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t0_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=0
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T0: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% elif new_t == 1 %}
{% set t0_act_x = printer.toolhead.position.x|float %}
{% set t1_act_x = parking_position_t1 %}
{% set t0_new_x = parking_position_t0 %}
{% set t1_new_x = new_x %}
{% set t0_distance = t0_act_x - t0_new_x %}
{% set t1_distance = t1_act_x - t1_new_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T1."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x - t1_distance + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t1_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=1
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T1: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% endif %}
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
{% endif %}
[gcode_macro _ZHOP_BEFORE_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_hop = params.Z_HOP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_HOP: {z_hop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="COMBINED_ZHOP G1 Z+{z_hop} E-{e} F{speed * 60}"
G1 Z+{z_hop} E-{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="ZHOP G1 Z+{z_hop} F{speed * 60}"
G1 Z+{z_hop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="RETRACT G1 E-{e} F{feedrate}"
G1 E-{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _ZDROP_AFTER_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_drop = params.Z_DROP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_DROP: {z_drop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="COMBINED_ZDROP G1 Z-{z_drop} E{e} F{speed * 60}"
G1 Z-{z_drop} E{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="ZDROP G1 Z-{z_drop} F{speed * 60}"
G1 Z-{z_drop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="EXTRUDE G1 E{e} F{feedrate}"
G1 E{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _EXTRUDE]
gcode =
{% set t = params.T|int %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
DEBUG_ECHO PREFIX="_EXTRUDE" MSG="G1 E{e} F{feedrate * 60}"
G91
M82
G92 E0
G1 E{e} F{feedrate * 60}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _DEACTIVATE_TOOLHEAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_DEACTIVATE_TOOLHEAD" MSG="TOOLHEAD {toolhead}"
{% if toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% endif %}
M106.1 S0
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={toolhead}
[delayed_gcode _INIT_TOOLHEADS]
initial_duration = 0.1
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_IDEX_SINGLE INIT=1
{% if printer.configfile.settings.dual_carriage.safe_distance is defined %}
{% if printer.configfile.settings.dual_carriage.safe_distance|float < 50 %}
{ action_emergency_stop("Dual carriage safe_distance seems to be too low!") }
{% endif %}
{% else %}
{ action_emergency_stop("Dual carriage safe_distance not defined!") }
{% endif %}
[gcode_macro _SET_TOOLHEAD_OFFSET]
gcode =
{% set t = params.T|int %}
{% set move = params.MOVE|default(0)|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="T: {t}, MOVE: {move}"
{% set svv = printer.save_variables.variables %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set move = 0 %}
{% endif %}
{% if svv.idex_applied_offset != t %}
{% if t != printer["gcode_macro RatOS"].default_toolhead|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET X_ADJUST: {(-svv.idex_xoffset)} Y_ADJUST: {(-svv.idex_yoffset)} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={(-svv.idex_xoffset)} Y_ADJUST={(-svv.idex_yoffset)} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {(-svv.idex_zoffset)} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={(-svv.idex_zoffset)} MOVE={move} SPEED={z_speed}
{% else %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_ X_ADJUST: {svv.idex_xoffset} Y_ADJUST: {svv.idex_yoffset} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={svv.idex_xoffset} Y_ADJUST={svv.idex_yoffset} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {svv.idex_zoffset} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE={move} SPEED={z_speed}
{% endif %}
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T{t}"
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={t}
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={t}
{% endif %}
{% endif %}
[gcode_macro TOOLSHIFT_CONFIG]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={params.SPEED|default(300)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={params.ACCEL|default(5000)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_retraction VALUE={params.RETRACT|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_extrusion VALUE={params.EXTRUDE|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_feedrate VALUE={params.FEEDRATE|default(7200)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={params.Z_HOP|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zspeed VALUE={params.Z_SPEED|default(25)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_combined_zhop VALUE={true if params.COMBINED_ZHOP|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_sync_fans VALUE={true if params.SYNC_FANS|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_prepurging_timer VALUE={params.AUTO_PURGE_TIME|default(0)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_purge VALUE={params.PURGE|default(25)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_standby_temp VALUE={params.STANDBY_TEMP|default(-1)|float}
[gcode_macro CALCULATE_DC_ENDSTOP]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% set idex_xoffset = svv.idex_xoffset|float %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|float %}
{% set stepper_x_position_max = printer.configfile.settings.stepper_x.position_max|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set line_1 = "_N_[dual_carriage]" %}
{% set line_2 = "position_max: %.3f" % (dual_carriage_position_max + idex_xoffset) %}
{% set line_3 = "position_endstop: %.3f" % (dual_carriage_position_endstop + idex_xoffset) %}
{% set line_4 = "_N_[gcode_macro RatOS]" %}
{% set line_5 = "variable_bed_margin_x: [%.3f, %.3f]" % (stepper_x_position_endstop|abs, dual_carriage_position_max - stepper_x_position_max + idex_xoffset) %}
{% set line_6 = "_N_[gcode_macro _VAOC]" %}
{% set line_7 = "variable_expected_camera_x_position: %.3f" % idex_xcontrolpoint %}
{% set line_8 = "variable_expected_camera_y_position: %.3f" % idex_ycontrolpoint %}
{% set line_9 = "_N_[gcode_macro T0]" %}
{% set line_10 = "variable_parking_position: %.3f" % (stepper_x_position_endstop + 2) %}
{% set line_11 = "_N_[gcode_macro T1]" %}
{% set line_12 = "variable_parking_position: %.3f" % (dual_carriage_position_endstop + idex_xoffset - 2) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8, line_9, line_10, line_11, line_12)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro INCREASE_Y_MAX]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set stepper_y_position_max = printer.configfile.settings.stepper_y.position_max|float %}
{% set stepper_y_position_endstop = printer.configfile.settings.stepper_y.position_endstop|float %}
{% set line_1 = "_N_[stepper_y]" %}
{% set line_2 = "position_max: %.3f" % (stepper_y_position_max + 1) %}
{% set line_3 = "_N_[gcode_macro RatOS]" %}
{% set line_4 = "variable_bed_margin_y: [%.3f, %.3f]" % (stepper_y_position_endstop|abs, (bed_margin_y[1] + 1)) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro _VAOC]
variable_is_fixed = True
variable_is_started = False
variable_is_started_at_temp = False
variable_additional_safe_distance = 50
variable_safe_z = 30
variable_auto_z_offset_calibration = True
variable_enable_camera_cooling = True
variable_camera_cooling_fan_speed = 0.3
variable_camera_cooling_temperature = 50
variable_toolchange_travel_speed = 300
variable_toolchange_travel_accel = 5000
variable_cache_toolchange_travel_speed = 300
variable_cache_toolchange_travel_accel = 5000
variable_cache_toolchange_zhop = 1.0
variable_t0_toolhead_sensor_enabled = 0
variable_t1_toolhead_sensor_enabled = 0
variable_t0_bowden_sensor_enabled = 0
variable_t1_bowden_sensor_enabled = 0
variable_loaded_skew_profile = ""
gcode =
_ECHO_VAOC_VARS
variable_expected_camera_x_position = 211.854
variable_expected_camera_y_position = 528.378
[gcode_macro _VAOC_START]
description = Called from the front end. If T0_TEMP, T1_TEMP and BED_TEMP parameter are specified, VAOC calibration will start under real conditions at printing temp.
gcode =
{% set t0_temp = params.T0_TEMP|default(0)|int %}
{% set t1_temp = params.T1_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set loaded_skew_profile = printer["gcode_macro SKEW_PROFILE"].loaded_profile|default("") %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=loaded_skew_profile VALUE='"{loaded_skew_profile}"'
{% if t0_temp > 0 and t1_temp > 0 and bed_temp > 0 %}
{% if not is_fixed %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("VAOC calibration at temp works only with a fixed installed VAOC device.") }
{% endif %}
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE=0
{% endif %}
START_PRINT EXTRUDER_TEMP={t0_temp},{t1_temp} EXTRUDER_OTHER_LAYER_TEMP={t0_temp},{t1_temp} BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp} INITIAL_TOOL=0 TOTAL_LAYER_COUNT=1 X0={(printable_x_max / 2 - 10)} Y0={(printable_y_max / 2 - 10)} X1={(printable_x_max / 2 + 10)} Y1={(printable_y_max / 2 + 10)} TOTAL_TOOLSHIFTS=1 FIRST_X={printable_x_max / 2} FIRST_Y={printable_y_max / 2} MIN_X={(printable_x_max / 2 - 10)} MAX_X={(printable_x_max / 2 + 10)} USED_TOOLS=0,1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=True
{% endif %}
_START_VAOC
[gcode_macro _START_VAOC]
description = Called from _VAOC_START. Do not call it manually.
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(printable_x_max/2)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(printable_y_max/2)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
DEBUG_ECHO PREFIX="VAOC_START" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, zcontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, expected_camera_x_position, expected_camera_y_position)}
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_SAFE_Z_HEIGHT
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_speed VALUE={printer["gcode_macro RatOS"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_accel VALUE={printer["gcode_macro RatOS"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_zhop VALUE={printer["gcode_macro RatOS"].toolchange_zhop|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE=0
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"START X_REFERENCE:%.6f Y_REFERENCE:%.6f Z_REFERENCE:%.6f PARK_T0:%.6f PARK_T1:%.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, parking_position_t0, parking_position_t1)}
_LED_VAOC_ON
MAYBE_HOME
M400
_LOAD_RATOS_SKEW_PROFILE
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
IDEX_SINGLE
{% endif %}
{% if is_fixed %}
_SELECT_TOOL T=0 TOOLSHIFT=false
{% if default_toolhead == 0 %}
G1 X{idex_xcontrolpoint} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint + safe_distance + additional_safe_distance} F{speed}
{% else %}
G1 X{idex_xcontrolpoint - safe_distance - additional_safe_distance} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% else %}
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
G1 X{idex_xcontrolpoint} F{speed}
G1 Y{idex_ycontrolpoint} F{speed}
G1 Z{idex_zcontrolpoint} F{z_speed}
_SELECT_TOOL T={default_toolhead} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
{% if not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={default_toolhead}
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=True
[gcode_macro _VAOC_END]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_y = printable_y_max / 2 %}
DEBUG_ECHO PREFIX="_VAOC_END" MSG="printable_y_max: {printable_y_max}, center_y: {center_y}, safe_z: {safe_z}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
G1 Y{center_y} F{speed}
_IDEX_SINGLE INIT=1
_LED_VAOC_OFF
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={printer["gcode_macro _VAOC"].cache_toolchange_zhop|float}
{% if printer["gcode_macro _VAOC"].is_started_at_temp|default(true)|lower == 'true' %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_bowden_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_bowden_sensor_enabled|int}
{% endif %}
{% endif %}
{% set loaded_skew_profile = printer["gcode_macro _VAOC"].loaded_skew_profile|default("") %}
{% if loaded_skew_profile != "" %}
SKEW_PROFILE LOAD={loaded_skew_profile}
{% else %}
SET_SKEW CLEAR=1
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
[gcode_macro _VAOC_LOAD_TOOL]
gcode =
{% set t = params.T|default(0)|int %}
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set auto_temp_offset = true if params.AUTO_TEMP_OFFSET|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set toolhead_zoffset = svv.idex_zoffset|default(0)|float %}
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move T%s to control point: X%.6f Y%.6f Z%.6f IS_FIXED=%s"' % (t, idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, is_fixed)}
{% if not auto_temp_offset and not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={t}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
{% set current_z = printer.toolhead.position.z|float %}
{% set lowest_toolhead_z = [current_z, current_z - toolhead_zoffset]|min %}
{% if lowest_toolhead_z < safe_z %}
G1 Z{[safe_z, safe_z + toolhead_zoffset]|max} F{z_speed}
{% else %}
G1 Z{idex_zcontrolpoint} F{z_speed}
{% endif %}
_SELECT_TOOL T={t} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
G1 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_SET_CAMERA_COOLING]
gcode =
{% set t = params.T|default(0)|int %}
{% set enable_camera_cooling = true if printer["gcode_macro _VAOC"].enable_camera_cooling|default(true)|lower == 'true' else false %}
{% set camera_cooling_temperature = printer["gcode_macro _VAOC"].camera_cooling_temperature|float %}
{% set camera_cooling_fan_speed = printer["gcode_macro _VAOC"].camera_cooling_fan_speed|float %}
{% if printer.heater_bed.temperature >= camera_cooling_temperature and enable_camera_cooling %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={camera_cooling_fan_speed if t == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={camera_cooling_fan_speed if t == 1 else 0}
M106.1 S{camera_cooling_fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% endif %}
[gcode_macro _VAOC_SET_TOOL]
gcode =
{% set svv = printer.save_variables.variables %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set x = printer.gcode_move.gcode_position.x|float %}
{% set y = printer.gcode_move.gcode_position.y|float %}
{% set z = printer.gcode_move.gcode_position.z|float %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={x}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={y}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Control point was set: X%.6f Y%.6f Z%.6f"' % (x, y, z)}
{% else %}
{% set move_diff_x = printer.gcode_move.gcode_position.x|float - svv.idex_xcontrolpoint|float %}
{% set move_diff_y = printer.gcode_move.gcode_position.y|float - svv.idex_ycontrolpoint|float %}
{% set move_diff_z = printer.gcode_move.gcode_position.z|float - svv.idex_zcontrolpoint|float %}
SET_GCODE_OFFSET X_ADJUST={move_diff_x} Y_ADJUST={move_diff_y} Z_ADJUST={move_diff_z} MOVE=0
{% set new_x_offset = svv.idex_xoffset - move_diff_x %}
{% set new_y_offset = svv.idex_yoffset - move_diff_y %}
{% set new_z_offset = svv.idex_zoffset - move_diff_z %}
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE={new_x_offset}
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE={new_y_offset}
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={new_z_offset}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset was set: X%.6f Y%.6f Z%.6f"' % (toolhead, new_x_offset, new_y_offset, new_z_offset)}
{% endif %}
[gcode_macro _VAOC_MOVE]
gcode =
{% set x = params.X|default(0)|float %}
{% set y = params.Y|default(0)|float %}
{% set z = params.Z|default(0)|float %}
G91
{% if z != 0 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 Z%.6f F300"' % (z)}
G1 Z{z} F300
{% else %}
{% if x <=2 and y <=2 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 X%.6f Y%.6f F18000"' % (x, y)}
G1 X{x} Y{y} F18000
{% endif %}
{% endif %}
G90
[gcode_macro _VAOC_CALIBRATE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% if printer["z_offset_probe"] is defined and is_started %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
{% if auto_z_offset %}
_START_VAOC AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_END
{% else %}
_VAOC_LOAD_TOOL T={default_toolhead}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
{% endif %}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_Z_OFFSET
{% endif %}
[gcode_macro _VAOC_PROBE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
{% if not auto_z_offset %}
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
{% endif %}
M400
_VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT
[gcode_macro _VAOC_Z_OFFSET_PROBE_CURRENT_POSITION]
gcode =
Z_OFFSET_PROBE PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_DROP=1 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
[gcode_macro _VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT]
gcode =
{% if printer["z_offset_probe"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE={last_z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Z-offset control point set:: %.6f"' % last_z}
{% else %}
{% set z = svv.idex_zoffsetcontrolpoint|float - last_z %}
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE=0
G0 Z{svv.idex_zcontrolpoint|float} F{z_speed}
SET_GCODE_OFFSET Z_ADJUST={(0 - z)} MOVE=1
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset set: Z %.6f"' % (t, z)}
{% endif %}
{% endif %}
[gcode_macro _VAOC_ECHO_Z_OFFSET]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s toolhead z-offset %.6f"' % (1 if default_toolhead == 0 else 0, svv.idex_zoffset)}
{% if svv.idex_zoffset|abs < 0.02 %}
CONSOLE_ECHO TITLE={'"Perfect toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="You have a perfect toolhead z-offset!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.02 and svv.idex_zoffset|abs < 0.05 %}
CONSOLE_ECHO TITLE={'"Good toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is good!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.05 and svv.idex_zoffset|abs < 0.1 %}
CONSOLE_ECHO TITLE={'"High toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset could be better._N_Use minimum 0.3mm first layer height for copy and mirror mode prints." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.1 and svv.idex_zoffset|abs < 0.2 %}
CONSOLE_ECHO TITLE={'"Bad toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is bad._N_Copy and mirror mode prints are not recommended with it." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.2 %}
CONSOLE_ECHO TITLE={'"Unacceptable toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is unacceptable._N_Do not print in copy and mirror mode with it." TYPE="alert"
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG="Toolhead z-offset calibration done!"
[gcode_macro _VAOC_CALIBRATE_TEMP_OFFSET]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if is_fixed and is_started and printer["z_offset_probe"] is defined and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
_VAOC_LOAD_TOOL T={default_toolhead} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
[gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET=0
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
M400
[gcode_macro _VAOC_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for thermal expansion..."
G4 P240000
RATOS_ECHO PREFIX="VAOC" MSG="Probing with nozzle temperature {temp}°C..."
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _VAOC_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set svv = printer.save_variables.variables %}
{% set msg = '"T0 expansion coefficient %.6fmm_N_T1 expansion coefficient %.6fmm"' % (svv.nozzle_expansion_coefficient_t0, svv.nozzle_expansion_coefficient_t1) %}
CONSOLE_ECHO TITLE="Nozzle expansion coefficients:" MSG={msg} TYPE="success"
[gcode_macro _VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, expected_camera_x_position, expected_camera_y_position)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - expected_camera_x_position)|abs > 5 %}
M84
{ action_raise_error("VAOC x-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_xcontrolpoint, expected_camera_x_position)) }
{% endif %}
{% if (idex_ycontrolpoint - expected_camera_y_position)|abs > 5 %}
M84
{ action_raise_error("VAOC y-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_ycontrolpoint, expected_camera_y_position)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - printer.gcode_move.gcode_position.x|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected y-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_xcontrolpoint, printer.gcode_move.gcode_position.x|float)) }
{% endif %}
{% if (idex_ycontrolpoint - printer.gcode_move.gcode_position.y|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected x-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_ycontrolpoint, printer.gcode_move.gcode_position.y|float)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_SAFE_Z_HEIGHT]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set idex_zoffsetcontrolpoint = svv.idex_zoffsetcontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_SAFE_Z_HEIGHT" MSG={'"idex_zcontrolpoint: %.6f, idex_zoffsetcontrolpoint: %.6f"' % (idex_zcontrolpoint, idex_zoffsetcontrolpoint)}
{% if safe_z < idex_zcontrolpoint + 2 or safe_z < idex_zoffsetcontrolpoint + 2 %}
{action_raise_error("VAOC safe_z value (%.3f) is too low, it must be higher than %.3f" % (safe_z, [idex_zoffsetcontrolpoint + 2, idex_zcontrolpoint + 2]|max))}
{% endif %}
[gcode_macro _VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED]
gcode =
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T0. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T1. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
[gcode_macro _VAOC_RESET]
gcode =
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={expected_camera_x_position}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={expected_camera_y_position}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE=5.0
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE=0.0
RATOS_ECHO PREFIX="VAOC" MSG="VAOC configuration resetted. Please calibrate it before using the printer."
[gcode_macro _ECHO_VAOC_VARS]
description = Echo VAOC variables to the console.
gcode =
{% for var, value in printer["gcode_macro _VAOC"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro _VAOC_SWITCH_LED]
gcode =
{% if params.STATE|default(0)|int == 1 %}
_LED_VAOC_ON
{% else %}
_LED_VAOC_OFF
{% endif %}
[gcode_macro Z_PROBE_TEST_T0]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T0
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST_T1]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T1
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro _VAOC_Z_PROBE_LOOP]
gcode =
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_SHAKE_IT
_VAOC_START
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if primary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T0. Retried {primary_retries} time(s)."
{% endif %}
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
{% if (primary_range - secondary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 is drifting significantly more than T1."
{% endif %}
{% if (secondary_range - primary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 is drifting significantly more than T0."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T0]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T1]
gcode =
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _SHAKE_IT]
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
_Z_HOP
{% for i in range(3) %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 + 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 + 1}
{% endfor %}
{% for i in range(2) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 + 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 + 50}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 1}
{% endfor %}
{% endfor %}
[gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 retries updated: {new_retries}"
[gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 retries updated: {new_retries}"
[gcode_macro _CLEAR_PRIMARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 result set"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 retries"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _CLEAR_SECONDARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 result set"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 retries"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _VAOC_TEST_Z_OFFSET]
gcode =
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[delayed_gcode _IDEX_INIT]
initial_duration = 0.1
gcode =
VERIFY_HYBRID_INVERTED
[gcode_macro Z_TILT_ADJUST]
rename_existing = Z_TILT_ADJUST_ORIG
gcode =
{% set beacon_contact_z_tilt_adjust_samples = printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust_samples|default(2)|int %}
{% set beacon_contact_z_tilt_adjust = true if printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust|default(true)|lower == 'true' else false %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={printer["gcode_macro RatOS"].default_toolhead|default(0)|int} TOOLSHIFT=false
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_tilt_adjust %}
Z_TILT_ADJUST_ORIG PROBE_METHOD=contact SAMPLES={beacon_contact_z_tilt_adjust_samples}
{% else %}
Z_TILT_ADJUST_ORIG
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
STOW_PROBE
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == "copy" %}
_IDEX_COPY
{% elif idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[stepper_x]
position_max = 500
position_endstop = -59.8
position_min = -59.8
step_pin = PF13
dir_pin = x_dir_pin
enable_pin = !PF14
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t0:PB6
[stepper_y]
position_max = 533.65
position_min = -14.35
position_endstop = -14.35
step_pin = PG0
dir_pin = !y_dir_pin
enable_pin = !PF15
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = PG9
[stepper_z]
position_max = 500
position_min = -7
step_pin = PC13
dir_pin = !z0_dir_pin
enable_pin = !PF1
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
homing_speed = 10
endstop_pin = probe:z_virtual_endstop
[bed_mesh]
horizontal_move_z = 2
mesh_min = 20,30
mesh_max = 470,462.5
probe_count = 40,40
fade_start = 1.0
fade_end = 10.0
mesh_pps = 2,2
algorithm = bicubic
bicubic_tension = .2
speed = 600
[z_tilt]
z_positions =
0,0
250,500
500,0
points =
20,10
250,440
480,10
horizontal_move_z = 20
retries = 10
retry_tolerance = 0.02
speed = 600
[extruder]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t0:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t0:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.049
step_pin = toolboard_t0:PD0
dir_pin = toolboard_t0:e_dir_pin
enable_pin = !toolboard_t0:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[firmware_retraction]
retract_speed = 60
unretract_extra_length = 0
unretract_speed = 60
retract_length = 0.5
[extruder1]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t1:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t1:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.03
step_pin = toolboard_t1:PD0
dir_pin = toolboard_t1:e_dir_pin
enable_pin = !toolboard_t1:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[resonance_tester]
accel_chip_x = adxl345 toolboard_t0
accel_chip_y = adxl345 toolboard_t0
probe_points =
250,250,20
[tmc2209 stepper_x]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 dual_carriage]
stealthchop_threshold = 0
interpolate = False
uart_pin = PF2
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD11
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC7
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_y1]
step_pin = PG4
dir_pin = y1_dir_pin
enable_pin = !PA0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
[tmc2209 stepper_z]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_z1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE1
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z1]
step_pin = PE2
dir_pin = !z1_dir_pin
enable_pin = !PD4
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 stepper_z2]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD3
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z2]
step_pin = PE6
dir_pin = !z2_dir_pin
enable_pin = !PE0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 extruder]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t0:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[tmc2209 extruder1]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t1:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[beacon]
serial = /dev/beacon
x_offset = 0
y_offset = 22.5
mesh_main_direction = x
mesh_runs = 1
speed = 15.
lift_speed = 80.
contact_max_hotend_temperature = 275
[delayed_gcode _BEACON_INIT]
initial_duration = 1
gcode =
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(0)|float %}
{% if nozzle_expansion_coefficient_multiplier == 0 %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is not defined %}
{% set nozzle_expansion_coefficient_multiplier = 1.0 %}
{% else %}
{% set nozzle_expansion_coefficient_multiplier = printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier|default(1.0)|float %}
{% endif %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={nozzle_expansion_coefficient_multiplier}
{% endif %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is defined %}
CONSOLE_ECHO TITLE="Deprecated gcode variable" TYPE="warning" MSG={'"Please remove the variable beacon_contact_expansion_multiplier from your config file."'}
{% endif %}
[gcode_macro BEACON_RATOS_CALIBRATION]
gcode =
RATOS_ECHO MSG="Did you mean BEACON_RATOS_CALIBRATE?"
[gcode_macro BEACON_RATOS_CALIBRATE]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
BEACON_INITIAL_CALIBRATION _AUTOMATED=True
{% if beacon_contact_start_print_true_zero %}
BEACON_POKE_TEST _AUTOMATED=True
_BEACON_CHECK_POKE
{% if printer["dual_carriage"] is not defined %}
BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET _AUTOMATED=True
{% endif %}
{% endif %}
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
BEACON_FINAL_CALIBRATION _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% if beacon_contact_start_print_true_zero %}
BEACON_MEASURE_GANTRY_TWIST
_BEACON_MAYBE_SCAN_COMPENSATION
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_OFF
{% endif %}
{% if beacon_contact_start_print_true_zero %}
{% if printer["dual_carriage"] is not defined %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
_BEACON_ECHO_POKE
{% endif %}
RATOS_ECHO MSG="Beacon calibration finished!"
_LED_BEACON_CALIBRATION_END
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
[gcode_macro BEACON_INITIAL_CALIBRATION]
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
MAYBE_HOME X=True Y=True
_LED_BEACON_CALIBRATION_START
G90
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE
_Z_HOP
RATOS_ECHO MSG="Initial beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_FINAL_CALIBRATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
_BEACON_HOME_AND_ABL
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
_LED_BEACON_CALIBRATION_START
G90
G0 Z2 F{z_hop_speed}
RATOS_ECHO MSG="Waiting for calibration temperature..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_Z_HOP
BEACON_AUTO_CALIBRATE
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
_Z_HOP
RATOS_ECHO MSG="Final beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_POKE_TEST]
variable_poke_result_1 = -1
variable_poke_result_2 = -1
variable_poke_result_3 = -1
variable_poke_result_4 = -1
variable_poke_result_5 = -1
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_1 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_2 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_3 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_4 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_5 VALUE=-1
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
G0 Z5 F{z_hop_speed}
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=1
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=2
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=3
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=4
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=5
_Z_HOP
RATOS_ECHO MSG="Beacon poke test finished!"
{% if not automated %}
_BEACON_ECHO_POKE
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_POKE]
gcode =
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
BEACON_POKE speed=3 top=5 bottom={poke_bottom}
BEACON_QUERY
[gcode_macro _BEACON_STORE_POKE]
gcode =
{% set i = params.I|default(1)|int %}
{% set last_z = printer.beacon.last_poke_result|default(0)|float %}
{% if printer.beacon.last_poke_result|lower != "none" %}
{% if printer.beacon.last_poke_result.error == 0 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE={"poke_result_%s" % i} VALUE={printer.beacon.last_poke_result.latency}
{% endif %}
{% endif %}
[gcode_macro _BEACON_CHECK_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% if p1 == -1 or p2 == -1 or p3 == -1 or p4 == -1 or p5 == -1 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test error!") }
{% endif %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg > 6 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test failed!") }
{% endif %}
[gcode_macro _BEACON_ECHO_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg <= 1 %}
{% set type = "success" %}
{% set note = "Extremely low noise, rarely achieved" %}
{% elif avg > 1 and avg <= 4 %}
{% set type = "info" %}
{% set note = "Excellent performance for a typical printer" %}
{% elif avg > 4 and avg <= 8 %}
{% set type = "warning" %}
{% set note = "Acceptable performance, machine may have considerable cyclic axis noise" %}
{% elif avg > 8 and avg <= 11 %}
{% set type = "alert" %}
{% set note = "Not ideal, may want to verify proper mounting or use thinner stackups" %}
{% elif avg > 11 %}
{% set type = "alert" %}
{% set note = "Reason for concern, present setup may be risky to continue with" %}
{% endif %}
CONSOLE_ECHO TITLE="Beacon poke test result:" TYPE={type} MSG={'"Average latency: %.2f_N_%s"' % (avg, note)}
[gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set test_margin = 30 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Nozzle temperature offset calibration..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET=0
{% if not automated %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
{% endif %}
[gcode_macro _BEACON_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="BEACON" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
RATOS_ECHO PREFIX="BEACON" MSG="Probing with nozzle temperature {temp}°C..."
PROBE PROBE_METHOD=contact PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
BEACON_QUERY
G0 Z5 F{z_speed}
[gcode_macro _BEACON_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer.beacon.last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{default_toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
CONSOLE_ECHO TYPE="info" MSG={'"T0 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t0}
{% else %}
CONSOLE_ECHO TYPE="info" MSG={'"T1 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t1}
{% endif %}
[gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET]
variable_runtime_temp = 0
gcode =
{% set toolhead = params.TOOLHEAD|default(0)|int %}
{% set reset = true if params.RESET|default(false)|lower == 'true' else false %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% if reset %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE=0
{% else %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set nozzle_expansion_coefficient_t0 = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if printer["dual_carriage"] is defined %}
{% set nozzle_expansion_coefficient_t1 = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set applied_offset = svv.nozzle_expansion_applied_offset|default(0)|float %}
{% set temp = printer['extruder' if toolhead == 0 else 'extruder1'].target|float %}
{% set temp_offset = temp - beacon_contact_true_zero_temp %}
{% set expansion_coefficient = nozzle_expansion_coefficient_t0 if toolhead == 0 else nozzle_expansion_coefficient_t1 %}
{% set expansion_offset = nozzle_expansion_coefficient_multiplier * (temp_offset * (expansion_coefficient / 100)) %}
{% set new_offset = ((-applied_offset) + expansion_offset) %}
SET_GCODE_OFFSET Z_ADJUST={new_offset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE={expansion_offset}
SET_GCODE_VARIABLE MACRO=_BEACON_SET_NOZZLE_TEMP_OFFSET VARIABLE=runtime_temp VALUE={temp}
RATOS_ECHO PREFIX="BEACON" MSG={'"Nozzle expansion offset of %.6fmm applied to T%s"' % (expansion_offset, toolhead)}
DEBUG_ECHO PREFIX="_BEACON_SET_NOZZLE_TEMP_OFFSET" MSG="multiplier: {nozzle_expansion_coefficient_multiplier}, coefficient: {expansion_coefficient}, temp_offset: {temp_offset}, expansion_offset: {expansion_offset}, applied_offset: {applied_offset}, new_offset: {new_offset}"
{% endif %}
{% endif %}
[gcode_macro BEACON_MEASURE_GANTRY_TWIST]
variable_needs_compensation = False
variable_reference_z = 0.0
variable_front = 0.0
variable_front_left = 0.0
variable_front_right = 0.0
variable_back = 0.0
variable_back_left = 0.0
variable_back_right = 0.0
variable_right = 0.0
variable_left = 0.0
variable_margin_x = 40
variable_margin_y = 40
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=False
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Measure gantry twist..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="center"
G0 X{margin_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_left"
G0 X{safe_home_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front"
G0 X{(printable_x_max - margin_x)} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_right"
G0 X{(printable_x_max - margin_x)} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="right"
G0 X{(printable_x_max - margin_x)} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_right"
G0 X{safe_home_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back"
G0 X{margin_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_left"
G0 X{margin_x} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="left"
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
_BEACON_ECHO_GANTRY_TWIST
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_GANTRY_TWIST]
gcode =
RATOS_ECHO PREFIX="BEACON" MSG="Probing..."
BEACON_OFFSET_COMPARE
BEACON_QUERY
[gcode_macro _BEACON_STORE_GANTRY_TWIST]
gcode =
{% set location = params.LOCATION|lower %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set last_z = printer.beacon.last_offset_result["delta"]|default(0)|float %}
{% if location == "center" %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE={location} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_GANTRY_TWIST]
gcode =
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float * 1000 %}
{% set front_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_left|default(0)|float * 1000 %}
{% set front = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front|default(0)|float * 1000 %}
{% set front_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_right|default(0)|float * 1000 %}
{% set right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].right|default(0)|float * 1000 %}
{% set back_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_right|default(0)|float * 1000 %}
{% set back = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back|default(0)|float * 1000 %}
{% set back_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_left|default(0)|float * 1000 %}
{% set left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].left|default(0)|float * 1000 %}
{% set line_1 = "Front left: %.6fμm" % (front_left) %}
{% set line_2 = "Front center: %.6fμm" % (front) %}
{% set line_3 = "Front right: %.6fμm" % (front_right) %}
{% set line_4 = "Left center: %.6fμm" % (left) %}
{% set line_5 = "Right center: %.6fμm" % (right) %}
{% set line_6 = "Back left: %.6fμm" % (back_left) %}
{% set line_7 = "Back center: %.6fμm" % (back) %}
{% set line_8 = "Back right: %.6fμm" % (back_right) %}
{% set max_value = [(front_left|abs), (front|abs), (front_right|abs), (left|abs), (right|abs), (back_left|abs), (back|abs), (back_right|abs)]|max %}
{% if max_value <= 50 %}
{% set type = "success" %}
{% set recommendation = "Very low gantry twist: %.6fμm._N_No beacon scan compensation needed." % max_value %}
{% elif max_value > 50 and max_value <= 100 %}
{% set type = "info" %}
{% set recommendation = "Low gantry twist: %.6fμm._N_You may experience first layer inconsistensies, consider beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 100 and max_value <= 150 %}
{% set type = "warning" %}
{% set recommendation = "High gantry twist: %.6fμm._N_High chance of first layer problems, beacon scan compensation is highly encouraged." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 150 and max_value <= 200 %}
{% set type = "alert" %}
{% set recommendation = "Very High gantry twist: %.6fμm._N_You will encounter first layer problems on large prints unless you activate beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 200 %}
{% set type = "alert" %}
{% set recommendation = "Extremely high gantry twist: %.6fμm._N_You have significant scan/contact inconsistency which is indicative of mechanical problems, please investigate before resorting to software compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% endif %}
CONSOLE_ECHO TITLE="Gantry twist relative to the center" TYPE={type} MSG={'"_N_%s_N__N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s"' % (recommendation, line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8)}
[gcode_macro BEACON_CREATE_SCAN_COMPENSATION_MESH]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set profile = params.PROFILE|default("Contact")|string %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
{% set probe_count = printer["gcode_macro RatOS"].beacon_scan_compensation_probe_count %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% if not beacon_scan_compensation_enable %}
RATOS_ECHO MSG="Beacon scan compensation is disabled!"
{% else %}
MAYBE_HOME
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_LED_BEACON_CALIBRATION_START
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
RATOS_ECHO MSG="Please wait..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% endif %}
{% if not automated %}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
{% endif %}
{% if printer.z_tilt is defined %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% endif %}
{% if printer.quad_gantry_level is defined %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES=2 SAMPLES_DROP=1 SAMPLES_TOLERANCE_RETRIES=10 PROBE_COUNT={probe_count[0]},{probe_count[1]} PROFILE={profile}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
RATOS_ECHO MSG="Beacon scan compensation mesh created!"
{% if not automated %}
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
{% endif %}
{% endif %}
[gcode_macro _BEACON_APPLY_SCAN_COMPENSATION]
gcode =
{% set beacon_scan_compensation_profile = printer["gcode_macro RatOS"].beacon_scan_compensation_profile %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_SCAN_COMPENSATION" MSG="beacon_scan_compensation_profile {beacon_scan_compensation_profile}, beacon_scan_compensation_enable {beacon_scan_compensation_enable}"
{% if beacon_scan_compensation_enable %}
BEACON_APPLY_SCAN_COMPENSATION PROFILE={beacon_scan_compensation_profile}
{% endif %}
[gcode_macro _BEACON_MAYBE_SCAN_COMPENSATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set needs_scan_compensation = true if printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].needs_compensation|default(false)|lower == 'true' else false %}
{% if needs_scan_compensation %}
BEACON_CREATE_SCAN_COMPENSATION_MESH _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% endif %}
[gcode_macro _BEACON_HOME_AND_ABL]
gcode =
MAYBE_HOME X=True Y=True
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% if needs_rehoming %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% endif %}
[gcode_macro _BEACON_SAVE_MULTIPLIER]
gcode =
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set multiplier = printer["gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER"].runtime_multiplier|default(-1.0)|float %}
DEBUG_ECHO PREFIX="_BEACON_SAVE_MULTIPLIER" MSG="multiplier: {multiplier}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if multiplier > 0 and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={multiplier}
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE=-1.0
CONSOLE_ECHO TITLE="Hotend thermal expansion compensation" TYPE="success" MSG={'"New value is: %.6f_N_The new multiplier value has been saved to the configuration."' % multiplier}
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER]
variable_runtime_multiplier = -1.0
gcode =
{% set toolhead = 0 %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if layer_number == 0 and is_printing_gcode %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Documentation" %}
{% set line_1 = '"Your slicer is not correctly reporting layer information. See the layer change custom g-code in the %s".' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Missing layer information" TYPE="warning" MSG={line_1}
{% endif %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="layer_number: {layer_number}, is_printing_gcode: {is_printing_gcode}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if layer_number == 1 and is_printing_gcode and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if toolhead == 1 %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set beacon_contact_expansion_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set print_temp = printer["gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET"].runtime_temp|default(0)|int %}
{% if print_temp > 0 %}
{% set z_offset = printer.gcode_move.homing_origin.z|float %}
{% set temp_delta = print_temp - beacon_contact_true_zero_temp %}
{% set coefficient_per_degree = nozzle_expansion_coefficient / 100 %}
{% set z_offset_per_degree = z_offset / temp_delta %}
{% set new_multiplier = z_offset_per_degree / coefficient_per_degree %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="print_temp: {print_temp}, z_offset: {z_offset}, temp_delta: {temp_delta}, nozzle_expansion_coefficient: {nozzle_expansion_coefficient}, coefficient_per_degree: {coefficient_per_degree}, z_offset_per_degree: {z_offset_per_degree}, old_multiplier: {beacon_contact_expansion_multiplier}, new_multiplier: {new_multiplier}"
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE={new_multiplier}
{% endif %}
{% endif %}
[fan_generic part_fan_t0]
pin = !toolboard_t0:PA0
cycle_time = 0.00004
[fan_generic part_fan_t1]
pin = !toolboard_t1:PA0
cycle_time = 0.00004
[heater_fan toolhead_cooling_fan_t1]
heater = extruder1
pin = toolboard_t1:PA1
[controller_fan controller_fan]
pin = PD12
[gcode_macro T0]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = True
variable_color = "7bff33"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = -32.8
variable_parking_position = -57.800
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=0 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[gcode_macro T1]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = False
variable_color = "0ea5e9"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = 532.8
variable_parking_position = 556.971
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=1 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[save_variables]
filename = /home/pi/printer_data/config/ratos-variables.cfg
[z_offset_probe]
pin = ^PG10
z_offset = -7
y_offset = 0
x_offset = 37.5
speed = 10
samples = 3
sample_retract_dist = 5
lift_speed = 10.0
samples_result = median
samples_tolerance = 0.2
samples_tolerance_retries = 5
[neopixel vaoc_led]
pin = PB0
chain_count = 6
color_order = GRB
[heater_fan vaoc_fan]
pin = PD13
heater = heater_bed
fan_speed = 1.0
heater_temp = 50
[filament_switch_sensor toolhead_filament_sensor_t0]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t0:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=0
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=0
[gcode_button toolhead_filament_sensor_button_t0]
pin = ^!toolboard_t0:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=0
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=0
{% endif %}
press_gcode =
[filament_switch_sensor toolhead_filament_sensor_t1]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t1:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=1
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=1
[gcode_button toolhead_filament_sensor_button_t1]
pin = ^!toolboard_t1:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=1
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=1
{% endif %}
press_gcode =
[beacon model default]
model_coef = 1.5216898007481126,
1.8902129794265508,
0.831820228817575,
0.3593149586958484,
0.23269392145129414,
0.19533062331679613,
-0.1632586565325532,
-0.17574982456618962,
0.17702053002792054,
0.13435326641891854
model_domain = 1.851328082849494e-07,1.9354184656086437e-07
model_range = 0.200000,5.000000
model_temp = 43.655936
model_offset = -0.05394
[bed_mesh Preparation]
version = 1
points =
-0.123065, -0.129249, -0.137728, -0.143346, -0.146108, -0.151560, -0.155215, -0.159040, -0.159958, -0.164177, -0.166491, -0.171752, -0.176450, -0.180710, -0.184686, -0.190246, -0.195775, -0.202238, -0.207460, -0.213022, -0.218225, -0.220510, -0.220567, -0.219225, -0.217630, -0.212552, -0.206331, -0.200070, -0.194573, -0.188334, -0.180118, -0.172176, -0.168038, -0.164374, -0.159375, -0.153073, -0.146940, -0.141521, -0.135166, -0.127086
-0.088754, -0.096605, -0.102126, -0.105995, -0.109969, -0.114049, -0.118511, -0.121889, -0.124322, -0.126883, -0.131213, -0.135417, -0.139505, -0.143071, -0.147057, -0.152929, -0.157956, -0.164833, -0.170577, -0.176167, -0.181394, -0.184379, -0.183957, -0.184723, -0.181740, -0.178752, -0.172233, -0.167393, -0.161225, -0.155149, -0.148851, -0.144256, -0.140355, -0.137883, -0.132371, -0.128553, -0.122059, -0.115777, -0.111817, -0.103433
-0.059703, -0.065141, -0.068894, -0.072534, -0.074652, -0.078732, -0.083449, -0.087482, -0.090032, -0.093010, -0.095624, -0.100951, -0.104058, -0.107939, -0.110295, -0.114845, -0.122184, -0.128323, -0.134619, -0.141129, -0.146735, -0.150526, -0.151921, -0.151703, -0.149648, -0.145697, -0.140806, -0.136280, -0.130497, -0.125540, -0.120070, -0.115730, -0.115253, -0.113816, -0.111683, -0.107485, -0.102833, -0.098964, -0.092084, -0.083493
-0.035146, -0.038887, -0.040630, -0.042918, -0.045822, -0.048863, -0.053602, -0.057912, -0.061422, -0.063969, -0.067771, -0.070734, -0.074263, -0.077254, -0.079459, -0.084177, -0.089247, -0.097608, -0.105291, -0.111173, -0.118299, -0.123146, -0.124957, -0.125483, -0.121116, -0.117566, -0.112065, -0.108311, -0.103527, -0.098034, -0.093794, -0.092694, -0.092279, -0.092993, -0.091409, -0.090502, -0.087302, -0.082043, -0.077730, -0.068983
-0.014429, -0.015436, -0.015024, -0.015867, -0.016594, -0.019643, -0.023524, -0.028230, -0.032698, -0.035277, -0.037866, -0.041326, -0.042863, -0.045187, -0.048169, -0.051460, -0.057369, -0.064702, -0.072998, -0.082472, -0.088649, -0.094871, -0.098359, -0.099789, -0.097374, -0.090473, -0.085585, -0.080722, -0.076818, -0.073349, -0.069668, -0.068340, -0.069674, -0.071996, -0.071434, -0.069706, -0.067260, -0.064747, -0.060147, -0.051867
0.001800, 0.004209, 0.006295, 0.006641, 0.006498, 0.003907, 0.000374, -0.004775, -0.008574, -0.012033, -0.015343, -0.017616, -0.020077, -0.021090, -0.023071, -0.026600, -0.031917, -0.039089, -0.048471, -0.057699, -0.066738, -0.073148, -0.075881, -0.078085, -0.074661, -0.071015, -0.062931, -0.057662, -0.054662, -0.049156, -0.046409, -0.047290, -0.049401, -0.052189, -0.052468, -0.052381, -0.048999, -0.045375, -0.042758, -0.036124
0.014578, 0.018249, 0.024038, 0.026382, 0.027249, 0.026050, 0.022467, 0.017577, 0.013010, 0.010887, 0.006983, 0.004054, 0.002721, 0.001326, -0.000218, -0.003487, -0.007851, -0.014883, -0.023207, -0.033846, -0.042392, -0.050957, -0.055968, -0.056765, -0.055272, -0.049752, -0.043583, -0.037460, -0.031652, -0.028299, -0.026023, -0.024866, -0.027110, -0.030476, -0.033084, -0.034078, -0.031246, -0.029362, -0.025190, -0.019151
0.024410, 0.030484, 0.035193, 0.039485, 0.041745, 0.040083, 0.037331, 0.032763, 0.028232, 0.025326, 0.021729, 0.020069, 0.017930, 0.018061, 0.015847, 0.013482, 0.008905, 0.001823, -0.007356, -0.016569, -0.026170, -0.033571, -0.037941, -0.040096, -0.038153, -0.033153, -0.025879, -0.019168, -0.014733, -0.010497, -0.008672, -0.007561, -0.010567, -0.014787, -0.015661, -0.017707, -0.017691, -0.014205, -0.012676, -0.006032
0.030350, 0.037321, 0.045452, 0.050793, 0.053375, 0.054499, 0.051059, 0.046846, 0.042496, 0.039367, 0.035643, 0.033919, 0.033912, 0.033623, 0.032081, 0.030054, 0.024662, 0.019256, 0.010309, -0.000351, -0.009383, -0.017529, -0.022320, -0.022585, -0.022214, -0.017406, -0.012453, -0.004461, 0.001580, 0.003945, 0.005930, 0.006089, 0.003042, -0.000316, -0.002673, -0.003751, -0.003717, -0.002638, 0.000226, 0.005144
0.035173, 0.044246, 0.052100, 0.057619, 0.061427, 0.062646, 0.059768, 0.057094, 0.052969, 0.049696, 0.046221, 0.044853, 0.044616, 0.045243, 0.045236, 0.041880, 0.037458, 0.030193, 0.021980, 0.013232, 0.002262, -0.005043, -0.010706, -0.011683, -0.008394, -0.003728, 0.001908, 0.006662, 0.011662, 0.016663, 0.018832, 0.016640, 0.013833, 0.008164, 0.007799, 0.005419, 0.005328, 0.009190, 0.008467, 0.015441
0.037108, 0.045666, 0.056458, 0.063149, 0.067499, 0.069070, 0.068454, 0.065539, 0.062239, 0.059947, 0.057580, 0.054794, 0.056387, 0.057237, 0.057484, 0.055314, 0.050020, 0.043846, 0.035280, 0.025122, 0.016671, 0.008013, 0.002311, 0.000737, 0.001896, 0.008203, 0.014297, 0.020006, 0.024262, 0.026669, 0.029339, 0.030551, 0.026033, 0.021667, 0.017948, 0.016993, 0.017491, 0.017914, 0.020540, 0.025522
0.036352, 0.047193, 0.056745, 0.064612, 0.068634, 0.070738, 0.069708, 0.067799, 0.066444, 0.064284, 0.063129, 0.061805, 0.060988, 0.062269, 0.063716, 0.060863, 0.057021, 0.049768, 0.040718, 0.032150, 0.020744, 0.014030, 0.009615, 0.006588, 0.008979, 0.012564, 0.020268, 0.025138, 0.030238, 0.034561, 0.036879, 0.034610, 0.032263, 0.027581, 0.024798, 0.023672, 0.023321, 0.026978, 0.024620, 0.027896
0.031904, 0.041999, 0.053526, 0.061780, 0.068626, 0.071467, 0.069588, 0.070855, 0.067652, 0.067081, 0.066260, 0.065427, 0.067567, 0.067660, 0.066819, 0.066532, 0.062096, 0.056381, 0.047624, 0.037620, 0.028342, 0.019370, 0.013689, 0.013032, 0.014071, 0.018558, 0.024375, 0.029309, 0.035040, 0.038931, 0.042663, 0.042886, 0.037831, 0.034178, 0.030240, 0.030073, 0.030481, 0.030514, 0.032425, 0.035200
0.027182, 0.039232, 0.050723, 0.059936, 0.065685, 0.068762, 0.069802, 0.067959, 0.067866, 0.067327, 0.067183, 0.067449, 0.068351, 0.070500, 0.070804, 0.066856, 0.063180, 0.057359, 0.048570, 0.041217, 0.030261, 0.023075, 0.018834, 0.015316, 0.018939, 0.022756, 0.029306, 0.034018, 0.038670, 0.043164, 0.045084, 0.044050, 0.042856, 0.037331, 0.034978, 0.032203, 0.031843, 0.034428, 0.032762, 0.037273
0.021053, 0.033448, 0.046106, 0.055345, 0.064261, 0.068907, 0.069228, 0.069829, 0.068287, 0.068723, 0.069343, 0.068829, 0.071972, 0.073165, 0.073793, 0.072091, 0.066945, 0.060901, 0.053179, 0.043877, 0.036784, 0.028377, 0.023620, 0.022244, 0.021968, 0.027336, 0.032852, 0.037884, 0.042949, 0.044947, 0.048544, 0.049110, 0.045085, 0.042044, 0.039134, 0.036728, 0.035119, 0.034480, 0.035005, 0.040348
0.012798, 0.026215, 0.038175, 0.049823, 0.056616, 0.061959, 0.063431, 0.063875, 0.064311, 0.064278, 0.065429, 0.067402, 0.068134, 0.070311, 0.071612, 0.068720, 0.065355, 0.058476, 0.049821, 0.043365, 0.033745, 0.028649, 0.024126, 0.021884, 0.024781, 0.027504, 0.032892, 0.037274, 0.041428, 0.045995, 0.047404, 0.045205, 0.044657, 0.039586, 0.038947, 0.035435, 0.034980, 0.037579, 0.032889, 0.037251
0.002599, 0.016742, 0.028454, 0.039856, 0.050630, 0.057205, 0.057988, 0.060542, 0.060803, 0.062833, 0.063316, 0.063458, 0.067483, 0.068629, 0.069600, 0.068774, 0.065105, 0.060486, 0.053074, 0.043536, 0.036203, 0.030149, 0.025306, 0.023637, 0.024745, 0.030017, 0.034726, 0.038220, 0.042707, 0.043750, 0.047446, 0.047304, 0.044249, 0.040629, 0.037643, 0.037322, 0.036376, 0.036060, 0.034983, 0.039259
-0.009299, 0.003358, 0.016587, 0.028772, 0.037637, 0.045522, 0.048419, 0.050740, 0.052845, 0.054601, 0.054222, 0.056341, 0.057287, 0.060815, 0.062225, 0.059457, 0.058540, 0.052712, 0.045650, 0.039369, 0.029281, 0.023853, 0.020326, 0.017158, 0.020475, 0.024038, 0.029159, 0.033918, 0.035785, 0.040239, 0.040813, 0.040406, 0.039684, 0.033949, 0.033181, 0.032565, 0.029348, 0.033315, 0.026965, 0.030583
-0.026918, -0.010726, 0.002999, 0.014433, 0.026463, 0.034997, 0.038263, 0.042755, 0.042939, 0.045824, 0.048341, 0.048364, 0.051534, 0.052744, 0.054094, 0.054604, 0.051491, 0.048552, 0.042327, 0.033918, 0.027486, 0.020894, 0.015739, 0.013238, 0.014280, 0.018615, 0.022786, 0.027006, 0.032407, 0.034888, 0.037864, 0.036858, 0.033948, 0.030834, 0.029128, 0.027105, 0.027313, 0.024774, 0.024613, 0.027069
-0.040027, -0.025131, -0.010601, 0.002523, 0.013123, 0.021425, 0.026915, 0.029297, 0.032819, 0.034947, 0.036059, 0.038480, 0.039604, 0.041848, 0.043952, 0.042987, 0.042589, 0.037420, 0.031622, 0.024770, 0.017692, 0.011391, 0.007445, 0.004353, 0.006436, 0.009431, 0.015809, 0.020322, 0.022741, 0.028265, 0.028380, 0.028365, 0.028435, 0.021376, 0.020191, 0.019534, 0.016283, 0.019006, 0.011746, 0.014708
-0.056684, -0.040558, -0.026026, -0.013077, 0.001136, 0.010197, 0.014126, 0.019524, 0.020289, 0.024250, 0.027205, 0.027040, 0.032136, 0.032733, 0.036150, 0.035729, 0.033818, 0.032633, 0.025943, 0.018154, 0.011096, 0.004347, 0.000182, -0.001587, -0.000674, 0.003150, 0.008718, 0.014003, 0.019522, 0.021413, 0.024493, 0.023669, 0.021443, 0.017697, 0.014271, 0.011648, 0.010124, 0.007028, 0.008391, 0.011548
-0.070688, -0.054708, -0.038988, -0.022400, -0.012838, -0.002722, 0.002683, 0.005530, 0.009069, 0.011945, 0.013369, 0.016565, 0.019252, 0.022612, 0.026435, 0.026276, 0.025811, 0.021076, 0.014586, 0.009648, 0.000497, -0.005110, -0.010032, -0.013120, -0.009419, -0.005850, 0.001196, 0.007562, 0.011003, 0.016293, 0.018088, 0.015279, 0.015117, 0.005636, 0.004038, 0.002755, -0.002018, 0.003098, -0.003080, -0.000159
-0.089093, -0.069024, -0.051576, -0.039140, -0.023761, -0.014054, -0.008637, -0.004206, -0.002925, 0.000628, 0.004294, 0.005180, 0.012082, 0.014985, 0.018446, 0.019703, 0.018943, 0.015701, 0.008415, 0.001132, -0.005341, -0.012240, -0.017255, -0.018934, -0.018344, -0.013165, -0.006037, 0.001223, 0.007618, 0.009453, 0.012580, 0.011127, 0.007477, 0.001830, -0.001810, -0.004428, -0.005625, -0.007326, -0.005016, -0.000600
-0.099704, -0.080527, -0.064504, -0.047065, -0.036227, -0.025986, -0.020027, -0.016586, -0.013094, -0.010398, -0.007205, -0.002616, 0.000734, 0.006380, 0.011519, 0.011174, 0.009740, 0.006345, 0.000545, -0.006125, -0.015283, -0.021250, -0.024104, -0.027854, -0.024622, -0.019636, -0.011858, -0.003915, 0.000667, 0.007300, 0.007642, 0.003905, 0.002899, -0.006441, -0.009109, -0.009676, -0.012463, -0.007014, -0.012570, -0.007146
-0.114714, -0.093148, -0.075353, -0.061754, -0.045386, -0.035447, -0.029339, -0.024022, -0.022394, -0.017008, -0.013168, -0.011385, -0.002852, 0.000333, 0.005220, 0.006668, 0.006239, 0.003185, -0.002733, -0.010821, -0.017979, -0.026075, -0.029651, -0.031781, -0.028478, -0.022137, -0.015652, -0.008127, -0.002024, 0.000627, 0.005143, 0.004125, -0.000697, -0.005698, -0.011038, -0.012025, -0.011996, -0.012589, -0.010022, -0.005017
-0.122903, -0.103635, -0.085984, -0.068299, -0.055409, -0.045262, -0.039103, -0.034155, -0.030447, -0.026675, -0.022523, -0.017787, -0.012967, -0.006671, -0.001667, -0.001944, -0.001690, -0.006190, -0.012321, -0.018992, -0.026396, -0.032518, -0.035515, -0.038670, -0.034660, -0.028220, -0.021430, -0.013595, -0.009650, -0.004742, -0.002199, -0.005392, -0.005290, -0.012575, -0.015890, -0.016404, -0.019504, -0.013782, -0.018582, -0.014276
-0.134579, -0.113485, -0.095284, -0.079518, -0.062659, -0.052056, -0.046305, -0.039009, -0.037823, -0.031848, -0.027185, -0.024069, -0.016064, -0.013428, -0.007718, -0.004529, -0.006462, -0.009628, -0.015448, -0.022543, -0.030829, -0.037569, -0.039995, -0.040648, -0.038926, -0.033288, -0.025343, -0.019131, -0.012345, -0.009802, -0.006212, -0.006248, -0.010552, -0.013167, -0.017225, -0.018029, -0.017813, -0.019312, -0.017588, -0.012622
-0.141623, -0.121670, -0.102186, -0.085896, -0.071216, -0.060247, -0.053842, -0.047188, -0.042746, -0.037427, -0.034976, -0.028961, -0.023709, -0.016692, -0.012858, -0.012134, -0.011163, -0.015775, -0.023443, -0.028172, -0.036157, -0.042440, -0.044826, -0.047997, -0.043392, -0.036551, -0.030720, -0.023607, -0.017635, -0.012732, -0.009913, -0.014198, -0.013203, -0.020762, -0.021628, -0.022211, -0.024141, -0.018562, -0.021550, -0.018843
-0.153558, -0.131254, -0.112812, -0.097483, -0.078966, -0.067860, -0.060926, -0.053977, -0.052300, -0.044006, -0.039839, -0.035812, -0.028838, -0.024006, -0.019004, -0.016593, -0.019021, -0.020131, -0.025883, -0.034599, -0.040980, -0.047799, -0.051352, -0.052014, -0.049759, -0.042428, -0.034779, -0.027594, -0.022224, -0.019623, -0.014617, -0.015462, -0.018895, -0.023314, -0.026383, -0.027395, -0.026422, -0.027225, -0.024109, -0.018187
-0.161908, -0.140002, -0.120655, -0.102888, -0.087870, -0.077667, -0.069724, -0.063534, -0.057774, -0.052057, -0.047301, -0.041207, -0.036047, -0.031176, -0.024730, -0.024522, -0.023785, -0.027288, -0.033143, -0.038931, -0.048404, -0.054383, -0.057185, -0.059173, -0.055642, -0.049257, -0.042398, -0.033901, -0.029000, -0.023467, -0.020749, -0.023617, -0.023141, -0.030864, -0.033138, -0.032954, -0.034538, -0.029482, -0.033082, -0.028314
-0.174826, -0.151443, -0.130396, -0.116540, -0.098721, -0.086440, -0.078811, -0.071608, -0.069023, -0.060435, -0.055560, -0.050716, -0.042712, -0.037661, -0.034517, -0.031178, -0.032055, -0.033793, -0.038671, -0.045928, -0.052841, -0.060492, -0.063749, -0.063988, -0.062643, -0.056771, -0.049569, -0.041294, -0.034726, -0.031908, -0.028202, -0.029544, -0.031862, -0.035321, -0.038379, -0.038996, -0.038819, -0.039354, -0.037656, -0.031082
-0.183238, -0.161592, -0.141835, -0.122259, -0.107820, -0.096198, -0.087266, -0.081174, -0.074490, -0.069838, -0.064393, -0.057107, -0.050762, -0.045327, -0.038202, -0.038855, -0.038407, -0.041566, -0.047140, -0.051945, -0.061233, -0.066409, -0.069864, -0.071910, -0.067210, -0.062565, -0.055432, -0.048278, -0.044331, -0.038455, -0.036269, -0.038273, -0.038014, -0.045766, -0.046782, -0.045843, -0.049612, -0.044485, -0.046549, -0.043773
-0.193766, -0.171381, -0.150622, -0.136571, -0.116007, -0.105103, -0.095303, -0.087977, -0.084827, -0.076628, -0.071043, -0.067079, -0.058807, -0.053256, -0.047233, -0.043607, -0.045450, -0.047128, -0.052927, -0.059961, -0.065522, -0.072239, -0.075898, -0.075835, -0.075111, -0.067972, -0.061979, -0.053963, -0.049569, -0.047796, -0.043883, -0.043617, -0.047656, -0.050661, -0.053231, -0.054403, -0.054461, -0.055549, -0.052266, -0.047746
-0.201314, -0.179345, -0.161359, -0.141661, -0.125534, -0.113803, -0.104605, -0.097577, -0.091460, -0.084584, -0.081618, -0.073351, -0.066639, -0.060233, -0.053844, -0.052016, -0.050399, -0.053801, -0.060298, -0.064515, -0.073415, -0.079082, -0.082485, -0.085173, -0.080732, -0.075519, -0.069232, -0.061446, -0.057882, -0.054204, -0.050503, -0.055575, -0.054341, -0.063491, -0.062954, -0.061692, -0.063367, -0.060560, -0.063682, -0.062945
-0.210699, -0.186568, -0.169980, -0.155576, -0.134580, -0.123486, -0.114304, -0.104424, -0.101420, -0.092798, -0.086708, -0.083121, -0.072735, -0.068592, -0.062863, -0.059082, -0.060053, -0.060206, -0.063958, -0.071063, -0.077559, -0.085187, -0.086687, -0.088869, -0.087870, -0.081655, -0.074488, -0.068268, -0.062429, -0.060979, -0.056752, -0.057920, -0.060916, -0.066499, -0.069739, -0.070931, -0.070913, -0.070755, -0.068799, -0.063772
-0.219515, -0.197554, -0.177657, -0.160158, -0.145459, -0.131642, -0.122712, -0.114730, -0.108205, -0.102209, -0.096258, -0.088791, -0.081533, -0.074260, -0.066793, -0.066614, -0.064792, -0.068370, -0.072488, -0.076295, -0.085080, -0.090724, -0.095074, -0.097575, -0.093448, -0.090253, -0.083279, -0.075362, -0.072746, -0.067366, -0.066279, -0.070410, -0.069398, -0.077609, -0.078058, -0.078135, -0.084604, -0.079149, -0.080611, -0.079800
-0.230805, -0.207528, -0.186481, -0.172408, -0.153776, -0.143194, -0.132521, -0.122732, -0.119724, -0.111161, -0.104757, -0.098336, -0.089800, -0.085237, -0.079503, -0.074701, -0.074730, -0.077056, -0.080999, -0.087250, -0.090878, -0.098745, -0.100539, -0.104508, -0.101283, -0.096607, -0.088982, -0.085559, -0.079754, -0.079122, -0.075177, -0.075963, -0.081290, -0.085296, -0.088572, -0.088783, -0.090303, -0.090612, -0.089416, -0.085933
-0.237804, -0.216625, -0.196099, -0.177369, -0.162298, -0.151235, -0.142740, -0.134419, -0.126793, -0.120617, -0.114293, -0.107315, -0.098104, -0.090157, -0.083399, -0.082639, -0.080974, -0.083252, -0.088626, -0.094519, -0.101179, -0.107558, -0.109548, -0.114106, -0.110311, -0.106939, -0.099894, -0.093051, -0.091536, -0.087351, -0.087053, -0.090645, -0.091250, -0.099822, -0.100443, -0.101896, -0.103601, -0.100931, -0.103353, -0.101983
-0.247583, -0.224449, -0.204610, -0.192000, -0.171035, -0.160649, -0.151982, -0.142274, -0.139230, -0.129743, -0.123914, -0.119027, -0.108169, -0.102443, -0.095205, -0.091306, -0.092205, -0.092345, -0.096259, -0.103217, -0.108755, -0.115722, -0.119030, -0.120152, -0.118763, -0.111891, -0.108093, -0.102743, -0.098191, -0.095813, -0.095324, -0.097542, -0.103908, -0.108247, -0.112667, -0.113407, -0.114053, -0.115255, -0.113592, -0.108895
-0.258858, -0.235997, -0.216740, -0.198116, -0.183378, -0.171186, -0.161217, -0.155748, -0.147888, -0.142165, -0.135823, -0.126753, -0.118377, -0.109580, -0.102398, -0.099259, -0.097063, -0.101252, -0.106440, -0.110945, -0.118590, -0.125773, -0.130331, -0.133380, -0.130510, -0.125840, -0.121346, -0.113584, -0.112154, -0.108462, -0.107451, -0.111338, -0.113454, -0.123539, -0.127029, -0.125848, -0.131621, -0.126772, -0.129161, -0.126885
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh ratos]
version = 1
points =
0.252421, 0.239918, 0.235079, 0.233044, 0.229596, 0.212449, 0.189631, 0.177265, 0.169883, 0.164401, 0.162956, 0.163382, 0.166705, 0.179165, 0.193577
0.271966, 0.259877, 0.254582, 0.251196, 0.246518, 0.227398, 0.201969, 0.187328, 0.176683, 0.168773, 0.169957, 0.176639, 0.182214, 0.189877, 0.198461
0.276289, 0.267046, 0.261350, 0.255007, 0.248230, 0.229009, 0.203988, 0.191305, 0.185623, 0.181806, 0.180978, 0.181667, 0.184263, 0.193155, 0.203690
0.278889, 0.273241, 0.267160, 0.257355, 0.248146, 0.229016, 0.204779, 0.194759, 0.195556, 0.197049, 0.193377, 0.185856, 0.184502, 0.195611, 0.209394
0.278746, 0.275629, 0.269870, 0.258938, 0.248858, 0.229500, 0.205165, 0.195780, 0.198458, 0.201461, 0.196561, 0.185904, 0.183158, 0.195579, 0.211088
0.276375, 0.276236, 0.271549, 0.260815, 0.250692, 0.230737, 0.205548, 0.195534, 0.197468, 0.199796, 0.194343, 0.182983, 0.180177, 0.193876, 0.210799
0.273524, 0.273458, 0.269603, 0.260653, 0.251723, 0.231624, 0.206002, 0.195409, 0.196267, 0.197753, 0.192971, 0.183368, 0.181615, 0.195760, 0.212938
0.267660, 0.262256, 0.259405, 0.256574, 0.252066, 0.232597, 0.207063, 0.195713, 0.194465, 0.194512, 0.193170, 0.191017, 0.193092, 0.206555, 0.222135
0.261978, 0.251389, 0.249510, 0.252617, 0.252419, 0.233692, 0.208414, 0.196366, 0.192974, 0.191518, 0.193443, 0.198433, 0.204171, 0.216936, 0.230946
0.259175, 0.248781, 0.247703, 0.252469, 0.253528, 0.235805, 0.211588, 0.199323, 0.194060, 0.190904, 0.192775, 0.198523, 0.204714, 0.217544, 0.231592
0.256917, 0.248898, 0.248775, 0.253971, 0.255438, 0.239147, 0.216672, 0.204382, 0.196942, 0.191618, 0.192082, 0.196190, 0.201684, 0.215074, 0.230002
0.258878, 0.252498, 0.252461, 0.256670, 0.257493, 0.241767, 0.220173, 0.208520, 0.201784, 0.196903, 0.196216, 0.197892, 0.202508, 0.217707, 0.234843
0.266676, 0.262097, 0.261261, 0.262395, 0.261081, 0.245358, 0.224295, 0.214415, 0.211973, 0.210659, 0.208388, 0.205266, 0.208274, 0.227810, 0.250023
0.272369, 0.268928, 0.267532, 0.266607, 0.263893, 0.248373, 0.227935, 0.219380, 0.219876, 0.220951, 0.217279, 0.210276, 0.211840, 0.234232, 0.259847
0.272470, 0.268521, 0.267342, 0.267309, 0.265457, 0.251692, 0.233409, 0.225272, 0.224341, 0.223802, 0.218119, 0.207943, 0.207465, 0.228239, 0.252402
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 164.129
max_x = 335.871
min_y = 164.129
max_y = 335.871
[bed_mesh default_01]
version = 1
points =
-0.212352, -0.205004, -0.205688, -0.213947, -0.211584, -0.200827, -0.196079, -0.201497, -0.201616, -0.208425, -0.209947, -0.207257, -0.208137, -0.210397, -0.217396, -0.222770, -0.220129, -0.218163, -0.221850, -0.237017, -0.247459, -0.242211, -0.231428, -0.233658, -0.238247, -0.236157, -0.227367, -0.215174, -0.214324, -0.216396, -0.215984, -0.211921, -0.203751, -0.202477, -0.212640, -0.222181, -0.219244, -0.211084, -0.209151, -0.209082
-0.174162, -0.176047, -0.170487, -0.170548, -0.170736, -0.164118, -0.157555, -0.153439, -0.160425, -0.170282, -0.172797, -0.167139, -0.166458, -0.175026, -0.179929, -0.178620, -0.177640, -0.179906, -0.184836, -0.197635, -0.207979, -0.205003, -0.197052, -0.197250, -0.203982, -0.199476, -0.190324, -0.186099, -0.187066, -0.186672, -0.187746, -0.181171, -0.185153, -0.187589, -0.187063, -0.200665, -0.201051, -0.202709, -0.193542, -0.191586
-0.137100, -0.139551, -0.156952, -0.140436, -0.132315, -0.117612, -0.126367, -0.127171, -0.117222, -0.126918, -0.136512, -0.136358, -0.132073, -0.130702, -0.140103, -0.142380, -0.138235, -0.138905, -0.144252, -0.155403, -0.167395, -0.168131, -0.163644, -0.167313, -0.170169, -0.167668, -0.163673, -0.153559, -0.151257, -0.156368, -0.162458, -0.158603, -0.153421, -0.159541, -0.173014, -0.183822, -0.179305, -0.173713, -0.177083, -0.178655
-0.119638, -0.118582, -0.112676, -0.107016, -0.101057, -0.097609, -0.090568, -0.088846, -0.094353, -0.105808, -0.108640, -0.099508, -0.097061, -0.104063, -0.108925, -0.106601, -0.108711, -0.108244, -0.112043, -0.120678, -0.130435, -0.136258, -0.136819, -0.140693, -0.145176, -0.140418, -0.133156, -0.127840, -0.122126, -0.121636, -0.126438, -0.130351, -0.139794, -0.144111, -0.146054, -0.158204, -0.161518, -0.167826, -0.159598, -0.158650
-0.096835, -0.087718, -0.104672, -0.082461, -0.076224, -0.060838, -0.069516, -0.072615, -0.062211, -0.077871, -0.084714, -0.077026, -0.072760, -0.070095, -0.080251, -0.081571, -0.077742, -0.079221, -0.083101, -0.090649, -0.099299, -0.104793, -0.110080, -0.115975, -0.119470, -0.118751, -0.111056, -0.099818, -0.088329, -0.086065, -0.095142, -0.105657, -0.108794, -0.116773, -0.128079, -0.136836, -0.137575, -0.140247, -0.145489, -0.148040
-0.083209, -0.079868, -0.067185, -0.063731, -0.058642, -0.053051, -0.047765, -0.045331, -0.050266, -0.066491, -0.066941, -0.056015, -0.048217, -0.054259, -0.060356, -0.057978, -0.058606, -0.058994, -0.066141, -0.074500, -0.082524, -0.087903, -0.089955, -0.094768, -0.104398, -0.099852, -0.090725, -0.079565, -0.067033, -0.062767, -0.070707, -0.083459, -0.101043, -0.101848, -0.100333, -0.109638, -0.123028, -0.141217, -0.130959, -0.131217
-0.069730, -0.056597, -0.069495, -0.045018, -0.042152, -0.026485, -0.032235, -0.034557, -0.024843, -0.038262, -0.047943, -0.040534, -0.031409, -0.031423, -0.038290, -0.042184, -0.036914, -0.036003, -0.044482, -0.056018, -0.065785, -0.068729, -0.067646, -0.075299, -0.082594, -0.082415, -0.073119, -0.059632, -0.051532, -0.053502, -0.062114, -0.070318, -0.073796, -0.079949, -0.088985, -0.099045, -0.106334, -0.115317, -0.118710, -0.121606
-0.063230, -0.056601, -0.041980, -0.034523, -0.029628, -0.022591, -0.015527, -0.011458, -0.016579, -0.029089, -0.032697, -0.020075, -0.012276, -0.017379, -0.024206, -0.024615, -0.021741, -0.020420, -0.029944, -0.044031, -0.057771, -0.058946, -0.055658, -0.060140, -0.067052, -0.068268, -0.059032, -0.046807, -0.044834, -0.051708, -0.055075, -0.061517, -0.071357, -0.076336, -0.080810, -0.088325, -0.104141, -0.122163, -0.110924, -0.110569
-0.060174, -0.039395, -0.050614, -0.025623, -0.014566, -0.007533, -0.001840, -0.007895, 0.000069, -0.005943, -0.019542, -0.011396, 0.001031, -0.002683, -0.007624, -0.009318, -0.006436, -0.001552, -0.011221, -0.028696, -0.041084, -0.042016, -0.040203, -0.044466, -0.051808, -0.052518, -0.043417, -0.032423, -0.032810, -0.041661, -0.050081, -0.052858, -0.052876, -0.063332, -0.079570, -0.089959, -0.096716, -0.101982, -0.105016, -0.107001
-0.053710, -0.043327, -0.028031, -0.017850, -0.009484, -0.001637, 0.005673, 0.010586, 0.005636, -0.003814, -0.005362, 0.006161, 0.013608, 0.008057, 0.002322, 0.003612, 0.004110, 0.008068, 0.002083, -0.015465, -0.030949, -0.030547, -0.029409, -0.033287, -0.038682, -0.039024, -0.031263, -0.021618, -0.026750, -0.032994, -0.035691, -0.044157, -0.052114, -0.060215, -0.075515, -0.083466, -0.095327, -0.106548, -0.095535, -0.098521
-0.047254, -0.030528, -0.031638, -0.012849, 0.004841, 0.006983, 0.013694, 0.012846, 0.016138, 0.014432, 0.006226, 0.010452, 0.024727, 0.021013, 0.019524, 0.018961, 0.019665, 0.023419, 0.017911, -0.000232, -0.014022, -0.014730, -0.014596, -0.019038, -0.025992, -0.025129, -0.014481, -0.007814, -0.009829, -0.019165, -0.028011, -0.031947, -0.032988, -0.045983, -0.065714, -0.081242, -0.085685, -0.086933, -0.087880, -0.095017
-0.048876, -0.037640, -0.020639, -0.011257, -0.002252, 0.003293, 0.011320, 0.018432, 0.016599, 0.008416, 0.008857, 0.020046, 0.028597, 0.025368, 0.020894, 0.020093, 0.024371, 0.025767, 0.019986, 0.005394, -0.011722, -0.013006, -0.011459, -0.016446, -0.020481, -0.020572, -0.009700, -0.002004, -0.006115, -0.014821, -0.020690, -0.029257, -0.037335, -0.048699, -0.063009, -0.072149, -0.084081, -0.094853, -0.088026, -0.093326
-0.045599, -0.032489, -0.031909, -0.015132, 0.004367, 0.005761, 0.009753, 0.013737, 0.019610, 0.017209, 0.010670, 0.018033, 0.034446, 0.032759, 0.027419, 0.026150, 0.030680, 0.031041, 0.025393, 0.009631, -0.004301, -0.004888, -0.004235, -0.009507, -0.016274, -0.014927, -0.004799, 0.003089, 0.000024, -0.010745, -0.022641, -0.023781, -0.026245, -0.039501, -0.059650, -0.077316, -0.081899, -0.082664, -0.085848, -0.095630
-0.051719, -0.042516, -0.024727, -0.014881, -0.007962, -0.002778, 0.007253, 0.018564, 0.020549, 0.010749, 0.010767, 0.025842, 0.036605, 0.033660, 0.027884, 0.026999, 0.031138, 0.033807, 0.026322, 0.010483, -0.004168, -0.004458, -0.003391, -0.006828, -0.010159, -0.008629, -0.003788, 0.001726, -0.001831, -0.008376, -0.017421, -0.022119, -0.030860, -0.043583, -0.059511, -0.070434, -0.082378, -0.090458, -0.089146, -0.096370
-0.057793, -0.042621, -0.038750, -0.024348, -0.005081, -0.005268, 0.003206, 0.010779, 0.022189, 0.019209, 0.011044, 0.020911, 0.036400, 0.034032, 0.028483, 0.028491, 0.032888, 0.035226, 0.029869, 0.013138, -0.000218, -0.000329, 0.001627, -0.003569, -0.009235, -0.007042, -0.000417, 0.003729, 0.000901, -0.010109, -0.017801, -0.018479, -0.021562, -0.036566, -0.057392, -0.075915, -0.079832, -0.081904, -0.088661, -0.100886
-0.067526, -0.055309, -0.036025, -0.024537, -0.017287, -0.011391, 0.002241, 0.016031, 0.017569, 0.008104, 0.006919, 0.022812, 0.035649, 0.030569, 0.025295, 0.026158, 0.028120, 0.032186, 0.028803, 0.014355, -0.001453, -0.003540, 0.000052, -0.001443, -0.003511, -0.005267, -0.001147, 0.000925, -0.004403, -0.009193, -0.012170, -0.019738, -0.029104, -0.044019, -0.060224, -0.070235, -0.081397, -0.094197, -0.096617, -0.101341
-0.075428, -0.058510, -0.049621, -0.037169, -0.011246, -0.010479, -0.006396, 0.006504, 0.015749, 0.012822, 0.006671, 0.016924, 0.032039, 0.031328, 0.026985, 0.027980, 0.030920, 0.032808, 0.031615, 0.018644, 0.001923, 0.000053, 0.003103, -0.001638, -0.003420, -0.005222, -0.000500, 0.001731, -0.003233, -0.012132, -0.017811, -0.019364, -0.021427, -0.036729, -0.058064, -0.075307, -0.078393, -0.086764, -0.096422, -0.104641
-0.092209, -0.073958, -0.053538, -0.041213, -0.031588, -0.024989, -0.011064, 0.002184, 0.004486, -0.004082, -0.003293, 0.012688, 0.024729, 0.023376, 0.016493, 0.016586, 0.021829, 0.027456, 0.025131, 0.008832, -0.008327, -0.010361, -0.007077, -0.007777, -0.007766, -0.011707, -0.013024, -0.007518, -0.012126, -0.020229, -0.024097, -0.030067, -0.037289, -0.049421, -0.062891, -0.078169, -0.090757, -0.105824, -0.111811, -0.117777
-0.106289, -0.086122, -0.074620, -0.056172, -0.033359, -0.034200, -0.027585, -0.014357, -0.003523, -0.003173, -0.008568, 0.004560, 0.019812, 0.016370, 0.013293, 0.013211, 0.017172, 0.021237, 0.018588, 0.001698, -0.012144, -0.012347, -0.010917, -0.015273, -0.018952, -0.021509, -0.017029, -0.011164, -0.014443, -0.027155, -0.036630, -0.037423, -0.036926, -0.049532, -0.067352, -0.090672, -0.098946, -0.105902, -0.117845, -0.128940
-0.119843, -0.099551, -0.077375, -0.061466, -0.050643, -0.047894, -0.033252, -0.019023, -0.014146, -0.020387, -0.016146, -0.000891, 0.012049, 0.008154, 0.002012, 0.003114, 0.007794, 0.012077, 0.007700, -0.011028, -0.026025, -0.024384, -0.020351, -0.023849, -0.027654, -0.030259, -0.025713, -0.018766, -0.022065, -0.032647, -0.040511, -0.047076, -0.052786, -0.064445, -0.079572, -0.097204, -0.110174, -0.127382, -0.136959, -0.142453
-0.135881, -0.113617, -0.095958, -0.075519, -0.053636, -0.051158, -0.045442, -0.035110, -0.023830, -0.022073, -0.025648, -0.012523, 0.002373, 0.000009, -0.002147, -0.001985, 0.000331, 0.003723, -0.002529, -0.020264, -0.031099, -0.030751, -0.027355, -0.031960, -0.040301, -0.040107, -0.030883, -0.023717, -0.024764, -0.038626, -0.049844, -0.052232, -0.052227, -0.068758, -0.088853, -0.110131, -0.118940, -0.125623, -0.139267, -0.150404
-0.147234, -0.122517, -0.096928, -0.081168, -0.067667, -0.057299, -0.044252, -0.032443, -0.030321, -0.037537, -0.034091, -0.017946, -0.003430, -0.003912, -0.009807, -0.011897, -0.008144, -0.003054, -0.009226, -0.026037, -0.039774, -0.038967, -0.034867, -0.037244, -0.043301, -0.045683, -0.040373, -0.031648, -0.032516, -0.041435, -0.049670, -0.058216, -0.068111, -0.083771, -0.099720, -0.113914, -0.127152, -0.147164, -0.154335, -0.160429
-0.158273, -0.133270, -0.115417, -0.091514, -0.067230, -0.058936, -0.052044, -0.044265, -0.035939, -0.036139, -0.040261, -0.027272, -0.013186, -0.013542, -0.013861, -0.013039, -0.008873, -0.007381, -0.013661, -0.028296, -0.039834, -0.040777, -0.038878, -0.043689, -0.052118, -0.049598, -0.040967, -0.033006, -0.034674, -0.046396, -0.055599, -0.059550, -0.064319, -0.081374, -0.102252, -0.123352, -0.133457, -0.141361, -0.153732, -0.162842
-0.163985, -0.137959, -0.112560, -0.096319, -0.080136, -0.066032, -0.055239, -0.045154, -0.040025, -0.045969, -0.043949, -0.027366, -0.013946, -0.015938, -0.020205, -0.020363, -0.015098, -0.009180, -0.014372, -0.029472, -0.043361, -0.047060, -0.044514, -0.046874, -0.049002, -0.048900, -0.044376, -0.038649, -0.038640, -0.044392, -0.051377, -0.063703, -0.075619, -0.090800, -0.106410, -0.117386, -0.134056, -0.156076, -0.161317, -0.164352
-0.169328, -0.145232, -0.130536, -0.106804, -0.079563, -0.069719, -0.064499, -0.057419, -0.044854, -0.043388, -0.046350, -0.033538, -0.019578, -0.019911, -0.022262, -0.020217, -0.013577, -0.011777, -0.018283, -0.032001, -0.041685, -0.042622, -0.043564, -0.047741, -0.053702, -0.051118, -0.042753, -0.035469, -0.036813, -0.048548, -0.057071, -0.062776, -0.066666, -0.081272, -0.102125, -0.120857, -0.133965, -0.144835, -0.155386, -0.162296
-0.174195, -0.147149, -0.124193, -0.107844, -0.092439, -0.079965, -0.067838, -0.054727, -0.047991, -0.051406, -0.048628, -0.034037, -0.018244, -0.018863, -0.023209, -0.024508, -0.018643, -0.012967, -0.019073, -0.034525, -0.047431, -0.049212, -0.046173, -0.045697, -0.047429, -0.048119, -0.044775, -0.039874, -0.039932, -0.045759, -0.051624, -0.065144, -0.076265, -0.090425, -0.103435, -0.113760, -0.131897, -0.154919, -0.160239, -0.165805
-0.182561, -0.157658, -0.140669, -0.116638, -0.091799, -0.084003, -0.077296, -0.067061, -0.054018, -0.051473, -0.055342, -0.041953, -0.026010, -0.024838, -0.024730, -0.024400, -0.020117, -0.017292, -0.025480, -0.038031, -0.045972, -0.049371, -0.048599, -0.050784, -0.053543, -0.049795, -0.041647, -0.037489, -0.040859, -0.050387, -0.059536, -0.064606, -0.070159, -0.084596, -0.102330, -0.120388, -0.134318, -0.147666, -0.158329, -0.169645
-0.185359, -0.157558, -0.131731, -0.117546, -0.100084, -0.089652, -0.077197, -0.060971, -0.055224, -0.060475, -0.059241, -0.041946, -0.025511, -0.023695, -0.026481, -0.028896, -0.022794, -0.017925, -0.027362, -0.038360, -0.051689, -0.054773, -0.050138, -0.050791, -0.051434, -0.051241, -0.049361, -0.044589, -0.044599, -0.049575, -0.058380, -0.071201, -0.081492, -0.095400, -0.106904, -0.120585, -0.141445, -0.162992, -0.166815, -0.176471
-0.196082, -0.166958, -0.148924, -0.124362, -0.099268, -0.089224, -0.083847, -0.072393, -0.059968, -0.060778, -0.063197, -0.051714, -0.035522, -0.031973, -0.029103, -0.027414, -0.026238, -0.025612, -0.033610, -0.043246, -0.051063, -0.053604, -0.050845, -0.057947, -0.064302, -0.060114, -0.051503, -0.046237, -0.047593, -0.058820, -0.068816, -0.072418, -0.075854, -0.092028, -0.110957, -0.130835, -0.142765, -0.155778, -0.168639, -0.177908
-0.200300, -0.171321, -0.144331, -0.127095, -0.109905, -0.096309, -0.083512, -0.071281, -0.065010, -0.070142, -0.069848, -0.053726, -0.036597, -0.033447, -0.035503, -0.035330, -0.034016, -0.029435, -0.034186, -0.045152, -0.058465, -0.061283, -0.059673, -0.061314, -0.065187, -0.066523, -0.062808, -0.057136, -0.057148, -0.061304, -0.068774, -0.081868, -0.092308, -0.105321, -0.119247, -0.130699, -0.148070, -0.174184, -0.181326, -0.188999
-0.210978, -0.184754, -0.163399, -0.136324, -0.110831, -0.098993, -0.092695, -0.082435, -0.072148, -0.071655, -0.075002, -0.062925, -0.046288, -0.044239, -0.043506, -0.039959, -0.039265, -0.038697, -0.042598, -0.053324, -0.062799, -0.062659, -0.060035, -0.067710, -0.075688, -0.075506, -0.069265, -0.060182, -0.061386, -0.069283, -0.078029, -0.085454, -0.089592, -0.101379, -0.120476, -0.138711, -0.151708, -0.165282, -0.178453, -0.189651
-0.213823, -0.186222, -0.158513, -0.140422, -0.121378, -0.106957, -0.093131, -0.083539, -0.078151, -0.080226, -0.076733, -0.061965, -0.045421, -0.045943, -0.050881, -0.051294, -0.046266, -0.040289, -0.043641, -0.058750, -0.072077, -0.071710, -0.069723, -0.071302, -0.076957, -0.083019, -0.080095, -0.069503, -0.067251, -0.073316, -0.080551, -0.094333, -0.104093, -0.113464, -0.122254, -0.135871, -0.157887, -0.184133, -0.193983, -0.202171
-0.223648, -0.196956, -0.172755, -0.145972, -0.124713, -0.111993, -0.104786, -0.095984, -0.083477, -0.078793, -0.079990, -0.068091, -0.052115, -0.051193, -0.053526, -0.053014, -0.049966, -0.044288, -0.049525, -0.062762, -0.073232, -0.072006, -0.071171, -0.076765, -0.083899, -0.085304, -0.076928, -0.068839, -0.070375, -0.080444, -0.089973, -0.095778, -0.098567, -0.110535, -0.127832, -0.145316, -0.162515, -0.178885, -0.192816, -0.203364
-0.224755, -0.195540, -0.167739, -0.151826, -0.137850, -0.123829, -0.108701, -0.096483, -0.087211, -0.086128, -0.083904, -0.067125, -0.051459, -0.049813, -0.056470, -0.059854, -0.054588, -0.045736, -0.050423, -0.065929, -0.080947, -0.080407, -0.076883, -0.079984, -0.087131, -0.090107, -0.086714, -0.078370, -0.078387, -0.087787, -0.093730, -0.106154, -0.117145, -0.127281, -0.135589, -0.151872, -0.173965, -0.198997, -0.208778, -0.217297
-0.236412, -0.208303, -0.185907, -0.160665, -0.142679, -0.134650, -0.122917, -0.108172, -0.091731, -0.088118, -0.090214, -0.076740, -0.061674, -0.059377, -0.060620, -0.061344, -0.058130, -0.051690, -0.057795, -0.072844, -0.082404, -0.083815, -0.080383, -0.085699, -0.094873, -0.094414, -0.088375, -0.083196, -0.083701, -0.096367, -0.106204, -0.112475, -0.116630, -0.129931, -0.148242, -0.168045, -0.183552, -0.192899, -0.207597, -0.218212
-0.237287, -0.206152, -0.179789, -0.165392, -0.153328, -0.141575, -0.124247, -0.107707, -0.098006, -0.098279, -0.094075, -0.076129, -0.058939, -0.055824, -0.061223, -0.066850, -0.061029, -0.050364, -0.056406, -0.073349, -0.088519, -0.089802, -0.085554, -0.090894, -0.095761, -0.097451, -0.097298, -0.091280, -0.091221, -0.098982, -0.105068, -0.120914, -0.134946, -0.148633, -0.161257, -0.175263, -0.191837, -0.210962, -0.224154, -0.234785
-0.244892, -0.219822, -0.198629, -0.172720, -0.154475, -0.144890, -0.135139, -0.120020, -0.105250, -0.101039, -0.101008, -0.087588, -0.070567, -0.067107, -0.067615, -0.068201, -0.064559, -0.058672, -0.066341, -0.081607, -0.091026, -0.090784, -0.089355, -0.097357, -0.106002, -0.103992, -0.096717, -0.090707, -0.094152, -0.111377, -0.122097, -0.130857, -0.139237, -0.152123, -0.171285, -0.193055, -0.212451, -0.227079, -0.238595, -0.241892
-0.241288, -0.214481, -0.186985, -0.170045, -0.155410, -0.144508, -0.132037, -0.117802, -0.107757, -0.109608, -0.103491, -0.082870, -0.064308, -0.064005, -0.065106, -0.068039, -0.062985, -0.058956, -0.066495, -0.080766, -0.096005, -0.100514, -0.097092, -0.099911, -0.107930, -0.111969, -0.109479, -0.106917, -0.110140, -0.116409, -0.122318, -0.136523, -0.153991, -0.173235, -0.191881, -0.208770, -0.224630, -0.242501, -0.255860, -0.270545
-0.252568, -0.229471, -0.209208, -0.181703, -0.157178, -0.147318, -0.139416, -0.127420, -0.115907, -0.114291, -0.108872, -0.094413, -0.078117, -0.077561, -0.077469, -0.075725, -0.069815, -0.065316, -0.075619, -0.092149, -0.101235, -0.103101, -0.098071, -0.104493, -0.118503, -0.122364, -0.117171, -0.112725, -0.112465, -0.124729, -0.137475, -0.146765, -0.160303, -0.178019, -0.202943, -0.226301, -0.241417, -0.253458, -0.270105, -0.279430
-0.253365, -0.231416, -0.201769, -0.183800, -0.168858, -0.155590, -0.141248, -0.127344, -0.119347, -0.120530, -0.110964, -0.091796, -0.076677, -0.075151, -0.079195, -0.078767, -0.071936, -0.065997, -0.076345, -0.093900, -0.108021, -0.111656, -0.108413, -0.112178, -0.123620, -0.133219, -0.132920, -0.129961, -0.128081, -0.139346, -0.152586, -0.163616, -0.178862, -0.199189, -0.219177, -0.237676, -0.256572, -0.280020, -0.289513, -0.302499
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh Contact]
version = 1
points =
0.083125, 0.029844, -0.025938, -0.024844, -0.070313, -0.093906, -0.093750, -0.177969, -0.125938, -0.174688, -0.115000, -0.088125, -0.057031, -0.029219, 0.016406
0.191562, 0.169219, 0.124687, 0.104531, 0.061250, 0.037344, 0.016250, -0.051250, -0.045313, -0.053906, -0.015000, -0.011250, 0.020156, 0.066875, 0.076250
0.248281, 0.228437, 0.177344, 0.169062, 0.133125, 0.132656, 0.094844, 0.047187, 0.042500, 0.049062, 0.067187, 0.088281, 0.092344, 0.122812, 0.146875
0.290469, 0.291562, 0.258281, 0.235625, 0.212344, 0.180469, 0.161562, 0.108125, 0.091719, 0.075469, 0.149219, 0.109219, 0.142969, 0.142969, 0.164844
0.290312, 0.320469, 0.270156, 0.252969, 0.236562, 0.205156, 0.201719, 0.160469, 0.156406, 0.136875, 0.192500, 0.184219, 0.200312, 0.202812, 0.206562
0.298125, 0.361250, 0.322031, 0.290469, 0.285937, 0.256562, 0.247031, 0.191250, 0.167500, 0.181094, 0.201406, 0.212812, 0.185469, 0.206875, 0.215781
0.283281, 0.311562, 0.287500, 0.294062, 0.284375, 0.273437, 0.248594, 0.195469, 0.201719, 0.182812, 0.216094, 0.234062, 0.230781, 0.238125, 0.244062
0.254844, 0.279375, 0.269531, 0.291406, 0.273594, 0.275469, 0.252187, 0.195625, 0.198594, 0.177656, 0.217187, 0.225469, 0.217187, 0.229531, 0.220000
0.231406, 0.249531, 0.260312, 0.286094, 0.275000, 0.247031, 0.252969, 0.198281, 0.190937, 0.203750, 0.236406, 0.223437, 0.237812, 0.226250, 0.222031
0.208125, 0.259219, 0.252812, 0.262031, 0.264844, 0.247656, 0.256719, 0.209531, 0.191562, 0.198750, 0.235000, 0.229219, 0.216094, 0.240781, 0.243281
0.183125, 0.238594, 0.252500, 0.269687, 0.275937, 0.267969, 0.264219, 0.219375, 0.220937, 0.208906, 0.268281, 0.239375, 0.233594, 0.251719, 0.245469
0.184531, 0.232031, 0.261719, 0.258437, 0.276875, 0.265781, 0.269375, 0.234375, 0.226094, 0.198906, 0.249219, 0.236562, 0.243750, 0.228906, 0.249219
0.164531, 0.239687, 0.261250, 0.266094, 0.281250, 0.270937, 0.308906, 0.236094, 0.236719, 0.215000, 0.294219, 0.258906, 0.241406, 0.256719, 0.261562
0.184062, 0.245625, 0.241562, 0.264062, 0.299062, 0.306406, 0.291562, 0.251250, 0.262969, 0.226875, 0.290625, 0.265781, 0.252500, 0.267187, 0.260625
0.164844, 0.251875, 0.245000, 0.258281, 0.279219, 0.279062, 0.298750, 0.259219, 0.248906, 0.240156, 0.293125, 0.273750, 0.255312, 0.246406, 0.255156
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 469.96000000000004
min_y = 30.0
max_y = 439.91999999999985
=======================
Extruder max_extrude_ratio=0.598682
Extruder max_extrude_ratio=0.598682
mcu 'mcu': Starting serial connect
webhooks client 4103495656: New connection
webhooks client 4103495656: Client info {'program': 'Moonraker', 'version': 'v0.9.3-0-g71f9e67'}
mcu 'mcu': got {'oid': 24, 'next_clock': 2672625152, 'value': 7447, '#name': 'analog_in_state', '#sent_time': 29.339274667, '#receive_time': 29.343805334}
mcu 'mcu': got {'oid': 25, 'next_clock': 2674425152, 'value': 31487, '#name': 'analog_in_state', '#sent_time': 29.339274667, '#receive_time': 29.353744038}
Loaded MCU 'mcu' 130 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'mcu' config: ADC_MAX=4095 BUS_PINS_i2c1=PB6,PB7 BUS_PINS_i2c1a=PB8,PB9 BUS_PINS_i2c2=PB10,PB11 BUS_PINS_i2c3=PA8,PC9 BUS_PINS_sdio=PC12,PD2,PC8,PC9,PC10,PC11 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 BUS_PINS_spi3a=PC11,PC12,PC10 BUS_PINS_spi4=PE13,PE14,PE12 CLOCK_FREQ=180000000 MCU=stm32f446xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PH0,PH1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu 'rpi': Starting connect
mcu 'mcu': got {'oid': 24, 'next_clock': 2726625152, 'value': 7442, '#name': 'analog_in_state', '#sent_time': 29.497769463, '#receive_time': 29.643794852}
mcu 'mcu': got {'oid': 25, 'next_clock': 2728425152, 'value': 31486, '#name': 'analog_in_state', '#sent_time': 29.497769463, '#receive_time': 29.653850093}
mcu 'mcu': got {'oid': 24, 'next_clock': 2780625152, 'value': 7445, '#name': 'analog_in_state', '#sent_time': 29.497769463, '#receive_time': 29.943830815}
mcu 'mcu': got {'oid': 25, 'next_clock': 2782425152, 'value': 31485, '#name': 'analog_in_state', '#sent_time': 29.497769463, '#receive_time': 29.953833574}
Loaded MCU 'rpi' 119 commands (?-20240727_132503-fv-az659-741 / gcc: (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110 binutils: (GNU Binutils for Raspbian) 2.35.2)
MCU 'rpi' config: ADC_MAX=4095 CLOCK_FREQ=50000000 MCU=linux PCA9685_MAX=4096 PWM_MAX=32768 STATS_SUMSQ_BASE=256
mcu 'toolboard_t0': Starting serial connect
mcu 'mcu': got {'oid': 24, 'next_clock': 2834625152, 'value': 7446, '#name': 'analog_in_state', '#sent_time': 29.497769463, '#receive_time': 30.243819445}
mcu 'mcu': got {'oid': 25, 'next_clock': 2836425152, 'value': 31484, '#name': 'analog_in_state', '#sent_time': 29.497769463, '#receive_time': 30.253762074}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 3777548934, 'value': 7551, '#name': 'analog_in_state', '#sent_time': 30.327390185, '#receive_time': 30.365624481}
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 3780108934, 'value': 13160, '#name': 'analog_in_state', '#sent_time': 30.378452833, '#receive_time': 30.405691185}
mcu 'mcu': got {'oid': 24, 'next_clock': 2888625152, 'value': 7444, '#name': 'analog_in_state', '#sent_time': 30.481749167, '#receive_time': 30.543890389}
mcu 'mcu': got {'oid': 25, 'next_clock': 2890425152, 'value': 31490, '#name': 'analog_in_state', '#sent_time': 30.481749167, '#receive_time': 30.553780444}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 3796748934, 'value': 7548, '#name': 'analog_in_state', '#sent_time': 30.63409637, '#receive_time': 30.665662778}
Loaded MCU 'toolboard_t0' 118 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'toolboard_t0' config: ADC_MAX=4095 BUS_PINS_i2c1_PA9_PA10=PA9,PA10 BUS_PINS_i2c1_PB6_PB7=PB6,PB7 BUS_PINS_i2c1_PB8_PB9=PB8,PB9 BUS_PINS_i2c2_PB10_PB11=PB10,PB11 BUS_PINS_i2c2_PB13_PB14=PB13,PB14 BUS_PINS_i2c3_PB3_PB4=PB3,PB4 BUS_PINS_i2c3_PC0_PC1=PC0,PC1 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2_PB2_PB11_PB10=PB2,PB11,PB10 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=64000000 MCU=stm32g0b1xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu 'toolboard_t1': Starting serial connect
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 3799308934, 'value': 13152, '#name': 'analog_in_state', '#sent_time': 30.694032537, '#receive_time': 30.705585296}
mcu 'mcu': got {'oid': 24, 'next_clock': 2942625152, 'value': 7445, '#name': 'analog_in_state', '#sent_time': 30.481749167, '#receive_time': 30.843811981}
mcu 'mcu': got {'oid': 25, 'next_clock': 2944425152, 'value': 31484, '#name': 'analog_in_state', '#sent_time': 30.481749167, '#receive_time': 30.853857611}
mcu 'toolboard_t1': got {'oid': 6, 'next_clock': 3815957149, 'value': 7494, '#name': 'analog_in_state', '#sent_time': 30.945904296, '#receive_time': 30.964914018}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 3815948934, 'value': 7551, '#name': 'analog_in_state', '#sent_time': 30.694032537, '#receive_time': 30.965600889}
mcu 'toolboard_t1': got {'oid': 10, 'next_clock': 3818517149, 'value': 10828, '#name': 'analog_in_state', '#sent_time': 30.996979814, '#receive_time': 31.004918537000002}
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 3818508934, 'value': 13150, '#name': 'analog_in_state', '#sent_time': 30.694032537, '#receive_time': 31.005662703}
mcu 'mcu': got {'oid': 24, 'next_clock': 2996625152, 'value': 7446, '#name': 'analog_in_state', '#sent_time': 30.481749167, '#receive_time': 31.143851296}
mcu 'mcu': got {'oid': 25, 'next_clock': 2998425152, 'value': 31486, '#name': 'analog_in_state', '#sent_time': 30.481749167, '#receive_time': 31.15379424}
mcu 'toolboard_t1': got {'oid': 6, 'next_clock': 3835157149, 'value': 7491, '#name': 'analog_in_state', '#sent_time': 31.263404611, '#receive_time': 31.264943111}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 3835148934, 'value': 7550, '#name': 'analog_in_state', '#sent_time': 30.694032537, '#receive_time': 31.265609648}
mcu 'toolboard_t1': got {'oid': 10, 'next_clock': 3837717149, 'value': 10828, '#name': 'analog_in_state', '#sent_time': 31.263404611, '#receive_time': 31.30501874}
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 3837708934, 'value': 13146, '#name': 'analog_in_state', '#sent_time': 30.694032537, '#receive_time': 31.305650314}
Loaded MCU 'toolboard_t1' 118 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'toolboard_t1' config: ADC_MAX=4095 BUS_PINS_i2c1_PA9_PA10=PA9,PA10 BUS_PINS_i2c1_PB6_PB7=PB6,PB7 BUS_PINS_i2c1_PB8_PB9=PB8,PB9 BUS_PINS_i2c2_PB10_PB11=PB10,PB11 BUS_PINS_i2c2_PB13_PB14=PB13,PB14 BUS_PINS_i2c3_PB3_PB4=PB3,PB4 BUS_PINS_i2c3_PC0_PC1=PC0,PC1 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2_PB2_PB11_PB10=PB2,PB11,PB10 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=64000000 MCU=stm32g0b1xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu_temperature 'mcu' nominal base=-273.935743 slope=1315.662651
mcu_temperature 'toolboard_t0' nominal base=-262.897727 slope=1279.687500
mcu_temperature 'toolboard_t1' nominal base=-268.850575 slope=1294.396552
mcu 'beacon': Starting serial connect
mcu 'mcu': got {'oid': 24, 'next_clock': 3050625152, 'value': 7446, '#name': 'analog_in_state', '#sent_time': 31.390171573, '#receive_time': 31.443821259}
mcu 'mcu': got {'oid': 25, 'next_clock': 3052425152, 'value': 31489, '#name': 'analog_in_state', '#sent_time': 31.390171573, '#receive_time': 31.453836314}
mcu 'toolboard_t1': got {'oid': 6, 'next_clock': 3854357149, 'value': 7492, '#name': 'analog_in_state', '#sent_time': 31.393376851, '#receive_time': 31.564892222}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 3854348934, 'value': 7550, '#name': 'analog_in_state', '#sent_time': 31.391650648, '#receive_time': 31.565662055}
mcu 'toolboard_t1': got {'oid': 10, 'next_clock': 3856917149, 'value': 10827, '#name': 'analog_in_state', '#sent_time': 31.393376851, '#receive_time': 31.605071166}
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 3856908934, 'value': 13146, '#name': 'analog_in_state', '#sent_time': 31.391650648, '#receive_time': 31.605635018}
mcu 'mcu': got {'oid': 24, 'next_clock': 3104625152, 'value': 7444, '#name': 'analog_in_state', '#sent_time': 31.466677185, '#receive_time': 31.743855647}
mcu 'mcu': got {'oid': 25, 'next_clock': 3106425152, 'value': 31485, '#name': 'analog_in_state', '#sent_time': 31.466677185, '#receive_time': 31.753797203}
mcu 'toolboard_t1': got {'oid': 6, 'next_clock': 3873557149, 'value': 7492, '#name': 'analog_in_state', '#sent_time': 31.393376851, '#receive_time': 31.864966851}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 3873548934, 'value': 7550, '#name': 'analog_in_state', '#sent_time': 31.679073703, '#receive_time': 31.865621018}
mcu 'toolboard_t1': got {'oid': 10, 'next_clock': 3876117149, 'value': 10823, '#name': 'analog_in_state', '#sent_time': 31.393376851, '#receive_time': 31.904986962}
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 3876108934, 'value': 13134, '#name': 'analog_in_state', '#sent_time': 31.679073703, '#receive_time': 31.905641758}
Loaded MCU 'beacon' 45 commands (Beacon 2.1.0 / )
MCU 'beacon' config: ADC_MAX=4095 BEACON_ACCEL_BITS=12 BEACON_ACCEL_SCALE_16G=7.81 BEACON_ACCEL_SCALE_2G=0.98 BEACON_ACCEL_SCALE_4G=1.95 BEACON_ACCEL_SCALE_8G=3.91 BEACON_ADC_SMOOTH_COUNT=16 BEACON_HAS_ACCEL=1 BEACON_REV=H CLOCK_FREQ=32000000 MCU=beacon STATS_SUMSQ_BASE=256
Configured MCU 'mcu' (1024 moves)
Sending MCU 'rpi' printer configuration...
Configured MCU 'rpi' (1024 moves)
Configured MCU 'toolboard_t0' (1024 moves)
Configured MCU 'toolboard_t1' (1024 moves)
Starting heater checks for heater_bed
bed_mesh: generated points
Index | Tool Adjusted | Probe
0 | (20.0, 7.5) | (20.0, 30.0)
1 | (31.5, 7.5) | (31.5, 30.0)
2 | (43.1, 7.5) | (43.1, 30.0)
3 | (54.6, 7.5) | (54.6, 30.0)
4 | (66.1, 7.5) | (66.1, 30.0)
5 | (77.7, 7.5) | (77.7, 30.0)
6 | (89.2, 7.5) | (89.2, 30.0)
7 | (100.7, 7.5) | (100.7, 30.0)
8 | (112.2, 7.5) | (112.2, 30.0)
9 | (123.8, 7.5) | (123.8, 30.0)
10 | (135.3, 7.5) | (135.3, 30.0)
11 | (146.8, 7.5) | (146.8, 30.0)
12 | (158.4, 7.5) | (158.4, 30.0)
13 | (169.9, 7.5) | (169.9, 30.0)
14 | (181.4, 7.5) | (181.4, 30.0)
15 | (192.9, 7.5) | (192.9, 30.0)
16 | (204.5, 7.5) | (204.5, 30.0)
17 | (216.0, 7.5) | (216.0, 30.0)
18 | (227.5, 7.5) | (227.5, 30.0)
19 | (239.1, 7.5) | (239.1, 30.0)
20 | (250.6, 7.5) | (250.6, 30.0)
21 | (262.1, 7.5) | (262.1, 30.0)
22 | (273.7, 7.5) | (273.7, 30.0)
23 | (285.2, 7.5) | (285.2, 30.0)
24 | (296.7, 7.5) | (296.7, 30.0)
25 | (308.2, 7.5) | (308.2, 30.0)
26 | (319.8, 7.5) | (319.8, 30.0)
27 | (331.3, 7.5) | (331.3, 30.0)
28 | (342.8, 7.5) | (342.8, 30.0)
29 | (354.4, 7.5) | (354.4, 30.0)
30 | (365.9, 7.5) | (365.9, 30.0)
31 | (377.4, 7.5) | (377.4, 30.0)
32 | (389.0, 7.5) | (389.0, 30.0)
33 | (400.5, 7.5) | (400.5, 30.0)
34 | (412.0, 7.5) | (412.0, 30.0)
35 | (423.5, 7.5) | (423.5, 30.0)
36 | (435.1, 7.5) | (435.1, 30.0)
37 | (446.6, 7.5) | (446.6, 30.0)
38 | (458.1, 7.5) | (458.1, 30.0)
39 | (469.7, 7.5) | (469.7, 30.0)
40 | (469.7, 18.6) | (469.7, 41.1)
41 | (458.1, 18.6) | (458.1, 41.1)
42 | (446.6, 18.6) | (446.6, 41.1)
43 | (435.1, 18.6) | (435.1, 41.1)
44 | (423.5, 18.6) | (423.5, 41.1)
45 | (412.0, 18.6) | (412.0, 41.1)
46 | (400.5, 18.6) | (400.5, 41.1)
47 | (389.0, 18.6) | (389.0, 41.1)
48 | (377.4, 18.6) | (377.4, 41.1)
49 | (365.9, 18.6) | (365.9, 41.1)
50 | (354.4, 18.6) | (354.4, 41.1)
51 | (342.8, 18.6) | (342.8, 41.1)
52 | (331.3, 18.6) | (331.3, 41.1)
53 | (319.8, 18.6) | (319.8, 41.1)
54 | (308.2, 18.6) | (308.2, 41.1)
55 | (296.7, 18.6) | (296.7, 41.1)
56 | (285.2, 18.6) | (285.2, 41.1)
57 | (273.7, 18.6) | (273.7, 41.1)
58 | (262.1, 18.6) | (262.1, 41.1)
59 | (250.6, 18.6) | (250.6, 41.1)
60 | (239.1, 18.6) | (239.1, 41.1)
61 | (227.5, 18.6) | (227.5, 41.1)
62 | (216.0, 18.6) | (216.0, 41.1)
63 | (204.5, 18.6) | (204.5, 41.1)
64 | (192.9, 18.6) | (192.9, 41.1)
65 | (181.4, 18.6) | (181.4, 41.1)
66 | (169.9, 18.6) | (169.9, 41.1)
67 | (158.4, 18.6) | (158.4, 41.1)
68 | (146.8, 18.6) | (146.8, 41.1)
69 | (135.3, 18.6) | (135.3, 41.1)
70 | (123.8, 18.6) | (123.8, 41.1)
71 | (112.2, 18.6) | (112.2, 41.1)
72 | (100.7, 18.6) | (100.7, 41.1)
73 | (89.2, 18.6) | (89.2, 41.1)
74 | (77.6, 18.6) | (77.6, 41.1)
75 | (66.1, 18.6) | (66.1, 41.1)
76 | (54.6, 18.6) | (54.6, 41.1)
77 | (43.1, 18.6) | (43.1, 41.1)
78 | (31.5, 18.6) | (31.5, 41.1)
79 | (20.0, 18.6) | (20.0, 41.1)
80 | (20.0, 29.7) | (20.0, 52.2)
81 | (31.5, 29.7) | (31.5, 52.2)
82 | (43.1, 29.7) | (43.1, 52.2)
83 | (54.6, 29.7) | (54.6, 52.2)
84 | (66.1, 29.7) | (66.1, 52.2)
85 | (77.7, 29.7) | (77.7, 52.2)
86 | (89.2, 29.7) | (89.2, 52.2)
87 | (100.7, 29.7) | (100.7, 52.2)
88 | (112.2, 29.7) | (112.2, 52.2)
89 | (123.8, 29.7) | (123.8, 52.2)
90 | (135.3, 29.7) | (135.3, 52.2)
91 | (146.8, 29.7) | (146.8, 52.2)
92 | (158.4, 29.7) | (158.4, 52.2)
93 | (169.9, 29.7) | (169.9, 52.2)
94 | (181.4, 29.7) | (181.4, 52.2)
95 | (192.9, 29.7) | (192.9, 52.2)
96 | (204.5, 29.7) | (204.5, 52.2)
97 | (216.0, 29.7) | (216.0, 52.2)
98 | (227.5, 29.7) | (227.5, 52.2)
99 | (239.1, 29.7) | (239.1, 52.2)
100 | (250.6, 29.7) | (250.6, 52.2)
101 | (262.1, 29.7) | (262.1, 52.2)
102 | (273.7, 29.7) | (273.7, 52.2)
103 | (285.2, 29.7) | (285.2, 52.2)
104 | (296.7, 29.7) | (296.7, 52.2)
105 | (308.2, 29.7) | (308.2, 52.2)
106 | (319.8, 29.7) | (319.8, 52.2)
107 | (331.3, 29.7) | (331.3, 52.2)
108 | (342.8, 29.7) | (342.8, 52.2)
109 | (354.4, 29.7) | (354.4, 52.2)
110 | (365.9, 29.7) | (365.9, 52.2)
111 | (377.4, 29.7) | (377.4, 52.2)
112 | (389.0, 29.7) | (389.0, 52.2)
113 | (400.5, 29.7) | (400.5, 52.2)
114 | (412.0, 29.7) | (412.0, 52.2)
115 | (423.5, 29.7) | (423.5, 52.2)
116 | (435.1, 29.7) | (435.1, 52.2)
117 | (446.6, 29.7) | (446.6, 52.2)
118 | (458.1, 29.7) | (458.1, 52.2)
119 | (469.7, 29.7) | (469.7, 52.2)
120 | (469.7, 40.7) | (469.7, 63.2)
121 | (458.1, 40.7) | (458.1, 63.2)
122 | (446.6, 40.7) | (446.6, 63.2)
123 | (435.1, 40.7) | (435.1, 63.2)
124 | (423.5, 40.7) | (423.5, 63.2)
125 | (412.0, 40.7) | (412.0, 63.2)
126 | (400.5, 40.7) | (400.5, 63.2)
127 | (389.0, 40.7) | (389.0, 63.2)
128 | (377.4, 40.7) | (377.4, 63.2)
129 | (365.9, 40.7) | (365.9, 63.2)
130 | (354.4, 40.7) | (354.4, 63.2)
131 | (342.8, 40.7) | (342.8, 63.2)
132 | (331.3, 40.7) | (331.3, 63.2)
133 | (319.8, 40.7) | (319.8, 63.2)
134 | (308.2, 40.7) | (308.2, 63.2)
135 | (296.7, 40.7) | (296.7, 63.2)
136 | (285.2, 40.7) | (285.2, 63.2)
137 | (273.7, 40.7) | (273.7, 63.2)
138 | (262.1, 40.7) | (262.1, 63.2)
139 | (250.6, 40.7) | (250.6, 63.2)
140 | (239.1, 40.7) | (239.1, 63.2)
141 | (227.5, 40.7) | (227.5, 63.2)
142 | (216.0, 40.7) | (216.0, 63.2)
143 | (204.5, 40.7) | (204.5, 63.2)
144 | (192.9, 40.7) | (192.9, 63.2)
145 | (181.4, 40.7) | (181.4, 63.2)
146 | (169.9, 40.7) | (169.9, 63.2)
147 | (158.4, 40.7) | (158.4, 63.2)
148 | (146.8, 40.7) | (146.8, 63.2)
149 | (135.3, 40.7) | (135.3, 63.2)
150 | (123.8, 40.7) | (123.8, 63.2)
151 | (112.2, 40.7) | (112.2, 63.2)
152 | (100.7, 40.7) | (100.7, 63.2)
153 | (89.2, 40.7) | (89.2, 63.2)
154 | (77.6, 40.7) | (77.6, 63.2)
155 | (66.1, 40.7) | (66.1, 63.2)
156 | (54.6, 40.7) | (54.6, 63.2)
157 | (43.1, 40.7) | (43.1, 63.2)
158 | (31.5, 40.7) | (31.5, 63.2)
159 | (20.0, 40.7) | (20.0, 63.2)
160 | (20.0, 51.8) | (20.0, 74.3)
161 | (31.5, 51.8) | (31.5, 74.3)
162 | (43.1, 51.8) | (43.1, 74.3)
163 | (54.6, 51.8) | (54.6, 74.3)
164 | (66.1, 51.8) | (66.1, 74.3)
165 | (77.7, 51.8) | (77.7, 74.3)
166 | (89.2, 51.8) | (89.2, 74.3)
167 | (100.7, 51.8) | (100.7, 74.3)
168 | (112.2, 51.8) | (112.2, 74.3)
169 | (123.8, 51.8) | (123.8, 74.3)
170 | (135.3, 51.8) | (135.3, 74.3)
171 | (146.8, 51.8) | (146.8, 74.3)
172 | (158.4, 51.8) | (158.4, 74.3)
173 | (169.9, 51.8) | (169.9, 74.3)
174 | (181.4, 51.8) | (181.4, 74.3)
175 | (192.9, 51.8) | (192.9, 74.3)
176 | (204.5, 51.8) | (204.5, 74.3)
177 | (216.0, 51.8) | (216.0, 74.3)
178 | (227.5, 51.8) | (227.5, 74.3)
179 | (239.1, 51.8) | (239.1, 74.3)
180 | (250.6, 51.8) | (250.6, 74.3)
181 | (262.1, 51.8) | (262.1, 74.3)
182 | (273.7, 51.8) | (273.7, 74.3)
183 | (285.2, 51.8) | (285.2, 74.3)
184 | (296.7, 51.8) | (296.7, 74.3)
185 | (308.2, 51.8) | (308.2, 74.3)
186 | (319.8, 51.8) | (319.8, 74.3)
187 | (331.3, 51.8) | (331.3, 74.3)
188 | (342.8, 51.8) | (342.8, 74.3)
189 | (354.4, 51.8) | (354.4, 74.3)
190 | (365.9, 51.8) | (365.9, 74.3)
191 | (377.4, 51.8) | (377.4, 74.3)
192 | (389.0, 51.8) | (389.0, 74.3)
193 | (400.5, 51.8) | (400.5, 74.3)
194 | (412.0, 51.8) | (412.0, 74.3)
195 | (423.5, 51.8) | (423.5, 74.3)
196 | (435.1, 51.8) | (435.1, 74.3)
197 | (446.6, 51.8) | (446.6, 74.3)
198 | (458.1, 51.8) | (458.1, 74.3)
199 | (469.7, 51.8) | (469.7, 74.3)
200 | (469.7, 62.9) | (469.7, 85.4)
201 | (458.1, 62.9) | (458.1, 85.4)
202 | (446.6, 62.9) | (446.6, 85.4)
203 | (435.1, 62.9) | (435.1, 85.4)
204 | (423.5, 62.9) | (423.5, 85.4)
205 | (412.0, 62.9) | (412.0, 85.4)
206 | (400.5, 62.9) | (400.5, 85.4)
207 | (389.0, 62.9) | (389.0, 85.4)
208 | (377.4, 62.9) | (377.4, 85.4)
209 | (365.9, 62.9) | (365.9, 85.4)
210 | (354.4, 62.9) | (354.4, 85.4)
211 | (342.8, 62.9) | (342.8, 85.4)
212 | (331.3, 62.9) | (331.3, 85.4)
213 | (319.8, 62.9) | (319.8, 85.4)
214 | (308.2, 62.9) | (308.2, 85.4)
215 | (296.7, 62.9) | (296.7, 85.4)
216 | (285.2, 62.9) | (285.2, 85.4)
217 | (273.7, 62.9) | (273.7, 85.4)
218 | (262.1, 62.9) | (262.1, 85.4)
219 | (250.6, 62.9) | (250.6, 85.4)
220 | (239.1, 62.9) | (239.1, 85.4)
221 | (227.5, 62.9) | (227.5, 85.4)
222 | (216.0, 62.9) | (216.0, 85.4)
223 | (204.5, 62.9) | (204.5, 85.4)
224 | (192.9, 62.9) | (192.9, 85.4)
225 | (181.4, 62.9) | (181.4, 85.4)
226 | (169.9, 62.9) | (169.9, 85.4)
227 | (158.4, 62.9) | (158.4, 85.4)
228 | (146.8, 62.9) | (146.8, 85.4)
229 | (135.3, 62.9) | (135.3, 85.4)
230 | (123.8, 62.9) | (123.8, 85.4)
231 | (112.2, 62.9) | (112.2, 85.4)
232 | (100.7, 62.9) | (100.7, 85.4)
233 | (89.2, 62.9) | (89.2, 85.4)
234 | (77.6, 62.9) | (77.6, 85.4)
235 | (66.1, 62.9) | (66.1, 85.4)
236 | (54.6, 62.9) | (54.6, 85.4)
237 | (43.1, 62.9) | (43.1, 85.4)
238 | (31.5, 62.9) | (31.5, 85.4)
239 | (20.0, 62.9) | (20.0, 85.4)
240 | (20.0, 74.0) | (20.0, 96.5)
241 | (31.5, 74.0) | (31.5, 96.5)
242 | (43.1, 74.0) | (43.1, 96.5)
243 | (54.6, 74.0) | (54.6, 96.5)
244 | (66.1, 74.0) | (66.1, 96.5)
245 | (77.7, 74.0) | (77.7, 96.5)
246 | (89.2, 74.0) | (89.2, 96.5)
247 | (100.7, 74.0) | (100.7, 96.5)
248 | (112.2, 74.0) | (112.2, 96.5)
249 | (123.8, 74.0) | (123.8, 96.5)
250 | (135.3, 74.0) | (135.3, 96.5)
251 | (146.8, 74.0) | (146.8, 96.5)
252 | (158.4, 74.0) | (158.4, 96.5)
253 | (169.9, 74.0) | (169.9, 96.5)
254 | (181.4, 74.0) | (181.4, 96.5)
255 | (192.9, 74.0) | (192.9, 96.5)
256 | (204.5, 74.0) | (204.5, 96.5)
257 | (216.0, 74.0) | (216.0, 96.5)
258 | (227.5, 74.0) | (227.5, 96.5)
259 | (239.1, 74.0) | (239.1, 96.5)
260 | (250.6, 74.0) | (250.6, 96.5)
261 | (262.1, 74.0) | (262.1, 96.5)
262 | (273.7, 74.0) | (273.7, 96.5)
263 | (285.2, 74.0) | (285.2, 96.5)
264 | (296.7, 74.0) | (296.7, 96.5)
265 | (308.2, 74.0) | (308.2, 96.5)
266 | (319.8, 74.0) | (319.8, 96.5)
267 | (331.3, 74.0) | (331.3, 96.5)
268 | (342.8, 74.0) | (342.8, 96.5)
269 | (354.4, 74.0) | (354.4, 96.5)
270 | (365.9, 74.0) | (365.9, 96.5)
271 | (377.4, 74.0) | (377.4, 96.5)
272 | (389.0, 74.0) | (389.0, 96.5)
273 | (400.5, 74.0) | (400.5, 96.5)
274 | (412.0, 74.0) | (412.0, 96.5)
275 | (423.5, 74.0) | (423.5, 96.5)
276 | (435.1, 74.0) | (435.1, 96.5)
277 | (446.6, 74.0) | (446.6, 96.5)
278 | (458.1, 74.0) | (458.1, 96.5)
279 | (469.7, 74.0) | (469.7, 96.5)
280 | (469.7, 85.1) | (469.7, 107.6)
281 | (458.1, 85.1) | (458.1, 107.6)
282 | (446.6, 85.1) | (446.6, 107.6)
283 | (435.1, 85.1) | (435.1, 107.6)
284 | (423.5, 85.1) | (423.5, 107.6)
285 | (412.0, 85.1) | (412.0, 107.6)
286 | (400.5, 85.1) | (400.5, 107.6)
287 | (389.0, 85.1) | (389.0, 107.6)
288 | (377.4, 85.1) | (377.4, 107.6)
289 | (365.9, 85.1) | (365.9, 107.6)
290 | (354.4, 85.1) | (354.4, 107.6)
291 | (342.8, 85.1) | (342.8, 107.6)
292 | (331.3, 85.1) | (331.3, 107.6)
293 | (319.8, 85.1) | (319.8, 107.6)
294 | (308.2, 85.1) | (308.2, 107.6)
295 | (296.7, 85.1) | (296.7, 107.6)
296 | (285.2, 85.1) | (285.2, 107.6)
297 | (273.7, 85.1) | (273.7, 107.6)
298 | (262.1, 85.1) | (262.1, 107.6)
299 | (250.6, 85.1) | (250.6, 107.6)
300 | (239.1, 85.1) | (239.1, 107.6)
301 | (227.5, 85.1) | (227.5, 107.6)
302 | (216.0, 85.1) | (216.0, 107.6)
303 | (204.5, 85.1) | (204.5, 107.6)
304 | (192.9, 85.1) | (192.9, 107.6)
305 | (181.4, 85.1) | (181.4, 107.6)
306 | (169.9, 85.1) | (169.9, 107.6)
307 | (158.4, 85.1) | (158.4, 107.6)
308 | (146.8, 85.1) | (146.8, 107.6)
309 | (135.3, 85.1) | (135.3, 107.6)
310 | (123.8, 85.1) | (123.8, 107.6)
311 | (112.2, 85.1) | (112.2, 107.6)
312 | (100.7, 85.1) | (100.7, 107.6)
313 | (89.2, 85.1) | (89.2, 107.6)
314 | (77.6, 85.1) | (77.6, 107.6)
315 | (66.1, 85.1) | (66.1, 107.6)
316 | (54.6, 85.1) | (54.6, 107.6)
317 | (43.1, 85.1) | (43.1, 107.6)
318 | (31.5, 85.1) | (31.5, 107.6)
319 | (20.0, 85.1) | (20.0, 107.6)
320 | (20.0, 96.1) | (20.0, 118.6)
321 | (31.5, 96.1) | (31.5, 118.6)
322 | (43.1, 96.1) | (43.1, 118.6)
323 | (54.6, 96.1) | (54.6, 118.6)
324 | (66.1, 96.1) | (66.1, 118.6)
325 | (77.7, 96.1) | (77.7, 118.6)
326 | (89.2, 96.1) | (89.2, 118.6)
327 | (100.7, 96.1) | (100.7, 118.6)
328 | (112.2, 96.1) | (112.2, 118.6)
329 | (123.8, 96.1) | (123.8, 118.6)
330 | (135.3, 96.1) | (135.3, 118.6)
331 | (146.8, 96.1) | (146.8, 118.6)
332 | (158.4, 96.1) | (158.4, 118.6)
333 | (169.9, 96.1) | (169.9, 118.6)
334 | (181.4, 96.1) | (181.4, 118.6)
335 | (192.9, 96.1) | (192.9, 118.6)
336 | (204.5, 96.1) | (204.5, 118.6)
337 | (216.0, 96.1) | (216.0, 118.6)
338 | (227.5, 96.1) | (227.5, 118.6)
339 | (239.1, 96.1) | (239.1, 118.6)
340 | (250.6, 96.1) | (250.6, 118.6)
341 | (262.1, 96.1) | (262.1, 118.6)
342 | (273.7, 96.1) | (273.7, 118.6)
343 | (285.2, 96.1) | (285.2, 118.6)
344 | (296.7, 96.1) | (296.7, 118.6)
345 | (308.2, 96.1) | (308.2, 118.6)
346 | (319.8, 96.1) | (319.8, 118.6)
347 | (331.3, 96.1) | (331.3, 118.6)
348 | (342.8, 96.1) | (342.8, 118.6)
349 | (354.4, 96.1) | (354.4, 118.6)
350 | (365.9, 96.1) | (365.9, 118.6)
351 | (377.4, 96.1) | (377.4, 118.6)
352 | (389.0, 96.1) | (389.0, 118.6)
353 | (400.5, 96.1) | (400.5, 118.6)
354 | (412.0, 96.1) | (412.0, 118.6)
355 | (423.5, 96.1) | (423.5, 118.6)
356 | (435.1, 96.1) | (435.1, 118.6)
357 | (446.6, 96.1) | (446.6, 118.6)
358 | (458.1, 96.1) | (458.1, 118.6)
359 | (469.7, 96.1) | (469.7, 118.6)
360 | (469.7, 107.2) | (469.7, 129.7)
361 | (458.1, 107.2) | (458.1, 129.7)
362 | (446.6, 107.2) | (446.6, 129.7)
363 | (435.1, 107.2) | (435.1, 129.7)
364 | (423.5, 107.2) | (423.5, 129.7)
365 | (412.0, 107.2) | (412.0, 129.7)
366 | (400.5, 107.2) | (400.5, 129.7)
367 | (389.0, 107.2) | (389.0, 129.7)
368 | (377.4, 107.2) | (377.4, 129.7)
369 | (365.9, 107.2) | (365.9, 129.7)
370 | (354.4, 107.2) | (354.4, 129.7)
371 | (342.8, 107.2) | (342.8, 129.7)
372 | (331.3, 107.2) | (331.3, 129.7)
373 | (319.8, 107.2) | (319.8, 129.7)
374 | (308.2, 107.2) | (308.2, 129.7)
375 | (296.7, 107.2) | (296.7, 129.7)
376 | (285.2, 107.2) | (285.2, 129.7)
377 | (273.7, 107.2) | (273.7, 129.7)
378 | (262.1, 107.2) | (262.1, 129.7)
379 | (250.6, 107.2) | (250.6, 129.7)
380 | (239.1, 107.2) | (239.1, 129.7)
381 | (227.5, 107.2) | (227.5, 129.7)
382 | (216.0, 107.2) | (216.0, 129.7)
383 | (204.5, 107.2) | (204.5, 129.7)
384 | (192.9, 107.2) | (192.9, 129.7)
385 | (181.4, 107.2) | (181.4, 129.7)
386 | (169.9, 107.2) | (169.9, 129.7)
387 | (158.4, 107.2) | (158.4, 129.7)
388 | (146.8, 107.2) | (146.8, 129.7)
389 | (135.3, 107.2) | (135.3, 129.7)
390 | (123.8, 107.2) | (123.8, 129.7)
391 | (112.2, 107.2) | (112.2, 129.7)
392 | (100.7, 107.2) | (100.7, 129.7)
393 | (89.2, 107.2) | (89.2, 129.7)
394 | (77.6, 107.2) | (77.6, 129.7)
395 | (66.1, 107.2) | (66.1, 129.7)
396 | (54.6, 107.2) | (54.6, 129.7)
397 | (43.1, 107.2) | (43.1, 129.7)
398 | (31.5, 107.2) | (31.5, 129.7)
399 | (20.0, 107.2) | (20.0, 129.7)
400 | (20.0, 118.3) | (20.0, 140.8)
401 | (31.5, 118.3) | (31.5, 140.8)
402 | (43.1, 118.3) | (43.1, 140.8)
403 | (54.6, 118.3) | (54.6, 140.8)
404 | (66.1, 118.3) | (66.1, 140.8)
405 | (77.7, 118.3) | (77.7, 140.8)
406 | (89.2, 118.3) | (89.2, 140.8)
407 | (100.7, 118.3) | (100.7, 140.8)
408 | (112.2, 118.3) | (112.2, 140.8)
409 | (123.8, 118.3) | (123.8, 140.8)
410 | (135.3, 118.3) | (135.3, 140.8)
411 | (146.8, 118.3) | (146.8, 140.8)
412 | (158.4, 118.3) | (158.4, 140.8)
413 | (169.9, 118.3) | (169.9, 140.8)
414 | (181.4, 118.3) | (181.4, 140.8)
415 | (192.9, 118.3) | (192.9, 140.8)
416 | (204.5, 118.3) | (204.5, 140.8)
417 | (216.0, 118.3) | (216.0, 140.8)
418 | (227.5, 118.3) | (227.5, 140.8)
419 | (239.1, 118.3) | (239.1, 140.8)
420 | (250.6, 118.3) | (250.6, 140.8)
421 | (262.1, 118.3) | (262.1, 140.8)
422 | (273.7, 118.3) | (273.7, 140.8)
423 | (285.2, 118.3) | (285.2, 140.8)
424 | (296.7, 118.3) | (296.7, 140.8)
425 | (308.2, 118.3) | (308.2, 140.8)
426 | (319.8, 118.3) | (319.8, 140.8)
427 | (331.3, 118.3) | (331.3, 140.8)
428 | (342.8, 118.3) | (342.8, 140.8)
429 | (354.4, 118.3) | (354.4, 140.8)
430 | (365.9, 118.3) | (365.9, 140.8)
431 | (377.4, 118.3) | (377.4, 140.8)
432 | (389.0, 118.3) | (389.0, 140.8)
433 | (400.5, 118.3) | (400.5, 140.8)
434 | (412.0, 118.3) | (412.0, 140.8)
435 | (423.5, 118.3) | (423.5, 140.8)
436 | (435.1, 118.3) | (435.1, 140.8)
437 | (446.6, 118.3) | (446.6, 140.8)
438 | (458.1, 118.3) | (458.1, 140.8)
439 | (469.7, 118.3) | (469.7, 140.8)
440 | (469.7, 129.4) | (469.7, 151.9)
441 | (458.1, 129.4) | (458.1, 151.9)
442 | (446.6, 129.4) | (446.6, 151.9)
443 | (435.1, 129.4) | (435.1, 151.9)
444 | (423.5, 129.4) | (423.5, 151.9)
445 | (412.0, 129.4) | (412.0, 151.9)
446 | (400.5, 129.4) | (400.5, 151.9)
447 | (389.0, 129.4) | (389.0, 151.9)
448 | (377.4, 129.4) | (377.4, 151.9)
449 | (365.9, 129.4) | (365.9, 151.9)
450 | (354.4, 129.4) | (354.4, 151.9)
451 | (342.8, 129.4) | (342.8, 151.9)
452 | (331.3, 129.4) | (331.3, 151.9)
453 | (319.8, 129.4) | (319.8, 151.9)
454 | (308.2, 129.4) | (308.2, 151.9)
455 | (296.7, 129.4) | (296.7, 151.9)
456 | (285.2, 129.4) | (285.2, 151.9)
457 | (273.7, 129.4) | (273.7, 151.9)
458 | (262.1, 129.4) | (262.1, 151.9)
459 | (250.6, 129.4) | (250.6, 151.9)
460 | (239.1, 129.4) | (239.1, 151.9)
461 | (227.5, 129.4) | (227.5, 151.9)
462 | (216.0, 129.4) | (216.0, 151.9)
463 | (204.5, 129.4) | (204.5, 151.9)
464 | (192.9, 129.4) | (192.9, 151.9)
465 | (181.4, 129.4) | (181.4, 151.9)
466 | (169.9, 129.4) | (169.9, 151.9)
467 | (158.4, 129.4) | (158.4, 151.9)
468 | (146.8, 129.4) | (146.8, 151.9)
469 | (135.3, 129.4) | (135.3, 151.9)
470 | (123.8, 129.4) | (123.8, 151.9)
471 | (112.2, 129.4) | (112.2, 151.9)
472 | (100.7, 129.4) | (100.7, 151.9)
473 | (89.2, 129.4) | (89.2, 151.9)
474 | (77.6, 129.4) | (77.6, 151.9)
475 | (66.1, 129.4) | (66.1, 151.9)
476 | (54.6, 129.4) | (54.6, 151.9)
477 | (43.1, 129.4) | (43.1, 151.9)
478 | (31.5, 129.4) | (31.5, 151.9)
479 | (20.0, 129.4) | (20.0, 151.9)
480 | (20.0, 140.5) | (20.0, 163.0)
481 | (31.5, 140.5) | (31.5, 163.0)
482 | (43.1, 140.5) | (43.1, 163.0)
483 | (54.6, 140.5) | (54.6, 163.0)
484 | (66.1, 140.5) | (66.1, 163.0)
485 | (77.7, 140.5) | (77.7, 163.0)
486 | (89.2, 140.5) | (89.2, 163.0)
487 | (100.7, 140.5) | (100.7, 163.0)
488 | (112.2, 140.5) | (112.2, 163.0)
489 | (123.8, 140.5) | (123.8, 163.0)
490 | (135.3, 140.5) | (135.3, 163.0)
491 | (146.8, 140.5) | (146.8, 163.0)
492 | (158.4, 140.5) | (158.4, 163.0)
493 | (169.9, 140.5) | (169.9, 163.0)
494 | (181.4, 140.5) | (181.4, 163.0)
495 | (192.9, 140.5) | (192.9, 163.0)
496 | (204.5, 140.5) | (204.5, 163.0)
497 | (216.0, 140.5) | (216.0, 163.0)
498 | (227.5, 140.5) | (227.5, 163.0)
499 | (239.1, 140.5) | (239.1, 163.0)
500 | (250.6, 140.5) | (250.6, 163.0)
501 | (262.1, 140.5) | (262.1, 163.0)
502 | (273.7, 140.5) | (273.7, 163.0)
503 | (285.2, 140.5) | (285.2, 163.0)
504 | (296.7, 140.5) | (296.7, 163.0)
505 | (308.2, 140.5) | (308.2, 163.0)
506 | (319.8, 140.5) | (319.8, 163.0)
507 | (331.3, 140.5) | (331.3, 163.0)
508 | (342.8, 140.5) | (342.8, 163.0)
509 | (354.4, 140.5) | (354.4, 163.0)
510 | (365.9, 140.5) | (365.9, 163.0)
511 | (377.4, 140.5) | (377.4, 163.0)
512 | (389.0, 140.5) | (389.0, 163.0)
513 | (400.5, 140.5) | (400.5, 163.0)
514 | (412.0, 140.5) | (412.0, 163.0)
515 | (423.5, 140.5) | (423.5, 163.0)
516 | (435.1, 140.5) | (435.1, 163.0)
517 | (446.6, 140.5) | (446.6, 163.0)
518 | (458.1, 140.5) | (458.1, 163.0)
519 | (469.7, 140.5) | (469.7, 163.0)
520 | (469.7, 151.5) | (469.7, 174.0)
521 | (458.1, 151.5) | (458.1, 174.0)
522 | (446.6, 151.5) | (446.6, 174.0)
523 | (435.1, 151.5) | (435.1, 174.0)
524 | (423.5, 151.5) | (423.5, 174.0)
525 | (412.0, 151.5) | (412.0, 174.0)
526 | (400.5, 151.5) | (400.5, 174.0)
527 | (389.0, 151.5) | (389.0, 174.0)
528 | (377.4, 151.5) | (377.4, 174.0)
529 | (365.9, 151.5) | (365.9, 174.0)
530 | (354.4, 151.5) | (354.4, 174.0)
531 | (342.8, 151.5) | (342.8, 174.0)
532 | (331.3, 151.5) | (331.3, 174.0)
533 | (319.8, 151.5) | (319.8, 174.0)
534 | (308.2, 151.5) | (308.2, 174.0)
535 | (296.7, 151.5) | (296.7, 174.0)
536 | (285.2, 151.5) | (285.2, 174.0)
537 | (273.7, 151.5) | (273.7, 174.0)
538 | (262.1, 151.5) | (262.1, 174.0)
539 | (250.6, 151.5) | (250.6, 174.0)
540 | (239.1, 151.5) | (239.1, 174.0)
541 | (227.5, 151.5) | (227.5, 174.0)
542 | (216.0, 151.5) | (216.0, 174.0)
543 | (204.5, 151.5) | (204.5, 174.0)
544 | (192.9, 151.5) | (192.9, 174.0)
545 | (181.4, 151.5) | (181.4, 174.0)
546 | (169.9, 151.5) | (169.9, 174.0)
547 | (158.4, 151.5) | (158.4, 174.0)
548 | (146.8, 151.5) | (146.8, 174.0)
549 | (135.3, 151.5) | (135.3, 174.0)
550 | (123.8, 151.5) | (123.8, 174.0)
551 | (112.2, 151.5) | (112.2, 174.0)
552 | (100.7, 151.5) | (100.7, 174.0)
553 | (89.2, 151.5) | (89.2, 174.0)
554 | (77.6, 151.5) | (77.6, 174.0)
555 | (66.1, 151.5) | (66.1, 174.0)
556 | (54.6, 151.5) | (54.6, 174.0)
557 | (43.1, 151.5) | (43.1, 174.0)
558 | (31.5, 151.5) | (31.5, 174.0)
559 | (20.0, 151.5) | (20.0, 174.0)
560 | (20.0, 162.6) | (20.0, 185.1)
561 | (31.5, 162.6) | (31.5, 185.1)
562 | (43.1, 162.6) | (43.1, 185.1)
563 | (54.6, 162.6) | (54.6, 185.1)
564 | (66.1, 162.6) | (66.1, 185.1)
565 | (77.7, 162.6) | (77.7, 185.1)
566 | (89.2, 162.6) | (89.2, 185.1)
567 | (100.7, 162.6) | (100.7, 185.1)
568 | (112.2, 162.6) | (112.2, 185.1)
569 | (123.8, 162.6) | (123.8, 185.1)
570 | (135.3, 162.6) | (135.3, 185.1)
571 | (146.8, 162.6) | (146.8, 185.1)
572 | (158.4, 162.6) | (158.4, 185.1)
573 | (169.9, 162.6) | (169.9, 185.1)
574 | (181.4, 162.6) | (181.4, 185.1)
575 | (192.9, 162.6) | (192.9, 185.1)
576 | (204.5, 162.6) | (204.5, 185.1)
577 | (216.0, 162.6) | (216.0, 185.1)
578 | (227.5, 162.6) | (227.5, 185.1)
579 | (239.1, 162.6) | (239.1, 185.1)
580 | (250.6, 162.6) | (250.6, 185.1)
581 | (262.1, 162.6) | (262.1, 185.1)
582 | (273.7, 162.6) | (273.7, 185.1)
583 | (285.2, 162.6) | (285.2, 185.1)
584 | (296.7, 162.6) | (296.7, 185.1)
585 | (308.2, 162.6) | (308.2, 185.1)
586 | (319.8, 162.6) | (319.8, 185.1)
587 | (331.3, 162.6) | (331.3, 185.1)
588 | (342.8, 162.6) | (342.8, 185.1)
589 | (354.4, 162.6) | (354.4, 185.1)
590 | (365.9, 162.6) | (365.9, 185.1)
591 | (377.4, 162.6) | (377.4, 185.1)
592 | (389.0, 162.6) | (389.0, 185.1)
593 | (400.5, 162.6) | (400.5, 185.1)
594 | (412.0, 162.6) | (412.0, 185.1)
595 | (423.5, 162.6) | (423.5, 185.1)
596 | (435.1, 162.6) | (435.1, 185.1)
597 | (446.6, 162.6) | (446.6, 185.1)
598 | (458.1, 162.6) | (458.1, 185.1)
599 | (469.7, 162.6) | (469.7, 185.1)
600 | (469.7, 173.7) | (469.7, 196.2)
601 | (458.1, 173.7) | (458.1, 196.2)
602 | (446.6, 173.7) | (446.6, 196.2)
603 | (435.1, 173.7) | (435.1, 196.2)
604 | (423.5, 173.7) | (423.5, 196.2)
605 | (412.0, 173.7) | (412.0, 196.2)
606 | (400.5, 173.7) | (400.5, 196.2)
607 | (389.0, 173.7) | (389.0, 196.2)
608 | (377.4, 173.7) | (377.4, 196.2)
609 | (365.9, 173.7) | (365.9, 196.2)
610 | (354.4, 173.7) | (354.4, 196.2)
611 | (342.8, 173.7) | (342.8, 196.2)
612 | (331.3, 173.7) | (331.3, 196.2)
613 | (319.8, 173.7) | (319.8, 196.2)
614 | (308.2, 173.7) | (308.2, 196.2)
615 | (296.7, 173.7) | (296.7, 196.2)
616 | (285.2, 173.7) | (285.2, 196.2)
617 | (273.7, 173.7) | (273.7, 196.2)
618 | (262.1, 173.7) | (262.1, 196.2)
619 | (250.6, 173.7) | (250.6, 196.2)
620 | (239.1, 173.7) | (239.1, 196.2)
621 | (227.5, 173.7) | (227.5, 196.2)
622 | (216.0, 173.7) | (216.0, 196.2)
623 | (204.5, 173.7) | (204.5, 196.2)
624 | (192.9, 173.7) | (192.9, 196.2)
625 | (181.4, 173.7) | (181.4, 196.2)
626 | (169.9, 173.7) | (169.9, 196.2)
627 | (158.4, 173.7) | (158.4, 196.2)
628 | (146.8, 173.7) | (146.8, 196.2)
629 | (135.3, 173.7) | (135.3, 196.2)
630 | (123.8, 173.7) | (123.8, 196.2)
631 | (112.2, 173.7) | (112.2, 196.2)
632 | (100.7, 173.7) | (100.7, 196.2)
633 | (89.2, 173.7) | (89.2, 196.2)
634 | (77.6, 173.7) | (77.6, 196.2)
635 | (66.1, 173.7) | (66.1, 196.2)
636 | (54.6, 173.7) | (54.6, 196.2)
637 | (43.1, 173.7) | (43.1, 196.2)
638 | (31.5, 173.7) | (31.5, 196.2)
639 | (20.0, 173.7) | (20.0, 196.2)
640 | (20.0, 184.8) | (20.0, 207.3)
641 | (31.5, 184.8) | (31.5, 207.3)
642 | (43.1, 184.8) | (43.1, 207.3)
643 | (54.6, 184.8) | (54.6, 207.3)
644 | (66.1, 184.8) | (66.1, 207.3)
645 | (77.7, 184.8) | (77.7, 207.3)
646 | (89.2, 184.8) | (89.2, 207.3)
647 | (100.7, 184.8) | (100.7, 207.3)
648 | (112.2, 184.8) | (112.2, 207.3)
649 | (123.8, 184.8) | (123.8, 207.3)
650 | (135.3, 184.8) | (135.3, 207.3)
651 | (146.8, 184.8) | (146.8, 207.3)
652 | (158.4, 184.8) | (158.4, 207.3)
653 | (169.9, 184.8) | (169.9, 207.3)
654 | (181.4, 184.8) | (181.4, 207.3)
655 | (192.9, 184.8) | (192.9, 207.3)
656 | (204.5, 184.8) | (204.5, 207.3)
657 | (216.0, 184.8) | (216.0, 207.3)
658 | (227.5, 184.8) | (227.5, 207.3)
659 | (239.1, 184.8) | (239.1, 207.3)
660 | (250.6, 184.8) | (250.6, 207.3)
661 | (262.1, 184.8) | (262.1, 207.3)
662 | (273.7, 184.8) | (273.7, 207.3)
663 | (285.2, 184.8) | (285.2, 207.3)
664 | (296.7, 184.8) | (296.7, 207.3)
665 | (308.2, 184.8) | (308.2, 207.3)
666 | (319.8, 184.8) | (319.8, 207.3)
667 | (331.3, 184.8) | (331.3, 207.3)
668 | (342.8, 184.8) | (342.8, 207.3)
669 | (354.4, 184.8) | (354.4, 207.3)
670 | (365.9, 184.8) | (365.9, 207.3)
671 | (377.4, 184.8) | (377.4, 207.3)
672 | (389.0, 184.8) | (389.0, 207.3)
673 | (400.5, 184.8) | (400.5, 207.3)
674 | (412.0, 184.8) | (412.0, 207.3)
675 | (423.5, 184.8) | (423.5, 207.3)
676 | (435.1, 184.8) | (435.1, 207.3)
677 | (446.6, 184.8) | (446.6, 207.3)
678 | (458.1, 184.8) | (458.1, 207.3)
679 | (469.7, 184.8) | (469.7, 207.3)
680 | (469.7, 195.9) | (469.7, 218.4)
681 | (458.1, 195.9) | (458.1, 218.4)
682 | (446.6, 195.9) | (446.6, 218.4)
683 | (435.1, 195.9) | (435.1, 218.4)
684 | (423.5, 195.9) | (423.5, 218.4)
685 | (412.0, 195.9) | (412.0, 218.4)
686 | (400.5, 195.9) | (400.5, 218.4)
687 | (389.0, 195.9) | (389.0, 218.4)
688 | (377.4, 195.9) | (377.4, 218.4)
689 | (365.9, 195.9) | (365.9, 218.4)
690 | (354.4, 195.9) | (354.4, 218.4)
691 | (342.8, 195.9) | (342.8, 218.4)
692 | (331.3, 195.9) | (331.3, 218.4)
693 | (319.8, 195.9) | (319.8, 218.4)
694 | (308.2, 195.9) | (308.2, 218.4)
695 | (296.7, 195.9) | (296.7, 218.4)
696 | (285.2, 195.9) | (285.2, 218.4)
697 | (273.7, 195.9) | (273.7, 218.4)
698 | (262.1, 195.9) | (262.1, 218.4)
699 | (250.6, 195.9) | (250.6, 218.4)
700 | (239.1, 195.9) | (239.1, 218.4)
701 | (227.5, 195.9) | (227.5, 218.4)
702 | (216.0, 195.9) | (216.0, 218.4)
703 | (204.5, 195.9) | (204.5, 218.4)
704 | (192.9, 195.9) | (192.9, 218.4)
705 | (181.4, 195.9) | (181.4, 218.4)
706 | (169.9, 195.9) | (169.9, 218.4)
707 | (158.4, 195.9) | (158.4, 218.4)
708 | (146.8, 195.9) | (146.8, 218.4)
709 | (135.3, 195.9) | (135.3, 218.4)
710 | (123.8, 195.9) | (123.8, 218.4)
711 | (112.2, 195.9) | (112.2, 218.4)
712 | (100.7, 195.9) | (100.7, 218.4)
713 | (89.2, 195.9) | (89.2, 218.4)
714 | (77.6, 195.9) | (77.6, 218.4)
715 | (66.1, 195.9) | (66.1, 218.4)
716 | (54.6, 195.9) | (54.6, 218.4)
717 | (43.1, 195.9) | (43.1, 218.4)
718 | (31.5, 195.9) | (31.5, 218.4)
719 | (20.0, 195.9) | (20.0, 218.4)
720 | (20.0, 206.9) | (20.0, 229.4)
721 | (31.5, 206.9) | (31.5, 229.4)
722 | (43.1, 206.9) | (43.1, 229.4)
723 | (54.6, 206.9) | (54.6, 229.4)
724 | (66.1, 206.9) | (66.1, 229.4)
725 | (77.7, 206.9) | (77.7, 229.4)
726 | (89.2, 206.9) | (89.2, 229.4)
727 | (100.7, 206.9) | (100.7, 229.4)
728 | (112.2, 206.9) | (112.2, 229.4)
729 | (123.8, 206.9) | (123.8, 229.4)
730 | (135.3, 206.9) | (135.3, 229.4)
731 | (146.8, 206.9) | (146.8, 229.4)
732 | (158.4, 206.9) | (158.4, 229.4)
733 | (169.9, 206.9) | (169.9, 229.4)
734 | (181.4, 206.9) | (181.4, 229.4)
735 | (192.9, 206.9) | (192.9, 229.4)
736 | (204.5, 206.9) | (204.5, 229.4)
737 | (216.0, 206.9) | (216.0, 229.4)
738 | (227.5, 206.9) | (227.5, 229.4)
739 | (239.1, 206.9) | (239.1, 229.4)
740 | (250.6, 206.9) | (250.6, 229.4)
741 | (262.1, 206.9) | (262.1, 229.4)
742 | (273.7, 206.9) | (273.7, 229.4)
743 | (285.2, 206.9) | (285.2, 229.4)
744 | (296.7, 206.9) | (296.7, 229.4)
745 | (308.2, 206.9) | (308.2, 229.4)
746 | (319.8, 206.9) | (319.8, 229.4)
747 | (331.3, 206.9) | (331.3, 229.4)
748 | (342.8, 206.9) | (342.8, 229.4)
749 | (354.4, 206.9) | (354.4, 229.4)
750 | (365.9, 206.9) | (365.9, 229.4)
751 | (377.4, 206.9) | (377.4, 229.4)
752 | (389.0, 206.9) | (389.0, 229.4)
753 | (400.5, 206.9) | (400.5, 229.4)
754 | (412.0, 206.9) | (412.0, 229.4)
755 | (423.5, 206.9) | (423.5, 229.4)
756 | (435.1, 206.9) | (435.1, 229.4)
757 | (446.6, 206.9) | (446.6, 229.4)
758 | (458.1, 206.9) | (458.1, 229.4)
759 | (469.7, 206.9) | (469.7, 229.4)
760 | (469.7, 218.0) | (469.7, 240.5)
761 | (458.1, 218.0) | (458.1, 240.5)
762 | (446.6, 218.0) | (446.6, 240.5)
763 | (435.1, 218.0) | (435.1, 240.5)
764 | (423.5, 218.0) | (423.5, 240.5)
765 | (412.0, 218.0) | (412.0, 240.5)
766 | (400.5, 218.0) | (400.5, 240.5)
767 | (389.0, 218.0) | (389.0, 240.5)
768 | (377.4, 218.0) | (377.4, 240.5)
769 | (365.9, 218.0) | (365.9, 240.5)
770 | (354.4, 218.0) | (354.4, 240.5)
771 | (342.8, 218.0) | (342.8, 240.5)
772 | (331.3, 218.0) | (331.3, 240.5)
773 | (319.8, 218.0) | (319.8, 240.5)
774 | (308.2, 218.0) | (308.2, 240.5)
775 | (296.7, 218.0) | (296.7, 240.5)
776 | (285.2, 218.0) | (285.2, 240.5)
777 | (273.7, 218.0) | (273.7, 240.5)
778 | (262.1, 218.0) | (262.1, 240.5)
779 | (250.6, 218.0) | (250.6, 240.5)
780 | (239.1, 218.0) | (239.1, 240.5)
781 | (227.5, 218.0) | (227.5, 240.5)
782 | (216.0, 218.0) | (216.0, 240.5)
783 | (204.5, 218.0) | (204.5, 240.5)
784 | (192.9, 218.0) | (192.9, 240.5)
785 | (181.4, 218.0) | (181.4, 240.5)
786 | (169.9, 218.0) | (169.9, 240.5)
787 | (158.4, 218.0) | (158.4, 240.5)
788 | (146.8, 218.0) | (146.8, 240.5)
789 | (135.3, 218.0) | (135.3, 240.5)
790 | (123.8, 218.0) | (123.8, 240.5)
791 | (112.2, 218.0) | (112.2, 240.5)
792 | (100.7, 218.0) | (100.7, 240.5)
793 | (89.2, 218.0) | (89.2, 240.5)
794 | (77.6, 218.0) | (77.6, 240.5)
795 | (66.1, 218.0) | (66.1, 240.5)
796 | (54.6, 218.0) | (54.6, 240.5)
797 | (43.1, 218.0) | (43.1, 240.5)
798 | (31.5, 218.0) | (31.5, 240.5)
799 | (20.0, 218.0) | (20.0, 240.5)
800 | (20.0, 229.1) | (20.0, 251.6)
801 | (31.5, 229.1) | (31.5, 251.6)
802 | (43.1, 229.1) | (43.1, 251.6)
803 | (54.6, 229.1) | (54.6, 251.6)
804 | (66.1, 229.1) | (66.1, 251.6)
805 | (77.7, 229.1) | (77.7, 251.6)
806 | (89.2, 229.1) | (89.2, 251.6)
807 | (100.7, 229.1) | (100.7, 251.6)
808 | (112.2, 229.1) | (112.2, 251.6)
809 | (123.8, 229.1) | (123.8, 251.6)
810 | (135.3, 229.1) | (135.3, 251.6)
811 | (146.8, 229.1) | (146.8, 251.6)
812 | (158.4, 229.1) | (158.4, 251.6)
813 | (169.9, 229.1) | (169.9, 251.6)
814 | (181.4, 229.1) | (181.4, 251.6)
815 | (192.9, 229.1) | (192.9, 251.6)
816 | (204.5, 229.1) | (204.5, 251.6)
817 | (216.0, 229.1) | (216.0, 251.6)
818 | (227.5, 229.1) | (227.5, 251.6)
819 | (239.1, 229.1) | (239.1, 251.6)
820 | (250.6, 229.1) | (250.6, 251.6)
821 | (262.1, 229.1) | (262.1, 251.6)
822 | (273.7, 229.1) | (273.7, 251.6)
823 | (285.2, 229.1) | (285.2, 251.6)
824 | (296.7, 229.1) | (296.7, 251.6)
825 | (308.2, 229.1) | (308.2, 251.6)
826 | (319.8, 229.1) | (319.8, 251.6)
827 | (331.3, 229.1) | (331.3, 251.6)
828 | (342.8, 229.1) | (342.8, 251.6)
829 | (354.4, 229.1) | (354.4, 251.6)
830 | (365.9, 229.1) | (365.9, 251.6)
831 | (377.4, 229.1) | (377.4, 251.6)
832 | (389.0, 229.1) | (389.0, 251.6)
833 | (400.5, 229.1) | (400.5, 251.6)
834 | (412.0, 229.1) | (412.0, 251.6)
835 | (423.5, 229.1) | (423.5, 251.6)
836 | (435.1, 229.1) | (435.1, 251.6)
837 | (446.6, 229.1) | (446.6, 251.6)
838 | (458.1, 229.1) | (458.1, 251.6)
839 | (469.7, 229.1) | (469.7, 251.6)
840 | (469.7, 240.2) | (469.7, 262.7)
841 | (458.1, 240.2) | (458.1, 262.7)
842 | (446.6, 240.2) | (446.6, 262.7)
843 | (435.1, 240.2) | (435.1, 262.7)
844 | (423.5, 240.2) | (423.5, 262.7)
845 | (412.0, 240.2) | (412.0, 262.7)
846 | (400.5, 240.2) | (400.5, 262.7)
847 | (389.0, 240.2) | (389.0, 262.7)
848 | (377.4, 240.2) | (377.4, 262.7)
849 | (365.9, 240.2) | (365.9, 262.7)
850 | (354.4, 240.2) | (354.4, 262.7)
851 | (342.8, 240.2) | (342.8, 262.7)
852 | (331.3, 240.2) | (331.3, 262.7)
853 | (319.8, 240.2) | (319.8, 262.7)
854 | (308.2, 240.2) | (308.2, 262.7)
855 | (296.7, 240.2) | (296.7, 262.7)
856 | (285.2, 240.2) | (285.2, 262.7)
857 | (273.7, 240.2) | (273.7, 262.7)
858 | (262.1, 240.2) | (262.1, 262.7)
859 | (250.6, 240.2) | (250.6, 262.7)
860 | (239.1, 240.2) | (239.1, 262.7)
861 | (227.5, 240.2) | (227.5, 262.7)
862 | (216.0, 240.2) | (216.0, 262.7)
863 | (204.5, 240.2) | (204.5, 262.7)
864 | (192.9, 240.2) | (192.9, 262.7)
865 | (181.4, 240.2) | (181.4, 262.7)
866 | (169.9, 240.2) | (169.9, 262.7)
867 | (158.4, 240.2) | (158.4, 262.7)
868 | (146.8, 240.2) | (146.8, 262.7)
869 | (135.3, 240.2) | (135.3, 262.7)
870 | (123.8, 240.2) | (123.8, 262.7)
871 | (112.2, 240.2) | (112.2, 262.7)
872 | (100.7, 240.2) | (100.7, 262.7)
873 | (89.2, 240.2) | (89.2, 262.7)
874 | (77.6, 240.2) | (77.6, 262.7)
875 | (66.1, 240.2) | (66.1, 262.7)
876 | (54.6, 240.2) | (54.6, 262.7)
877 | (43.1, 240.2) | (43.1, 262.7)
878 | (31.5, 240.2) | (31.5, 262.7)
879 | (20.0, 240.2) | (20.0, 262.7)
880 | (20.0, 251.3) | (20.0, 273.8)
881 | (31.5, 251.3) | (31.5, 273.8)
882 | (43.1, 251.3) | (43.1, 273.8)
883 | (54.6, 251.3) | (54.6, 273.8)
884 | (66.1, 251.3) | (66.1, 273.8)
885 | (77.7, 251.3) | (77.7, 273.8)
886 | (89.2, 251.3) | (89.2, 273.8)
887 | (100.7, 251.3) | (100.7, 273.8)
888 | (112.2, 251.3) | (112.2, 273.8)
889 | (123.8, 251.3) | (123.8, 273.8)
890 | (135.3, 251.3) | (135.3, 273.8)
891 | (146.8, 251.3) | (146.8, 273.8)
892 | (158.4, 251.3) | (158.4, 273.8)
893 | (169.9, 251.3) | (169.9, 273.8)
894 | (181.4, 251.3) | (181.4, 273.8)
895 | (192.9, 251.3) | (192.9, 273.8)
896 | (204.5, 251.3) | (204.5, 273.8)
897 | (216.0, 251.3) | (216.0, 273.8)
898 | (227.5, 251.3) | (227.5, 273.8)
899 | (239.1, 251.3) | (239.1, 273.8)
900 | (250.6, 251.3) | (250.6, 273.8)
901 | (262.1, 251.3) | (262.1, 273.8)
902 | (273.7, 251.3) | (273.7, 273.8)
903 | (285.2, 251.3) | (285.2, 273.8)
904 | (296.7, 251.3) | (296.7, 273.8)
905 | (308.2, 251.3) | (308.2, 273.8)
906 | (319.8, 251.3) | (319.8, 273.8)
907 | (331.3, 251.3) | (331.3, 273.8)
908 | (342.8, 251.3) | (342.8, 273.8)
909 | (354.4, 251.3) | (354.4, 273.8)
910 | (365.9, 251.3) | (365.9, 273.8)
911 | (377.4, 251.3) | (377.4, 273.8)
912 | (389.0, 251.3) | (389.0, 273.8)
913 | (400.5, 251.3) | (400.5, 273.8)
914 | (412.0, 251.3) | (412.0, 273.8)
915 | (423.5, 251.3) | (423.5, 273.8)
916 | (435.1, 251.3) | (435.1, 273.8)
917 | (446.6, 251.3) | (446.6, 273.8)
918 | (458.1, 251.3) | (458.1, 273.8)
919 | (469.7, 251.3) | (469.7, 273.8)
920 | (469.7, 262.3) | (469.7, 284.8)
921 | (458.1, 262.3) | (458.1, 284.8)
922 | (446.6, 262.3) | (446.6, 284.8)
923 | (435.1, 262.3) | (435.1, 284.8)
924 | (423.5, 262.3) | (423.5, 284.8)
925 | (412.0, 262.3) | (412.0, 284.8)
926 | (400.5, 262.3) | (400.5, 284.8)
927 | (389.0, 262.3) | (389.0, 284.8)
928 | (377.4, 262.3) | (377.4, 284.8)
929 | (365.9, 262.3) | (365.9, 284.8)
930 | (354.4, 262.3) | (354.4, 284.8)
931 | (342.8, 262.3) | (342.8, 284.8)
932 | (331.3, 262.3) | (331.3, 284.8)
933 | (319.8, 262.3) | (319.8, 284.8)
934 | (308.2, 262.3) | (308.2, 284.8)
935 | (296.7, 262.3) | (296.7, 284.8)
936 | (285.2, 262.3) | (285.2, 284.8)
937 | (273.7, 262.3) | (273.7, 284.8)
938 | (262.1, 262.3) | (262.1, 284.8)
939 | (250.6, 262.3) | (250.6, 284.8)
940 | (239.1, 262.3) | (239.1, 284.8)
941 | (227.5, 262.3) | (227.5, 284.8)
942 | (216.0, 262.3) | (216.0, 284.8)
943 | (204.5, 262.3) | (204.5, 284.8)
944 | (192.9, 262.3) | (192.9, 284.8)
945 | (181.4, 262.3) | (181.4, 284.8)
946 | (169.9, 262.3) | (169.9, 284.8)
947 | (158.4, 262.3) | (158.4, 284.8)
948 | (146.8, 262.3) | (146.8, 284.8)
949 | (135.3, 262.3) | (135.3, 284.8)
950 | (123.8, 262.3) | (123.8, 284.8)
951 | (112.2, 262.3) | (112.2, 284.8)
952 | (100.7, 262.3) | (100.7, 284.8)
953 | (89.2, 262.3) | (89.2, 284.8)
954 | (77.6, 262.3) | (77.6, 284.8)
955 | (66.1, 262.3) | (66.1, 284.8)
956 | (54.6, 262.3) | (54.6, 284.8)
957 | (43.1, 262.3) | (43.1, 284.8)
958 | (31.5, 262.3) | (31.5, 284.8)
959 | (20.0, 262.3) | (20.0, 284.8)
960 | (20.0, 273.4) | (20.0, 295.9)
961 | (31.5, 273.4) | (31.5, 295.9)
962 | (43.1, 273.4) | (43.1, 295.9)
963 | (54.6, 273.4) | (54.6, 295.9)
964 | (66.1, 273.4) | (66.1, 295.9)
965 | (77.7, 273.4) | (77.7, 295.9)
966 | (89.2, 273.4) | (89.2, 295.9)
967 | (100.7, 273.4) | (100.7, 295.9)
968 | (112.2, 273.4) | (112.2, 295.9)
969 | (123.8, 273.4) | (123.8, 295.9)
970 | (135.3, 273.4) | (135.3, 295.9)
971 | (146.8, 273.4) | (146.8, 295.9)
972 | (158.4, 273.4) | (158.4, 295.9)
973 | (169.9, 273.4) | (169.9, 295.9)
974 | (181.4, 273.4) | (181.4, 295.9)
975 | (192.9, 273.4) | (192.9, 295.9)
976 | (204.5, 273.4) | (204.5, 295.9)
977 | (216.0, 273.4) | (216.0, 295.9)
978 | (227.5, 273.4) | (227.5, 295.9)
979 | (239.1, 273.4) | (239.1, 295.9)
980 | (250.6, 273.4) | (250.6, 295.9)
981 | (262.1, 273.4) | (262.1, 295.9)
982 | (273.7, 273.4) | (273.7, 295.9)
983 | (285.2, 273.4) | (285.2, 295.9)
984 | (296.7, 273.4) | (296.7, 295.9)
985 | (308.2, 273.4) | (308.2, 295.9)
986 | (319.8, 273.4) | (319.8, 295.9)
987 | (331.3, 273.4) | (331.3, 295.9)
988 | (342.8, 273.4) | (342.8, 295.9)
989 | (354.4, 273.4) | (354.4, 295.9)
990 | (365.9, 273.4) | (365.9, 295.9)
991 | (377.4, 273.4) | (377.4, 295.9)
992 | (389.0, 273.4) | (389.0, 295.9)
993 | (400.5, 273.4) | (400.5, 295.9)
994 | (412.0, 273.4) | (412.0, 295.9)
995 | (423.5, 273.4) | (423.5, 295.9)
996 | (435.1, 273.4) | (435.1, 295.9)
997 | (446.6, 273.4) | (446.6, 295.9)
998 | (458.1, 273.4) | (458.1, 295.9)
999 | (469.7, 273.4) | (469.7, 295.9)
1000| (469.7, 284.5) | (469.7, 307.0)
1001| (458.1, 284.5) | (458.1, 307.0)
1002| (446.6, 284.5) | (446.6, 307.0)
1003| (435.1, 284.5) | (435.1, 307.0)
1004| (423.5, 284.5) | (423.5, 307.0)
1005| (412.0, 284.5) | (412.0, 307.0)
1006| (400.5, 284.5) | (400.5, 307.0)
1007| (389.0, 284.5) | (389.0, 307.0)
1008| (377.4, 284.5) | (377.4, 307.0)
1009| (365.9, 284.5) | (365.9, 307.0)
1010| (354.4, 284.5) | (354.4, 307.0)
1011| (342.8, 284.5) | (342.8, 307.0)
1012| (331.3, 284.5) | (331.3, 307.0)
1013| (319.8, 284.5) | (319.8, 307.0)
1014| (308.2, 284.5) | (308.2, 307.0)
1015| (296.7, 284.5) | (296.7, 307.0)
1016| (285.2, 284.5) | (285.2, 307.0)
1017| (273.7, 284.5) | (273.7, 307.0)
1018| (262.1, 284.5) | (262.1, 307.0)
1019| (250.6, 284.5) | (250.6, 307.0)
1020| (239.1, 284.5) | (239.1, 307.0)
1021| (227.5, 284.5) | (227.5, 307.0)
1022| (216.0, 284.5) | (216.0, 307.0)
1023| (204.5, 284.5) | (204.5, 307.0)
1024| (192.9, 284.5) | (192.9, 307.0)
1025| (181.4, 284.5) | (181.4, 307.0)
1026| (169.9, 284.5) | (169.9, 307.0)
1027| (158.4, 284.5) | (158.4, 307.0)
1028| (146.8, 284.5) | (146.8, 307.0)
1029| (135.3, 284.5) | (135.3, 307.0)
1030| (123.8, 284.5) | (123.8, 307.0)
1031| (112.2, 284.5) | (112.2, 307.0)
1032| (100.7, 284.5) | (100.7, 307.0)
1033| (89.2, 284.5) | (89.2, 307.0)
1034| (77.6, 284.5) | (77.6, 307.0)
1035| (66.1, 284.5) | (66.1, 307.0)
1036| (54.6, 284.5) | (54.6, 307.0)
1037| (43.1, 284.5) | (43.1, 307.0)
1038| (31.5, 284.5) | (31.5, 307.0)
1039| (20.0, 284.5) | (20.0, 307.0)
1040| (20.0, 295.6) | (20.0, 318.1)
1041| (31.5, 295.6) | (31.5, 318.1)
1042| (43.1, 295.6) | (43.1, 318.1)
1043| (54.6, 295.6) | (54.6, 318.1)
1044| (66.1, 295.6) | (66.1, 318.1)
1045| (77.7, 295.6) | (77.7, 318.1)
1046| (89.2, 295.6) | (89.2, 318.1)
1047| (100.7, 295.6) | (100.7, 318.1)
1048| (112.2, 295.6) | (112.2, 318.1)
1049| (123.8, 295.6) | (123.8, 318.1)
1050| (135.3, 295.6) | (135.3, 318.1)
1051| (146.8, 295.6) | (146.8, 318.1)
1052| (158.4, 295.6) | (158.4, 318.1)
1053| (169.9, 295.6) | (169.9, 318.1)
1054| (181.4, 295.6) | (181.4, 318.1)
1055| (192.9, 295.6) | (192.9, 318.1)
1056| (204.5, 295.6) | (204.5, 318.1)
1057| (216.0, 295.6) | (216.0, 318.1)
1058| (227.5, 295.6) | (227.5, 318.1)
1059| (239.1, 295.6) | (239.1, 318.1)
1060| (250.6, 295.6) | (250.6, 318.1)
1061| (262.1, 295.6) | (262.1, 318.1)
1062| (273.7, 295.6) | (273.7, 318.1)
1063| (285.2, 295.6) | (285.2, 318.1)
1064| (296.7, 295.6) | (296.7, 318.1)
1065| (308.2, 295.6) | (308.2, 318.1)
1066| (319.8, 295.6) | (319.8, 318.1)
1067| (331.3, 295.6) | (331.3, 318.1)
1068| (342.8, 295.6) | (342.8, 318.1)
1069| (354.4, 295.6) | (354.4, 318.1)
1070| (365.9, 295.6) | (365.9, 318.1)
1071| (377.4, 295.6) | (377.4, 318.1)
1072| (389.0, 295.6) | (389.0, 318.1)
1073| (400.5, 295.6) | (400.5, 318.1)
1074| (412.0, 295.6) | (412.0, 318.1)
1075| (423.5, 295.6) | (423.5, 318.1)
1076| (435.1, 295.6) | (435.1, 318.1)
1077| (446.6, 295.6) | (446.6, 318.1)
1078| (458.1, 295.6) | (458.1, 318.1)
1079| (469.7, 295.6) | (469.7, 318.1)
1080| (469.7, 306.7) | (469.7, 329.2)
1081| (458.1, 306.7) | (458.1, 329.2)
1082| (446.6, 306.7) | (446.6, 329.2)
1083| (435.1, 306.7) | (435.1, 329.2)
1084| (423.5, 306.7) | (423.5, 329.2)
1085| (412.0, 306.7) | (412.0, 329.2)
1086| (400.5, 306.7) | (400.5, 329.2)
1087| (389.0, 306.7) | (389.0, 329.2)
1088| (377.4, 306.7) | (377.4, 329.2)
1089| (365.9, 306.7) | (365.9, 329.2)
1090| (354.4, 306.7) | (354.4, 329.2)
1091| (342.8, 306.7) | (342.8, 329.2)
1092| (331.3, 306.7) | (331.3, 329.2)
1093| (319.8, 306.7) | (319.8, 329.2)
1094| (308.2, 306.7) | (308.2, 329.2)
1095| (296.7, 306.7) | (296.7, 329.2)
1096| (285.2, 306.7) | (285.2, 329.2)
1097| (273.7, 306.7) | (273.7, 329.2)
1098| (262.1, 306.7) | (262.1, 329.2)
1099| (250.6, 306.7) | (250.6, 329.2)
1100| (239.1, 306.7) | (239.1, 329.2)
1101| (227.5, 306.7) | (227.5, 329.2)
1102| (216.0, 306.7) | (216.0, 329.2)
1103| (204.5, 306.7) | (204.5, 329.2)
1104| (192.9, 306.7) | (192.9, 329.2)
1105| (181.4, 306.7) | (181.4, 329.2)
1106| (169.9, 306.7) | (169.9, 329.2)
1107| (158.4, 306.7) | (158.4, 329.2)
1108| (146.8, 306.7) | (146.8, 329.2)
1109| (135.3, 306.7) | (135.3, 329.2)
1110| (123.8, 306.7) | (123.8, 329.2)
1111| (112.2, 306.7) | (112.2, 329.2)
1112| (100.7, 306.7) | (100.7, 329.2)
1113| (89.2, 306.7) | (89.2, 329.2)
1114| (77.6, 306.7) | (77.6, 329.2)
1115| (66.1, 306.7) | (66.1, 329.2)
1116| (54.6, 306.7) | (54.6, 329.2)
1117| (43.1, 306.7) | (43.1, 329.2)
1118| (31.5, 306.7) | (31.5, 329.2)
1119| (20.0, 306.7) | (20.0, 329.2)
1120| (20.0, 317.7) | (20.0, 340.2)
1121| (31.5, 317.7) | (31.5, 340.2)
1122| (43.1, 317.7) | (43.1, 340.2)
1123| (54.6, 317.7) | (54.6, 340.2)
1124| (66.1, 317.7) | (66.1, 340.2)
1125| (77.7, 317.7) | (77.7, 340.2)
1126| (89.2, 317.7) | (89.2, 340.2)
1127| (100.7, 317.7) | (100.7, 340.2)
1128| (112.2, 317.7) | (112.2, 340.2)
1129| (123.8, 317.7) | (123.8, 340.2)
1130| (135.3, 317.7) | (135.3, 340.2)
1131| (146.8, 317.7) | (146.8, 340.2)
1132| (158.4, 317.7) | (158.4, 340.2)
1133| (169.9, 317.7) | (169.9, 340.2)
1134| (181.4, 317.7) | (181.4, 340.2)
1135| (192.9, 317.7) | (192.9, 340.2)
1136| (204.5, 317.7) | (204.5, 340.2)
1137| (216.0, 317.7) | (216.0, 340.2)
1138| (227.5, 317.7) | (227.5, 340.2)
1139| (239.1, 317.7) | (239.1, 340.2)
1140| (250.6, 317.7) | (250.6, 340.2)
1141| (262.1, 317.7) | (262.1, 340.2)
1142| (273.7, 317.7) | (273.7, 340.2)
1143| (285.2, 317.7) | (285.2, 340.2)
1144| (296.7, 317.7) | (296.7, 340.2)
1145| (308.2, 317.7) | (308.2, 340.2)
1146| (319.8, 317.7) | (319.8, 340.2)
1147| (331.3, 317.7) | (331.3, 340.2)
1148| (342.8, 317.7) | (342.8, 340.2)
1149| (354.4, 317.7) | (354.4, 340.2)
1150| (365.9, 317.7) | (365.9, 340.2)
1151| (377.4, 317.7) | (377.4, 340.2)
1152| (389.0, 317.7) | (389.0, 340.2)
1153| (400.5, 317.7) | (400.5, 340.2)
1154| (412.0, 317.7) | (412.0, 340.2)
1155| (423.5, 317.7) | (423.5, 340.2)
1156| (435.1, 317.7) | (435.1, 340.2)
1157| (446.6, 317.7) | (446.6, 340.2)
1158| (458.1, 317.7) | (458.1, 340.2)
1159| (469.7, 317.7) | (469.7, 340.2)
1160| (469.7, 328.8) | (469.7, 351.3)
1161| (458.1, 328.8) | (458.1, 351.3)
1162| (446.6, 328.8) | (446.6, 351.3)
1163| (435.1, 328.8) | (435.1, 351.3)
1164| (423.5, 328.8) | (423.5, 351.3)
1165| (412.0, 328.8) | (412.0, 351.3)
1166| (400.5, 328.8) | (400.5, 351.3)
1167| (389.0, 328.8) | (389.0, 351.3)
1168| (377.4, 328.8) | (377.4, 351.3)
1169| (365.9, 328.8) | (365.9, 351.3)
1170| (354.4, 328.8) | (354.4, 351.3)
1171| (342.8, 328.8) | (342.8, 351.3)
1172| (331.3, 328.8) | (331.3, 351.3)
1173| (319.8, 328.8) | (319.8, 351.3)
1174| (308.2, 328.8) | (308.2, 351.3)
1175| (296.7, 328.8) | (296.7, 351.3)
1176| (285.2, 328.8) | (285.2, 351.3)
1177| (273.7, 328.8) | (273.7, 351.3)
1178| (262.1, 328.8) | (262.1, 351.3)
1179| (250.6, 328.8) | (250.6, 351.3)
1180| (239.1, 328.8) | (239.1, 351.3)
1181| (227.5, 328.8) | (227.5, 351.3)
1182| (216.0, 328.8) | (216.0, 351.3)
1183| (204.5, 328.8) | (204.5, 351.3)
1184| (192.9, 328.8) | (192.9, 351.3)
1185| (181.4, 328.8) | (181.4, 351.3)
1186| (169.9, 328.8) | (169.9, 351.3)
1187| (158.4, 328.8) | (158.4, 351.3)
1188| (146.8, 328.8) | (146.8, 351.3)
1189| (135.3, 328.8) | (135.3, 351.3)
1190| (123.8, 328.8) | (123.8, 351.3)
1191| (112.2, 328.8) | (112.2, 351.3)
1192| (100.7, 328.8) | (100.7, 351.3)
1193| (89.2, 328.8) | (89.2, 351.3)
1194| (77.6, 328.8) | (77.6, 351.3)
1195| (66.1, 328.8) | (66.1, 351.3)
1196| (54.6, 328.8) | (54.6, 351.3)
1197| (43.1, 328.8) | (43.1, 351.3)
1198| (31.5, 328.8) | (31.5, 351.3)
1199| (20.0, 328.8) | (20.0, 351.3)
1200| (20.0, 339.9) | (20.0, 362.4)
1201| (31.5, 339.9) | (31.5, 362.4)
1202| (43.1, 339.9) | (43.1, 362.4)
1203| (54.6, 339.9) | (54.6, 362.4)
1204| (66.1, 339.9) | (66.1, 362.4)
1205| (77.7, 339.9) | (77.7, 362.4)
1206| (89.2, 339.9) | (89.2, 362.4)
1207| (100.7, 339.9) | (100.7, 362.4)
1208| (112.2, 339.9) | (112.2, 362.4)
1209| (123.8, 339.9) | (123.8, 362.4)
1210| (135.3, 339.9) | (135.3, 362.4)
1211| (146.8, 339.9) | (146.8, 362.4)
1212| (158.4, 339.9) | (158.4, 362.4)
1213| (169.9, 339.9) | (169.9, 362.4)
1214| (181.4, 339.9) | (181.4, 362.4)
1215| (192.9, 339.9) | (192.9, 362.4)
1216| (204.5, 339.9) | (204.5, 362.4)
1217| (216.0, 339.9) | (216.0, 362.4)
1218| (227.5, 339.9) | (227.5, 362.4)
1219| (239.1, 339.9) | (239.1, 362.4)
1220| (250.6, 339.9) | (250.6, 362.4)
1221| (262.1, 339.9) | (262.1, 362.4)
1222| (273.7, 339.9) | (273.7, 362.4)
1223| (285.2, 339.9) | (285.2, 362.4)
1224| (296.7, 339.9) | (296.7, 362.4)
1225| (308.2, 339.9) | (308.2, 362.4)
1226| (319.8, 339.9) | (319.8, 362.4)
1227| (331.3, 339.9) | (331.3, 362.4)
1228| (342.8, 339.9) | (342.8, 362.4)
1229| (354.4, 339.9) | (354.4, 362.4)
1230| (365.9, 339.9) | (365.9, 362.4)
1231| (377.4, 339.9) | (377.4, 362.4)
1232| (389.0, 339.9) | (389.0, 362.4)
1233| (400.5, 339.9) | (400.5, 362.4)
1234| (412.0, 339.9) | (412.0, 362.4)
1235| (423.5, 339.9) | (423.5, 362.4)
1236| (435.1, 339.9) | (435.1, 362.4)
1237| (446.6, 339.9) | (446.6, 362.4)
1238| (458.1, 339.9) | (458.1, 362.4)
1239| (469.7, 339.9) | (469.7, 362.4)
1240| (469.7, 351.0) | (469.7, 373.5)
1241| (458.1, 351.0) | (458.1, 373.5)
1242| (446.6, 351.0) | (446.6, 373.5)
1243| (435.1, 351.0) | (435.1, 373.5)
1244| (423.5, 351.0) | (423.5, 373.5)
1245| (412.0, 351.0) | (412.0, 373.5)
1246| (400.5, 351.0) | (400.5, 373.5)
1247| (389.0, 351.0) | (389.0, 373.5)
1248| (377.4, 351.0) | (377.4, 373.5)
1249| (365.9, 351.0) | (365.9, 373.5)
1250| (354.4, 351.0) | (354.4, 373.5)
1251| (342.8, 351.0) | (342.8, 373.5)
1252| (331.3, 351.0) | (331.3, 373.5)
1253| (319.8, 351.0) | (319.8, 373.5)
1254| (308.2, 351.0) | (308.2, 373.5)
1255| (296.7, 351.0) | (296.7, 373.5)
1256| (285.2, 351.0) | (285.2, 373.5)
1257| (273.7, 351.0) | (273.7, 373.5)
1258| (262.1, 351.0) | (262.1, 373.5)
1259| (250.6, 351.0) | (250.6, 373.5)
1260| (239.1, 351.0) | (239.1, 373.5)
1261| (227.5, 351.0) | (227.5, 373.5)
1262| (216.0, 351.0) | (216.0, 373.5)
1263| (204.5, 351.0) | (204.5, 373.5)
1264| (192.9, 351.0) | (192.9, 373.5)
1265| (181.4, 351.0) | (181.4, 373.5)
1266| (169.9, 351.0) | (169.9, 373.5)
1267| (158.4, 351.0) | (158.4, 373.5)
1268| (146.8, 351.0) | (146.8, 373.5)
1269| (135.3, 351.0) | (135.3, 373.5)
1270| (123.8, 351.0) | (123.8, 373.5)
1271| (112.2, 351.0) | (112.2, 373.5)
1272| (100.7, 351.0) | (100.7, 373.5)
1273| (89.2, 351.0) | (89.2, 373.5)
1274| (77.6, 351.0) | (77.6, 373.5)
1275| (66.1, 351.0) | (66.1, 373.5)
1276| (54.6, 351.0) | (54.6, 373.5)
1277| (43.1, 351.0) | (43.1, 373.5)
1278| (31.5, 351.0) | (31.5, 373.5)
1279| (20.0, 351.0) | (20.0, 373.5)
1280| (20.0, 362.1) | (20.0, 384.6)
1281| (31.5, 362.1) | (31.5, 384.6)
1282| (43.1, 362.1) | (43.1, 384.6)
1283| (54.6, 362.1) | (54.6, 384.6)
1284| (66.1, 362.1) | (66.1, 384.6)
1285| (77.7, 362.1) | (77.7, 384.6)
1286| (89.2, 362.1) | (89.2, 384.6)
1287| (100.7, 362.1) | (100.7, 384.6)
1288| (112.2, 362.1) | (112.2, 384.6)
1289| (123.8, 362.1) | (123.8, 384.6)
1290| (135.3, 362.1) | (135.3, 384.6)
1291| (146.8, 362.1) | (146.8, 384.6)
1292| (158.4, 362.1) | (158.4, 384.6)
1293| (169.9, 362.1) | (169.9, 384.6)
1294| (181.4, 362.1) | (181.4, 384.6)
1295| (192.9, 362.1) | (192.9, 384.6)
1296| (204.5, 362.1) | (204.5, 384.6)
1297| (216.0, 362.1) | (216.0, 384.6)
1298| (227.5, 362.1) | (227.5, 384.6)
1299| (239.1, 362.1) | (239.1, 384.6)
1300| (250.6, 362.1) | (250.6, 384.6)
1301| (262.1, 362.1) | (262.1, 384.6)
1302| (273.7, 362.1) | (273.7, 384.6)
1303| (285.2, 362.1) | (285.2, 384.6)
1304| (296.7, 362.1) | (296.7, 384.6)
1305| (308.2, 362.1) | (308.2, 384.6)
1306| (319.8, 362.1) | (319.8, 384.6)
1307| (331.3, 362.1) | (331.3, 384.6)
1308| (342.8, 362.1) | (342.8, 384.6)
1309| (354.4, 362.1) | (354.4, 384.6)
1310| (365.9, 362.1) | (365.9, 384.6)
1311| (377.4, 362.1) | (377.4, 384.6)
1312| (389.0, 362.1) | (389.0, 384.6)
1313| (400.5, 362.1) | (400.5, 384.6)
1314| (412.0, 362.1) | (412.0, 384.6)
1315| (423.5, 362.1) | (423.5, 384.6)
1316| (435.1, 362.1) | (435.1, 384.6)
1317| (446.6, 362.1) | (446.6, 384.6)
1318| (458.1, 362.1) | (458.1, 384.6)
1319| (469.7, 362.1) | (469.7, 384.6)
1320| (469.7, 373.1) | (469.7, 395.6)
1321| (458.1, 373.1) | (458.1, 395.6)
1322| (446.6, 373.1) | (446.6, 395.6)
1323| (435.1, 373.1) | (435.1, 395.6)
1324| (423.5, 373.1) | (423.5, 395.6)
1325| (412.0, 373.1) | (412.0, 395.6)
1326| (400.5, 373.1) | (400.5, 395.6)
1327| (389.0, 373.1) | (389.0, 395.6)
1328| (377.4, 373.1) | (377.4, 395.6)
1329| (365.9, 373.1) | (365.9, 395.6)
1330| (354.4, 373.1) | (354.4, 395.6)
1331| (342.8, 373.1) | (342.8, 395.6)
1332| (331.3, 373.1) | (331.3, 395.6)
1333| (319.8, 373.1) | (319.8, 395.6)
1334| (308.2, 373.1) | (308.2, 395.6)
1335| (296.7, 373.1) | (296.7, 395.6)
1336| (285.2, 373.1) | (285.2, 395.6)
1337| (273.7, 373.1) | (273.7, 395.6)
1338| (262.1, 373.1) | (262.1, 395.6)
1339| (250.6, 373.1) | (250.6, 395.6)
1340| (239.1, 373.1) | (239.1, 395.6)
1341| (227.5, 373.1) | (227.5, 395.6)
1342| (216.0, 373.1) | (216.0, 395.6)
1343| (204.5, 373.1) | (204.5, 395.6)
1344| (192.9, 373.1) | (192.9, 395.6)
1345| (181.4, 373.1) | (181.4, 395.6)
1346| (169.9, 373.1) | (169.9, 395.6)
1347| (158.4, 373.1) | (158.4, 395.6)
1348| (146.8, 373.1) | (146.8, 395.6)
1349| (135.3, 373.1) | (135.3, 395.6)
1350| (123.8, 373.1) | (123.8, 395.6)
1351| (112.2, 373.1) | (112.2, 395.6)
1352| (100.7, 373.1) | (100.7, 395.6)
1353| (89.2, 373.1) | (89.2, 395.6)
1354| (77.6, 373.1) | (77.6, 395.6)
1355| (66.1, 373.1) | (66.1, 395.6)
1356| (54.6, 373.1) | (54.6, 395.6)
1357| (43.1, 373.1) | (43.1, 395.6)
1358| (31.5, 373.1) | (31.5, 395.6)
1359| (20.0, 373.1) | (20.0, 395.6)
1360| (20.0, 384.2) | (20.0, 406.7)
1361| (31.5, 384.2) | (31.5, 406.7)
1362| (43.1, 384.2) | (43.1, 406.7)
1363| (54.6, 384.2) | (54.6, 406.7)
1364| (66.1, 384.2) | (66.1, 406.7)
1365| (77.7, 384.2) | (77.7, 406.7)
1366| (89.2, 384.2) | (89.2, 406.7)
1367| (100.7, 384.2) | (100.7, 406.7)
1368| (112.2, 384.2) | (112.2, 406.7)
1369| (123.8, 384.2) | (123.8, 406.7)
1370| (135.3, 384.2) | (135.3, 406.7)
1371| (146.8, 384.2) | (146.8, 406.7)
1372| (158.4, 384.2) | (158.4, 406.7)
1373| (169.9, 384.2) | (169.9, 406.7)
1374| (181.4, 384.2) | (181.4, 406.7)
1375| (192.9, 384.2) | (192.9, 406.7)
1376| (204.5, 384.2) | (204.5, 406.7)
1377| (216.0, 384.2) | (216.0, 406.7)
1378| (227.5, 384.2) | (227.5, 406.7)
1379| (239.1, 384.2) | (239.1, 406.7)
1380| (250.6, 384.2) | (250.6, 406.7)
1381| (262.1, 384.2) | (262.1, 406.7)
1382| (273.7, 384.2) | (273.7, 406.7)
1383| (285.2, 384.2) | (285.2, 406.7)
1384| (296.7, 384.2) | (296.7, 406.7)
1385| (308.2, 384.2) | (308.2, 406.7)
1386| (319.8, 384.2) | (319.8, 406.7)
1387| (331.3, 384.2) | (331.3, 406.7)
1388| (342.8, 384.2) | (342.8, 406.7)
1389| (354.4, 384.2) | (354.4, 406.7)
1390| (365.9, 384.2) | (365.9, 406.7)
1391| (377.4, 384.2) | (377.4, 406.7)
1392| (389.0, 384.2) | (389.0, 406.7)
1393| (400.5, 384.2) | (400.5, 406.7)
1394| (412.0, 384.2) | (412.0, 406.7)
1395| (423.5, 384.2) | (423.5, 406.7)
1396| (435.1, 384.2) | (435.1, 406.7)
1397| (446.6, 384.2) | (446.6, 406.7)
1398| (458.1, 384.2) | (458.1, 406.7)
1399| (469.7, 384.2) | (469.7, 406.7)
1400| (469.7, 395.3) | (469.7, 417.8)
1401| (458.1, 395.3) | (458.1, 417.8)
1402| (446.6, 395.3) | (446.6, 417.8)
1403| (435.1, 395.3) | (435.1, 417.8)
1404| (423.5, 395.3) | (423.5, 417.8)
1405| (412.0, 395.3) | (412.0, 417.8)
1406| (400.5, 395.3) | (400.5, 417.8)
1407| (389.0, 395.3) | (389.0, 417.8)
1408| (377.4, 395.3) | (377.4, 417.8)
1409| (365.9, 395.3) | (365.9, 417.8)
1410| (354.4, 395.3) | (354.4, 417.8)
1411| (342.8, 395.3) | (342.8, 417.8)
1412| (331.3, 395.3) | (331.3, 417.8)
1413| (319.8, 395.3) | (319.8, 417.8)
1414| (308.2, 395.3) | (308.2, 417.8)
1415| (296.7, 395.3) | (296.7, 417.8)
1416| (285.2, 395.3) | (285.2, 417.8)
1417| (273.7, 395.3) | (273.7, 417.8)
1418| (262.1, 395.3) | (262.1, 417.8)
1419| (250.6, 395.3) | (250.6, 417.8)
1420| (239.1, 395.3) | (239.1, 417.8)
1421| (227.5, 395.3) | (227.5, 417.8)
1422| (216.0, 395.3) | (216.0, 417.8)
1423| (204.5, 395.3) | (204.5, 417.8)
1424| (192.9, 395.3) | (192.9, 417.8)
1425| (181.4, 395.3) | (181.4, 417.8)
1426| (169.9, 395.3) | (169.9, 417.8)
1427| (158.4, 395.3) | (158.4, 417.8)
1428| (146.8, 395.3) | (146.8, 417.8)
1429| (135.3, 395.3) | (135.3, 417.8)
1430| (123.8, 395.3) | (123.8, 417.8)
1431| (112.2, 395.3) | (112.2, 417.8)
1432| (100.7, 395.3) | (100.7, 417.8)
1433| (89.2, 395.3) | (89.2, 417.8)
1434| (77.6, 395.3) | (77.6, 417.8)
1435| (66.1, 395.3) | (66.1, 417.8)
1436| (54.6, 395.3) | (54.6, 417.8)
1437| (43.1, 395.3) | (43.1, 417.8)
1438| (31.5, 395.3) | (31.5, 417.8)
1439| (20.0, 395.3) | (20.0, 417.8)
1440| (20.0, 406.4) | (20.0, 428.9)
1441| (31.5, 406.4) | (31.5, 428.9)
1442| (43.1, 406.4) | (43.1, 428.9)
1443| (54.6, 406.4) | (54.6, 428.9)
1444| (66.1, 406.4) | (66.1, 428.9)
1445| (77.7, 406.4) | (77.7, 428.9)
1446| (89.2, 406.4) | (89.2, 428.9)
1447| (100.7, 406.4) | (100.7, 428.9)
1448| (112.2, 406.4) | (112.2, 428.9)
1449| (123.8, 406.4) | (123.8, 428.9)
1450| (135.3, 406.4) | (135.3, 428.9)
1451| (146.8, 406.4) | (146.8, 428.9)
1452| (158.4, 406.4) | (158.4, 428.9)
1453| (169.9, 406.4) | (169.9, 428.9)
1454| (181.4, 406.4) | (181.4, 428.9)
1455| (192.9, 406.4) | (192.9, 428.9)
1456| (204.5, 406.4) | (204.5, 428.9)
1457| (216.0, 406.4) | (216.0, 428.9)
1458| (227.5, 406.4) | (227.5, 428.9)
1459| (239.1, 406.4) | (239.1, 428.9)
1460| (250.6, 406.4) | (250.6, 428.9)
1461| (262.1, 406.4) | (262.1, 428.9)
1462| (273.7, 406.4) | (273.7, 428.9)
1463| (285.2, 406.4) | (285.2, 428.9)
1464| (296.7, 406.4) | (296.7, 428.9)
1465| (308.2, 406.4) | (308.2, 428.9)
1466| (319.8, 406.4) | (319.8, 428.9)
1467| (331.3, 406.4) | (331.3, 428.9)
1468| (342.8, 406.4) | (342.8, 428.9)
1469| (354.4, 406.4) | (354.4, 428.9)
1470| (365.9, 406.4) | (365.9, 428.9)
1471| (377.4, 406.4) | (377.4, 428.9)
1472| (389.0, 406.4) | (389.0, 428.9)
1473| (400.5, 406.4) | (400.5, 428.9)
1474| (412.0, 406.4) | (412.0, 428.9)
1475| (423.5, 406.4) | (423.5, 428.9)
1476| (435.1, 406.4) | (435.1, 428.9)
1477| (446.6, 406.4) | (446.6, 428.9)
1478| (458.1, 406.4) | (458.1, 428.9)
1479| (469.7, 406.4) | (469.7, 428.9)
1480| (469.7, 417.5) | (469.7, 440.0)
1481| (458.1, 417.5) | (458.1, 440.0)
1482| (446.6, 417.5) | (446.6, 440.0)
1483| (435.1, 417.5) | (435.1, 440.0)
1484| (423.5, 417.5) | (423.5, 440.0)
1485| (412.0, 417.5) | (412.0, 440.0)
1486| (400.5, 417.5) | (400.5, 440.0)
1487| (389.0, 417.5) | (389.0, 440.0)
1488| (377.4, 417.5) | (377.4, 440.0)
1489| (365.9, 417.5) | (365.9, 440.0)
1490| (354.4, 417.5) | (354.4, 440.0)
1491| (342.8, 417.5) | (342.8, 440.0)
1492| (331.3, 417.5) | (331.3, 440.0)
1493| (319.8, 417.5) | (319.8, 440.0)
1494| (308.2, 417.5) | (308.2, 440.0)
1495| (296.7, 417.5) | (296.7, 440.0)
1496| (285.2, 417.5) | (285.2, 440.0)
1497| (273.7, 417.5) | (273.7, 440.0)
1498| (262.1, 417.5) | (262.1, 440.0)
1499| (250.6, 417.5) | (250.6, 440.0)
1500| (239.1, 417.5) | (239.1, 440.0)
1501| (227.5, 417.5) | (227.5, 440.0)
1502| (216.0, 417.5) | (216.0, 440.0)
1503| (204.5, 417.5) | (204.5, 440.0)
1504| (192.9, 417.5) | (192.9, 440.0)
1505| (181.4, 417.5) | (181.4, 440.0)
1506| (169.9, 417.5) | (169.9, 440.0)
1507| (158.4, 417.5) | (158.4, 440.0)
1508| (146.8, 417.5) | (146.8, 440.0)
1509| (135.3, 417.5) | (135.3, 440.0)
1510| (123.8, 417.5) | (123.8, 440.0)
1511| (112.2, 417.5) | (112.2, 440.0)
1512| (100.7, 417.5) | (100.7, 440.0)
1513| (89.2, 417.5) | (89.2, 440.0)
1514| (77.6, 417.5) | (77.6, 440.0)
1515| (66.1, 417.5) | (66.1, 440.0)
1516| (54.6, 417.5) | (54.6, 440.0)
1517| (43.1, 417.5) | (43.1, 440.0)
1518| (31.5, 417.5) | (31.5, 440.0)
1519| (20.0, 417.5) | (20.0, 440.0)
1520| (20.0, 428.5) | (20.0, 451.0)
1521| (31.5, 428.5) | (31.5, 451.0)
1522| (43.1, 428.5) | (43.1, 451.0)
1523| (54.6, 428.5) | (54.6, 451.0)
1524| (66.1, 428.5) | (66.1, 451.0)
1525| (77.7, 428.5) | (77.7, 451.0)
1526| (89.2, 428.5) | (89.2, 451.0)
1527| (100.7, 428.5) | (100.7, 451.0)
1528| (112.2, 428.5) | (112.2, 451.0)
1529| (123.8, 428.5) | (123.8, 451.0)
1530| (135.3, 428.5) | (135.3, 451.0)
1531| (146.8, 428.5) | (146.8, 451.0)
1532| (158.4, 428.5) | (158.4, 451.0)
1533| (169.9, 428.5) | (169.9, 451.0)
1534| (181.4, 428.5) | (181.4, 451.0)
1535| (192.9, 428.5) | (192.9, 451.0)
1536| (204.5, 428.5) | (204.5, 451.0)
1537| (216.0, 428.5) | (216.0, 451.0)
1538| (227.5, 428.5) | (227.5, 451.0)
1539| (239.1, 428.5) | (239.1, 451.0)
1540| (250.6, 428.5) | (250.6, 451.0)
1541| (262.1, 428.5) | (262.1, 451.0)
1542| (273.7, 428.5) | (273.7, 451.0)
1543| (285.2, 428.5) | (285.2, 451.0)
1544| (296.7, 428.5) | (296.7, 451.0)
1545| (308.2, 428.5) | (308.2, 451.0)
1546| (319.8, 428.5) | (319.8, 451.0)
1547| (331.3, 428.5) | (331.3, 451.0)
1548| (342.8, 428.5) | (342.8, 451.0)
1549| (354.4, 428.5) | (354.4, 451.0)
1550| (365.9, 428.5) | (365.9, 451.0)
1551| (377.4, 428.5) | (377.4, 451.0)
1552| (389.0, 428.5) | (389.0, 451.0)
1553| (400.5, 428.5) | (400.5, 451.0)
1554| (412.0, 428.5) | (412.0, 451.0)
1555| (423.5, 428.5) | (423.5, 451.0)
1556| (435.1, 428.5) | (435.1, 451.0)
1557| (446.6, 428.5) | (446.6, 451.0)
1558| (458.1, 428.5) | (458.1, 451.0)
1559| (469.7, 428.5) | (469.7, 451.0)
1560| (469.7, 439.6) | (469.7, 462.1)
1561| (458.1, 439.6) | (458.1, 462.1)
1562| (446.6, 439.6) | (446.6, 462.1)
1563| (435.1, 439.6) | (435.1, 462.1)
1564| (423.5, 439.6) | (423.5, 462.1)
1565| (412.0, 439.6) | (412.0, 462.1)
1566| (400.5, 439.6) | (400.5, 462.1)
1567| (389.0, 439.6) | (389.0, 462.1)
1568| (377.4, 439.6) | (377.4, 462.1)
1569| (365.9, 439.6) | (365.9, 462.1)
1570| (354.4, 439.6) | (354.4, 462.1)
1571| (342.8, 439.6) | (342.8, 462.1)
1572| (331.3, 439.6) | (331.3, 462.1)
1573| (319.8, 439.6) | (319.8, 462.1)
1574| (308.2, 439.6) | (308.2, 462.1)
1575| (296.7, 439.6) | (296.7, 462.1)
1576| (285.2, 439.6) | (285.2, 462.1)
1577| (273.7, 439.6) | (273.7, 462.1)
1578| (262.1, 439.6) | (262.1, 462.1)
1579| (250.6, 439.6) | (250.6, 462.1)
1580| (239.1, 439.6) | (239.1, 462.1)
1581| (227.5, 439.6) | (227.5, 462.1)
1582| (216.0, 439.6) | (216.0, 462.1)
1583| (204.5, 439.6) | (204.5, 462.1)
1584| (192.9, 439.6) | (192.9, 462.1)
1585| (181.4, 439.6) | (181.4, 462.1)
1586| (169.9, 439.6) | (169.9, 462.1)
1587| (158.4, 439.6) | (158.4, 462.1)
1588| (146.8, 439.6) | (146.8, 462.1)
1589| (135.3, 439.6) | (135.3, 462.1)
1590| (123.8, 439.6) | (123.8, 462.1)
1591| (112.2, 439.6) | (112.2, 462.1)
1592| (100.7, 439.6) | (100.7, 462.1)
1593| (89.2, 439.6) | (89.2, 462.1)
1594| (77.6, 439.6) | (77.6, 462.1)
1595| (66.1, 439.6) | (66.1, 462.1)
1596| (54.6, 439.6) | (54.6, 462.1)
1597| (43.1, 439.6) | (43.1, 462.1)
1598| (31.5, 439.6) | (31.5, 462.1)
1599| (20.0, 439.6) | (20.0, 462.1)
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
Script running error
Traceback (most recent call last):
File "/home/pi/klipper/klippy/extras/gcode_button.py", line 41, in button_callback
self.gcode.run_script(template.render())
File "/home/pi/klipper/klippy/gcode.py", line 230, in run_script
self._process_commands(script.split('\n'), need_ack=False)
File "/home/pi/klipper/klippy/gcode.py", line 212, in _process_commands
handler(gcmd)
File "/home/pi/klipper/klippy/gcode.py", line 282, in cmd_default
raise gcmd.error(self.printer.get_state_message()[0])
gcode.CommandError:
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
Script running error
Traceback (most recent call last):
File "/home/pi/klipper/klippy/extras/gcode_button.py", line 41, in button_callback
self.gcode.run_script(template.render())
File "/home/pi/klipper/klippy/gcode.py", line 230, in run_script
self._process_commands(script.split('\n'), need_ack=False)
File "/home/pi/klipper/klippy/gcode.py", line 212, in _process_commands
handler(gcmd)
File "/home/pi/klipper/klippy/gcode.py", line 282, in cmd_default
raise gcmd.error(self.printer.get_state_message()[0])
gcode.CommandError:
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
beacon: loaded fnorm=5106861.31 temp=20.78 amfg=1.017 from nvm
beacon: built tempco model version 1 {'amfg': 1.0174497367135622, 'tcc': -7.231912357067147e-06, 'tcfl': -0.0006331441376081758, 'tctl': 0.0019368853710497302, 'fmin': 5106861.308217049, 'fmin_temp': 20.781034469604492}
Enabling Beacon accelerometer
Selected Beacon accelerometer scale 16g
Sending MCU 'beacon' printer configuration...
Configured MCU 'beacon' (0 moves)
Starting heater checks for extruder
Starting heater checks for extruder1
Stats 33.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=3713 bytes_read=8013 bytes_retransmit=9 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999670 rpi: mcu_awake=0.005 mcu_task_avg=0.000030 mcu_task_stddev=0.000019 bytes_write=886 bytes_read=4766 bytes_retransmit=0 bytes_invalid=0 send_seq=119 receive_seq=119 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999623 adj=50013002 toolboard_t0: mcu_awake=0.010 mcu_task_avg=0.000021 mcu_task_stddev=0.000019 bytes_write=1358 bytes_read=5155 bytes_retransmit=9 bytes_invalid=0 send_seq=134 receive_seq=134 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999526 adj=64001120 toolboard_t1: mcu_awake=0.010 mcu_task_avg=0.000022 mcu_task_stddev=0.000019 bytes_write=1342 bytes_read=5062 bytes_retransmit=9 bytes_invalid=0 send_seq=143 receive_seq=143 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64003917 adj=64007786 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=47.7 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=380 bytes_read=2188 bytes_retransmit=0 bytes_invalid=0 send_seq=62 receive_seq=62 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32002402 adj=32003847 coil_temp=23.5 refs=0 mcu_temp=23.67 supply_voltage=3.068 sysload=1.27 cputime=9.566 memavail=331768 print_time=328.998 buffer_time=0.262 print_stall=0 extruder: target=0 temp=121.9 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
toolhead: max_velocity: 36000.000000
max_accel: 8000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
Extruder extruder already active
Extruder 'extruder' now syncing with 'extruder'
Extruder 'extruder1' now syncing with 'extruder1'
shaper_type_x:mzv shaper_freq_x:52.800 damping_ratio_x:0.100000
shaper_type_y:mzv shaper_freq_y:38.200 damping_ratio_y:0.100000
toolhead: max_velocity: 800.000000
max_accel: 10000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
webhooks: registering remote method 'shutdown_machine' for connection id: 4103495656
webhooks: registering remote method 'reboot_machine' for connection id: 4103495656
webhooks: registering remote method 'pause_job_queue' for connection id: 4103495656
webhooks: registering remote method 'start_job_queue' for connection id: 4103495656
Stats 34.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=3719 bytes_read=8116 bytes_retransmit=9 bytes_invalid=0 send_seq=291 receive_seq=291 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000204 rpi: mcu_awake=0.005 mcu_task_avg=0.000030 mcu_task_stddev=0.000019 bytes_write=892 bytes_read=4782 bytes_retransmit=0 bytes_invalid=0 send_seq=120 receive_seq=120 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999484 adj=49987473 toolboard_t0: mcu_awake=0.010 mcu_task_avg=0.000021 mcu_task_stddev=0.000019 bytes_write=1379 bytes_read=5263 bytes_retransmit=9 bytes_invalid=0 send_seq=136 receive_seq=136 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999435 adj=63998356 toolboard_t1: mcu_awake=0.010 mcu_task_avg=0.000022 mcu_task_stddev=0.000019 bytes_write=1348 bytes_read=5162 bytes_retransmit=9 bytes_invalid=0 send_seq=144 receive_seq=144 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64001021 adj=64001727 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.0 raspberry_pi: temp=46.7 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=386 bytes_read=2544 bytes_retransmit=0 bytes_invalid=0 send_seq=63 receive_seq=63 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000685 adj=32001844 coil_temp=23.5 refs=0 mcu_temp=23.67 supply_voltage=3.068 sysload=1.27 cputime=9.749 memavail=341488 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=121.5 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 41.0: gcodein=0 mcu: mcu_awake=0.006 mcu_task_avg=0.000007 mcu_task_stddev=0.000008 bytes_write=3731 bytes_read=8820 bytes_retransmit=9 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000658 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=904 bytes_read=4827 bytes_retransmit=0 bytes_invalid=0 send_seq=122 receive_seq=122 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999749 adj=49989111 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1391 bytes_read=5937 bytes_retransmit=9 bytes_invalid=0 send_seq=138 receive_seq=138 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999541 adj=63997983 toolboard_t1: mcu_awake=0.005 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=1366 bytes_read=5816 bytes_retransmit=9 bytes_invalid=0 send_seq=147 receive_seq=147 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999598 adj=63996433 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=44.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=398 bytes_read=4838 bytes_retransmit=0 bytes_invalid=0 send_seq=65 receive_seq=65 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000401 adj=31998886 coil_temp=23.5 refs=0 mcu_temp=23.64 supply_voltage=3.069 sysload=1.15 cputime=9.885 memavail=344944 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=116.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 42.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3737 bytes_read=8937 bytes_retransmit=9 bytes_invalid=0 send_seq=294 receive_seq=294 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000273 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=910 bytes_read=4843 bytes_retransmit=0 bytes_invalid=0 send_seq=123 receive_seq=123 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999685 adj=50006709 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1397 bytes_read=6050 bytes_retransmit=9 bytes_invalid=0 send_seq=139 receive_seq=139 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999420 adj=64000035 toolboard_t1: mcu_awake=0.005 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=1372 bytes_read=5926 bytes_retransmit=9 bytes_invalid=0 send_seq=148 receive_seq=148 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999556 adj=63998368 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=45.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=404 bytes_read=5194 bytes_retransmit=0 bytes_invalid=0 send_seq=66 receive_seq=66 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999948 adj=31999313 coil_temp=23.5 refs=0 mcu_temp=23.65 supply_voltage=3.069 sysload=1.15 cputime=9.906 memavail=343512 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=115.6 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 43.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3743 bytes_read=9040 bytes_retransmit=9 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000399 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=916 bytes_read=4859 bytes_retransmit=0 bytes_invalid=0 send_seq=124 receive_seq=124 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999691 adj=50005422 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1403 bytes_read=6168 bytes_retransmit=9 bytes_invalid=0 send_seq=140 receive_seq=140 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999385 adj=63999949 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1378 bytes_read=6054 bytes_retransmit=9 bytes_invalid=0 send_seq=149 receive_seq=149 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999543 adj=63999025 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=44.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=410 bytes_read=5550 bytes_retransmit=0 bytes_invalid=0 send_seq=67 receive_seq=67 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999946 adj=31999481 coil_temp=23.5 refs=0 mcu_temp=23.65 supply_voltage=3.069 sysload=1.15 cputime=9.926 memavail=346096 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=114.9 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 44.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3749 bytes_read=9172 bytes_retransmit=9 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000237 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=922 bytes_read=4888 bytes_retransmit=0 bytes_invalid=0 send_seq=125 receive_seq=125 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999721 adj=50003843 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1409 bytes_read=6271 bytes_retransmit=9 bytes_invalid=0 send_seq=141 receive_seq=141 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999379 adj=63999458 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1384 bytes_read=6154 bytes_retransmit=9 bytes_invalid=0 send_seq=150 receive_seq=150 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999542 adj=63998889 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=44.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=416 bytes_read=5906 bytes_retransmit=0 bytes_invalid=0 send_seq=68 receive_seq=68 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999929 adj=31999509 coil_temp=23.5 refs=0 mcu_temp=23.66 supply_voltage=3.069 sysload=1.15 cputime=9.960 memavail=346364 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=114.3 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 45.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3755 bytes_read=9275 bytes_retransmit=9 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000162 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=928 bytes_read=4904 bytes_retransmit=0 bytes_invalid=0 send_seq=126 receive_seq=126 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999728 adj=50003116 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1415 bytes_read=6388 bytes_retransmit=9 bytes_invalid=0 send_seq=142 receive_seq=142 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999413 adj=63999640 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1390 bytes_read=6268 bytes_retransmit=9 bytes_invalid=0 send_seq=151 receive_seq=151 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999544 adj=63999278 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.2 raspberry_pi: temp=45.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=422 bytes_read=6262 bytes_retransmit=0 bytes_invalid=0 send_seq=69 receive_seq=69 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999916 adj=31999665 coil_temp=23.5 refs=0 mcu_temp=23.66 supply_voltage=3.069 sysload=1.15 cputime=9.979 memavail=345884 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=113.4 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 46.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3761 bytes_read=9378 bytes_retransmit=9 bytes_invalid=0 send_seq=298 receive_seq=298 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000131 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=934 bytes_read=4920 bytes_retransmit=0 bytes_invalid=0 send_seq=127 receive_seq=127 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999749 adj=50002379 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1421 bytes_read=6506 bytes_retransmit=9 bytes_invalid=0 send_seq=143 receive_seq=143 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999395 adj=63999836 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1396 bytes_read=6382 bytes_retransmit=9 bytes_invalid=0 send_seq=152 receive_seq=152 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999546 adj=63999458 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=428 bytes_read=6618 bytes_retransmit=0 bytes_invalid=0 send_seq=70 receive_seq=70 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999916 adj=31999738 coil_temp=23.5 refs=0 mcu_temp=23.68 supply_voltage=3.069 sysload=1.06 cputime=9.999 memavail=346152 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=112.6 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 47.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3767 bytes_read=9524 bytes_retransmit=9 bytes_invalid=0 send_seq=299 receive_seq=299 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000087 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=940 bytes_read=4936 bytes_retransmit=0 bytes_invalid=0 send_seq=128 receive_seq=128 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999758 adj=50001851 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1427 bytes_read=6623 bytes_retransmit=9 bytes_invalid=0 send_seq=144 receive_seq=144 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999408 adj=63999687 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1402 bytes_read=6482 bytes_retransmit=9 bytes_invalid=0 send_seq=153 receive_seq=153 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999552 adj=63999531 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=31.8 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=434 bytes_read=6974 bytes_retransmit=0 bytes_invalid=0 send_seq=71 receive_seq=71 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999917 adj=31999807 coil_temp=23.5 refs=0 mcu_temp=23.68 supply_voltage=3.069 sysload=1.06 cputime=10.053 memavail=346632 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=112.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 48.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3773 bytes_read=9627 bytes_retransmit=9 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000036 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=946 bytes_read=4952 bytes_retransmit=0 bytes_invalid=0 send_seq=129 receive_seq=129 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999770 adj=50001428 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1433 bytes_read=6740 bytes_retransmit=9 bytes_invalid=0 send_seq=145 receive_seq=145 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999395 adj=63999772 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1408 bytes_read=6610 bytes_retransmit=9 bytes_invalid=0 send_seq=154 receive_seq=154 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999567 adj=63999632 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.2 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=440 bytes_read=7330 bytes_retransmit=0 bytes_invalid=0 send_seq=72 receive_seq=72 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999924 adj=31999901 coil_temp=23.5 refs=0 mcu_temp=23.68 supply_voltage=3.068 sysload=1.06 cputime=10.072 memavail=346636 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=111.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 49.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3779 bytes_read=9730 bytes_retransmit=9 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000006 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=952 bytes_read=4981 bytes_retransmit=0 bytes_invalid=0 send_seq=130 receive_seq=130 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999767 adj=50001146 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1439 bytes_read=6858 bytes_retransmit=9 bytes_invalid=0 send_seq=146 receive_seq=146 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999387 adj=63999703 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1414 bytes_read=6724 bytes_retransmit=9 bytes_invalid=0 send_seq=155 receive_seq=155 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999571 adj=63999775 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=446 bytes_read=7686 bytes_retransmit=0 bytes_invalid=0 send_seq=73 receive_seq=73 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999926 adj=31999985 coil_temp=23.5 refs=0 mcu_temp=23.70 supply_voltage=3.068 sysload=1.06 cputime=10.095 memavail=346636 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=110.4 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 50.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3785 bytes_read=9862 bytes_retransmit=9 bytes_invalid=0 send_seq=302 receive_seq=302 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000053 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=958 bytes_read=4997 bytes_retransmit=0 bytes_invalid=0 send_seq=131 receive_seq=131 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999807 adj=50000825 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1445 bytes_read=6961 bytes_retransmit=9 bytes_invalid=0 send_seq=147 receive_seq=147 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999437 adj=63999639 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1420 bytes_read=6824 bytes_retransmit=9 bytes_invalid=0 send_seq=156 receive_seq=156 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999617 adj=63999799 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=452 bytes_read=8042 bytes_retransmit=0 bytes_invalid=0 send_seq=74 receive_seq=74 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999935 adj=32000015 coil_temp=23.5 refs=0 mcu_temp=23.69 supply_voltage=3.068 sysload=1.06 cputime=10.136 memavail=346636 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=109.7 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 51.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3791 bytes_read=9965 bytes_retransmit=9 bytes_invalid=0 send_seq=303 receive_seq=303 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000108 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=964 bytes_read=5013 bytes_retransmit=0 bytes_invalid=0 send_seq=132 receive_seq=132 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999832 adj=50000718 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1451 bytes_read=7078 bytes_retransmit=9 bytes_invalid=0 send_seq=148 receive_seq=148 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999439 adj=63999759 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1426 bytes_read=6938 bytes_retransmit=9 bytes_invalid=0 send_seq=157 receive_seq=157 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999899 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=458 bytes_read=8398 bytes_retransmit=0 bytes_invalid=0 send_seq=75 receive_seq=75 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999936 adj=31999992 coil_temp=23.5 refs=0 mcu_temp=23.70 supply_voltage=3.068 sysload=0.97 cputime=10.177 memavail=346636 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=109.2 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 52.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3797 bytes_read=10068 bytes_retransmit=9 bytes_invalid=0 send_seq=304 receive_seq=304 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000108 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=970 bytes_read=5029 bytes_retransmit=0 bytes_invalid=0 send_seq=133 receive_seq=133 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999858 adj=50000538 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1457 bytes_read=7210 bytes_retransmit=9 bytes_invalid=0 send_seq=149 receive_seq=149 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999458 adj=63999566 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1432 bytes_read=7052 bytes_retransmit=9 bytes_invalid=0 send_seq=158 receive_seq=158 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999741 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=464 bytes_read=8754 bytes_retransmit=0 bytes_invalid=0 send_seq=76 receive_seq=76 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999959 adj=31999924 coil_temp=23.5 refs=0 mcu_temp=23.70 supply_voltage=3.068 sysload=0.97 cputime=10.219 memavail=346684 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=108.1 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 53.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3803 bytes_read=10214 bytes_retransmit=9 bytes_invalid=0 send_seq=305 receive_seq=305 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000068 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=976 bytes_read=5045 bytes_retransmit=0 bytes_invalid=0 send_seq=134 receive_seq=134 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999855 adj=50000512 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1463 bytes_read=7313 bytes_retransmit=9 bytes_invalid=0 send_seq=150 receive_seq=150 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999459 adj=63999637 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1438 bytes_read=7166 bytes_retransmit=9 bytes_invalid=0 send_seq=159 receive_seq=159 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999761 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=470 bytes_read=9110 bytes_retransmit=0 bytes_invalid=0 send_seq=77 receive_seq=77 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999955 adj=32000051 coil_temp=23.5 refs=0 mcu_temp=23.71 supply_voltage=3.068 sysload=0.97 cputime=10.247 memavail=343828 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=107.6 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 54.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3809 bytes_read=10317 bytes_retransmit=9 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000042 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=982 bytes_read=5074 bytes_retransmit=0 bytes_invalid=0 send_seq=135 receive_seq=135 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999859 adj=50000393 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1469 bytes_read=7430 bytes_retransmit=9 bytes_invalid=0 send_seq=151 receive_seq=151 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999450 adj=63999679 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1444 bytes_read=7280 bytes_retransmit=9 bytes_invalid=0 send_seq=160 receive_seq=160 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999650 adj=63999764 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=476 bytes_read=9466 bytes_retransmit=0 bytes_invalid=0 send_seq=78 receive_seq=78 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999957 adj=32000050 coil_temp=23.5 refs=0 mcu_temp=23.72 supply_voltage=3.068 sysload=0.97 cputime=10.271 memavail=350752 print_time=328.998 buffer_time=0.000 print_stall=0 extruder: target=0 temp=107.0 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 55.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3815 bytes_read=10420 bytes_retransmit=9 bytes_invalid=0 send_seq=307 receive_seq=307 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000018 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=988 bytes_read=5090 bytes_retransmit=0 bytes_invalid=0 send_seq=136 receive_seq=136 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999860 adj=50000328 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1491 bytes_read=7553 bytes_retransmit=9 bytes_invalid=0 send_seq=153 receive_seq=153 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999441 adj=63999625 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1450 bytes_read=7394 bytes_retransmit=9 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999932 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=482 bytes_read=9822 bytes_retransmit=0 bytes_invalid=0 send_seq=79 receive_seq=79 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=32000061 coil_temp=23.5 refs=0 mcu_temp=23.72 supply_voltage=3.069 sysload=0.97 cputime=10.296 memavail=341652 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=105.8 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Heater extruder approaching new target of 220.000
Stats 56.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3837 bytes_read=10557 bytes_retransmit=9 bytes_invalid=0 send_seq=309 receive_seq=309 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999996 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=994 bytes_read=5106 bytes_retransmit=0 bytes_invalid=0 send_seq=137 receive_seq=137 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999859 adj=50000259 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1497 bytes_read=7656 bytes_retransmit=9 bytes_invalid=0 send_seq=154 receive_seq=154 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999448 adj=63999575 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1456 bytes_read=7494 bytes_retransmit=9 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999865 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=31.8 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=488 bytes_read=10178 bytes_retransmit=0 bytes_invalid=0 send_seq=80 receive_seq=80 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000233 coil_temp=23.5 refs=0 mcu_temp=23.72 supply_voltage=3.069 sysload=0.90 cputime=10.317 memavail=345432 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=107.5 pwm=1.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 57.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3843 bytes_read=10660 bytes_retransmit=9 bytes_invalid=0 send_seq=310 receive_seq=310 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000001 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1000 bytes_read=5122 bytes_retransmit=0 bytes_invalid=0 send_seq=138 receive_seq=138 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999859 adj=50000197 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1503 bytes_read=7787 bytes_retransmit=9 bytes_invalid=0 send_seq=155 receive_seq=155 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999442 adj=63999645 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1462 bytes_read=7608 bytes_retransmit=9 bytes_invalid=0 send_seq=163 receive_seq=163 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999860 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=494 bytes_read=10534 bytes_retransmit=0 bytes_invalid=0 send_seq=81 receive_seq=81 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000214 coil_temp=23.5 refs=0 mcu_temp=23.72 supply_voltage=3.068 sysload=0.90 cputime=10.336 memavail=349220 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=113.1 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 58.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3849 bytes_read=10777 bytes_retransmit=9 bytes_invalid=0 send_seq=311 receive_seq=311 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000024 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1006 bytes_read=5138 bytes_retransmit=0 bytes_invalid=0 send_seq=139 receive_seq=139 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999874 adj=50000099 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1509 bytes_read=7905 bytes_retransmit=9 bytes_invalid=0 send_seq=156 receive_seq=156 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999447 adj=63999542 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1468 bytes_read=7736 bytes_retransmit=9 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999741 Octopus_V1.1_F446: temp=25.8 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.2 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=500 bytes_read=10890 bytes_retransmit=0 bytes_invalid=0 send_seq=82 receive_seq=82 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=32000204 coil_temp=23.5 refs=0 mcu_temp=23.73 supply_voltage=3.068 sysload=0.90 cputime=10.371 memavail=364316 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=121.3 pwm=1.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 59.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3855 bytes_read=10909 bytes_retransmit=9 bytes_invalid=0 send_seq=312 receive_seq=312 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000036 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=1012 bytes_read=5167 bytes_retransmit=0 bytes_invalid=0 send_seq=140 receive_seq=140 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999891 adj=50000102 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1531 bytes_read=8013 bytes_retransmit=9 bytes_invalid=0 send_seq=158 receive_seq=158 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999513 adj=63999493 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1474 bytes_read=7836 bytes_retransmit=9 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999677 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=506 bytes_read=11246 bytes_retransmit=0 bytes_invalid=0 send_seq=83 receive_seq=83 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000125 coil_temp=23.5 refs=0 mcu_temp=23.72 supply_voltage=3.068 sysload=0.90 cputime=10.410 memavail=358536 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=127.3 pwm=1.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 60.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3861 bytes_read=11012 bytes_retransmit=9 bytes_invalid=0 send_seq=313 receive_seq=313 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000013 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=1018 bytes_read=5183 bytes_retransmit=0 bytes_invalid=0 send_seq=141 receive_seq=141 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999888 adj=50000144 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1537 bytes_read=8130 bytes_retransmit=9 bytes_invalid=0 send_seq=159 receive_seq=159 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999530 adj=63999924 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1480 bytes_read=7950 bytes_retransmit=9 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999651 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=512 bytes_read=11602 bytes_retransmit=0 bytes_invalid=0 send_seq=84 receive_seq=84 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000056 coil_temp=23.6 refs=0 mcu_temp=23.72 supply_voltage=3.068 sysload=0.90 cputime=10.430 memavail=358032 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=132.8 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 61.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3867 bytes_read=11115 bytes_retransmit=9 bytes_invalid=0 send_seq=314 receive_seq=314 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000053 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=1024 bytes_read=5199 bytes_retransmit=0 bytes_invalid=0 send_seq=142 receive_seq=142 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999885 adj=50000106 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1543 bytes_read=8248 bytes_retransmit=9 bytes_invalid=0 send_seq=160 receive_seq=160 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999561 adj=64000007 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1486 bytes_read=8064 bytes_retransmit=9 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999644 adj=63999773 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=518 bytes_read=11958 bytes_retransmit=0 bytes_invalid=0 send_seq=85 receive_seq=85 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=32000072 coil_temp=23.6 refs=0 mcu_temp=23.72 supply_voltage=3.068 sysload=0.82 cputime=10.450 memavail=358032 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=140.3 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 62.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3873 bytes_read=11245 bytes_retransmit=9 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000033 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=1030 bytes_read=5215 bytes_retransmit=0 bytes_invalid=0 send_seq=143 receive_seq=143 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999882 adj=49999942 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1549 bytes_read=8365 bytes_retransmit=9 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999567 adj=64000008 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1492 bytes_read=8164 bytes_retransmit=9 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999592 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=524 bytes_read=12314 bytes_retransmit=0 bytes_invalid=0 send_seq=86 receive_seq=86 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=31999971 coil_temp=23.6 refs=0 mcu_temp=23.73 supply_voltage=3.068 sysload=0.82 cputime=10.471 memavail=357788 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=145.2 pwm=1.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 63.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3879 bytes_read=11355 bytes_retransmit=9 bytes_invalid=0 send_seq=316 receive_seq=316 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000031 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=1036 bytes_read=5231 bytes_retransmit=0 bytes_invalid=0 send_seq=144 receive_seq=144 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999882 adj=49999944 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1555 bytes_read=8482 bytes_retransmit=9 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999543 adj=63999995 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1498 bytes_read=8292 bytes_retransmit=9 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999625 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=530 bytes_read=12670 bytes_retransmit=0 bytes_invalid=0 send_seq=87 receive_seq=87 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999960 coil_temp=23.6 refs=0 mcu_temp=23.74 supply_voltage=3.068 sysload=0.82 cputime=10.490 memavail=357788 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=150.4 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 64.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3885 bytes_read=11455 bytes_retransmit=9 bytes_invalid=0 send_seq=317 receive_seq=317 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000032 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000013 bytes_write=1042 bytes_read=5260 bytes_retransmit=0 bytes_invalid=0 send_seq=145 receive_seq=145 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999881 adj=49999928 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1577 bytes_read=8605 bytes_retransmit=9 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999529 adj=63999701 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1504 bytes_read=8406 bytes_retransmit=9 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999693 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=536 bytes_read=13026 bytes_retransmit=0 bytes_invalid=0 send_seq=88 receive_seq=88 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999937 coil_temp=23.6 refs=0 mcu_temp=23.75 supply_voltage=3.068 sysload=0.82 cputime=10.513 memavail=362464 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=156.7 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 65.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3891 bytes_read=11587 bytes_retransmit=9 bytes_invalid=0 send_seq=318 receive_seq=318 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000015 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000013 bytes_write=1048 bytes_read=5276 bytes_retransmit=0 bytes_invalid=0 send_seq=146 receive_seq=146 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999889 adj=49999905 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1583 bytes_read=8708 bytes_retransmit=9 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999520 adj=63999543 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1510 bytes_read=8506 bytes_retransmit=9 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999644 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=542 bytes_read=13382 bytes_retransmit=0 bytes_invalid=0 send_seq=89 receive_seq=89 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=31999953 coil_temp=23.6 refs=0 mcu_temp=23.76 supply_voltage=3.068 sysload=0.82 cputime=10.536 memavail=361456 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=161.8 pwm=1.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 66.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3897 bytes_read=11690 bytes_retransmit=9 bytes_invalid=0 send_seq=319 receive_seq=319 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000004 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000013 bytes_write=1054 bytes_read=5292 bytes_retransmit=0 bytes_invalid=0 send_seq=147 receive_seq=147 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999892 adj=50000004 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1589 bytes_read=8825 bytes_retransmit=9 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999526 adj=63999514 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1516 bytes_read=8620 bytes_retransmit=9 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999688 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=31.8 EBB42_v1.2_T1: temp=27.2 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=548 bytes_read=13738 bytes_retransmit=0 bytes_invalid=0 send_seq=90 receive_seq=90 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000050 coil_temp=23.6 refs=0 mcu_temp=23.76 supply_voltage=3.068 sysload=0.76 cputime=10.556 memavail=361204 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=166.3 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 67.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3903 bytes_read=11793 bytes_retransmit=9 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999992 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000013 bytes_write=1060 bytes_read=5308 bytes_retransmit=0 bytes_invalid=0 send_seq=148 receive_seq=148 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999896 adj=50000029 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1595 bytes_read=8957 bytes_retransmit=9 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999510 adj=63999602 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1522 bytes_read=8734 bytes_retransmit=9 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999710 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=554 bytes_read=14094 bytes_retransmit=0 bytes_invalid=0 send_seq=91 receive_seq=91 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999989 adj=32000023 coil_temp=23.6 refs=0 mcu_temp=23.77 supply_voltage=3.068 sysload=0.76 cputime=10.576 memavail=361204 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=172.2 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 68.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3909 bytes_read=11939 bytes_retransmit=9 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999985 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000013 bytes_write=1066 bytes_read=5324 bytes_retransmit=0 bytes_invalid=0 send_seq=149 receive_seq=149 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999901 adj=50000053 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1617 bytes_read=9065 bytes_retransmit=9 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999516 adj=63999483 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1528 bytes_read=8848 bytes_retransmit=9 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999747 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=560 bytes_read=14450 bytes_retransmit=0 bytes_invalid=0 send_seq=92 receive_seq=92 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999987 adj=32000133 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.76 cputime=10.596 memavail=361212 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=176.8 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 69.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3915 bytes_read=12042 bytes_retransmit=9 bytes_invalid=0 send_seq=322 receive_seq=322 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999979 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1072 bytes_read=5353 bytes_retransmit=0 bytes_invalid=0 send_seq=150 receive_seq=150 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999899 adj=50000076 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1623 bytes_read=9182 bytes_retransmit=9 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999516 adj=63999561 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1534 bytes_read=8962 bytes_retransmit=9 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999726 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=566 bytes_read=14790 bytes_retransmit=0 bytes_invalid=0 send_seq=93 receive_seq=93 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000086 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.76 cputime=10.616 memavail=361272 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=181.0 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 70.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3921 bytes_read=12145 bytes_retransmit=9 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000003 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1078 bytes_read=5369 bytes_retransmit=0 bytes_invalid=0 send_seq=151 receive_seq=151 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999912 adj=50000034 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1629 bytes_read=9300 bytes_retransmit=9 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999506 adj=63999571 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1540 bytes_read=9076 bytes_retransmit=9 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999778 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=572 bytes_read=15146 bytes_retransmit=0 bytes_invalid=0 send_seq=94 receive_seq=94 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000035 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.76 cputime=10.654 memavail=360768 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=186.5 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 71.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3927 bytes_read=12277 bytes_retransmit=9 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000003 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1084 bytes_read=5385 bytes_retransmit=0 bytes_invalid=0 send_seq=152 receive_seq=152 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999925 adj=50000053 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1651 bytes_read=9408 bytes_retransmit=9 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999497 adj=63999395 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1546 bytes_read=9176 bytes_retransmit=9 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999644 adj=63999695 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=578 bytes_read=15502 bytes_retransmit=0 bytes_invalid=0 send_seq=95 receive_seq=95 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=31999966 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.78 cputime=10.696 memavail=360516 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=190.3 pwm=0.788 extruder1: target=0 temp=22.2 pwm=0.000
Stats 72.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3933 bytes_read=12380 bytes_retransmit=9 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000019 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1090 bytes_read=5401 bytes_retransmit=0 bytes_invalid=0 send_seq=153 receive_seq=153 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999949 adj=50000142 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1673 bytes_read=9544 bytes_retransmit=9 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999496 adj=63999341 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1552 bytes_read=9290 bytes_retransmit=9 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999656 adj=63999694 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=584 bytes_read=15858 bytes_retransmit=0 bytes_invalid=0 send_seq=96 receive_seq=96 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999988 adj=31999974 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.78 cputime=10.737 memavail=360292 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=194.0 pwm=0.546 extruder1: target=0 temp=22.1 pwm=0.000
Stats 73.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3939 bytes_read=12497 bytes_retransmit=9 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000018 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1096 bytes_read=5417 bytes_retransmit=0 bytes_invalid=0 send_seq=154 receive_seq=154 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999970 adj=50000266 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1743 bytes_read=9682 bytes_retransmit=9 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999488 adj=63999316 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1558 bytes_read=9418 bytes_retransmit=9 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999657 adj=63999734 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=31.8 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=590 bytes_read=16214 bytes_retransmit=0 bytes_invalid=0 send_seq=97 receive_seq=97 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000011 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.78 cputime=10.780 memavail=360052 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=197.9 pwm=0.809 extruder1: target=0 temp=22.1 pwm=0.000
Stats 74.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3945 bytes_read=12629 bytes_retransmit=9 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000046 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1102 bytes_read=5446 bytes_retransmit=0 bytes_invalid=0 send_seq=155 receive_seq=155 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999997 adj=50000387 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1781 bytes_read=9795 bytes_retransmit=9 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999485 adj=63999283 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1564 bytes_read=9518 bytes_retransmit=9 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999657 adj=63999724 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=596 bytes_read=16570 bytes_retransmit=0 bytes_invalid=0 send_seq=98 receive_seq=98 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=31999982 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.78 cputime=10.819 memavail=359296 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=200.3 pwm=0.786 extruder1: target=0 temp=22.0 pwm=0.000
Stats 75.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3951 bytes_read=12732 bytes_retransmit=9 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000027 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1108 bytes_read=5462 bytes_retransmit=0 bytes_invalid=0 send_seq=156 receive_seq=156 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000017 adj=50000474 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1830 bytes_read=9922 bytes_retransmit=9 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999481 adj=63999213 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1570 bytes_read=9632 bytes_retransmit=9 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999653 adj=63999611 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=31.7 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=602 bytes_read=16926 bytes_retransmit=0 bytes_invalid=0 send_seq=99 receive_seq=99 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=31999909 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.78 cputime=10.843 memavail=358852 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=203.1 pwm=0.440 extruder1: target=0 temp=22.1 pwm=0.000
Stats 76.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3957 bytes_read=12835 bytes_retransmit=9 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000013 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1114 bytes_read=5478 bytes_retransmit=0 bytes_invalid=0 send_seq=157 receive_seq=157 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000038 adj=50000596 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1882 bytes_read=10055 bytes_retransmit=9 bytes_invalid=0 send_seq=190 receive_seq=190 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999470 adj=63999305 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1576 bytes_read=9746 bytes_retransmit=9 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999652 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=608 bytes_read=17282 bytes_retransmit=0 bytes_invalid=0 send_seq=100 receive_seq=100 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=31999958 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.71 cputime=10.864 memavail=358852 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=207.1 pwm=0.129 extruder1: target=0 temp=22.1 pwm=0.000
Stats 77.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3963 bytes_read=12967 bytes_retransmit=9 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000004 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1120 bytes_read=5494 bytes_retransmit=0 bytes_invalid=0 send_seq=158 receive_seq=158 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000061 adj=50000612 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=1920 bytes_read=10182 bytes_retransmit=9 bytes_invalid=0 send_seq=193 receive_seq=193 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999459 adj=63999288 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1582 bytes_read=9846 bytes_retransmit=9 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999575 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=614 bytes_read=17638 bytes_retransmit=0 bytes_invalid=0 send_seq=101 receive_seq=101 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999912 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.71 cputime=10.884 memavail=358852 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=207.4 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 78.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3969 bytes_read=13084 bytes_retransmit=9 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999999 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1126 bytes_read=5510 bytes_retransmit=0 bytes_invalid=0 send_seq=159 receive_seq=159 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000089 adj=50000722 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=1926 bytes_read=10299 bytes_retransmit=9 bytes_invalid=0 send_seq=194 receive_seq=194 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999454 adj=63999262 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1588 bytes_read=9974 bytes_retransmit=9 bytes_invalid=0 send_seq=184 receive_seq=184 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999597 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=31.8 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=620 bytes_read=17994 bytes_retransmit=0 bytes_invalid=0 send_seq=102 receive_seq=102 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999926 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.71 cputime=10.904 memavail=358852 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=208.3 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 79.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3975 bytes_read=13187 bytes_retransmit=9 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999994 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1132 bytes_read=5539 bytes_retransmit=0 bytes_invalid=0 send_seq=160 receive_seq=160 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000118 adj=50000861 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=1976 bytes_read=10432 bytes_retransmit=9 bytes_invalid=0 send_seq=198 receive_seq=198 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999467 adj=63999273 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1594 bytes_read=10088 bytes_retransmit=9 bytes_invalid=0 send_seq=185 receive_seq=185 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999640 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=626 bytes_read=18350 bytes_retransmit=0 bytes_invalid=0 send_seq=103 receive_seq=103 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999930 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.71 cputime=10.928 memavail=354824 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=212.2 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 80.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3981 bytes_read=13319 bytes_retransmit=9 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000000 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1138 bytes_read=5555 bytes_retransmit=0 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000182 adj=50000978 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=1982 bytes_read=10535 bytes_retransmit=9 bytes_invalid=0 send_seq=199 receive_seq=199 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999462 adj=63999470 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1600 bytes_read=10188 bytes_retransmit=9 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999663 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=632 bytes_read=18706 bytes_retransmit=0 bytes_invalid=0 send_seq=104 receive_seq=104 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999919 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.71 cputime=10.965 memavail=354572 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=214.2 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 81.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3987 bytes_read=13422 bytes_retransmit=9 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000000 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1144 bytes_read=5571 bytes_retransmit=0 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000217 adj=50001414 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2020 bytes_read=10662 bytes_retransmit=9 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999460 adj=63999404 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1606 bytes_read=10302 bytes_retransmit=9 bytes_invalid=0 send_seq=187 receive_seq=187 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999658 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=638 bytes_read=19062 bytes_retransmit=0 bytes_invalid=0 send_seq=105 receive_seq=105 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=31999939 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.66 cputime=11.007 memavail=354572 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=213.2 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 82.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3993 bytes_read=13525 bytes_retransmit=9 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000000 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1150 bytes_read=5587 bytes_retransmit=0 bytes_invalid=0 send_seq=163 receive_seq=163 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000256 adj=50001472 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2042 bytes_read=10799 bytes_retransmit=9 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999463 adj=63999388 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1612 bytes_read=10416 bytes_retransmit=9 bytes_invalid=0 send_seq=188 receive_seq=188 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999654 adj=63999664 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=644 bytes_read=19418 bytes_retransmit=0 bytes_invalid=0 send_seq=106 receive_seq=106 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=31999939 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.068 sysload=0.66 cputime=11.055 memavail=358372 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=214.0 pwm=0.807 extruder1: target=0 temp=22.2 pwm=0.000
Stats 83.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3999 bytes_read=13671 bytes_retransmit=9 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000000 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1156 bytes_read=5603 bytes_retransmit=0 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000287 adj=50001574 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2078 bytes_read=10912 bytes_retransmit=9 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999462 adj=63999438 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1618 bytes_read=10516 bytes_retransmit=9 bytes_invalid=0 send_seq=189 receive_seq=189 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999681 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=650 bytes_read=19774 bytes_retransmit=0 bytes_invalid=0 send_seq=107 receive_seq=107 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999949 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.66 cputime=11.102 memavail=358372 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=217.0 pwm=0.002 extruder1: target=0 temp=22.0 pwm=0.000
Heater extruder within range of 220.000
Stats 84.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4005 bytes_read=13774 bytes_retransmit=9 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000005 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1162 bytes_read=5632 bytes_retransmit=0 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000319 adj=50001570 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2084 bytes_read=11029 bytes_retransmit=9 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999459 adj=63999438 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1624 bytes_read=10644 bytes_retransmit=9 bytes_invalid=0 send_seq=190 receive_seq=190 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999656 adj=63999686 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=656 bytes_read=20130 bytes_retransmit=0 bytes_invalid=0 send_seq=108 receive_seq=108 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=32000011 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.66 cputime=11.144 memavail=354892 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=219.0 pwm=0.002 extruder1: target=0 temp=22.2 pwm=0.000
Stats 85.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4011 bytes_read=13877 bytes_retransmit=9 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999993 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1168 bytes_read=5648 bytes_retransmit=0 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000343 adj=50001583 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2137 bytes_read=11162 bytes_retransmit=9 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999455 adj=63999391 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1630 bytes_read=10758 bytes_retransmit=9 bytes_invalid=0 send_seq=191 receive_seq=191 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999665 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=31.8 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=662 bytes_read=20486 bytes_retransmit=0 bytes_invalid=0 send_seq=109 receive_seq=109 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999993 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.66 cputime=11.167 memavail=350356 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=216.8 pwm=1.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 86.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4017 bytes_read=14007 bytes_retransmit=9 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999989 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1174 bytes_read=5664 bytes_retransmit=0 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000363 adj=50001572 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2159 bytes_read=11270 bytes_retransmit=9 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999456 adj=63999414 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1636 bytes_read=10858 bytes_retransmit=9 bytes_invalid=0 send_seq=192 receive_seq=192 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999697 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=668 bytes_read=20842 bytes_retransmit=0 bytes_invalid=0 send_seq=110 receive_seq=110 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999996 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.60 cputime=11.189 memavail=348372 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=217.8 pwm=0.570 extruder1: target=0 temp=22.2 pwm=0.000
Stats 87.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4023 bytes_read=14103 bytes_retransmit=9 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999986 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1180 bytes_read=5680 bytes_retransmit=0 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000384 adj=50001495 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2193 bytes_read=11411 bytes_retransmit=9 bytes_invalid=0 send_seq=217 receive_seq=217 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999450 adj=63999449 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1642 bytes_read=10972 bytes_retransmit=9 bytes_invalid=0 send_seq=193 receive_seq=193 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999673 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=674 bytes_read=21198 bytes_retransmit=0 bytes_invalid=0 send_seq=111 receive_seq=111 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999973 coil_temp=23.6 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.60 cputime=11.213 memavail=345852 print_time=349.984 buffer_time=0.000 print_stall=0 extruder: target=220 temp=220.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 88.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4029 bytes_read=14217 bytes_retransmit=9 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999976 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1186 bytes_read=5696 bytes_retransmit=0 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000401 adj=50001455 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2247 bytes_read=11544 bytes_retransmit=9 bytes_invalid=0 send_seq=221 receive_seq=221 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999459 adj=63999403 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1648 bytes_read=11086 bytes_retransmit=9 bytes_invalid=0 send_seq=194 receive_seq=194 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999650 adj=63999686 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=680 bytes_read=21554 bytes_retransmit=0 bytes_invalid=0 send_seq=112 receive_seq=112 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999975 coil_temp=23.7 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.60 cputime=11.239 memavail=345860 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=221.5 pwm=1.000 extruder1: target=0 temp=22.2 pwm=0.000
Heater extruder approaching new target of 230.000
Stats 89.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4035 bytes_read=14349 bytes_retransmit=9 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999967 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1192 bytes_read=5725 bytes_retransmit=0 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000417 adj=50001411 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2269 bytes_read=11652 bytes_retransmit=9 bytes_invalid=0 send_seq=223 receive_seq=223 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999451 adj=63999546 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1654 bytes_read=11200 bytes_retransmit=9 bytes_invalid=0 send_seq=195 receive_seq=195 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999687 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=686 bytes_read=21910 bytes_retransmit=0 bytes_invalid=0 send_seq=113 receive_seq=113 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999978 coil_temp=23.7 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.60 cputime=11.266 memavail=347624 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=222.4 pwm=0.905 extruder1: target=0 temp=22.2 pwm=0.000
Stats 90.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4041 bytes_read=14452 bytes_retransmit=9 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999972 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1198 bytes_read=5741 bytes_retransmit=0 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000438 adj=50001370 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2322 bytes_read=11784 bytes_retransmit=9 bytes_invalid=0 send_seq=227 receive_seq=227 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999453 adj=63999562 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1660 bytes_read=11314 bytes_retransmit=9 bytes_invalid=0 send_seq=196 receive_seq=196 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999699 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=692 bytes_read=22266 bytes_retransmit=0 bytes_invalid=0 send_seq=114 receive_seq=114 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=31999983 coil_temp=23.7 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.60 cputime=11.307 memavail=347120 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=224.9 pwm=0.014 extruder1: target=0 temp=22.1 pwm=0.000
Stats 91.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4047 bytes_read=14555 bytes_retransmit=9 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999975 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1204 bytes_read=5757 bytes_retransmit=0 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000461 adj=50001358 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2343 bytes_read=11907 bytes_retransmit=9 bytes_invalid=0 send_seq=229 receive_seq=229 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999449 adj=63999550 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1666 bytes_read=11428 bytes_retransmit=9 bytes_invalid=0 send_seq=197 receive_seq=197 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999669 adj=63999713 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=698 bytes_read=22622 bytes_retransmit=0 bytes_invalid=0 send_seq=115 receive_seq=115 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999993 coil_temp=23.7 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.56 cputime=11.353 memavail=350900 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=227.3 pwm=0.116 extruder1: target=0 temp=22.1 pwm=0.000
Heater extruder within range of 230.000
Stats 92.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4053 bytes_read=14687 bytes_retransmit=9 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999976 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1210 bytes_read=5773 bytes_retransmit=0 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000484 adj=50001390 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2381 bytes_read=12034 bytes_retransmit=9 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999448 adj=63999470 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1672 bytes_read=11528 bytes_retransmit=9 bytes_invalid=0 send_seq=198 receive_seq=198 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999676 adj=63999886 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=704 bytes_read=22978 bytes_retransmit=0 bytes_invalid=0 send_seq=116 receive_seq=116 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999979 coil_temp=23.7 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.56 cputime=11.398 memavail=350900 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=225.9 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 93.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4059 bytes_read=14804 bytes_retransmit=9 bytes_invalid=0 send_seq=346 receive_seq=346 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999978 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1216 bytes_read=5789 bytes_retransmit=0 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000506 adj=50001420 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2403 bytes_read=12156 bytes_retransmit=9 bytes_invalid=0 send_seq=234 receive_seq=234 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999448 adj=63999445 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1678 bytes_read=11642 bytes_retransmit=9 bytes_invalid=0 send_seq=199 receive_seq=199 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999675 adj=63999909 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=710 bytes_read=23334 bytes_retransmit=0 bytes_invalid=0 send_seq=117 receive_seq=117 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999995 coil_temp=23.7 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.56 cputime=11.441 memavail=351656 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=226.9 pwm=0.727 extruder1: target=0 temp=22.2 pwm=0.000
Stats 94.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4065 bytes_read=14907 bytes_retransmit=9 bytes_invalid=0 send_seq=347 receive_seq=347 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999985 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1222 bytes_read=5817 bytes_retransmit=0 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000524 adj=50001438 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2439 bytes_read=12284 bytes_retransmit=9 bytes_invalid=0 send_seq=237 receive_seq=237 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999446 adj=63999437 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1684 bytes_read=11770 bytes_retransmit=9 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999673 adj=63999828 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=716 bytes_read=23690 bytes_retransmit=0 bytes_invalid=0 send_seq=118 receive_seq=118 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=31999993 coil_temp=23.7 refs=0 mcu_temp=23.78 supply_voltage=3.069 sysload=0.56 cputime=11.484 memavail=351416 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=230.2 pwm=0.001 extruder1: target=0 temp=22.0 pwm=0.000
Stats 95.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4071 bytes_read=15039 bytes_retransmit=9 bytes_invalid=0 send_seq=348 receive_seq=348 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999977 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1228 bytes_read=5832 bytes_retransmit=0 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000544 adj=50001398 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2460 bytes_read=12392 bytes_retransmit=9 bytes_invalid=0 send_seq=239 receive_seq=239 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999441 adj=63999397 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1690 bytes_read=11870 bytes_retransmit=9 bytes_invalid=0 send_seq=201 receive_seq=201 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999669 adj=63999743 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=722 bytes_read=24046 bytes_retransmit=0 bytes_invalid=0 send_seq=119 receive_seq=119 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000023 coil_temp=23.7 refs=0 mcu_temp=23.79 supply_voltage=3.069 sysload=0.56 cputime=11.508 memavail=351416 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=230.7 pwm=0.131 extruder1: target=0 temp=22.3 pwm=0.000
Stats 96.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4077 bytes_read=15142 bytes_retransmit=9 bytes_invalid=0 send_seq=349 receive_seq=349 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999966 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1234 bytes_read=5847 bytes_retransmit=0 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000550 adj=50001447 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2493 bytes_read=12514 bytes_retransmit=9 bytes_invalid=0 send_seq=241 receive_seq=241 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999439 adj=63999383 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1696 bytes_read=11984 bytes_retransmit=9 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999665 adj=63999710 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=728 bytes_read=24402 bytes_retransmit=0 bytes_invalid=0 send_seq=120 receive_seq=120 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000014 coil_temp=23.7 refs=0 mcu_temp=23.80 supply_voltage=3.069 sysload=0.51 cputime=11.528 memavail=351416 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=229.3 pwm=1.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 97.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4083 bytes_read=15245 bytes_retransmit=9 bytes_invalid=0 send_seq=350 receive_seq=350 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999964 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1240 bytes_read=5862 bytes_retransmit=0 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000557 adj=50001336 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2529 bytes_read=12656 bytes_retransmit=9 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999439 adj=63999422 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1702 bytes_read=12098 bytes_retransmit=9 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999661 adj=63999701 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=734 bytes_read=24758 bytes_retransmit=0 bytes_invalid=0 send_seq=121 receive_seq=121 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000012 coil_temp=23.7 refs=0 mcu_temp=23.81 supply_voltage=3.069 sysload=0.51 cputime=11.550 memavail=350664 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=230.8 pwm=0.001 extruder1: target=0 temp=22.2 pwm=0.000
Stats 98.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4089 bytes_read=15391 bytes_retransmit=9 bytes_invalid=0 send_seq=351 receive_seq=351 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999963 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1246 bytes_read=5877 bytes_retransmit=0 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000565 adj=50001237 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2535 bytes_read=12759 bytes_retransmit=9 bytes_invalid=0 send_seq=245 receive_seq=245 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999437 adj=63999438 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1708 bytes_read=12198 bytes_retransmit=9 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999659 adj=63999665 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=740 bytes_read=25114 bytes_retransmit=0 bytes_invalid=0 send_seq=122 receive_seq=122 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999997 coil_temp=23.7 refs=0 mcu_temp=23.82 supply_voltage=3.069 sysload=0.51 cputime=11.571 memavail=347416 print_time=382.645 buffer_time=0.000 print_stall=0 extruder: target=230 temp=233.1 pwm=0.001 extruder1: target=0 temp=22.1 pwm=0.000
Stats 99.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4095 bytes_read=15494 bytes_retransmit=9 bytes_invalid=0 send_seq=352 receive_seq=352 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999956 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1252 bytes_read=5906 bytes_retransmit=0 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000572 adj=50001170 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=3096 bytes_read=13302 bytes_retransmit=9 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999432 adj=63999422 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1714 bytes_read=12326 bytes_retransmit=9 bytes_invalid=0 send_seq=205 receive_seq=205 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999656 adj=63999638 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=746 bytes_read=25470 bytes_retransmit=0 bytes_invalid=0 send_seq=123 receive_seq=123 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000036 coil_temp=23.8 refs=0 mcu_temp=23.83 supply_voltage=3.069 sysload=0.51 cputime=11.619 memavail=345980 print_time=399.475 buffer_time=5.079 print_stall=0 extruder: target=230 temp=233.1 pwm=0.082 extruder1: target=0 temp=22.1 pwm=0.000
Stats 100.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4101 bytes_read=15597 bytes_retransmit=9 bytes_invalid=0 send_seq=353 receive_seq=353 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999949 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1258 bytes_read=5922 bytes_retransmit=0 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000578 adj=50000523 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=3157 bytes_read=13471 bytes_retransmit=9 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999429 adj=63999441 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1720 bytes_read=12440 bytes_retransmit=9 bytes_invalid=0 send_seq=206 receive_seq=206 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999654 adj=63999675 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=31.8 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=752 bytes_read=25826 bytes_retransmit=0 bytes_invalid=0 send_seq=124 receive_seq=124 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=31999973 coil_temp=23.8 refs=0 mcu_temp=23.84 supply_voltage=3.069 sysload=0.51 cputime=11.662 memavail=345980 print_time=399.475 buffer_time=4.079 print_stall=0 extruder: target=230 temp=231.1 pwm=1.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 101.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4107 bytes_read=15729 bytes_retransmit=9 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999950 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1264 bytes_read=5938 bytes_retransmit=0 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000587 adj=50000560 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=3222 bytes_read=13630 bytes_retransmit=9 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999431 adj=63999439 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1726 bytes_read=12540 bytes_retransmit=9 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999678 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=758 bytes_read=26182 bytes_retransmit=0 bytes_invalid=0 send_seq=125 receive_seq=125 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999981 coil_temp=23.8 refs=0 mcu_temp=23.85 supply_voltage=3.069 sysload=0.47 cputime=11.707 memavail=353792 print_time=399.475 buffer_time=3.079 print_stall=0 extruder: target=230 temp=232.5 pwm=0.040 extruder1: target=0 temp=22.1 pwm=0.000
Stats 102.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4113 bytes_read=15832 bytes_retransmit=9 bytes_invalid=0 send_seq=355 receive_seq=355 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999957 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1270 bytes_read=5954 bytes_retransmit=0 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000612 adj=50000600 toolboard_t0: mcu_awake=0.006 mcu_task_avg=0.000017 mcu_task_stddev=0.000013 bytes_write=3256 bytes_read=13808 bytes_retransmit=9 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999427 adj=63999446 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1732 bytes_read=12654 bytes_retransmit=9 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999657 adj=63999682 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=764 bytes_read=26538 bytes_retransmit=0 bytes_invalid=0 send_seq=126 receive_seq=126 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999975 coil_temp=23.8 refs=0 mcu_temp=23.85 supply_voltage=3.069 sysload=0.47 cputime=11.753 memavail=353792 print_time=399.475 buffer_time=2.078 print_stall=0 extruder: target=230 temp=234.9 pwm=0.040 extruder1: target=0 temp=22.1 pwm=0.000
Stats 103.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4125 bytes_read=15965 bytes_retransmit=9 bytes_invalid=0 send_seq=357 receive_seq=357 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999960 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1282 bytes_read=5986 bytes_retransmit=0 bytes_invalid=0 send_seq=185 receive_seq=185 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000629 adj=50000713 toolboard_t0: mcu_awake=0.006 mcu_task_avg=0.000017 mcu_task_stddev=0.000013 bytes_write=3307 bytes_read=13988 bytes_retransmit=9 bytes_invalid=0 send_seq=288 receive_seq=288 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999431 adj=63999419 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1744 bytes_read=12784 bytes_retransmit=9 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999657 adj=63999681 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=776 bytes_read=26910 bytes_retransmit=0 bytes_invalid=0 send_seq=128 receive_seq=128 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999965 coil_temp=23.8 refs=0 mcu_temp=23.86 supply_voltage=3.069 sysload=0.47 cputime=11.801 memavail=353792 print_time=399.475 buffer_time=1.078 print_stall=0 extruder: target=230 temp=234.3 pwm=0.379 extruder1: target=0 temp=22.2 pwm=0.000
Stats 104.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4131 bytes_read=16097 bytes_retransmit=9 bytes_invalid=0 send_seq=358 receive_seq=358 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999961 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000015 bytes_write=1288 bytes_read=6015 bytes_retransmit=0 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000634 adj=50000789 toolboard_t0: mcu_awake=0.006 mcu_task_avg=0.000017 mcu_task_stddev=0.000013 bytes_write=3444 bytes_read=14157 bytes_retransmit=9 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999435 adj=63999432 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1750 bytes_read=12898 bytes_retransmit=9 bytes_invalid=0 send_seq=211 receive_seq=211 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999658 adj=63999677 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=782 bytes_read=27266 bytes_retransmit=0 bytes_invalid=0 send_seq=129 receive_seq=129 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999963 coil_temp=23.8 refs=0 mcu_temp=23.87 supply_voltage=3.069 sysload=0.47 cputime=11.848 memavail=353792 print_time=399.475 buffer_time=0.077 print_stall=0 extruder: target=230 temp=232.5 pwm=1.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 105.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4137 bytes_read=16200 bytes_retransmit=9 bytes_invalid=0 send_seq=359 receive_seq=359 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999960 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000015 bytes_write=1294 bytes_read=6031 bytes_retransmit=0 bytes_invalid=0 send_seq=187 receive_seq=187 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000641 adj=50000815 toolboard_t0: mcu_awake=0.006 mcu_task_avg=0.000017 mcu_task_stddev=0.000013 bytes_write=3526 bytes_read=14331 bytes_retransmit=9 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999432 adj=63999449 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1756 bytes_read=13008 bytes_retransmit=9 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999657 adj=63999677 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=788 bytes_read=27622 bytes_retransmit=0 bytes_invalid=0 send_seq=130 receive_seq=130 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999966 coil_temp=23.8 refs=0 mcu_temp=23.87 supply_voltage=3.069 sysload=0.47 cputime=11.897 memavail=353800 print_time=399.475 buffer_time=0.000 print_stall=0 extruder: target=230 temp=233.3 pwm=0.277 extruder1: target=0 temp=22.1 pwm=0.000
Stats 106.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4143 bytes_read=16303 bytes_retransmit=9 bytes_invalid=0 send_seq=360 receive_seq=360 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999973 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000015 bytes_write=1300 bytes_read=6047 bytes_retransmit=0 bytes_invalid=0 send_seq=188 receive_seq=188 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000642 adj=50000849 toolboard_t0: mcu_awake=0.006 mcu_task_avg=0.000017 mcu_task_stddev=0.000013 bytes_write=3573 bytes_read=14491 bytes_retransmit=9 bytes_invalid=0 send_seq=305 receive_seq=305 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999435 adj=63999433 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1762 bytes_read=13113 bytes_retransmit=9 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999656 adj=63999676 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=794 bytes_read=27978 bytes_retransmit=0 bytes_invalid=0 send_seq=131 receive_seq=131 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999962 coil_temp=23.8 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.43 cputime=11.942 memavail=353800 print_time=399.475 buffer_time=0.000 print_stall=0 extruder: target=230 temp=236.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 107.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4149 bytes_read=16435 bytes_retransmit=9 bytes_invalid=0 send_seq=361 receive_seq=361 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999968 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000015 bytes_write=1306 bytes_read=6063 bytes_retransmit=0 bytes_invalid=0 send_seq=189 receive_seq=189 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000641 adj=50000834 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000012 bytes_write=3622 bytes_read=14653 bytes_retransmit=9 bytes_invalid=0 send_seq=309 receive_seq=309 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999432 adj=63999423 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1768 bytes_read=13206 bytes_retransmit=9 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999663 adj=63999645 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=800 bytes_read=28334 bytes_retransmit=0 bytes_invalid=0 send_seq=132 receive_seq=132 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999951 coil_temp=23.8 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.43 cputime=11.987 memavail=353800 print_time=399.475 buffer_time=0.000 print_stall=0 extruder: target=230 temp=235.6 pwm=0.156 extruder1: target=0 temp=22.1 pwm=0.000
Stats 108.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4155 bytes_read=16552 bytes_retransmit=9 bytes_invalid=0 send_seq=362 receive_seq=362 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999972 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000015 bytes_write=1312 bytes_read=6079 bytes_retransmit=0 bytes_invalid=0 send_seq=190 receive_seq=190 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000642 adj=50000834 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000012 bytes_write=3704 bytes_read=14823 bytes_retransmit=9 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999432 adj=63999421 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1774 bytes_read=13312 bytes_retransmit=9 bytes_invalid=0 send_seq=215 receive_seq=215 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999681 adj=63999698 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=806 bytes_read=28690 bytes_retransmit=0 bytes_invalid=0 send_seq=133 receive_seq=133 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999955 coil_temp=23.8 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.43 cputime=12.037 memavail=353800 print_time=399.475 buffer_time=0.000 print_stall=0 extruder: target=230 temp=234.0 pwm=0.989 extruder1: target=0 temp=22.2 pwm=0.000
Stats 109.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4161 bytes_read=16655 bytes_retransmit=9 bytes_invalid=0 send_seq=363 receive_seq=363 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999974 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=1318 bytes_read=6108 bytes_retransmit=0 bytes_invalid=0 send_seq=191 receive_seq=191 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000641 adj=50000835 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000012 bytes_write=3777 bytes_read=14991 bytes_retransmit=9 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999446 adj=63999411 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1780 bytes_read=13434 bytes_retransmit=9 bytes_invalid=0 send_seq=216 receive_seq=216 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999678 adj=63999797 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=812 bytes_read=29046 bytes_retransmit=0 bytes_invalid=0 send_seq=134 receive_seq=134 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999955 coil_temp=23.8 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.43 cputime=12.088 memavail=353800 print_time=399.475 buffer_time=0.000 print_stall=0 extruder: target=230 temp=234.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 110.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4167 bytes_read=16781 bytes_retransmit=9 bytes_invalid=0 send_seq=364 receive_seq=364 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999973 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=1324 bytes_read=6124 bytes_retransmit=0 bytes_invalid=0 send_seq=192 receive_seq=192 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000640 adj=50000826 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000012 bytes_write=3811 bytes_read=15140 bytes_retransmit=9 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999445 adj=63999507 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1786 bytes_read=13534 bytes_retransmit=9 bytes_invalid=0 send_seq=217 receive_seq=217 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999676 adj=63999778 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=818 bytes_read=29402 bytes_retransmit=0 bytes_invalid=0 send_seq=135 receive_seq=135 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999966 coil_temp=23.8 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.43 cputime=12.136 memavail=353800 print_time=399.475 buffer_time=0.000 print_stall=0 extruder: target=230 temp=236.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 111.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4173 bytes_read=16877 bytes_retransmit=9 bytes_invalid=0 send_seq=365 receive_seq=365 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999973 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=1330 bytes_read=6140 bytes_retransmit=0 bytes_invalid=0 send_seq=193 receive_seq=193 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000640 adj=50000820 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000012 bytes_write=3860 bytes_read=15308 bytes_retransmit=9 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999442 adj=63999497 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1792 bytes_read=13648 bytes_retransmit=9 bytes_invalid=0 send_seq=218 receive_seq=218 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999674 adj=63999762 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=824 bytes_read=29758 bytes_retransmit=0 bytes_invalid=0 send_seq=136 receive_seq=136 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999968 coil_temp=23.8 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.40 cputime=12.184 memavail=353800 print_time=399.475 buffer_time=0.000 print_stall=0 extruder: target=230 temp=235.9 pwm=0.186 extruder1: target=0 temp=22.1 pwm=0.000
Stats 112.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4179 bytes_read=16980 bytes_retransmit=9 bytes_invalid=0 send_seq=366 receive_seq=366 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999971 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=1336 bytes_read=6156 bytes_retransmit=0 bytes_invalid=0 send_seq=194 receive_seq=194 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000634 adj=50000819 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=3942 bytes_read=15501 bytes_retransmit=9 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999438 adj=63999469 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1798 bytes_read=13762 bytes_retransmit=9 bytes_invalid=0 send_seq=219 receive_seq=219 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999672 adj=63999740 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=830 bytes_read=30114 bytes_retransmit=0 bytes_invalid=0 send_seq=137 receive_seq=137 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=31999968 coil_temp=23.8 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.40 cputime=12.233 memavail=353808 print_time=399.475 buffer_time=0.000 print_stall=0 extruder: target=230 temp=233.8 pwm=1.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 113.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4185 bytes_read=17126 bytes_retransmit=9 bytes_invalid=0 send_seq=367 receive_seq=367 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999977 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=1342 bytes_read=6172 bytes_retransmit=0 bytes_invalid=0 send_seq=195 receive_seq=195 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000654 adj=50000753 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=4176 bytes_read=15665 bytes_retransmit=9 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999439 adj=63999432 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1804 bytes_read=13862 bytes_retransmit=9 bytes_invalid=0 send_seq=220 receive_seq=220 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999669 adj=63999733 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=836 bytes_read=30470 bytes_retransmit=0 bytes_invalid=0 send_seq=138 receive_seq=138 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999965 coil_temp=23.8 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.40 cputime=12.294 memavail=353864 print_time=412.896 buffer_time=4.496 print_stall=0 extruder: target=230 temp=235.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 114.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4191 bytes_read=17229 bytes_retransmit=9 bytes_invalid=0 send_seq=368 receive_seq=368 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999976 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000016 bytes_write=1348 bytes_read=6201 bytes_retransmit=0 bytes_invalid=0 send_seq=196 receive_seq=196 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000651 adj=50000741 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=4210 bytes_read=15828 bytes_retransmit=9 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999436 adj=63999445 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1810 bytes_read=13990 bytes_retransmit=9 bytes_invalid=0 send_seq=221 receive_seq=221 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999685 adj=63999650 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=842 bytes_read=30826 bytes_retransmit=0 bytes_invalid=0 send_seq=139 receive_seq=139 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=31999971 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.40 cputime=12.341 memavail=353864 print_time=412.896 buffer_time=3.495 print_stall=0 extruder: target=230 temp=236.9 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 115.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4197 bytes_read=17332 bytes_retransmit=9 bytes_invalid=0 send_seq=369 receive_seq=369 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999980 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000016 bytes_write=1354 bytes_read=6217 bytes_retransmit=0 bytes_invalid=0 send_seq=197 receive_seq=197 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000649 adj=50000724 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=4255 bytes_read=15992 bytes_retransmit=9 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999434 adj=63999427 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1816 bytes_read=14104 bytes_retransmit=9 bytes_invalid=0 send_seq=222 receive_seq=222 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999684 adj=63999738 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=848 bytes_read=31182 bytes_retransmit=0 bytes_invalid=0 send_seq=140 receive_seq=140 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=31999975 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.40 cputime=12.387 memavail=353916 print_time=412.896 buffer_time=2.495 print_stall=0 extruder: target=230 temp=235.8 pwm=0.364 extruder1: target=0 temp=22.1 pwm=0.000
Stats 116.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4203 bytes_read=17464 bytes_retransmit=9 bytes_invalid=0 send_seq=370 receive_seq=370 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999978 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000016 bytes_write=1360 bytes_read=6233 bytes_retransmit=0 bytes_invalid=0 send_seq=198 receive_seq=198 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000649 adj=50000711 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=4321 bytes_read=16151 bytes_retransmit=9 bytes_invalid=0 send_seq=350 receive_seq=350 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999430 adj=63999408 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1822 bytes_read=14204 bytes_retransmit=9 bytes_invalid=0 send_seq=223 receive_seq=223 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999691 adj=63999728 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=854 bytes_read=31538 bytes_retransmit=0 bytes_invalid=0 send_seq=141 receive_seq=141 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999971 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.36 cputime=12.434 memavail=353920 print_time=412.896 buffer_time=1.494 print_stall=0 extruder: target=230 temp=234.1 pwm=1.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 117.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4209 bytes_read=17567 bytes_retransmit=9 bytes_invalid=0 send_seq=371 receive_seq=371 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999996 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000016 bytes_write=1366 bytes_read=6249 bytes_retransmit=0 bytes_invalid=0 send_seq=199 receive_seq=199 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000643 adj=50000710 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000014 bytes_write=4400 bytes_read=16344 bytes_retransmit=9 bytes_invalid=0 send_seq=356 receive_seq=356 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999428 adj=63999393 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1828 bytes_read=14318 bytes_retransmit=9 bytes_invalid=0 send_seq=224 receive_seq=224 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999688 adj=63999770 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=860 bytes_read=31894 bytes_retransmit=0 bytes_invalid=0 send_seq=142 receive_seq=142 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999970 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.36 cputime=12.483 memavail=353920 print_time=412.896 buffer_time=0.493 print_stall=0 extruder: target=230 temp=234.8 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 118.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4215 bytes_read=17684 bytes_retransmit=9 bytes_invalid=0 send_seq=372 receive_seq=372 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999998 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000016 bytes_write=1372 bytes_read=6265 bytes_retransmit=0 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000649 adj=50000650 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000014 bytes_write=4513 bytes_read=16518 bytes_retransmit=9 bytes_invalid=0 send_seq=361 receive_seq=361 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999429 adj=63999346 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1834 bytes_read=14432 bytes_retransmit=9 bytes_invalid=0 send_seq=225 receive_seq=225 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999685 adj=63999716 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=866 bytes_read=32250 bytes_retransmit=0 bytes_invalid=0 send_seq=143 receive_seq=143 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999969 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.36 cputime=12.535 memavail=353924 print_time=412.896 buffer_time=0.000 print_stall=0 extruder: target=230 temp=236.9 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 119.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4221 bytes_read=17816 bytes_retransmit=9 bytes_invalid=0 send_seq=373 receive_seq=373 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000005 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000018 bytes_write=1378 bytes_read=6294 bytes_retransmit=0 bytes_invalid=0 send_seq=201 receive_seq=201 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000642 adj=50000682 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000014 bytes_write=4562 bytes_read=16672 bytes_retransmit=9 bytes_invalid=0 send_seq=365 receive_seq=365 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999428 adj=63999351 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1840 bytes_read=14546 bytes_retransmit=9 bytes_invalid=0 send_seq=226 receive_seq=226 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999682 adj=63999695 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.4 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=872 bytes_read=32606 bytes_retransmit=0 bytes_invalid=0 send_seq=144 receive_seq=144 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999964 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.36 cputime=12.584 memavail=353924 print_time=412.896 buffer_time=0.000 print_stall=0 extruder: target=230 temp=236.0 pwm=0.198 extruder1: target=0 temp=22.2 pwm=0.000
Stats 120.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4227 bytes_read=17919 bytes_retransmit=9 bytes_invalid=0 send_seq=374 receive_seq=374 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000009 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000018 bytes_write=1384 bytes_read=6310 bytes_retransmit=0 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000637 adj=50000629 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000014 bytes_write=4628 bytes_read=16845 bytes_retransmit=9 bytes_invalid=0 send_seq=370 receive_seq=370 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999427 adj=63999328 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1846 bytes_read=14660 bytes_retransmit=9 bytes_invalid=0 send_seq=227 receive_seq=227 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999679 adj=63999662 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.4 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=878 bytes_read=32962 bytes_retransmit=0 bytes_invalid=0 send_seq=145 receive_seq=145 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=31999956 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.36 cputime=12.631 memavail=353428 print_time=412.896 buffer_time=0.000 print_stall=0 extruder: target=230 temp=233.9 pwm=1.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 121.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4233 bytes_read=18022 bytes_retransmit=9 bytes_invalid=0 send_seq=375 receive_seq=375 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000008 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000018 bytes_write=1390 bytes_read=6326 bytes_retransmit=0 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000631 adj=50000586 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000014 bytes_write=4854 bytes_read=17034 bytes_retransmit=9 bytes_invalid=0 send_seq=378 receive_seq=378 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999426 adj=63999308 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1852 bytes_read=14774 bytes_retransmit=9 bytes_invalid=0 send_seq=228 receive_seq=228 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999676 adj=63999633 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=884 bytes_read=33318 bytes_retransmit=0 bytes_invalid=0 send_seq=146 receive_seq=146 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=31999960 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.34 cputime=12.693 memavail=352680 print_time=419.401 buffer_time=2.996 print_stall=0 extruder: target=230 temp=234.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 122.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4239 bytes_read=18154 bytes_retransmit=9 bytes_invalid=0 send_seq=376 receive_seq=376 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000025 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000018 bytes_write=1396 bytes_read=6342 bytes_retransmit=0 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000629 adj=50000560 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000014 bytes_write=4888 bytes_read=17198 bytes_retransmit=9 bytes_invalid=0 send_seq=381 receive_seq=381 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999424 adj=63999345 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1858 bytes_read=14874 bytes_retransmit=9 bytes_invalid=0 send_seq=229 receive_seq=229 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999674 adj=63999625 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=890 bytes_read=33674 bytes_retransmit=0 bytes_invalid=0 send_seq=147 receive_seq=147 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999967 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.34 cputime=12.738 memavail=352680 print_time=419.401 buffer_time=1.995 print_stall=0 extruder: target=230 temp=236.9 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 123.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4245 bytes_read=18271 bytes_retransmit=9 bytes_invalid=0 send_seq=377 receive_seq=377 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000020 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000018 bytes_write=1402 bytes_read=6358 bytes_retransmit=0 bytes_invalid=0 send_seq=205 receive_seq=205 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000633 adj=50000501 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000014 bytes_write=4937 bytes_read=17366 bytes_retransmit=9 bytes_invalid=0 send_seq=385 receive_seq=385 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999421 adj=63999278 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1864 bytes_read=14988 bytes_retransmit=9 bytes_invalid=0 send_seq=230 receive_seq=230 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999672 adj=63999565 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.4 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=896 bytes_read=34030 bytes_retransmit=0 bytes_invalid=0 send_seq=148 receive_seq=148 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999939 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.34 cputime=12.784 memavail=352680 print_time=419.401 buffer_time=0.994 print_stall=0 extruder: target=230 temp=235.6 pwm=0.270 extruder1: target=0 temp=22.2 pwm=0.000
Stats 124.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4251 bytes_read=18374 bytes_retransmit=9 bytes_invalid=0 send_seq=378 receive_seq=378 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000031 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=1408 bytes_read=6387 bytes_retransmit=0 bytes_invalid=0 send_seq=206 receive_seq=206 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000626 adj=50000547 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000014 bytes_write=5110 bytes_read=17555 bytes_retransmit=9 bytes_invalid=0 send_seq=393 receive_seq=393 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999419 adj=63999274 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1870 bytes_read=15116 bytes_retransmit=9 bytes_invalid=0 send_seq=231 receive_seq=231 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999670 adj=63999561 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=902 bytes_read=34386 bytes_retransmit=0 bytes_invalid=0 send_seq=149 receive_seq=149 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=31999946 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.34 cputime=12.835 memavail=352680 print_time=419.401 buffer_time=0.000 print_stall=0 extruder: target=230 temp=233.2 pwm=1.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 125.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4257 bytes_read=18506 bytes_retransmit=9 bytes_invalid=0 send_seq=379 receive_seq=379 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000027 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=1414 bytes_read=6403 bytes_retransmit=0 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000615 adj=50000462 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000014 bytes_write=5173 bytes_read=17714 bytes_retransmit=9 bytes_invalid=0 send_seq=398 receive_seq=398 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999420 adj=63999223 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1876 bytes_read=15216 bytes_retransmit=9 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999667 adj=63999512 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=908 bytes_read=34735 bytes_retransmit=0 bytes_invalid=0 send_seq=150 receive_seq=150 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=31999952 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.34 cputime=12.881 memavail=352680 print_time=419.401 buffer_time=0.000 print_stall=0 extruder: target=230 temp=234.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 126.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4263 bytes_read=18609 bytes_retransmit=9 bytes_invalid=0 send_seq=380 receive_seq=380 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000022 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=1420 bytes_read=6419 bytes_retransmit=0 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000604 adj=50000376 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000014 bytes_write=5306 bytes_read=17902 bytes_retransmit=9 bytes_invalid=0 send_seq=403 receive_seq=403 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=49 upcoming_bytes=0 freq=63999419 adj=63999248 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1882 bytes_read=15344 bytes_retransmit=9 bytes_invalid=0 send_seq=233 receive_seq=233 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999665 adj=63999503 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=914 bytes_read=35080 bytes_retransmit=0 bytes_invalid=0 send_seq=151 receive_seq=151 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=31999949 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.068 sysload=0.31 cputime=12.943 memavail=352448 print_time=424.597 buffer_time=3.187 print_stall=0 extruder: target=230 temp=236.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 127.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4269 bytes_read=18712 bytes_retransmit=9 bytes_invalid=0 send_seq=381 receive_seq=381 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000017 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=1426 bytes_read=6435 bytes_retransmit=0 bytes_invalid=0 send_seq=209 receive_seq=209 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000629 adj=50000470 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000018 mcu_task_stddev=0.000014 bytes_write=5405 bytes_read=18071 bytes_retransmit=9 bytes_invalid=0 send_seq=407 receive_seq=407 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999416 adj=63999368 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1888 bytes_read=15444 bytes_retransmit=9 bytes_invalid=0 send_seq=234 receive_seq=234 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999667 adj=63999611 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=920 bytes_read=35424 bytes_retransmit=0 bytes_invalid=0 send_seq=152 receive_seq=152 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=31999992 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.31 cputime=12.987 memavail=352448 print_time=424.597 buffer_time=2.186 print_stall=0 extruder: target=230 temp=235.2 pwm=0.302 extruder1: target=0 temp=22.1 pwm=0.000
Stats 128.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4275 bytes_read=18858 bytes_retransmit=9 bytes_invalid=0 send_seq=382 receive_seq=382 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000009 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=1432 bytes_read=6451 bytes_retransmit=0 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000618 adj=50000669 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000018 mcu_task_stddev=0.000014 bytes_write=5471 bytes_read=18230 bytes_retransmit=9 bytes_invalid=0 send_seq=412 receive_seq=412 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999415 adj=63999363 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1894 bytes_read=15544 bytes_retransmit=9 bytes_invalid=0 send_seq=235 receive_seq=235 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999666 adj=63999641 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=926 bytes_read=35769 bytes_retransmit=0 bytes_invalid=0 send_seq=153 receive_seq=153 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=31999999 coil_temp=23.9 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=0.31 cputime=13.035 memavail=352448 print_time=424.597 buffer_time=1.185 print_stall=0 extruder: target=230 temp=233.1 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 129.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4281 bytes_read=18961 bytes_retransmit=9 bytes_invalid=0 send_seq=383 receive_seq=383 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000005 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=1438 bytes_read=6467 bytes_retransmit=0 bytes_invalid=0 send_seq=211 receive_seq=211 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000615 adj=50000608 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000018 mcu_task_stddev=0.000014 bytes_write=5629 bytes_read=18428 bytes_retransmit=9 bytes_invalid=0 send_seq=419 receive_seq=419 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=8 upcoming_bytes=0 freq=63999416 adj=63999373 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1900 bytes_read=15686 bytes_retransmit=9 bytes_invalid=0 send_seq=236 receive_seq=236 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999664 adj=63999649 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.7 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=932 bytes_read=36114 bytes_retransmit=0 bytes_invalid=0 send_seq=154 receive_seq=154 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=32000014 coil_temp=23.9 refs=0 mcu_temp=23.91 supply_voltage=3.069 sysload=0.31 cputime=13.088 memavail=352448 print_time=424.597 buffer_time=0.184 print_stall=0 extruder: target=230 temp=234.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 130.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4287 bytes_read=19064 bytes_retransmit=9 bytes_invalid=0 send_seq=384 receive_seq=384 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000001 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=1444 bytes_read=6496 bytes_retransmit=0 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000607 adj=50000591 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000018 mcu_task_stddev=0.000014 bytes_write=5676 bytes_read=18582 bytes_retransmit=9 bytes_invalid=0 send_seq=423 receive_seq=423 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999414 adj=63999388 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1906 bytes_read=15786 bytes_retransmit=9 bytes_invalid=0 send_seq=237 receive_seq=237 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999665 adj=63999646 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.8 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=938 bytes_read=36459 bytes_retransmit=0 bytes_invalid=0 send_seq=155 receive_seq=155 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999991 adj=32000022 coil_temp=24.0 refs=0 mcu_temp=23.92 supply_voltage=3.069 sysload=0.31 cputime=13.136 memavail=353208 print_time=424.597 buffer_time=0.000 print_stall=0 extruder: target=230 temp=236.0 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 131.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4293 bytes_read=19196 bytes_retransmit=9 bytes_invalid=0 send_seq=385 receive_seq=385 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999998 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=1450 bytes_read=6512 bytes_retransmit=0 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000594 adj=50000532 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000018 mcu_task_stddev=0.000014 bytes_write=5725 bytes_read=18736 bytes_retransmit=9 bytes_invalid=0 send_seq=427 receive_seq=427 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999417 adj=63999390 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1912 bytes_read=15886 bytes_retransmit=9 bytes_invalid=0 send_seq=238 receive_seq=238 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999668 adj=63999664 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.7 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=944 bytes_read=36804 bytes_retransmit=0 bytes_invalid=0 send_seq=156 receive_seq=156 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999992 adj=32000083 coil_temp=24.0 refs=0 mcu_temp=23.93 supply_voltage=3.068 sysload=0.28 cputime=13.185 memavail=353208 print_time=424.597 buffer_time=0.000 print_stall=0 extruder: target=230 temp=235.2 pwm=0.173 extruder1: target=0 temp=22.2 pwm=0.000
Stats 132.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4299 bytes_read=19299 bytes_retransmit=9 bytes_invalid=0 send_seq=386 receive_seq=386 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999996 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=1456 bytes_read=6528 bytes_retransmit=0 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000580 adj=50000417 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000012 bytes_write=5807 bytes_read=18944 bytes_retransmit=9 bytes_invalid=0 send_seq=433 receive_seq=433 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999416 adj=63999432 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1918 bytes_read=16014 bytes_retransmit=9 bytes_invalid=0 send_seq=239 receive_seq=239 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999667 adj=63999709 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=950 bytes_read=37149 bytes_retransmit=0 bytes_invalid=0 send_seq=157 receive_seq=157 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999991 adj=32000103 coil_temp=24.0 refs=0 mcu_temp=23.95 supply_voltage=3.068 sysload=0.28 cputime=13.234 memavail=353208 print_time=424.597 buffer_time=0.000 print_stall=0 extruder: target=230 temp=233.0 pwm=1.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 133.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4305 bytes_read=19416 bytes_retransmit=9 bytes_invalid=0 send_seq=387 receive_seq=387 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999994 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=1462 bytes_read=6544 bytes_retransmit=0 bytes_invalid=0 send_seq=215 receive_seq=215 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000566 adj=50000265 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000012 bytes_write=5883 bytes_read=19103 bytes_retransmit=9 bytes_invalid=0 send_seq=438 receive_seq=438 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999419 adj=63999423 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1924 bytes_read=16114 bytes_retransmit=9 bytes_invalid=0 send_seq=240 receive_seq=240 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999665 adj=63999700 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=956 bytes_read=37497 bytes_retransmit=0 bytes_invalid=0 send_seq=158 receive_seq=158 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999989 adj=32000091 coil_temp=24.0 refs=0 mcu_temp=23.96 supply_voltage=3.068 sysload=0.28 cputime=13.282 memavail=353208 print_time=424.597 buffer_time=0.000 print_stall=0 extruder: target=230 temp=233.7 pwm=0.003 extruder1: target=0 temp=22.1 pwm=0.000
Stats 134.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4311 bytes_read=19544 bytes_retransmit=9 bytes_invalid=0 send_seq=388 receive_seq=388 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000007 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=1468 bytes_read=6560 bytes_retransmit=0 bytes_invalid=0 send_seq=216 receive_seq=216 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000553 adj=50000088 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000012 bytes_write=5917 bytes_read=19252 bytes_retransmit=9 bytes_invalid=0 send_seq=441 receive_seq=441 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999418 adj=63999471 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1930 bytes_read=16228 bytes_retransmit=9 bytes_invalid=0 send_seq=241 receive_seq=241 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999664 adj=63999684 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.8 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=962 bytes_read=37853 bytes_retransmit=0 bytes_invalid=0 send_seq=159 receive_seq=159 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999989 adj=32000075 coil_temp=24.0 refs=0 mcu_temp=23.97 supply_voltage=3.068 sysload=0.28 cputime=13.330 memavail=352244 print_time=424.597 buffer_time=0.000 print_stall=0 extruder: target=230 temp=235.9 pwm=0.003 extruder1: target=0 temp=22.2 pwm=0.000
Stats 135.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4317 bytes_read=19640 bytes_retransmit=9 bytes_invalid=0 send_seq=389 receive_seq=389 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000005 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1474 bytes_read=6589 bytes_retransmit=0 bytes_invalid=0 send_seq=217 receive_seq=217 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000548 adj=49999951 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000012 bytes_write=5951 bytes_read=19430 bytes_retransmit=9 bytes_invalid=0 send_seq=444 receive_seq=444 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=10 upcoming_bytes=0 freq=63999428 adj=63999378 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1936 bytes_read=16356 bytes_retransmit=9 bytes_invalid=0 send_seq=242 receive_seq=242 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999664 adj=63999611 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=968 bytes_read=38209 bytes_retransmit=0 bytes_invalid=0 send_seq=160 receive_seq=160 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999990 adj=32000016 coil_temp=24.0 refs=0 mcu_temp=23.97 supply_voltage=3.069 sysload=0.28 cputime=13.378 memavail=352244 print_time=424.597 buffer_time=0.000 print_stall=0 extruder: target=230 temp=234.8 pwm=0.245 extruder1: target=0 temp=22.2 pwm=0.000
Stats 136.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4323 bytes_read=19743 bytes_retransmit=9 bytes_invalid=0 send_seq=390 receive_seq=390 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000000 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1480 bytes_read=6605 bytes_retransmit=0 bytes_invalid=0 send_seq=218 receive_seq=218 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000530 adj=50000041 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000012 bytes_write=6043 bytes_read=19594 bytes_retransmit=9 bytes_invalid=0 send_seq=450 receive_seq=450 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999425 adj=63999540 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1942 bytes_read=16456 bytes_retransmit=9 bytes_invalid=0 send_seq=243 receive_seq=243 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999663 adj=63999620 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=974 bytes_read=38565 bytes_retransmit=0 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999988 adj=32000026 coil_temp=24.0 refs=0 mcu_temp=23.97 supply_voltage=3.069 sysload=0.26 cputime=13.426 memavail=352244 print_time=424.597 buffer_time=0.000 print_stall=0 extruder: target=230 temp=233.1 pwm=1.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 137.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4329 bytes_read=19875 bytes_retransmit=9 bytes_invalid=0 send_seq=391 receive_seq=391 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000005 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1486 bytes_read=6621 bytes_retransmit=0 bytes_invalid=0 send_seq=219 receive_seq=219 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000509 adj=49999926 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=6124 bytes_read=19772 bytes_retransmit=9 bytes_invalid=0 send_seq=456 receive_seq=456 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999442 adj=63999505 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1948 bytes_read=16556 bytes_retransmit=9 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999662 adj=63999656 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=32.7 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=980 bytes_read=38921 bytes_retransmit=0 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999988 adj=32000008 coil_temp=24.0 refs=0 mcu_temp=23.97 supply_voltage=3.069 sysload=0.26 cputime=13.473 memavail=352244 print_time=424.597 buffer_time=0.000 print_stall=0 extruder: target=230 temp=233.4 pwm=0.189 extruder1: target=0 temp=22.3 pwm=0.000
Stats 138.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4335 bytes_read=19992 bytes_retransmit=9 bytes_invalid=0 send_seq=392 receive_seq=392 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999999 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1492 bytes_read=6637 bytes_retransmit=0 bytes_invalid=0 send_seq=220 receive_seq=220 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000485 adj=49999755 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=6171 bytes_read=19955 bytes_retransmit=9 bytes_invalid=0 send_seq=460 receive_seq=460 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999437 adj=63999701 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1954 bytes_read=16684 bytes_retransmit=9 bytes_invalid=0 send_seq=245 receive_seq=245 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999658 adj=63999609 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.7 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=986 bytes_read=39277 bytes_retransmit=0 bytes_invalid=0 send_seq=163 receive_seq=163 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999986 adj=31999991 coil_temp=24.0 refs=0 mcu_temp=23.97 supply_voltage=3.069 sysload=0.26 cputime=13.504 memavail=346952 print_time=424.597 buffer_time=0.000 print_stall=0 extruder: target=230 temp=235.9 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 139.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4341 bytes_read=20095 bytes_retransmit=9 bytes_invalid=0 send_seq=393 receive_seq=393 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000005 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1498 bytes_read=6653 bytes_retransmit=0 bytes_invalid=0 send_seq=221 receive_seq=221 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000454 adj=49999620 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=6215 bytes_read=20104 bytes_retransmit=9 bytes_invalid=0 send_seq=463 receive_seq=463 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999432 adj=63999589 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1960 bytes_read=16798 bytes_retransmit=9 bytes_invalid=0 send_seq=246 receive_seq=246 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999658 adj=63999606 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.8 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=992 bytes_read=39633 bytes_retransmit=0 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=31999981 coil_temp=24.0 refs=0 mcu_temp=23.97 supply_voltage=3.069 sysload=0.26 cputime=13.528 memavail=343688 print_time=424.597 buffer_time=0.000 print_stall=0 extruder: target=230 temp=235.0 pwm=0.096 extruder1: target=0 temp=22.1 pwm=0.000
Stats 140.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4347 bytes_read=20227 bytes_retransmit=9 bytes_invalid=0 send_seq=394 receive_seq=394 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000003 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=1504 bytes_read=6682 bytes_retransmit=0 bytes_invalid=0 send_seq=222 receive_seq=222 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000420 adj=49999373 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=6278 bytes_read=20263 bytes_retransmit=9 bytes_invalid=0 send_seq=468 receive_seq=468 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999427 adj=63999441 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1966 bytes_read=16898 bytes_retransmit=9 bytes_invalid=0 send_seq=247 receive_seq=247 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999574 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=998 bytes_read=39973 bytes_retransmit=0 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=31999945 coil_temp=24.1 refs=0 mcu_temp=23.97 supply_voltage=3.069 sysload=0.26 cputime=13.555 memavail=340392 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=232.9 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 141.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4353 bytes_read=20330 bytes_retransmit=9 bytes_invalid=0 send_seq=395 receive_seq=395 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999991 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=1510 bytes_read=6698 bytes_retransmit=0 bytes_invalid=0 send_seq=223 receive_seq=223 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000387 adj=49999162 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=6312 bytes_read=20441 bytes_retransmit=9 bytes_invalid=0 send_seq=471 receive_seq=471 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999424 adj=63999390 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1972 bytes_read=17026 bytes_retransmit=9 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999567 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=32.8 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1004 bytes_read=40329 bytes_retransmit=0 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=31999959 coil_temp=24.1 refs=0 mcu_temp=23.97 supply_voltage=3.069 sysload=0.24 cputime=13.580 memavail=339736 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=231.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 142.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4359 bytes_read=20433 bytes_retransmit=9 bytes_invalid=0 send_seq=396 receive_seq=396 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999982 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=1516 bytes_read=6714 bytes_retransmit=0 bytes_invalid=0 send_seq=224 receive_seq=224 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000350 adj=49999034 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6346 bytes_read=20604 bytes_retransmit=9 bytes_invalid=0 send_seq=474 receive_seq=474 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999420 adj=63999414 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1978 bytes_read=17126 bytes_retransmit=9 bytes_invalid=0 send_seq=249 receive_seq=249 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999599 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1010 bytes_read=40685 bytes_retransmit=0 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=31999968 coil_temp=24.1 refs=0 mcu_temp=23.97 supply_voltage=3.069 sysload=0.24 cputime=13.601 memavail=343460 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=230.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 143.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4365 bytes_read=20579 bytes_retransmit=9 bytes_invalid=0 send_seq=397 receive_seq=397 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999972 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=1522 bytes_read=6730 bytes_retransmit=0 bytes_invalid=0 send_seq=225 receive_seq=225 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000312 adj=49998874 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6380 bytes_read=20753 bytes_retransmit=9 bytes_invalid=0 send_seq=477 receive_seq=477 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999418 adj=63999405 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1984 bytes_read=17226 bytes_retransmit=9 bytes_invalid=0 send_seq=250 receive_seq=250 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999619 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1016 bytes_read=41041 bytes_retransmit=0 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=31999969 coil_temp=24.1 refs=0 mcu_temp=23.99 supply_voltage=3.069 sysload=0.24 cputime=13.637 memavail=347720 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=228.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 144.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4371 bytes_read=20682 bytes_retransmit=9 bytes_invalid=0 send_seq=398 receive_seq=398 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999965 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=1528 bytes_read=6746 bytes_retransmit=0 bytes_invalid=0 send_seq=226 receive_seq=226 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000271 adj=49998735 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6414 bytes_read=20931 bytes_retransmit=9 bytes_invalid=0 send_seq=480 receive_seq=480 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999421 adj=63999430 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1990 bytes_read=17368 bytes_retransmit=9 bytes_invalid=0 send_seq=251 receive_seq=251 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999645 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1022 bytes_read=41397 bytes_retransmit=0 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=32000011 coil_temp=24.1 refs=0 mcu_temp=24.01 supply_voltage=3.069 sysload=0.24 cputime=13.663 memavail=351524 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=225.7 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 145.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4377 bytes_read=20785 bytes_retransmit=9 bytes_invalid=0 send_seq=399 receive_seq=399 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999968 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=1534 bytes_read=6775 bytes_retransmit=0 bytes_invalid=0 send_seq=227 receive_seq=227 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000235 adj=49998574 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6448 bytes_read=21080 bytes_retransmit=9 bytes_invalid=0 send_seq=483 receive_seq=483 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999416 adj=63999508 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1996 bytes_read=17468 bytes_retransmit=9 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999644 adj=63999678 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1028 bytes_read=41753 bytes_retransmit=0 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999990 coil_temp=24.1 refs=0 mcu_temp=24.02 supply_voltage=3.069 sysload=0.24 cputime=13.684 memavail=351524 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=224.1 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 146.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4383 bytes_read=20917 bytes_retransmit=9 bytes_invalid=0 send_seq=400 receive_seq=400 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999962 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=1540 bytes_read=6791 bytes_retransmit=0 bytes_invalid=0 send_seq=228 receive_seq=228 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000194 adj=49998461 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6482 bytes_read=21229 bytes_retransmit=9 bytes_invalid=0 send_seq=486 receive_seq=486 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999416 adj=63999410 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2002 bytes_read=17568 bytes_retransmit=9 bytes_invalid=0 send_seq=253 receive_seq=253 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999641 adj=63999633 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1034 bytes_read=42109 bytes_retransmit=0 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=31999965 coil_temp=24.1 refs=0 mcu_temp=24.03 supply_voltage=3.069 sysload=0.22 cputime=13.706 memavail=351524 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=222.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 147.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4389 bytes_read=21020 bytes_retransmit=9 bytes_invalid=0 send_seq=401 receive_seq=401 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999954 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=1546 bytes_read=6807 bytes_retransmit=0 bytes_invalid=0 send_seq=229 receive_seq=229 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000152 adj=49998327 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6516 bytes_read=21421 bytes_retransmit=9 bytes_invalid=0 send_seq=489 receive_seq=489 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999412 adj=63999449 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2008 bytes_read=17696 bytes_retransmit=9 bytes_invalid=0 send_seq=254 receive_seq=254 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999628 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1040 bytes_read=42465 bytes_retransmit=0 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=31999967 coil_temp=24.1 refs=0 mcu_temp=24.05 supply_voltage=3.069 sysload=0.22 cputime=13.727 memavail=351524 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=220.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 148.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4395 bytes_read=21137 bytes_retransmit=9 bytes_invalid=0 send_seq=402 receive_seq=402 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999965 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=1552 bytes_read=6823 bytes_retransmit=0 bytes_invalid=0 send_seq=230 receive_seq=230 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000110 adj=49998214 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6550 bytes_read=21570 bytes_retransmit=9 bytes_invalid=0 send_seq=492 receive_seq=492 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999411 adj=63999426 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2014 bytes_read=17796 bytes_retransmit=9 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999641 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1046 bytes_read=42821 bytes_retransmit=0 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999991 coil_temp=24.1 refs=0 mcu_temp=24.05 supply_voltage=3.069 sysload=0.22 cputime=13.750 memavail=351276 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=218.5 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 149.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4401 bytes_read=21269 bytes_retransmit=9 bytes_invalid=0 send_seq=403 receive_seq=403 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999963 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=1558 bytes_read=6839 bytes_retransmit=0 bytes_invalid=0 send_seq=231 receive_seq=231 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000075 adj=49998037 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6584 bytes_read=21719 bytes_retransmit=9 bytes_invalid=0 send_seq=495 receive_seq=495 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999413 adj=63999352 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2020 bytes_read=17910 bytes_retransmit=9 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999586 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.1 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1052 bytes_read=43177 bytes_retransmit=0 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=31999938 coil_temp=24.1 refs=0 mcu_temp=24.06 supply_voltage=3.069 sysload=0.22 cputime=13.785 memavail=346880 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=216.6 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 150.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4407 bytes_read=21372 bytes_retransmit=9 bytes_invalid=0 send_seq=404 receive_seq=404 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999972 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=1564 bytes_read=6868 bytes_retransmit=0 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000032 adj=49998054 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6618 bytes_read=21897 bytes_retransmit=9 bytes_invalid=0 send_seq=498 receive_seq=498 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999418 adj=63999404 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2026 bytes_read=18038 bytes_retransmit=9 bytes_invalid=0 send_seq=257 receive_seq=257 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999614 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.1 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1058 bytes_read=43533 bytes_retransmit=0 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999941 coil_temp=24.2 refs=0 mcu_temp=24.07 supply_voltage=3.069 sysload=0.22 cputime=13.808 memavail=346880 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=214.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 151.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4413 bytes_read=21475 bytes_retransmit=9 bytes_invalid=0 send_seq=405 receive_seq=405 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999971 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=1570 bytes_read=6884 bytes_retransmit=0 bytes_invalid=0 send_seq=233 receive_seq=233 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999989 adj=49997882 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6652 bytes_read=22046 bytes_retransmit=9 bytes_invalid=0 send_seq=501 receive_seq=501 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999417 adj=63999441 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2032 bytes_read=18138 bytes_retransmit=9 bytes_invalid=0 send_seq=258 receive_seq=258 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999554 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1064 bytes_read=43889 bytes_retransmit=0 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999905 coil_temp=24.2 refs=0 mcu_temp=24.08 supply_voltage=3.069 sysload=0.20 cputime=13.831 memavail=346880 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=212.9 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 152.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4419 bytes_read=21607 bytes_retransmit=9 bytes_invalid=0 send_seq=406 receive_seq=406 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999962 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=1576 bytes_read=6900 bytes_retransmit=0 bytes_invalid=0 send_seq=234 receive_seq=234 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999949 adj=49997794 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6686 bytes_read=22209 bytes_retransmit=9 bytes_invalid=0 send_seq=504 receive_seq=504 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999413 adj=63999417 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2038 bytes_read=18238 bytes_retransmit=9 bytes_invalid=0 send_seq=259 receive_seq=259 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999550 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1070 bytes_read=44245 bytes_retransmit=0 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999910 coil_temp=24.2 refs=0 mcu_temp=24.08 supply_voltage=3.069 sysload=0.20 cputime=13.853 memavail=347384 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=211.4 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 153.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4425 bytes_read=21724 bytes_retransmit=9 bytes_invalid=0 send_seq=407 receive_seq=407 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999954 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=1582 bytes_read=6916 bytes_retransmit=0 bytes_invalid=0 send_seq=235 receive_seq=235 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999914 adj=49997779 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6720 bytes_read=22387 bytes_retransmit=9 bytes_invalid=0 send_seq=507 receive_seq=507 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999410 adj=63999415 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2044 bytes_read=18366 bytes_retransmit=9 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999632 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1076 bytes_read=44601 bytes_retransmit=0 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999933 coil_temp=24.2 refs=0 mcu_temp=24.08 supply_voltage=3.069 sysload=0.20 cputime=13.876 memavail=347148 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=209.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 154.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4431 bytes_read=21827 bytes_retransmit=9 bytes_invalid=0 send_seq=408 receive_seq=408 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999948 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=1588 bytes_read=6932 bytes_retransmit=0 bytes_invalid=0 send_seq=236 receive_seq=236 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999885 adj=49997849 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6754 bytes_read=22536 bytes_retransmit=9 bytes_invalid=0 send_seq=510 receive_seq=510 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999408 adj=63999420 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2050 bytes_read=18480 bytes_retransmit=9 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999675 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=44.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1082 bytes_read=44957 bytes_retransmit=0 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999951 coil_temp=24.2 refs=0 mcu_temp=24.08 supply_voltage=3.069 sysload=0.20 cputime=13.910 memavail=346648 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=208.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 155.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4437 bytes_read=21959 bytes_retransmit=9 bytes_invalid=0 send_seq=409 receive_seq=409 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999945 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=1594 bytes_read=6961 bytes_retransmit=0 bytes_invalid=0 send_seq=237 receive_seq=237 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999851 adj=49997961 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6788 bytes_read=22685 bytes_retransmit=9 bytes_invalid=0 send_seq=513 receive_seq=513 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999406 adj=63999423 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2056 bytes_read=18580 bytes_retransmit=9 bytes_invalid=0 send_seq=262 receive_seq=262 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999678 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.3 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1088 bytes_read=45313 bytes_retransmit=0 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999956 coil_temp=24.2 refs=0 mcu_temp=24.08 supply_voltage=3.069 sysload=0.20 cputime=13.956 memavail=346648 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=206.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 156.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4443 bytes_read=22062 bytes_retransmit=9 bytes_invalid=0 send_seq=410 receive_seq=410 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999944 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=1600 bytes_read=6977 bytes_retransmit=0 bytes_invalid=0 send_seq=238 receive_seq=238 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999813 adj=49997945 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6822 bytes_read=22863 bytes_retransmit=9 bytes_invalid=0 send_seq=516 receive_seq=516 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999405 adj=63999408 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2062 bytes_read=18708 bytes_retransmit=9 bytes_invalid=0 send_seq=263 receive_seq=263 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999723 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1094 bytes_read=45669 bytes_retransmit=0 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000075 coil_temp=24.2 refs=0 mcu_temp=24.10 supply_voltage=3.069 sysload=0.18 cputime=14.002 memavail=346648 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=204.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 157.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4449 bytes_read=22165 bytes_retransmit=9 bytes_invalid=0 send_seq=411 receive_seq=411 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999943 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=1606 bytes_read=6993 bytes_retransmit=0 bytes_invalid=0 send_seq=239 receive_seq=239 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999774 adj=49997866 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6856 bytes_read=23026 bytes_retransmit=9 bytes_invalid=0 send_seq=519 receive_seq=519 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999403 adj=63999397 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2068 bytes_read=18808 bytes_retransmit=9 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999704 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1100 bytes_read=46025 bytes_retransmit=0 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=32000038 coil_temp=24.2 refs=0 mcu_temp=24.10 supply_voltage=3.069 sysload=0.18 cputime=14.047 memavail=346652 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=203.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 158.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4455 bytes_read=22305 bytes_retransmit=9 bytes_invalid=0 send_seq=412 receive_seq=412 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999952 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=1612 bytes_read=7009 bytes_retransmit=0 bytes_invalid=0 send_seq=240 receive_seq=240 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999739 adj=49997783 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6890 bytes_read=23175 bytes_retransmit=9 bytes_invalid=0 send_seq=522 receive_seq=522 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999402 adj=63999379 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2074 bytes_read=18908 bytes_retransmit=9 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999707 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1106 bytes_read=46381 bytes_retransmit=0 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=32000009 coil_temp=24.2 refs=0 mcu_temp=24.11 supply_voltage=3.069 sysload=0.18 cputime=14.093 memavail=346652 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=201.6 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 159.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4461 bytes_read=22403 bytes_retransmit=9 bytes_invalid=0 send_seq=413 receive_seq=413 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999949 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=1618 bytes_read=7025 bytes_retransmit=0 bytes_invalid=0 send_seq=241 receive_seq=241 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999701 adj=49997715 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6924 bytes_read=23353 bytes_retransmit=9 bytes_invalid=0 send_seq=525 receive_seq=525 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999400 adj=63999336 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2080 bytes_read=19050 bytes_retransmit=9 bytes_invalid=0 send_seq=266 receive_seq=266 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999637 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1112 bytes_read=46737 bytes_retransmit=0 bytes_invalid=0 send_seq=184 receive_seq=184 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999977 coil_temp=24.2 refs=0 mcu_temp=24.11 supply_voltage=3.069 sysload=0.18 cputime=14.141 memavail=346672 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=199.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 160.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4467 bytes_read=22506 bytes_retransmit=9 bytes_invalid=0 send_seq=414 receive_seq=414 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999959 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=1624 bytes_read=7054 bytes_retransmit=0 bytes_invalid=0 send_seq=242 receive_seq=242 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999664 adj=49997670 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6958 bytes_read=23502 bytes_retransmit=9 bytes_invalid=0 send_seq=528 receive_seq=528 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999399 adj=63999344 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2086 bytes_read=19150 bytes_retransmit=9 bytes_invalid=0 send_seq=267 receive_seq=267 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999660 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1118 bytes_read=47093 bytes_retransmit=0 bytes_invalid=0 send_seq=185 receive_seq=185 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999985 coil_temp=24.2 refs=0 mcu_temp=24.11 supply_voltage=3.069 sysload=0.18 cputime=14.188 memavail=346672 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=198.4 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 161.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4473 bytes_read=22638 bytes_retransmit=9 bytes_invalid=0 send_seq=415 receive_seq=415 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999956 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=1630 bytes_read=7070 bytes_retransmit=0 bytes_invalid=0 send_seq=243 receive_seq=243 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999630 adj=49997593 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=6992 bytes_read=23651 bytes_retransmit=9 bytes_invalid=0 send_seq=531 receive_seq=531 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999404 adj=63999286 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2092 bytes_read=19250 bytes_retransmit=9 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999616 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1124 bytes_read=47449 bytes_retransmit=0 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999956 coil_temp=24.2 refs=0 mcu_temp=24.11 supply_voltage=3.069 sysload=0.17 cputime=14.234 memavail=346672 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=197.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 162.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4479 bytes_read=22741 bytes_retransmit=9 bytes_invalid=0 send_seq=416 receive_seq=416 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999953 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=1636 bytes_read=7086 bytes_retransmit=0 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999596 adj=49997606 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7026 bytes_read=23843 bytes_retransmit=9 bytes_invalid=0 send_seq=534 receive_seq=534 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999402 adj=63999411 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2098 bytes_read=19378 bytes_retransmit=9 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999636 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.3 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1130 bytes_read=47805 bytes_retransmit=0 bytes_invalid=0 send_seq=187 receive_seq=187 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999970 coil_temp=24.2 refs=0 mcu_temp=24.11 supply_voltage=3.069 sysload=0.17 cputime=14.278 memavail=346924 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=195.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 163.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4485 bytes_read=22858 bytes_retransmit=9 bytes_invalid=0 send_seq=417 receive_seq=417 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999953 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=1642 bytes_read=7102 bytes_retransmit=0 bytes_invalid=0 send_seq=245 receive_seq=245 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999564 adj=49997617 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7060 bytes_read=23992 bytes_retransmit=9 bytes_invalid=0 send_seq=537 receive_seq=537 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999405 adj=63999405 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2104 bytes_read=19478 bytes_retransmit=9 bytes_invalid=0 send_seq=270 receive_seq=270 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999637 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1136 bytes_read=48161 bytes_retransmit=0 bytes_invalid=0 send_seq=188 receive_seq=188 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999971 coil_temp=24.2 refs=0 mcu_temp=24.11 supply_voltage=3.069 sysload=0.17 cputime=14.323 memavail=346924 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=194.0 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 164.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4497 bytes_read=23006 bytes_retransmit=9 bytes_invalid=0 send_seq=419 receive_seq=419 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999954 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=1654 bytes_read=7134 bytes_retransmit=0 bytes_invalid=0 send_seq=247 receive_seq=247 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999506 adj=49997631 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7100 bytes_read=24157 bytes_retransmit=9 bytes_invalid=0 send_seq=541 receive_seq=541 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999408 adj=63999454 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2116 bytes_read=19608 bytes_retransmit=9 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999639 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1148 bytes_read=48533 bytes_retransmit=0 bytes_invalid=0 send_seq=190 receive_seq=190 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999968 coil_temp=24.2 refs=0 mcu_temp=24.11 supply_voltage=3.069 sysload=0.17 cputime=14.372 memavail=346688 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=192.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 165.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4503 bytes_read=23109 bytes_retransmit=9 bytes_invalid=0 send_seq=420 receive_seq=420 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999953 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1660 bytes_read=7163 bytes_retransmit=0 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999476 adj=49997253 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7134 bytes_read=24335 bytes_retransmit=9 bytes_invalid=0 send_seq=544 receive_seq=544 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999410 adj=63999480 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2122 bytes_read=19736 bytes_retransmit=9 bytes_invalid=0 send_seq=273 receive_seq=273 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999642 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1154 bytes_read=48889 bytes_retransmit=0 bytes_invalid=0 send_seq=191 receive_seq=191 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999956 coil_temp=24.2 refs=0 mcu_temp=24.10 supply_voltage=3.069 sysload=0.17 cputime=14.418 memavail=346688 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=191.1 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 166.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4509 bytes_read=23212 bytes_retransmit=9 bytes_invalid=0 send_seq=421 receive_seq=421 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999951 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1666 bytes_read=7179 bytes_retransmit=0 bytes_invalid=0 send_seq=249 receive_seq=249 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999447 adj=49997370 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7168 bytes_read=24484 bytes_retransmit=9 bytes_invalid=0 send_seq=547 receive_seq=547 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999409 adj=63999504 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2128 bytes_read=19836 bytes_retransmit=9 bytes_invalid=0 send_seq=274 receive_seq=274 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999670 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1160 bytes_read=49245 bytes_retransmit=0 bytes_invalid=0 send_seq=192 receive_seq=192 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999957 coil_temp=24.2 refs=0 mcu_temp=24.10 supply_voltage=3.069 sysload=0.16 cputime=14.461 memavail=346692 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=189.9 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 167.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4515 bytes_read=23344 bytes_retransmit=9 bytes_invalid=0 send_seq=422 receive_seq=422 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999950 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1672 bytes_read=7195 bytes_retransmit=0 bytes_invalid=0 send_seq=250 receive_seq=250 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999419 adj=49997471 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7202 bytes_read=24647 bytes_retransmit=9 bytes_invalid=0 send_seq=550 receive_seq=550 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999407 adj=63999484 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2134 bytes_read=19936 bytes_retransmit=9 bytes_invalid=0 send_seq=275 receive_seq=275 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999677 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.3 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1166 bytes_read=49601 bytes_retransmit=0 bytes_invalid=0 send_seq=193 receive_seq=193 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999979 coil_temp=24.2 refs=0 mcu_temp=24.10 supply_voltage=3.069 sysload=0.16 cputime=14.505 memavail=346944 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=188.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 168.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4521 bytes_read=23461 bytes_retransmit=9 bytes_invalid=0 send_seq=423 receive_seq=423 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999944 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1678 bytes_read=7211 bytes_retransmit=0 bytes_invalid=0 send_seq=251 receive_seq=251 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999390 adj=49997555 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7236 bytes_read=24825 bytes_retransmit=9 bytes_invalid=0 send_seq=553 receive_seq=553 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999405 adj=63999445 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2140 bytes_read=20064 bytes_retransmit=9 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999641 adj=63999727 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1172 bytes_read=49957 bytes_retransmit=0 bytes_invalid=0 send_seq=194 receive_seq=194 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000043 coil_temp=24.2 refs=0 mcu_temp=24.10 supply_voltage=3.069 sysload=0.16 cputime=14.551 memavail=346944 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=186.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 169.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4527 bytes_read=23564 bytes_retransmit=9 bytes_invalid=0 send_seq=424 receive_seq=424 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999943 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1684 bytes_read=7227 bytes_retransmit=0 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999361 adj=49997621 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7270 bytes_read=24974 bytes_retransmit=9 bytes_invalid=0 send_seq=556 receive_seq=556 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999403 adj=63999437 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2146 bytes_read=20164 bytes_retransmit=9 bytes_invalid=0 send_seq=277 receive_seq=277 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999644 adj=63999749 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1178 bytes_read=50313 bytes_retransmit=0 bytes_invalid=0 send_seq=195 receive_seq=195 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=32000031 coil_temp=24.2 refs=0 mcu_temp=24.10 supply_voltage=3.069 sysload=0.16 cputime=14.592 memavail=346944 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=185.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 170.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4533 bytes_read=23696 bytes_retransmit=9 bytes_invalid=0 send_seq=425 receive_seq=425 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999944 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1690 bytes_read=7256 bytes_retransmit=0 bytes_invalid=0 send_seq=253 receive_seq=253 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999340 adj=49997639 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7304 bytes_read=25123 bytes_retransmit=9 bytes_invalid=0 send_seq=559 receive_seq=559 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999403 adj=63999409 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2152 bytes_read=20278 bytes_retransmit=9 bytes_invalid=0 send_seq=278 receive_seq=278 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999644 adj=63999787 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1184 bytes_read=50669 bytes_retransmit=0 bytes_invalid=0 send_seq=196 receive_seq=196 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=32000005 coil_temp=24.2 refs=0 mcu_temp=24.12 supply_voltage=3.069 sysload=0.16 cputime=14.636 memavail=347196 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=184.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 171.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4539 bytes_read=23799 bytes_retransmit=9 bytes_invalid=0 send_seq=426 receive_seq=426 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999956 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1696 bytes_read=7272 bytes_retransmit=0 bytes_invalid=0 send_seq=254 receive_seq=254 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999313 adj=49997745 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7338 bytes_read=25301 bytes_retransmit=9 bytes_invalid=0 send_seq=562 receive_seq=562 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999401 adj=63999407 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2158 bytes_read=20406 bytes_retransmit=9 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999751 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1190 bytes_read=51025 bytes_retransmit=0 bytes_invalid=0 send_seq=197 receive_seq=197 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999985 coil_temp=24.2 refs=0 mcu_temp=24.12 supply_voltage=3.069 sysload=0.14 cputime=14.682 memavail=347196 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=182.7 pwm=0.000 extruder1: target=0 temp=22.0 pwm=0.000
Stats 172.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4545 bytes_read=23902 bytes_retransmit=9 bytes_invalid=0 send_seq=427 receive_seq=427 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999953 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1702 bytes_read=7288 bytes_retransmit=0 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999290 adj=49997702 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7372 bytes_read=25462 bytes_retransmit=9 bytes_invalid=0 send_seq=565 receive_seq=565 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999400 adj=63999321 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2164 bytes_read=20504 bytes_retransmit=9 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999642 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1196 bytes_read=51381 bytes_retransmit=0 bytes_invalid=0 send_seq=198 receive_seq=198 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999952 coil_temp=24.2 refs=0 mcu_temp=24.12 supply_voltage=3.069 sysload=0.14 cputime=14.727 memavail=347952 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=181.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 173.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4551 bytes_read=24048 bytes_retransmit=9 bytes_invalid=0 send_seq=428 receive_seq=428 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999951 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1708 bytes_read=7304 bytes_retransmit=0 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999267 adj=49997762 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7406 bytes_read=25604 bytes_retransmit=9 bytes_invalid=0 send_seq=568 receive_seq=568 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999400 adj=63999340 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2170 bytes_read=20597 bytes_retransmit=9 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999649 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1202 bytes_read=51737 bytes_retransmit=0 bytes_invalid=0 send_seq=199 receive_seq=199 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=31999965 coil_temp=24.2 refs=0 mcu_temp=24.12 supply_voltage=3.068 sysload=0.14 cputime=14.771 memavail=347448 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=180.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 174.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4557 bytes_read=24151 bytes_retransmit=9 bytes_invalid=0 send_seq=429 receive_seq=429 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999952 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=1714 bytes_read=7320 bytes_retransmit=0 bytes_invalid=0 send_seq=257 receive_seq=257 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999242 adj=49997821 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7440 bytes_read=25773 bytes_retransmit=9 bytes_invalid=0 send_seq=571 receive_seq=571 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999403 adj=63999381 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2176 bytes_read=20716 bytes_retransmit=9 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999668 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1208 bytes_read=52093 bytes_retransmit=0 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999993 coil_temp=24.2 refs=0 mcu_temp=24.14 supply_voltage=3.068 sysload=0.14 cputime=14.795 memavail=347196 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=178.8 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 175.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4563 bytes_read=24254 bytes_retransmit=9 bytes_invalid=0 send_seq=430 receive_seq=430 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999944 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1720 bytes_read=7349 bytes_retransmit=0 bytes_invalid=0 send_seq=258 receive_seq=258 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999217 adj=49997805 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7474 bytes_read=25915 bytes_retransmit=9 bytes_invalid=0 send_seq=574 receive_seq=574 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999401 adj=63999431 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2182 bytes_read=20823 bytes_retransmit=9 bytes_invalid=0 send_seq=283 receive_seq=283 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999622 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1214 bytes_read=52449 bytes_retransmit=0 bytes_invalid=0 send_seq=201 receive_seq=201 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999967 coil_temp=24.2 refs=0 mcu_temp=24.14 supply_voltage=3.068 sysload=0.14 cputime=14.816 memavail=347196 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=177.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 176.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4569 bytes_read=24386 bytes_retransmit=9 bytes_invalid=0 send_seq=431 receive_seq=431 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999938 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1726 bytes_read=7365 bytes_retransmit=0 bytes_invalid=0 send_seq=259 receive_seq=259 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999193 adj=49997817 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7508 bytes_read=26057 bytes_retransmit=9 bytes_invalid=0 send_seq=577 receive_seq=577 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999399 adj=63999437 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2188 bytes_read=20916 bytes_retransmit=9 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999632 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1220 bytes_read=52805 bytes_retransmit=0 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999977 coil_temp=24.2 refs=0 mcu_temp=24.14 supply_voltage=3.068 sysload=0.13 cputime=14.837 memavail=347644 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=176.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 177.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4575 bytes_read=24489 bytes_retransmit=9 bytes_invalid=0 send_seq=432 receive_seq=432 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999932 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1732 bytes_read=7381 bytes_retransmit=0 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999170 adj=49997840 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7542 bytes_read=26249 bytes_retransmit=9 bytes_invalid=0 send_seq=580 receive_seq=580 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999401 adj=63999437 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2194 bytes_read=21044 bytes_retransmit=9 bytes_invalid=0 send_seq=285 receive_seq=285 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999638 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1226 bytes_read=53161 bytes_retransmit=0 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999979 coil_temp=24.2 refs=0 mcu_temp=24.15 supply_voltage=3.068 sysload=0.13 cputime=14.859 memavail=347700 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=174.9 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 178.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4581 bytes_read=24606 bytes_retransmit=9 bytes_invalid=0 send_seq=433 receive_seq=433 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999926 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1738 bytes_read=7397 bytes_retransmit=0 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999150 adj=49997856 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7576 bytes_read=26398 bytes_retransmit=9 bytes_invalid=0 send_seq=583 receive_seq=583 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999397 adj=63999485 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2200 bytes_read=21144 bytes_retransmit=9 bytes_invalid=0 send_seq=286 receive_seq=286 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999649 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1232 bytes_read=53517 bytes_retransmit=0 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999983 coil_temp=24.2 refs=0 mcu_temp=24.15 supply_voltage=3.068 sysload=0.13 cputime=14.881 memavail=347196 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=173.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 179.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4587 bytes_read=24738 bytes_retransmit=9 bytes_invalid=0 send_seq=434 receive_seq=434 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999934 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1744 bytes_read=7412 bytes_retransmit=0 bytes_invalid=0 send_seq=262 receive_seq=262 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999136 adj=49997919 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7610 bytes_read=26547 bytes_retransmit=9 bytes_invalid=0 send_seq=586 receive_seq=586 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999396 adj=63999451 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2206 bytes_read=21244 bytes_retransmit=9 bytes_invalid=0 send_seq=287 receive_seq=287 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999673 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1238 bytes_read=53873 bytes_retransmit=0 bytes_invalid=0 send_seq=205 receive_seq=205 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999981 coil_temp=24.2 refs=0 mcu_temp=24.15 supply_voltage=3.068 sysload=0.13 cputime=14.928 memavail=347196 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=172.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 180.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4593 bytes_read=24841 bytes_retransmit=9 bytes_invalid=0 send_seq=435 receive_seq=435 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999937 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=1750 bytes_read=7440 bytes_retransmit=0 bytes_invalid=0 send_seq=263 receive_seq=263 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999142 adj=49997989 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7644 bytes_read=26725 bytes_retransmit=9 bytes_invalid=0 send_seq=589 receive_seq=589 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999396 adj=63999392 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2212 bytes_read=21386 bytes_retransmit=9 bytes_invalid=0 send_seq=288 receive_seq=288 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999626 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1244 bytes_read=54229 bytes_retransmit=0 bytes_invalid=0 send_seq=206 receive_seq=206 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=32000002 coil_temp=24.2 refs=0 mcu_temp=24.16 supply_voltage=3.068 sysload=0.13 cputime=14.975 memavail=347196 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=171.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 181.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4599 bytes_read=24944 bytes_retransmit=9 bytes_invalid=0 send_seq=436 receive_seq=436 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999936 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=1756 bytes_read=7455 bytes_retransmit=0 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999128 adj=49998356 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7678 bytes_read=26874 bytes_retransmit=9 bytes_invalid=0 send_seq=592 receive_seq=592 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999395 adj=63999377 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2218 bytes_read=21486 bytes_retransmit=9 bytes_invalid=0 send_seq=289 receive_seq=289 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999685 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.6 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1250 bytes_read=54585 bytes_retransmit=0 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=32000003 coil_temp=24.2 refs=0 mcu_temp=24.15 supply_voltage=3.068 sysload=0.12 cputime=15.020 memavail=347196 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=169.8 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 182.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4605 bytes_read=25069 bytes_retransmit=9 bytes_invalid=0 send_seq=437 receive_seq=437 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999940 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=1762 bytes_read=7470 bytes_retransmit=0 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999113 adj=49998343 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7712 bytes_read=27037 bytes_retransmit=9 bytes_invalid=0 send_seq=595 receive_seq=595 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999398 adj=63999370 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2224 bytes_read=21586 bytes_retransmit=9 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999678 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1256 bytes_read=54941 bytes_retransmit=0 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999996 coil_temp=24.2 refs=0 mcu_temp=24.16 supply_voltage=3.069 sysload=0.12 cputime=15.066 memavail=347952 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=168.9 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 183.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4611 bytes_read=25181 bytes_retransmit=9 bytes_invalid=0 send_seq=438 receive_seq=438 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999938 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=1768 bytes_read=7485 bytes_retransmit=0 bytes_invalid=0 send_seq=266 receive_seq=266 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999098 adj=49998296 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7746 bytes_read=27215 bytes_retransmit=9 bytes_invalid=0 send_seq=598 receive_seq=598 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999397 adj=63999414 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2230 bytes_read=21714 bytes_retransmit=9 bytes_invalid=0 send_seq=291 receive_seq=291 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999653 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1262 bytes_read=55297 bytes_retransmit=0 bytes_invalid=0 send_seq=209 receive_seq=209 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999977 coil_temp=24.2 refs=0 mcu_temp=24.16 supply_voltage=3.069 sysload=0.12 cputime=15.113 memavail=347952 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=167.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 184.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4617 bytes_read=25284 bytes_retransmit=9 bytes_invalid=0 send_seq=439 receive_seq=439 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999932 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=1774 bytes_read=7500 bytes_retransmit=0 bytes_invalid=0 send_seq=267 receive_seq=267 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999080 adj=49998288 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7780 bytes_read=27364 bytes_retransmit=9 bytes_invalid=0 send_seq=601 receive_seq=601 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999394 adj=63999404 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2236 bytes_read=21814 bytes_retransmit=9 bytes_invalid=0 send_seq=292 receive_seq=292 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999657 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1268 bytes_read=55653 bytes_retransmit=0 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999968 coil_temp=24.2 refs=0 mcu_temp=24.16 supply_voltage=3.069 sysload=0.12 cputime=15.136 memavail=347984 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=166.4 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 185.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4623 bytes_read=25416 bytes_retransmit=9 bytes_invalid=0 send_seq=440 receive_seq=440 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999927 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000020 bytes_write=1780 bytes_read=7529 bytes_retransmit=0 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999065 adj=49998247 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7814 bytes_read=27513 bytes_retransmit=9 bytes_invalid=0 send_seq=604 receive_seq=604 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999391 adj=63999400 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2242 bytes_read=21928 bytes_retransmit=9 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999656 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1274 bytes_read=56009 bytes_retransmit=0 bytes_invalid=0 send_seq=211 receive_seq=211 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999974 coil_temp=24.2 refs=0 mcu_temp=24.16 supply_voltage=3.069 sysload=0.12 cputime=15.158 memavail=347984 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=165.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 186.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4629 bytes_read=25519 bytes_retransmit=9 bytes_invalid=0 send_seq=441 receive_seq=441 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999921 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000020 bytes_write=1786 bytes_read=7545 bytes_retransmit=0 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999052 adj=49998259 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7848 bytes_read=27691 bytes_retransmit=9 bytes_invalid=0 send_seq=607 receive_seq=607 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999389 adj=63999386 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2248 bytes_read=22056 bytes_retransmit=9 bytes_invalid=0 send_seq=294 receive_seq=294 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999656 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1280 bytes_read=56365 bytes_retransmit=0 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999977 coil_temp=24.2 refs=0 mcu_temp=24.15 supply_voltage=3.069 sysload=0.11 cputime=15.180 memavail=347984 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=163.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 187.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4635 bytes_read=25622 bytes_retransmit=9 bytes_invalid=0 send_seq=442 receive_seq=442 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999916 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000020 bytes_write=1792 bytes_read=7561 bytes_retransmit=0 bytes_invalid=0 send_seq=270 receive_seq=270 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999039 adj=49998285 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7882 bytes_read=27854 bytes_retransmit=9 bytes_invalid=0 send_seq=610 receive_seq=610 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999387 adj=63999400 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2254 bytes_read=22156 bytes_retransmit=9 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999657 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.6 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1286 bytes_read=56721 bytes_retransmit=0 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999987 coil_temp=24.2 refs=0 mcu_temp=24.16 supply_voltage=3.069 sysload=0.11 cputime=15.201 memavail=347984 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=163.0 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 188.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4641 bytes_read=25768 bytes_retransmit=9 bytes_invalid=0 send_seq=443 receive_seq=443 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999912 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000020 bytes_write=1798 bytes_read=7577 bytes_retransmit=0 bytes_invalid=0 send_seq=271 receive_seq=271 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999026 adj=49998303 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7916 bytes_read=28003 bytes_retransmit=9 bytes_invalid=0 send_seq=613 receive_seq=613 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999385 adj=63999400 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2260 bytes_read=22256 bytes_retransmit=9 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999641 adj=63999658 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.6 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1292 bytes_read=57077 bytes_retransmit=0 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999984 coil_temp=24.2 refs=0 mcu_temp=24.15 supply_voltage=3.069 sysload=0.11 cputime=15.224 memavail=347744 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=161.7 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 189.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4647 bytes_read=25871 bytes_retransmit=9 bytes_invalid=0 send_seq=444 receive_seq=444 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999939 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000020 bytes_write=1804 bytes_read=7593 bytes_retransmit=0 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999019 adj=49998308 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7950 bytes_read=28181 bytes_retransmit=9 bytes_invalid=0 send_seq=616 receive_seq=616 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999384 adj=63999390 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2266 bytes_read=22384 bytes_retransmit=9 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999641 adj=63999875 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1298 bytes_read=57433 bytes_retransmit=0 bytes_invalid=0 send_seq=215 receive_seq=215 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999972 coil_temp=24.2 refs=0 mcu_temp=24.14 supply_voltage=3.069 sysload=0.11 cputime=15.269 memavail=347744 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=160.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 190.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4653 bytes_read=25974 bytes_retransmit=9 bytes_invalid=0 send_seq=445 receive_seq=445 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999939 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000014 bytes_write=1810 bytes_read=7622 bytes_retransmit=0 bytes_invalid=0 send_seq=273 receive_seq=273 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999013 adj=49998276 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=7984 bytes_read=28330 bytes_retransmit=9 bytes_invalid=0 send_seq=619 receive_seq=619 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999383 adj=63999234 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2272 bytes_read=22498 bytes_retransmit=9 bytes_invalid=0 send_seq=298 receive_seq=298 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999675 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1304 bytes_read=57789 bytes_retransmit=0 bytes_invalid=0 send_seq=216 receive_seq=216 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999922 coil_temp=24.2 refs=0 mcu_temp=24.15 supply_voltage=3.068 sysload=0.11 cputime=15.317 memavail=347756 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=159.3 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 191.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4659 bytes_read=26106 bytes_retransmit=9 bytes_invalid=0 send_seq=446 receive_seq=446 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999941 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000014 bytes_write=1816 bytes_read=7638 bytes_retransmit=0 bytes_invalid=0 send_seq=274 receive_seq=274 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999005 adj=49998379 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8018 bytes_read=28479 bytes_retransmit=9 bytes_invalid=0 send_seq=622 receive_seq=622 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999382 adj=63999268 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2278 bytes_read=22598 bytes_retransmit=9 bytes_invalid=0 send_seq=299 receive_seq=299 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999657 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.8 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1310 bytes_read=58145 bytes_retransmit=0 bytes_invalid=0 send_seq=217 receive_seq=217 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999940 coil_temp=24.2 refs=0 mcu_temp=24.15 supply_voltage=3.068 sysload=0.18 cputime=15.363 memavail=347756 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=157.9 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 192.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4665 bytes_read=26209 bytes_retransmit=9 bytes_invalid=0 send_seq=447 receive_seq=447 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999939 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000014 bytes_write=1822 bytes_read=7654 bytes_retransmit=0 bytes_invalid=0 send_seq=275 receive_seq=275 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998998 adj=49998414 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8052 bytes_read=28671 bytes_retransmit=9 bytes_invalid=0 send_seq=625 receive_seq=625 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999382 adj=63999277 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2284 bytes_read=22726 bytes_retransmit=9 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999636 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1316 bytes_read=58501 bytes_retransmit=0 bytes_invalid=0 send_seq=218 receive_seq=218 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999940 coil_temp=24.2 refs=0 mcu_temp=24.16 supply_voltage=3.068 sysload=0.18 cputime=15.409 memavail=347756 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=156.8 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 193.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4671 bytes_read=26326 bytes_retransmit=9 bytes_invalid=0 send_seq=448 receive_seq=448 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999938 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000014 bytes_write=1828 bytes_read=7670 bytes_retransmit=0 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998990 adj=49998454 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8086 bytes_read=28820 bytes_retransmit=9 bytes_invalid=0 send_seq=628 receive_seq=628 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999381 adj=63999306 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2290 bytes_read=22826 bytes_retransmit=9 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999666 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1322 bytes_read=58857 bytes_retransmit=0 bytes_invalid=0 send_seq=219 receive_seq=219 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999945 coil_temp=24.2 refs=0 mcu_temp=24.17 supply_voltage=3.068 sysload=0.18 cputime=15.457 memavail=347756 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=155.9 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 194.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4677 bytes_read=26458 bytes_retransmit=9 bytes_invalid=0 send_seq=449 receive_seq=449 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999941 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000014 bytes_write=1834 bytes_read=7686 bytes_retransmit=0 bytes_invalid=0 send_seq=277 receive_seq=277 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998980 adj=49998489 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8120 bytes_read=28969 bytes_retransmit=9 bytes_invalid=0 send_seq=631 receive_seq=631 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999378 adj=63999329 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2296 bytes_read=22926 bytes_retransmit=9 bytes_invalid=0 send_seq=302 receive_seq=302 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999662 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.8 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1328 bytes_read=59213 bytes_retransmit=0 bytes_invalid=0 send_seq=220 receive_seq=220 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999959 coil_temp=24.2 refs=0 mcu_temp=24.17 supply_voltage=3.068 sysload=0.18 cputime=15.482 memavail=347536 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=154.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 195.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4683 bytes_read=26561 bytes_retransmit=9 bytes_invalid=0 send_seq=450 receive_seq=450 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999934 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1840 bytes_read=7715 bytes_retransmit=0 bytes_invalid=0 send_seq=278 receive_seq=278 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998971 adj=49998452 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8154 bytes_read=29147 bytes_retransmit=9 bytes_invalid=0 send_seq=634 receive_seq=634 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999378 adj=63999292 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2302 bytes_read=23068 bytes_retransmit=9 bytes_invalid=0 send_seq=303 receive_seq=303 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999684 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1334 bytes_read=59569 bytes_retransmit=0 bytes_invalid=0 send_seq=221 receive_seq=221 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999946 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.068 sysload=0.18 cputime=15.505 memavail=347536 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=153.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 196.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4689 bytes_read=26664 bytes_retransmit=9 bytes_invalid=0 send_seq=451 receive_seq=451 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999927 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1846 bytes_read=7731 bytes_retransmit=0 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998962 adj=49998472 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8188 bytes_read=29296 bytes_retransmit=9 bytes_invalid=0 send_seq=637 receive_seq=637 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999376 adj=63999349 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2308 bytes_read=23168 bytes_retransmit=9 bytes_invalid=0 send_seq=304 receive_seq=304 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999691 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1340 bytes_read=59925 bytes_retransmit=0 bytes_invalid=0 send_seq=222 receive_seq=222 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999980 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.17 cputime=15.527 memavail=347584 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=152.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 197.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4695 bytes_read=26796 bytes_retransmit=9 bytes_invalid=0 send_seq=452 receive_seq=452 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999925 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1852 bytes_read=7747 bytes_retransmit=0 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998954 adj=49998496 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8222 bytes_read=29459 bytes_retransmit=9 bytes_invalid=0 send_seq=640 receive_seq=640 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999377 adj=63999363 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2314 bytes_read=23268 bytes_retransmit=9 bytes_invalid=0 send_seq=305 receive_seq=305 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999707 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1346 bytes_read=60281 bytes_retransmit=0 bytes_invalid=0 send_seq=223 receive_seq=223 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999986 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.17 cputime=15.550 memavail=347584 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=151.7 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 198.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4701 bytes_read=26899 bytes_retransmit=9 bytes_invalid=0 send_seq=453 receive_seq=453 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999920 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1858 bytes_read=7763 bytes_retransmit=0 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998948 adj=49998502 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8256 bytes_read=29637 bytes_retransmit=9 bytes_invalid=0 send_seq=643 receive_seq=643 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999376 adj=63999408 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2320 bytes_read=23396 bytes_retransmit=9 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999680 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1352 bytes_read=60637 bytes_retransmit=0 bytes_invalid=0 send_seq=224 receive_seq=224 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999971 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.17 cputime=15.572 memavail=347584 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=150.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 199.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4707 bytes_read=27030 bytes_retransmit=9 bytes_invalid=0 send_seq=454 receive_seq=454 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999920 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1864 bytes_read=7779 bytes_retransmit=0 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998948 adj=49998547 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8290 bytes_read=29786 bytes_retransmit=9 bytes_invalid=0 send_seq=646 receive_seq=646 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999375 adj=63999411 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2326 bytes_read=23496 bytes_retransmit=9 bytes_invalid=0 send_seq=307 receive_seq=307 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999670 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.8 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1358 bytes_read=60993 bytes_retransmit=0 bytes_invalid=0 send_seq=225 receive_seq=225 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999971 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.17 cputime=15.614 memavail=347584 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=149.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 200.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4713 bytes_read=27148 bytes_retransmit=9 bytes_invalid=0 send_seq=455 receive_seq=455 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999937 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1870 bytes_read=7808 bytes_retransmit=0 bytes_invalid=0 send_seq=283 receive_seq=283 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998949 adj=49998649 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8324 bytes_read=29935 bytes_retransmit=9 bytes_invalid=0 send_seq=649 receive_seq=649 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999391 adj=63999403 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2332 bytes_read=23610 bytes_retransmit=9 bytes_invalid=0 send_seq=308 receive_seq=308 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999657 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1364 bytes_read=61349 bytes_retransmit=0 bytes_invalid=0 send_seq=226 receive_seq=226 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999967 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.17 cputime=15.659 memavail=347584 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=148.4 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 201.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4719 bytes_read=27251 bytes_retransmit=9 bytes_invalid=0 send_seq=456 receive_seq=456 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999937 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1876 bytes_read=7824 bytes_retransmit=0 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998950 adj=49998683 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8358 bytes_read=30113 bytes_retransmit=9 bytes_invalid=0 send_seq=652 receive_seq=652 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999391 adj=63999558 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2338 bytes_read=23738 bytes_retransmit=9 bytes_invalid=0 send_seq=309 receive_seq=309 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999605 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1370 bytes_read=61705 bytes_retransmit=0 bytes_invalid=0 send_seq=227 receive_seq=227 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=32000031 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.15 cputime=15.703 memavail=347584 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=147.3 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 202.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4725 bytes_read=27368 bytes_retransmit=9 bytes_invalid=0 send_seq=457 receive_seq=457 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999937 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1882 bytes_read=7840 bytes_retransmit=0 bytes_invalid=0 send_seq=285 receive_seq=285 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998956 adj=49998766 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8392 bytes_read=30276 bytes_retransmit=9 bytes_invalid=0 send_seq=655 receive_seq=655 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999390 adj=63999527 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2344 bytes_read=23838 bytes_retransmit=9 bytes_invalid=0 send_seq=310 receive_seq=310 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999638 adj=63999655 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1376 bytes_read=62061 bytes_retransmit=0 bytes_invalid=0 send_seq=228 receive_seq=228 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=32000014 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.15 cputime=15.748 memavail=348356 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=146.2 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 203.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4731 bytes_read=27486 bytes_retransmit=9 bytes_invalid=0 send_seq=458 receive_seq=458 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999937 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1888 bytes_read=7856 bytes_retransmit=0 bytes_invalid=0 send_seq=286 receive_seq=286 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998961 adj=49998903 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8426 bytes_read=30425 bytes_retransmit=9 bytes_invalid=0 send_seq=658 receive_seq=658 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999392 adj=63999474 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2350 bytes_read=23938 bytes_retransmit=9 bytes_invalid=0 send_seq=311 receive_seq=311 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999638 adj=63999641 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1382 bytes_read=62417 bytes_retransmit=0 bytes_invalid=0 send_seq=229 receive_seq=229 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=32000012 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.15 cputime=15.792 memavail=347852 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=145.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 204.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4737 bytes_read=27603 bytes_retransmit=9 bytes_invalid=0 send_seq=459 receive_seq=459 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999938 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=1894 bytes_read=7872 bytes_retransmit=0 bytes_invalid=0 send_seq=287 receive_seq=287 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998961 adj=49999007 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8460 bytes_read=30603 bytes_retransmit=9 bytes_invalid=0 send_seq=661 receive_seq=661 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999390 adj=63999486 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2356 bytes_read=24066 bytes_retransmit=9 bytes_invalid=0 send_seq=312 receive_seq=312 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999638 adj=63999641 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1388 bytes_read=62773 bytes_retransmit=0 bytes_invalid=0 send_seq=230 receive_seq=230 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999999 coil_temp=24.2 refs=0 mcu_temp=24.17 supply_voltage=3.069 sysload=0.15 cputime=15.837 memavail=347600 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=144.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 205.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4743 bytes_read=27719 bytes_retransmit=9 bytes_invalid=0 send_seq=460 receive_seq=460 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999938 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1900 bytes_read=7901 bytes_retransmit=0 bytes_invalid=0 send_seq=288 receive_seq=288 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998961 adj=49998991 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8494 bytes_read=30752 bytes_retransmit=9 bytes_invalid=0 send_seq=664 receive_seq=664 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999390 adj=63999437 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2362 bytes_read=24180 bytes_retransmit=9 bytes_invalid=0 send_seq=313 receive_seq=313 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999647 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1394 bytes_read=63129 bytes_retransmit=0 bytes_invalid=0 send_seq=231 receive_seq=231 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999990 coil_temp=24.2 refs=0 mcu_temp=24.17 supply_voltage=3.069 sysload=0.15 cputime=15.882 memavail=347600 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=143.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 206.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4749 bytes_read=27829 bytes_retransmit=9 bytes_invalid=0 send_seq=461 receive_seq=461 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999941 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1906 bytes_read=7917 bytes_retransmit=0 bytes_invalid=0 send_seq=289 receive_seq=289 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998961 adj=49998992 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8528 bytes_read=30901 bytes_retransmit=9 bytes_invalid=0 send_seq=667 receive_seq=667 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999389 adj=63999424 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2368 bytes_read=24280 bytes_retransmit=9 bytes_invalid=0 send_seq=314 receive_seq=314 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999635 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1400 bytes_read=63485 bytes_retransmit=0 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999984 coil_temp=24.2 refs=0 mcu_temp=24.17 supply_voltage=3.069 sysload=0.14 cputime=15.927 memavail=347600 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=142.2 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 207.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4755 bytes_read=27929 bytes_retransmit=9 bytes_invalid=0 send_seq=462 receive_seq=462 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999939 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1912 bytes_read=7933 bytes_retransmit=0 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998961 adj=49998973 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8562 bytes_read=31093 bytes_retransmit=9 bytes_invalid=0 send_seq=670 receive_seq=670 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999388 adj=63999397 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2374 bytes_read=24408 bytes_retransmit=9 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999665 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1406 bytes_read=63841 bytes_retransmit=0 bytes_invalid=0 send_seq=233 receive_seq=233 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999971 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.14 cputime=15.974 memavail=348356 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=141.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 208.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4761 bytes_read=28046 bytes_retransmit=9 bytes_invalid=0 send_seq=463 receive_seq=463 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999939 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1918 bytes_read=7949 bytes_retransmit=0 bytes_invalid=0 send_seq=291 receive_seq=291 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998975 adj=49998977 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8596 bytes_read=31242 bytes_retransmit=9 bytes_invalid=0 send_seq=673 receive_seq=673 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999387 adj=63999390 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2380 bytes_read=24508 bytes_retransmit=9 bytes_invalid=0 send_seq=316 receive_seq=316 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999663 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.0 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1412 bytes_read=64197 bytes_retransmit=0 bytes_invalid=0 send_seq=234 receive_seq=234 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999994 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.14 cputime=16.021 memavail=347852 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=140.3 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 209.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4767 bytes_read=28178 bytes_retransmit=9 bytes_invalid=0 send_seq=464 receive_seq=464 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999943 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1924 bytes_read=7965 bytes_retransmit=0 bytes_invalid=0 send_seq=292 receive_seq=292 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998979 adj=49999206 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8630 bytes_read=31391 bytes_retransmit=9 bytes_invalid=0 send_seq=676 receive_seq=676 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999387 adj=63999377 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2386 bytes_read=24608 bytes_retransmit=9 bytes_invalid=0 send_seq=317 receive_seq=317 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999639 adj=63999653 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1418 bytes_read=64553 bytes_retransmit=0 bytes_invalid=0 send_seq=235 receive_seq=235 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999992 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.14 cputime=16.069 memavail=347628 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=139.4 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 210.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4773 bytes_read=28281 bytes_retransmit=9 bytes_invalid=0 send_seq=465 receive_seq=465 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999944 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1930 bytes_read=7994 bytes_retransmit=0 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998983 adj=49999192 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8664 bytes_read=31569 bytes_retransmit=9 bytes_invalid=0 send_seq=679 receive_seq=679 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999386 adj=63999370 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2392 bytes_read=24750 bytes_retransmit=9 bytes_invalid=0 send_seq=318 receive_seq=318 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999638 adj=63999637 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1424 bytes_read=64909 bytes_retransmit=0 bytes_invalid=0 send_seq=236 receive_seq=236 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999974 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.14 cputime=16.118 memavail=347628 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=138.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 211.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4779 bytes_read=28398 bytes_retransmit=9 bytes_invalid=0 send_seq=466 receive_seq=466 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999954 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1936 bytes_read=8010 bytes_retransmit=0 bytes_invalid=0 send_seq=294 receive_seq=294 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998985 adj=49999203 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8698 bytes_read=31718 bytes_retransmit=9 bytes_invalid=0 send_seq=682 receive_seq=682 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999414 adj=63999355 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2398 bytes_read=24850 bytes_retransmit=9 bytes_invalid=0 send_seq=319 receive_seq=319 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999637 adj=63999624 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1430 bytes_read=65249 bytes_retransmit=0 bytes_invalid=0 send_seq=237 receive_seq=237 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999965 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.13 cputime=16.162 memavail=347628 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=137.6 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 212.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4785 bytes_read=28516 bytes_retransmit=9 bytes_invalid=0 send_seq=467 receive_seq=467 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999959 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1942 bytes_read=8026 bytes_retransmit=0 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998985 adj=49999136 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8732 bytes_read=31881 bytes_retransmit=9 bytes_invalid=0 send_seq=685 receive_seq=685 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999411 adj=63999755 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2404 bytes_read=24950 bytes_retransmit=9 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999561 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1436 bytes_read=65605 bytes_retransmit=0 bytes_invalid=0 send_seq=238 receive_seq=238 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999928 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.13 cputime=16.206 memavail=348384 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=136.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 213.0: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4791 bytes_read=28619 bytes_retransmit=9 bytes_invalid=0 send_seq=468 receive_seq=468 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999960 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1948 bytes_read=8042 bytes_retransmit=0 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998986 adj=49999081 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8766 bytes_read=32059 bytes_retransmit=9 bytes_invalid=0 send_seq=688 receive_seq=688 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999409 adj=63999592 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2410 bytes_read=25078 bytes_retransmit=9 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999538 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1442 bytes_read=65961 bytes_retransmit=0 bytes_invalid=0 send_seq=239 receive_seq=239 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999919 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.13 cputime=16.252 memavail=347880 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=135.4 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 214.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4797 bytes_read=28750 bytes_retransmit=9 bytes_invalid=0 send_seq=469 receive_seq=469 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999953 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1954 bytes_read=8058 bytes_retransmit=0 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998984 adj=49999067 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8800 bytes_read=32208 bytes_retransmit=9 bytes_invalid=0 send_seq=691 receive_seq=691 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999412 adj=63999511 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2416 bytes_read=25178 bytes_retransmit=9 bytes_invalid=0 send_seq=322 receive_seq=322 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999538 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1448 bytes_read=66317 bytes_retransmit=0 bytes_invalid=0 send_seq=240 receive_seq=240 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999936 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.13 cputime=16.276 memavail=347448 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=134.8 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 215.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4803 bytes_read=28868 bytes_retransmit=9 bytes_invalid=0 send_seq=470 receive_seq=470 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999948 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1960 bytes_read=8074 bytes_retransmit=0 bytes_invalid=0 send_seq=298 receive_seq=298 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998983 adj=49999053 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8834 bytes_read=32357 bytes_retransmit=9 bytes_invalid=0 send_seq=694 receive_seq=694 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999407 adj=63999577 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2422 bytes_read=25292 bytes_retransmit=9 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999589 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1454 bytes_read=66673 bytes_retransmit=0 bytes_invalid=0 send_seq=241 receive_seq=241 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999978 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.13 cputime=16.299 memavail=347448 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=133.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 216.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4809 bytes_read=28971 bytes_retransmit=9 bytes_invalid=0 send_seq=471 receive_seq=471 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999941 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1966 bytes_read=8103 bytes_retransmit=0 bytes_invalid=0 send_seq=299 receive_seq=299 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998981 adj=49999043 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8868 bytes_read=32535 bytes_retransmit=9 bytes_invalid=0 send_seq=697 receive_seq=697 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999406 adj=63999495 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2428 bytes_read=25420 bytes_retransmit=9 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999622 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1460 bytes_read=67029 bytes_retransmit=0 bytes_invalid=0 send_seq=242 receive_seq=242 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=32000002 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.12 cputime=16.321 memavail=347448 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=132.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 217.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4815 bytes_read=29088 bytes_retransmit=9 bytes_invalid=0 send_seq=472 receive_seq=472 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999935 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1972 bytes_read=8119 bytes_retransmit=0 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998981 adj=49999037 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8902 bytes_read=32698 bytes_retransmit=9 bytes_invalid=0 send_seq=700 receive_seq=700 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999401 adj=63999490 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2434 bytes_read=25520 bytes_retransmit=9 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999628 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1466 bytes_read=67385 bytes_retransmit=0 bytes_invalid=0 send_seq=243 receive_seq=243 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000000 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.12 cputime=16.343 memavail=348204 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=132.0 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 218.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4821 bytes_read=29206 bytes_retransmit=9 bytes_invalid=0 send_seq=473 receive_seq=473 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999929 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1978 bytes_read=8135 bytes_retransmit=0 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998980 adj=49999045 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8936 bytes_read=32847 bytes_retransmit=9 bytes_invalid=0 send_seq=703 receive_seq=703 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999399 adj=63999443 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2440 bytes_read=25620 bytes_retransmit=9 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999638 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1472 bytes_read=67741 bytes_retransmit=0 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999990 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.12 cputime=16.364 memavail=347700 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=131.2 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 219.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4827 bytes_read=29323 bytes_retransmit=9 bytes_invalid=0 send_seq=474 receive_seq=474 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999929 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1984 bytes_read=8151 bytes_retransmit=0 bytes_invalid=0 send_seq=302 receive_seq=302 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998985 adj=49999049 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=8970 bytes_read=33025 bytes_retransmit=9 bytes_invalid=0 send_seq=706 receive_seq=706 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999401 adj=63999434 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2446 bytes_read=25748 bytes_retransmit=9 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999642 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1478 bytes_read=68097 bytes_retransmit=0 bytes_invalid=0 send_seq=245 receive_seq=245 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999998 coil_temp=24.2 refs=0 mcu_temp=24.18 supply_voltage=3.069 sysload=0.12 cputime=16.411 memavail=347700 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=130.3 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 220.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4833 bytes_read=29440 bytes_retransmit=9 bytes_invalid=0 send_seq=475 receive_seq=475 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999929 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1990 bytes_read=8167 bytes_retransmit=0 bytes_invalid=0 send_seq=303 receive_seq=303 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998989 adj=49999110 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9004 bytes_read=33174 bytes_retransmit=9 bytes_invalid=0 send_seq=709 receive_seq=709 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999403 adj=63999461 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2452 bytes_read=25862 bytes_retransmit=9 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999709 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1484 bytes_read=68453 bytes_retransmit=0 bytes_invalid=0 send_seq=246 receive_seq=246 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999992 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.12 cputime=16.458 memavail=347712 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=129.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 221.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4839 bytes_read=29558 bytes_retransmit=9 bytes_invalid=0 send_seq=476 receive_seq=476 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999927 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000013 bytes_write=1996 bytes_read=8196 bytes_retransmit=0 bytes_invalid=0 send_seq=304 receive_seq=304 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998992 adj=49999145 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9038 bytes_read=33323 bytes_retransmit=9 bytes_invalid=0 send_seq=712 receive_seq=712 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999405 adj=63999483 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2458 bytes_read=25962 bytes_retransmit=9 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999725 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1490 bytes_read=68809 bytes_retransmit=0 bytes_invalid=0 send_seq=247 receive_seq=247 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999987 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.11 cputime=16.503 memavail=348412 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=128.7 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 222.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4845 bytes_read=29661 bytes_retransmit=9 bytes_invalid=0 send_seq=477 receive_seq=477 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999927 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000013 bytes_write=2002 bytes_read=8212 bytes_retransmit=0 bytes_invalid=0 send_seq=305 receive_seq=305 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49998997 adj=49999176 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9072 bytes_read=33515 bytes_retransmit=9 bytes_invalid=0 send_seq=715 receive_seq=715 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999402 adj=63999514 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2464 bytes_read=26090 bytes_retransmit=9 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999748 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.0 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1496 bytes_read=69165 bytes_retransmit=0 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999976 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.11 cputime=16.549 memavail=348468 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=127.6 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 223.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4851 bytes_read=29778 bytes_retransmit=9 bytes_invalid=0 send_seq=478 receive_seq=478 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999926 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000013 bytes_write=2008 bytes_read=8228 bytes_retransmit=0 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999001 adj=49999204 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9106 bytes_read=33664 bytes_retransmit=9 bytes_invalid=0 send_seq=718 receive_seq=718 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999400 adj=63999445 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2470 bytes_read=26190 bytes_retransmit=9 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999740 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=33.9 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1502 bytes_read=69521 bytes_retransmit=0 bytes_invalid=0 send_seq=249 receive_seq=249 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999966 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.11 cputime=16.594 memavail=346956 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=126.9 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 224.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4857 bytes_read=29910 bytes_retransmit=9 bytes_invalid=0 send_seq=479 receive_seq=479 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999921 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000013 bytes_write=2014 bytes_read=8244 bytes_retransmit=0 bytes_invalid=0 send_seq=307 receive_seq=307 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999006 adj=49999232 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9140 bytes_read=33813 bytes_retransmit=9 bytes_invalid=0 send_seq=721 receive_seq=721 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999396 adj=63999424 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2476 bytes_read=26290 bytes_retransmit=9 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999706 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1508 bytes_read=69877 bytes_retransmit=0 bytes_invalid=0 send_seq=250 receive_seq=250 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999979 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.11 cputime=16.619 memavail=346716 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=126.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 225.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4869 bytes_read=30029 bytes_retransmit=9 bytes_invalid=0 send_seq=481 receive_seq=481 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999913 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000013 bytes_write=2026 bytes_read=8276 bytes_retransmit=0 bytes_invalid=0 send_seq=309 receive_seq=309 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999011 adj=49999274 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9180 bytes_read=34007 bytes_retransmit=9 bytes_invalid=0 send_seq=725 receive_seq=725 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999395 adj=63999388 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2488 bytes_read=26448 bytes_retransmit=9 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999703 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.2 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1520 bytes_read=70249 bytes_retransmit=0 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=32000001 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.11 cputime=16.642 memavail=346716 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=124.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 226.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4875 bytes_read=30161 bytes_retransmit=9 bytes_invalid=0 send_seq=482 receive_seq=482 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999921 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2032 bytes_read=8305 bytes_retransmit=0 bytes_invalid=0 send_seq=310 receive_seq=310 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999015 adj=49999322 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9214 bytes_read=34156 bytes_retransmit=9 bytes_invalid=0 send_seq=728 receive_seq=728 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999391 adj=63999410 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2494 bytes_read=26548 bytes_retransmit=9 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999660 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.2 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1526 bytes_read=70605 bytes_retransmit=0 bytes_invalid=0 send_seq=253 receive_seq=253 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999981 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.10 cputime=16.664 memavail=346728 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=124.0 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 227.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4881 bytes_read=30264 bytes_retransmit=9 bytes_invalid=0 send_seq=483 receive_seq=483 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999917 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2038 bytes_read=8321 bytes_retransmit=0 bytes_invalid=0 send_seq=311 receive_seq=311 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999018 adj=49999278 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9248 bytes_read=34319 bytes_retransmit=9 bytes_invalid=0 send_seq=731 receive_seq=731 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999389 adj=63999318 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2500 bytes_read=26648 bytes_retransmit=9 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999587 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1532 bytes_read=70961 bytes_retransmit=0 bytes_invalid=0 send_seq=254 receive_seq=254 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999941 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.10 cputime=16.685 memavail=346736 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=123.4 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 228.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4887 bytes_read=30367 bytes_retransmit=9 bytes_invalid=0 send_seq=484 receive_seq=484 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999909 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2044 bytes_read=8337 bytes_retransmit=0 bytes_invalid=0 send_seq=312 receive_seq=312 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999021 adj=49999284 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9282 bytes_read=34497 bytes_retransmit=9 bytes_invalid=0 send_seq=734 receive_seq=734 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999399 adj=63999325 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2506 bytes_read=26776 bytes_retransmit=9 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999603 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1538 bytes_read=71317 bytes_retransmit=0 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999950 coil_temp=24.2 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.10 cputime=16.707 memavail=346736 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=122.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 229.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4893 bytes_read=30511 bytes_retransmit=9 bytes_invalid=0 send_seq=485 receive_seq=485 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999907 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2050 bytes_read=8353 bytes_retransmit=0 bytes_invalid=0 send_seq=313 receive_seq=313 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999032 adj=49999306 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9316 bytes_read=34646 bytes_retransmit=9 bytes_invalid=0 send_seq=737 receive_seq=737 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999402 adj=63999553 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2512 bytes_read=26876 bytes_retransmit=9 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999640 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1544 bytes_read=71673 bytes_retransmit=0 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999993 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.10 cputime=16.754 memavail=346736 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=121.6 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 230.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4899 bytes_read=30607 bytes_retransmit=9 bytes_invalid=0 send_seq=486 receive_seq=486 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999908 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2056 bytes_read=8369 bytes_retransmit=0 bytes_invalid=0 send_seq=314 receive_seq=314 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999038 adj=49999422 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9350 bytes_read=34795 bytes_retransmit=9 bytes_invalid=0 send_seq=740 receive_seq=740 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999399 adj=63999575 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2518 bytes_read=26990 bytes_retransmit=9 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999715 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1550 bytes_read=72029 bytes_retransmit=0 bytes_invalid=0 send_seq=257 receive_seq=257 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999990 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.10 cputime=16.799 memavail=346736 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=121.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 231.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4905 bytes_read=30708 bytes_retransmit=9 bytes_invalid=0 send_seq=487 receive_seq=487 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999908 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2062 bytes_read=8398 bytes_retransmit=0 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999044 adj=49999423 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9384 bytes_read=34973 bytes_retransmit=9 bytes_invalid=0 send_seq=743 receive_seq=743 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999400 adj=63999487 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2524 bytes_read=27118 bytes_retransmit=9 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999689 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1556 bytes_read=72385 bytes_retransmit=0 bytes_invalid=0 send_seq=258 receive_seq=258 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999986 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.09 cputime=16.844 memavail=346736 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=120.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 232.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4911 bytes_read=30840 bytes_retransmit=9 bytes_invalid=0 send_seq=488 receive_seq=488 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999913 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2068 bytes_read=8414 bytes_retransmit=0 bytes_invalid=0 send_seq=316 receive_seq=316 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999054 adj=49999428 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9418 bytes_read=35136 bytes_retransmit=9 bytes_invalid=0 send_seq=746 receive_seq=746 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999401 adj=63999496 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2530 bytes_read=27218 bytes_retransmit=9 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999682 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=34.2 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1562 bytes_read=72741 bytes_retransmit=0 bytes_invalid=0 send_seq=259 receive_seq=259 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999994 coil_temp=24.2 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.09 cputime=16.891 memavail=346744 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=119.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 233.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4917 bytes_read=30943 bytes_retransmit=9 bytes_invalid=0 send_seq=489 receive_seq=489 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999915 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2074 bytes_read=8430 bytes_retransmit=0 bytes_invalid=0 send_seq=317 receive_seq=317 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999060 adj=49999455 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9452 bytes_read=35285 bytes_retransmit=9 bytes_invalid=0 send_seq=749 receive_seq=749 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999399 adj=63999464 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2536 bytes_read=27318 bytes_retransmit=9 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999640 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.3 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1568 bytes_read=73097 bytes_retransmit=0 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000007 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.09 cputime=16.935 memavail=346744 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=118.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 234.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4923 bytes_read=31060 bytes_retransmit=9 bytes_invalid=0 send_seq=490 receive_seq=490 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999913 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2080 bytes_read=8446 bytes_retransmit=0 bytes_invalid=0 send_seq=318 receive_seq=318 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999062 adj=49999453 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9486 bytes_read=35463 bytes_retransmit=9 bytes_invalid=0 send_seq=752 receive_seq=752 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999395 adj=63999416 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2542 bytes_read=27446 bytes_retransmit=9 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999637 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1574 bytes_read=73453 bytes_retransmit=0 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000007 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.09 cputime=16.962 memavail=346752 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=117.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 235.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4929 bytes_read=31192 bytes_retransmit=9 bytes_invalid=0 send_seq=491 receive_seq=491 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999908 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2086 bytes_read=8462 bytes_retransmit=0 bytes_invalid=0 send_seq=319 receive_seq=319 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999065 adj=49999405 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9520 bytes_read=35612 bytes_retransmit=9 bytes_invalid=0 send_seq=755 receive_seq=755 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999391 adj=63999373 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2548 bytes_read=27560 bytes_retransmit=9 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999635 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.2 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1580 bytes_read=73809 bytes_retransmit=0 bytes_invalid=0 send_seq=262 receive_seq=262 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999993 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.09 cputime=16.984 memavail=346752 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=117.3 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 236.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4935 bytes_read=31295 bytes_retransmit=9 bytes_invalid=0 send_seq=492 receive_seq=492 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999906 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2092 bytes_read=8491 bytes_retransmit=0 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999069 adj=49999393 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9554 bytes_read=35761 bytes_retransmit=9 bytes_invalid=0 send_seq=758 receive_seq=758 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999390 adj=63999347 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2554 bytes_read=27660 bytes_retransmit=9 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999643 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.3 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1586 bytes_read=74165 bytes_retransmit=0 bytes_invalid=0 send_seq=263 receive_seq=263 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000021 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.08 cputime=17.005 memavail=346952 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=116.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 237.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4941 bytes_read=31398 bytes_retransmit=9 bytes_invalid=0 send_seq=493 receive_seq=493 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999903 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2098 bytes_read=8507 bytes_retransmit=0 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999072 adj=49999377 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9588 bytes_read=35953 bytes_retransmit=9 bytes_invalid=0 send_seq=761 receive_seq=761 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999389 adj=63999356 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2560 bytes_read=27788 bytes_retransmit=9 bytes_invalid=0 send_seq=346 receive_seq=346 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999630 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.2 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1592 bytes_read=74521 bytes_retransmit=0 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=32000003 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.08 cputime=17.029 memavail=347012 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=115.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 238.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4947 bytes_read=31530 bytes_retransmit=9 bytes_invalid=0 send_seq=494 receive_seq=494 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999899 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2104 bytes_read=8523 bytes_retransmit=0 bytes_invalid=0 send_seq=322 receive_seq=322 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999076 adj=49999375 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9622 bytes_read=36102 bytes_retransmit=9 bytes_invalid=0 send_seq=764 receive_seq=764 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999386 adj=63999388 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2566 bytes_read=27888 bytes_retransmit=9 bytes_invalid=0 send_seq=347 receive_seq=347 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999654 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1598 bytes_read=74877 bytes_retransmit=0 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000017 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.08 cputime=17.051 memavail=346760 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=114.8 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 239.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4953 bytes_read=31647 bytes_retransmit=9 bytes_invalid=0 send_seq=495 receive_seq=495 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999901 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2110 bytes_read=8539 bytes_retransmit=0 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999085 adj=49999382 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9656 bytes_read=36249 bytes_retransmit=9 bytes_invalid=0 send_seq=767 receive_seq=767 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999390 adj=63999360 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2572 bytes_read=27986 bytes_retransmit=9 bytes_invalid=0 send_seq=348 receive_seq=348 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999646 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1604 bytes_read=75233 bytes_retransmit=0 bytes_invalid=0 send_seq=266 receive_seq=266 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000022 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.08 cputime=17.097 memavail=346768 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=114.2 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 240.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4959 bytes_read=31750 bytes_retransmit=9 bytes_invalid=0 send_seq=496 receive_seq=496 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999906 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2116 bytes_read=8555 bytes_retransmit=0 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999094 adj=49999440 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9690 bytes_read=36418 bytes_retransmit=9 bytes_invalid=0 send_seq=770 receive_seq=770 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999387 adj=63999427 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2578 bytes_read=28119 bytes_retransmit=9 bytes_invalid=0 send_seq=349 receive_seq=349 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999637 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1610 bytes_read=75589 bytes_retransmit=0 bytes_invalid=0 send_seq=267 receive_seq=267 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000009 coil_temp=24.1 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.08 cputime=17.148 memavail=346768 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=113.3 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 241.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4965 bytes_read=31882 bytes_retransmit=9 bytes_invalid=0 send_seq=497 receive_seq=497 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999907 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2122 bytes_read=8584 bytes_retransmit=0 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999107 adj=49999474 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9724 bytes_read=36560 bytes_retransmit=9 bytes_invalid=0 send_seq=773 receive_seq=773 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999386 adj=63999363 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2584 bytes_read=28212 bytes_retransmit=9 bytes_invalid=0 send_seq=350 receive_seq=350 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999610 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.2 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1616 bytes_read=75945 bytes_retransmit=0 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000002 coil_temp=24.1 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.08 cputime=17.195 memavail=346768 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=112.5 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 242.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4971 bytes_read=31985 bytes_retransmit=9 bytes_invalid=0 send_seq=498 receive_seq=498 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999909 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2128 bytes_read=8600 bytes_retransmit=0 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999120 adj=49999596 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9758 bytes_read=36729 bytes_retransmit=9 bytes_invalid=0 send_seq=776 receive_seq=776 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999387 adj=63999360 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2590 bytes_read=28318 bytes_retransmit=9 bytes_invalid=0 send_seq=351 receive_seq=351 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999631 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.3 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1622 bytes_read=76301 bytes_retransmit=0 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999996 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.08 cputime=17.244 memavail=346768 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=112.0 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 243.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4977 bytes_read=32088 bytes_retransmit=9 bytes_invalid=0 send_seq=499 receive_seq=499 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999911 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2134 bytes_read=8616 bytes_retransmit=0 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999130 adj=49999661 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9792 bytes_read=36887 bytes_retransmit=9 bytes_invalid=0 send_seq=779 receive_seq=779 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999385 adj=63999376 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2596 bytes_read=28426 bytes_retransmit=9 bytes_invalid=0 send_seq=352 receive_seq=352 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999713 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.2 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1628 bytes_read=76657 bytes_retransmit=0 bytes_invalid=0 send_seq=270 receive_seq=270 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999983 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.08 cputime=17.292 memavail=346012 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=111.0 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 244.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4983 bytes_read=32234 bytes_retransmit=9 bytes_invalid=0 send_seq=500 receive_seq=500 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999905 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2140 bytes_read=8632 bytes_retransmit=0 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999139 adj=49999679 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9826 bytes_read=37036 bytes_retransmit=9 bytes_invalid=0 send_seq=782 receive_seq=782 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999385 adj=63999340 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2602 bytes_read=28526 bytes_retransmit=9 bytes_invalid=0 send_seq=353 receive_seq=353 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999684 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.1 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1634 bytes_read=77013 bytes_retransmit=0 bytes_invalid=0 send_seq=271 receive_seq=271 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999984 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.08 cputime=17.318 memavail=345560 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=110.4 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 245.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4989 bytes_read=32337 bytes_retransmit=9 bytes_invalid=0 send_seq=501 receive_seq=501 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999900 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2146 bytes_read=8648 bytes_retransmit=0 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999142 adj=49999721 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9860 bytes_read=37199 bytes_retransmit=9 bytes_invalid=0 send_seq=785 receive_seq=785 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999381 adj=63999392 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2608 bytes_read=28654 bytes_retransmit=9 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999730 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.4 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1640 bytes_read=77369 bytes_retransmit=0 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999986 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.08 cputime=17.339 memavail=345560 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=109.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 246.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4995 bytes_read=32440 bytes_retransmit=9 bytes_invalid=0 send_seq=502 receive_seq=502 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999897 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2152 bytes_read=8677 bytes_retransmit=0 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999145 adj=49999646 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9894 bytes_read=37363 bytes_retransmit=9 bytes_invalid=0 send_seq=788 receive_seq=788 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999378 adj=63999368 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2614 bytes_read=28768 bytes_retransmit=9 bytes_invalid=0 send_seq=355 receive_seq=355 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999718 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.3 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1646 bytes_read=77725 bytes_retransmit=0 bytes_invalid=0 send_seq=273 receive_seq=273 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000012 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.07 cputime=17.361 memavail=345560 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=108.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 247.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5001 bytes_read=32572 bytes_retransmit=9 bytes_invalid=0 send_seq=503 receive_seq=503 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999893 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2158 bytes_read=8693 bytes_retransmit=0 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999150 adj=49999595 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9928 bytes_read=37526 bytes_retransmit=9 bytes_invalid=0 send_seq=791 receive_seq=791 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999377 adj=63999352 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2620 bytes_read=28868 bytes_retransmit=9 bytes_invalid=0 send_seq=356 receive_seq=356 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999836 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.3 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1652 bytes_read=78081 bytes_retransmit=0 bytes_invalid=0 send_seq=274 receive_seq=274 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999999 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.07 cputime=17.382 memavail=345812 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=108.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 248.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5007 bytes_read=32675 bytes_retransmit=9 bytes_invalid=0 send_seq=504 receive_seq=504 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999906 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2164 bytes_read=8709 bytes_retransmit=0 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999155 adj=49999577 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9962 bytes_read=37689 bytes_retransmit=9 bytes_invalid=0 send_seq=794 receive_seq=794 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999378 adj=63999369 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2626 bytes_read=28982 bytes_retransmit=9 bytes_invalid=0 send_seq=357 receive_seq=357 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999777 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.3 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1658 bytes_read=78437 bytes_retransmit=0 bytes_invalid=0 send_seq=275 receive_seq=275 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999988 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.07 cputime=17.405 memavail=345588 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=107.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 249.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5013 bytes_read=32792 bytes_retransmit=9 bytes_invalid=0 send_seq=505 receive_seq=505 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999908 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2170 bytes_read=8725 bytes_retransmit=0 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999172 adj=49999502 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=9996 bytes_read=37853 bytes_retransmit=9 bytes_invalid=0 send_seq=797 receive_seq=797 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999376 adj=63999328 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2632 bytes_read=29096 bytes_retransmit=9 bytes_invalid=0 send_seq=358 receive_seq=358 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999673 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.4 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1664 bytes_read=78793 bytes_retransmit=0 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999942 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.07 cputime=17.447 memavail=345588 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=106.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 250.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5019 bytes_read=32924 bytes_retransmit=9 bytes_invalid=0 send_seq=506 receive_seq=506 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999914 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2176 bytes_read=8741 bytes_retransmit=0 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999179 adj=49999676 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10030 bytes_read=38002 bytes_retransmit=9 bytes_invalid=0 send_seq=800 receive_seq=800 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999374 adj=63999301 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2638 bytes_read=29196 bytes_retransmit=9 bytes_invalid=0 send_seq=359 receive_seq=359 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999631 adj=63999649 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.4 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1670 bytes_read=79149 bytes_retransmit=0 bytes_invalid=0 send_seq=277 receive_seq=277 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999959 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.07 cputime=17.491 memavail=345588 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=105.9 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 251.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5025 bytes_read=33027 bytes_retransmit=9 bytes_invalid=0 send_seq=507 receive_seq=507 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999919 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000014 bytes_write=2182 bytes_read=8770 bytes_retransmit=0 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999185 adj=49999646 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10064 bytes_read=38165 bytes_retransmit=9 bytes_invalid=0 send_seq=803 receive_seq=803 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999372 adj=63999263 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2644 bytes_read=29324 bytes_retransmit=9 bytes_invalid=0 send_seq=360 receive_seq=360 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999646 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.3 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1676 bytes_read=79505 bytes_retransmit=0 bytes_invalid=0 send_seq=278 receive_seq=278 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999958 coil_temp=24.1 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.07 cputime=17.535 memavail=345588 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=105.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 252.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5031 bytes_read=33130 bytes_retransmit=9 bytes_invalid=0 send_seq=508 receive_seq=508 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999919 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000014 bytes_write=2188 bytes_read=8786 bytes_retransmit=0 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999199 adj=49999606 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10098 bytes_read=38343 bytes_retransmit=9 bytes_invalid=0 send_seq=806 receive_seq=806 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999372 adj=63999243 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2650 bytes_read=29438 bytes_retransmit=9 bytes_invalid=0 send_seq=361 receive_seq=361 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999643 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.4 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1682 bytes_read=79861 bytes_retransmit=0 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999945 coil_temp=24.1 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.07 cputime=17.580 memavail=345604 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=104.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 253.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5037 bytes_read=33258 bytes_retransmit=9 bytes_invalid=0 send_seq=509 receive_seq=509 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999921 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000014 bytes_write=2194 bytes_read=8802 bytes_retransmit=0 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999207 adj=49999715 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10132 bytes_read=38492 bytes_retransmit=9 bytes_invalid=0 send_seq=809 receive_seq=809 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999381 adj=63999282 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2656 bytes_read=29538 bytes_retransmit=9 bytes_invalid=0 send_seq=362 receive_seq=362 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999678 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.3 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1688 bytes_read=80217 bytes_retransmit=0 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999988 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.07 cputime=17.626 memavail=344864 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=103.9 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 254.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5043 bytes_read=33368 bytes_retransmit=9 bytes_invalid=0 send_seq=510 receive_seq=510 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999916 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000014 bytes_write=2200 bytes_read=8818 bytes_retransmit=0 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999209 adj=49999715 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10166 bytes_read=38655 bytes_retransmit=9 bytes_invalid=0 send_seq=812 receive_seq=812 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999378 adj=63999447 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2662 bytes_read=29652 bytes_retransmit=9 bytes_invalid=0 send_seq=363 receive_seq=363 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999631 adj=63999653 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.5 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1694 bytes_read=80573 bytes_retransmit=0 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000021 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.07 cputime=17.652 memavail=344892 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=103.2 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 255.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5049 bytes_read=33471 bytes_retransmit=9 bytes_invalid=0 send_seq=511 receive_seq=511 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999912 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000014 bytes_write=2206 bytes_read=8834 bytes_retransmit=0 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999212 adj=49999641 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10200 bytes_read=38819 bytes_retransmit=9 bytes_invalid=0 send_seq=815 receive_seq=815 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999377 adj=63999412 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2668 bytes_read=29766 bytes_retransmit=9 bytes_invalid=0 send_seq=364 receive_seq=364 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999631 adj=63999646 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.3 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1700 bytes_read=80929 bytes_retransmit=0 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=32000002 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.07 cputime=17.673 memavail=344892 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=102.5 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 256.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5055 bytes_read=33603 bytes_retransmit=9 bytes_invalid=0 send_seq=512 receive_seq=512 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999908 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2212 bytes_read=8863 bytes_retransmit=0 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999214 adj=49999600 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10234 bytes_read=38968 bytes_retransmit=9 bytes_invalid=0 send_seq=818 receive_seq=818 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999374 adj=63999418 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2674 bytes_read=29880 bytes_retransmit=9 bytes_invalid=0 send_seq=365 receive_seq=365 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999668 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.5 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1706 bytes_read=81285 bytes_retransmit=0 bytes_invalid=0 send_seq=283 receive_seq=283 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999988 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.06 cputime=17.696 memavail=344892 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=102.0 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 257.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5061 bytes_read=33706 bytes_retransmit=9 bytes_invalid=0 send_seq=513 receive_seq=513 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999904 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2218 bytes_read=8879 bytes_retransmit=0 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999217 adj=49999568 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10268 bytes_read=39145 bytes_retransmit=9 bytes_invalid=0 send_seq=821 receive_seq=821 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999371 adj=63999398 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2680 bytes_read=29994 bytes_retransmit=9 bytes_invalid=0 send_seq=366 receive_seq=366 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999659 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.5 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1712 bytes_read=81641 bytes_retransmit=0 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999982 coil_temp=24.1 refs=0 mcu_temp=24.23 supply_voltage=3.069 sysload=0.06 cputime=17.718 memavail=345648 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=101.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 258.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5067 bytes_read=33809 bytes_retransmit=9 bytes_invalid=0 send_seq=514 receive_seq=514 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999902 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2224 bytes_read=8895 bytes_retransmit=0 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999221 adj=49999553 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10302 bytes_read=39309 bytes_retransmit=9 bytes_invalid=0 send_seq=824 receive_seq=824 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999367 adj=63999368 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2686 bytes_read=30108 bytes_retransmit=9 bytes_invalid=0 send_seq=367 receive_seq=367 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999651 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1718 bytes_read=81997 bytes_retransmit=0 bytes_invalid=0 send_seq=285 receive_seq=285 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999981 coil_temp=24.1 refs=0 mcu_temp=24.24 supply_voltage=3.069 sysload=0.06 cputime=17.741 memavail=345648 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=100.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 259.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5073 bytes_read=33955 bytes_retransmit=9 bytes_invalid=0 send_seq=515 receive_seq=515 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999916 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2230 bytes_read=8911 bytes_retransmit=0 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999231 adj=49999532 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10336 bytes_read=39458 bytes_retransmit=9 bytes_invalid=0 send_seq=827 receive_seq=827 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999369 adj=63999333 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2692 bytes_read=30208 bytes_retransmit=9 bytes_invalid=0 send_seq=368 receive_seq=368 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999648 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.5 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1724 bytes_read=82348 bytes_retransmit=0 bytes_invalid=0 send_seq=286 receive_seq=286 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999969 coil_temp=24.1 refs=0 mcu_temp=24.24 supply_voltage=3.069 sysload=0.06 cputime=17.787 memavail=345648 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=99.9 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 260.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5079 bytes_read=34058 bytes_retransmit=9 bytes_invalid=0 send_seq=516 receive_seq=516 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999915 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2236 bytes_read=8927 bytes_retransmit=0 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999236 adj=49999563 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10370 bytes_read=39621 bytes_retransmit=9 bytes_invalid=0 send_seq=830 receive_seq=830 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999370 adj=63999299 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2698 bytes_read=30322 bytes_retransmit=9 bytes_invalid=0 send_seq=369 receive_seq=369 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999631 adj=63999604 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1730 bytes_read=82693 bytes_retransmit=0 bytes_invalid=0 send_seq=287 receive_seq=287 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999931 coil_temp=24.1 refs=0 mcu_temp=24.24 supply_voltage=3.069 sysload=0.06 cputime=17.831 memavail=345648 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=99.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 261.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5085 bytes_read=34161 bytes_retransmit=9 bytes_invalid=0 send_seq=517 receive_seq=517 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999914 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2242 bytes_read=8956 bytes_retransmit=0 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999243 adj=49999575 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10404 bytes_read=39785 bytes_retransmit=9 bytes_invalid=0 send_seq=833 receive_seq=833 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999371 adj=63999354 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2704 bytes_read=30450 bytes_retransmit=9 bytes_invalid=0 send_seq=370 receive_seq=370 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999666 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.3 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1736 bytes_read=83037 bytes_retransmit=0 bytes_invalid=0 send_seq=288 receive_seq=288 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999959 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.14 cputime=17.876 memavail=344900 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=98.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 262.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5091 bytes_read=34293 bytes_retransmit=9 bytes_invalid=0 send_seq=518 receive_seq=518 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999914 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2248 bytes_read=8972 bytes_retransmit=0 bytes_invalid=0 send_seq=346 receive_seq=346 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999249 adj=49999611 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10438 bytes_read=39948 bytes_retransmit=9 bytes_invalid=0 send_seq=836 receive_seq=836 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999369 adj=63999373 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2710 bytes_read=30550 bytes_retransmit=9 bytes_invalid=0 send_seq=371 receive_seq=371 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999658 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1742 bytes_read=83382 bytes_retransmit=0 bytes_invalid=0 send_seq=289 receive_seq=289 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999958 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.14 cputime=17.923 memavail=345168 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=98.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 263.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5097 bytes_read=34396 bytes_retransmit=9 bytes_invalid=0 send_seq=519 receive_seq=519 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999917 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2254 bytes_read=8988 bytes_retransmit=0 bytes_invalid=0 send_seq=347 receive_seq=347 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999255 adj=49999621 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10472 bytes_read=40111 bytes_retransmit=9 bytes_invalid=0 send_seq=839 receive_seq=839 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999367 adj=63999350 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2716 bytes_read=30664 bytes_retransmit=9 bytes_invalid=0 send_seq=372 receive_seq=372 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999663 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.4 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1748 bytes_read=83727 bytes_retransmit=0 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999965 coil_temp=24.1 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.14 cputime=17.970 memavail=345368 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=97.3 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 264.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5103 bytes_read=34513 bytes_retransmit=9 bytes_invalid=0 send_seq=520 receive_seq=520 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999919 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2260 bytes_read=9004 bytes_retransmit=0 bytes_invalid=0 send_seq=348 receive_seq=348 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999262 adj=49999611 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10506 bytes_read=40275 bytes_retransmit=9 bytes_invalid=0 send_seq=842 receive_seq=842 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999366 adj=63999318 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2722 bytes_read=30778 bytes_retransmit=9 bytes_invalid=0 send_seq=373 receive_seq=373 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999630 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1754 bytes_read=84072 bytes_retransmit=0 bytes_invalid=0 send_seq=291 receive_seq=291 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999967 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.14 cputime=18.015 memavail=345432 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=96.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 265.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5109 bytes_read=34645 bytes_retransmit=9 bytes_invalid=0 send_seq=521 receive_seq=521 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999922 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2266 bytes_read=9019 bytes_retransmit=0 bytes_invalid=0 send_seq=349 receive_seq=349 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999268 adj=49999624 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10540 bytes_read=40424 bytes_retransmit=9 bytes_invalid=0 send_seq=845 receive_seq=845 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999365 adj=63999309 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2728 bytes_read=30878 bytes_retransmit=9 bytes_invalid=0 send_seq=374 receive_seq=374 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999642 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=34.4 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1760 bytes_read=84417 bytes_retransmit=0 bytes_invalid=0 send_seq=292 receive_seq=292 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999975 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.14 cputime=18.062 memavail=345432 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=96.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 266.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5115 bytes_read=34748 bytes_retransmit=9 bytes_invalid=0 send_seq=522 receive_seq=522 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999923 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=2272 bytes_read=9047 bytes_retransmit=0 bytes_invalid=0 send_seq=350 receive_seq=350 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999273 adj=49999620 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10574 bytes_read=40587 bytes_retransmit=9 bytes_invalid=0 send_seq=848 receive_seq=848 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999365 adj=63999298 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2734 bytes_read=31006 bytes_retransmit=9 bytes_invalid=0 send_seq=375 receive_seq=375 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999609 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.4 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1766 bytes_read=84762 bytes_retransmit=0 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999964 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.12 cputime=18.111 memavail=345432 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=95.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 267.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5121 bytes_read=34851 bytes_retransmit=9 bytes_invalid=0 send_seq=523 receive_seq=523 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999952 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=2278 bytes_read=9062 bytes_retransmit=0 bytes_invalid=0 send_seq=351 receive_seq=351 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999278 adj=49999615 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10608 bytes_read=40765 bytes_retransmit=9 bytes_invalid=0 send_seq=851 receive_seq=851 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999363 adj=63999312 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2740 bytes_read=31120 bytes_retransmit=9 bytes_invalid=0 send_seq=376 receive_seq=376 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999624 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1772 bytes_read=85108 bytes_retransmit=0 bytes_invalid=0 send_seq=294 receive_seq=294 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999972 coil_temp=24.1 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.12 cputime=18.160 memavail=346188 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=95.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 268.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5127 bytes_read=34983 bytes_retransmit=9 bytes_invalid=0 send_seq=524 receive_seq=524 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999952 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=2284 bytes_read=9077 bytes_retransmit=0 bytes_invalid=0 send_seq=352 receive_seq=352 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999285 adj=49999487 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10642 bytes_read=40914 bytes_retransmit=9 bytes_invalid=0 send_seq=854 receive_seq=854 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999363 adj=63999152 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2746 bytes_read=31220 bytes_retransmit=9 bytes_invalid=0 send_seq=377 receive_seq=377 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999466 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.4 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1778 bytes_read=85464 bytes_retransmit=0 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999896 coil_temp=24.0 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.12 cputime=18.209 memavail=346196 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=94.7 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 269.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5133 bytes_read=35100 bytes_retransmit=9 bytes_invalid=0 send_seq=525 receive_seq=525 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999947 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=2290 bytes_read=9092 bytes_retransmit=0 bytes_invalid=0 send_seq=353 receive_seq=353 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999291 adj=49999548 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10676 bytes_read=41077 bytes_retransmit=9 bytes_invalid=0 send_seq=857 receive_seq=857 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999360 adj=63999204 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2752 bytes_read=31334 bytes_retransmit=9 bytes_invalid=0 send_seq=378 receive_seq=378 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999510 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.5 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1784 bytes_read=85820 bytes_retransmit=0 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999913 coil_temp=24.0 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.12 cputime=18.233 memavail=342676 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=94.1 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 270.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5139 bytes_read=35203 bytes_retransmit=9 bytes_invalid=0 send_seq=526 receive_seq=526 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999944 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=2296 bytes_read=9107 bytes_retransmit=0 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999301 adj=49999597 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10710 bytes_read=41241 bytes_retransmit=9 bytes_invalid=0 send_seq=860 receive_seq=860 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999358 adj=63999231 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2758 bytes_read=31448 bytes_retransmit=9 bytes_invalid=0 send_seq=379 receive_seq=379 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999547 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=34.7 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1790 bytes_read=86176 bytes_retransmit=0 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999931 coil_temp=24.0 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.12 cputime=18.260 memavail=348472 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=93.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 271.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5145 bytes_read=35335 bytes_retransmit=9 bytes_invalid=0 send_seq=527 receive_seq=527 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999939 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2302 bytes_read=9136 bytes_retransmit=0 bytes_invalid=0 send_seq=355 receive_seq=355 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999300 adj=49999696 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10744 bytes_read=41390 bytes_retransmit=9 bytes_invalid=0 send_seq=863 receive_seq=863 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999361 adj=63999247 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2764 bytes_read=31562 bytes_retransmit=9 bytes_invalid=0 send_seq=380 receive_seq=380 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999555 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.4 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1796 bytes_read=86532 bytes_retransmit=0 bytes_invalid=0 send_seq=298 receive_seq=298 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999937 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.11 cputime=18.282 memavail=348472 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=92.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 272.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5151 bytes_read=35438 bytes_retransmit=9 bytes_invalid=0 send_seq=528 receive_seq=528 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999935 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2308 bytes_read=9152 bytes_retransmit=0 bytes_invalid=0 send_seq=356 receive_seq=356 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999299 adj=49999612 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10778 bytes_read=41567 bytes_retransmit=9 bytes_invalid=0 send_seq=866 receive_seq=866 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999359 adj=63999355 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2770 bytes_read=31676 bytes_retransmit=9 bytes_invalid=0 send_seq=381 receive_seq=381 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999574 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.5 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1802 bytes_read=86888 bytes_retransmit=0 bytes_invalid=0 send_seq=299 receive_seq=299 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999956 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.11 cputime=18.303 memavail=348476 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=92.1 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 273.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5157 bytes_read=35541 bytes_retransmit=9 bytes_invalid=0 send_seq=529 receive_seq=529 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999928 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2314 bytes_read=9168 bytes_retransmit=0 bytes_invalid=0 send_seq=357 receive_seq=357 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999296 adj=49999537 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10812 bytes_read=41731 bytes_retransmit=9 bytes_invalid=0 send_seq=869 receive_seq=869 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999357 adj=63999359 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2776 bytes_read=31790 bytes_retransmit=9 bytes_invalid=0 send_seq=382 receive_seq=382 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999588 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1808 bytes_read=87244 bytes_retransmit=0 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999954 coil_temp=24.0 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.11 cputime=18.326 memavail=348480 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=91.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 274.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5163 bytes_read=35687 bytes_retransmit=9 bytes_invalid=0 send_seq=530 receive_seq=530 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999930 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2320 bytes_read=9184 bytes_retransmit=0 bytes_invalid=0 send_seq=358 receive_seq=358 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999299 adj=49999462 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10846 bytes_read=41880 bytes_retransmit=9 bytes_invalid=0 send_seq=872 receive_seq=872 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999357 adj=63999370 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2782 bytes_read=31890 bytes_retransmit=9 bytes_invalid=0 send_seq=383 receive_seq=383 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999610 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1814 bytes_read=87600 bytes_retransmit=0 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999965 coil_temp=24.0 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.11 cputime=18.374 memavail=347732 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=90.9 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 275.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5169 bytes_read=35790 bytes_retransmit=9 bytes_invalid=0 send_seq=531 receive_seq=531 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999930 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2326 bytes_read=9200 bytes_retransmit=0 bytes_invalid=0 send_seq=359 receive_seq=359 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999304 adj=49999460 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10880 bytes_read=42043 bytes_retransmit=9 bytes_invalid=0 send_seq=875 receive_seq=875 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999360 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2788 bytes_read=32004 bytes_retransmit=9 bytes_invalid=0 send_seq=384 receive_seq=384 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999658 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.5 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1820 bytes_read=87956 bytes_retransmit=0 bytes_invalid=0 send_seq=302 receive_seq=302 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999980 coil_temp=24.0 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.11 cputime=18.421 memavail=347732 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=90.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 276.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5175 bytes_read=35893 bytes_retransmit=9 bytes_invalid=0 send_seq=532 receive_seq=532 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999929 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2332 bytes_read=9229 bytes_retransmit=0 bytes_invalid=0 send_seq=360 receive_seq=360 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999307 adj=49999512 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10914 bytes_read=42207 bytes_retransmit=9 bytes_invalid=0 send_seq=878 receive_seq=878 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999357 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2794 bytes_read=32132 bytes_retransmit=9 bytes_invalid=0 send_seq=385 receive_seq=385 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999687 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=34.7 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1826 bytes_read=88312 bytes_retransmit=0 bytes_invalid=0 send_seq=303 receive_seq=303 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999972 coil_temp=24.0 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.10 cputime=18.471 memavail=347732 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=89.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 277.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5181 bytes_read=36021 bytes_retransmit=9 bytes_invalid=0 send_seq=533 receive_seq=533 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999926 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2338 bytes_read=9245 bytes_retransmit=0 bytes_invalid=0 send_seq=361 receive_seq=361 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999311 adj=49999509 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10948 bytes_read=42370 bytes_retransmit=9 bytes_invalid=0 send_seq=881 receive_seq=881 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999355 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2800 bytes_read=32232 bytes_retransmit=9 bytes_invalid=0 send_seq=386 receive_seq=386 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999674 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1832 bytes_read=88668 bytes_retransmit=0 bytes_invalid=0 send_seq=304 receive_seq=304 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999983 coil_temp=24.0 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.10 cputime=18.519 memavail=347988 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=89.3 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 278.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5187 bytes_read=36117 bytes_retransmit=9 bytes_invalid=0 send_seq=534 receive_seq=534 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999927 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2344 bytes_read=9261 bytes_retransmit=0 bytes_invalid=0 send_seq=362 receive_seq=362 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999313 adj=49999549 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=10982 bytes_read=42533 bytes_retransmit=9 bytes_invalid=0 send_seq=884 receive_seq=884 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999383 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2806 bytes_read=32346 bytes_retransmit=9 bytes_invalid=0 send_seq=387 receive_seq=387 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999701 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1838 bytes_read=89024 bytes_retransmit=0 bytes_invalid=0 send_seq=305 receive_seq=305 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999995 coil_temp=24.0 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.10 cputime=18.564 memavail=347988 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=88.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 279.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5193 bytes_read=36233 bytes_retransmit=9 bytes_invalid=0 send_seq=535 receive_seq=535 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999922 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2350 bytes_read=9277 bytes_retransmit=0 bytes_invalid=0 send_seq=363 receive_seq=363 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999310 adj=49999516 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11016 bytes_read=42697 bytes_retransmit=9 bytes_invalid=0 send_seq=887 receive_seq=887 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999354 adj=63999384 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2812 bytes_read=32460 bytes_retransmit=9 bytes_invalid=0 send_seq=388 receive_seq=388 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999679 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.5 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1844 bytes_read=89380 bytes_retransmit=0 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999994 coil_temp=24.0 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.10 cputime=18.585 memavail=347992 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=88.0 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 280.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5199 bytes_read=36365 bytes_retransmit=9 bytes_invalid=0 send_seq=536 receive_seq=536 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999918 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2356 bytes_read=9293 bytes_retransmit=0 bytes_invalid=0 send_seq=364 receive_seq=364 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999306 adj=49999438 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11050 bytes_read=42846 bytes_retransmit=9 bytes_invalid=0 send_seq=890 receive_seq=890 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999354 adj=63999376 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2818 bytes_read=32560 bytes_retransmit=9 bytes_invalid=0 send_seq=389 receive_seq=389 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999664 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1850 bytes_read=89736 bytes_retransmit=0 bytes_invalid=0 send_seq=307 receive_seq=307 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999987 coil_temp=24.0 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.10 cputime=18.606 memavail=348000 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=87.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 281.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5205 bytes_read=36468 bytes_retransmit=9 bytes_invalid=0 send_seq=537 receive_seq=537 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999913 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2362 bytes_read=9322 bytes_retransmit=0 bytes_invalid=0 send_seq=365 receive_seq=365 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999303 adj=49999382 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11084 bytes_read=43009 bytes_retransmit=9 bytes_invalid=0 send_seq=893 receive_seq=893 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999357 adj=63999403 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2824 bytes_read=32688 bytes_retransmit=9 bytes_invalid=0 send_seq=390 receive_seq=390 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999657 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.5 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1856 bytes_read=90092 bytes_retransmit=0 bytes_invalid=0 send_seq=308 receive_seq=308 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999989 coil_temp=24.0 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.10 cputime=18.628 memavail=348000 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=87.4 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 282.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5211 bytes_read=36571 bytes_retransmit=9 bytes_invalid=0 send_seq=538 receive_seq=538 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999909 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2368 bytes_read=9338 bytes_retransmit=0 bytes_invalid=0 send_seq=366 receive_seq=366 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999300 adj=49999341 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11118 bytes_read=43187 bytes_retransmit=9 bytes_invalid=0 send_seq=896 receive_seq=896 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999355 adj=63999477 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2830 bytes_read=32802 bytes_retransmit=9 bytes_invalid=0 send_seq=391 receive_seq=391 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999664 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.7 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1862 bytes_read=90448 bytes_retransmit=0 bytes_invalid=0 send_seq=309 receive_seq=309 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000003 coil_temp=24.0 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.10 cputime=18.650 memavail=348260 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=86.6 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 283.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5217 bytes_read=36703 bytes_retransmit=9 bytes_invalid=0 send_seq=539 receive_seq=539 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999906 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2374 bytes_read=9354 bytes_retransmit=0 bytes_invalid=0 send_seq=367 receive_seq=367 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999297 adj=49999308 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11152 bytes_read=43336 bytes_retransmit=9 bytes_invalid=0 send_seq=899 receive_seq=899 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999354 adj=63999437 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2836 bytes_read=32902 bytes_retransmit=9 bytes_invalid=0 send_seq=392 receive_seq=392 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999661 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1868 bytes_read=90804 bytes_retransmit=0 bytes_invalid=0 send_seq=310 receive_seq=310 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=32000050 coil_temp=24.0 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.10 cputime=18.673 memavail=348260 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=86.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 284.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5223 bytes_read=36820 bytes_retransmit=9 bytes_invalid=0 send_seq=540 receive_seq=540 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999907 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2380 bytes_read=9370 bytes_retransmit=0 bytes_invalid=0 send_seq=368 receive_seq=368 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999299 adj=49999280 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11186 bytes_read=43499 bytes_retransmit=9 bytes_invalid=0 send_seq=902 receive_seq=902 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999353 adj=63999434 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2842 bytes_read=33016 bytes_retransmit=9 bytes_invalid=0 send_seq=393 receive_seq=393 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999672 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1874 bytes_read=91144 bytes_retransmit=0 bytes_invalid=0 send_seq=311 receive_seq=311 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=32000031 coil_temp=24.0 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.10 cputime=18.720 memavail=347264 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=85.8 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 285.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5229 bytes_read=36923 bytes_retransmit=9 bytes_invalid=0 send_seq=541 receive_seq=541 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999909 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2386 bytes_read=9386 bytes_retransmit=0 bytes_invalid=0 send_seq=369 receive_seq=369 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999300 adj=49999309 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11220 bytes_read=43663 bytes_retransmit=9 bytes_invalid=0 send_seq=905 receive_seq=905 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999353 adj=63999401 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2848 bytes_read=33130 bytes_retransmit=9 bytes_invalid=0 send_seq=394 receive_seq=394 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999656 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.7 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1880 bytes_read=91500 bytes_retransmit=0 bytes_invalid=0 send_seq=312 receive_seq=312 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=32000008 coil_temp=24.0 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.10 cputime=18.767 memavail=347264 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=84.9 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 286.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5241 bytes_read=37071 bytes_retransmit=9 bytes_invalid=0 send_seq=543 receive_seq=543 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999921 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2398 bytes_read=9431 bytes_retransmit=0 bytes_invalid=0 send_seq=371 receive_seq=371 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999302 adj=49999315 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11260 bytes_read=43828 bytes_retransmit=9 bytes_invalid=0 send_seq=909 receive_seq=909 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999351 adj=63999383 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2860 bytes_read=33260 bytes_retransmit=9 bytes_invalid=0 send_seq=396 receive_seq=396 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999639 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1892 bytes_read=91872 bytes_retransmit=0 bytes_invalid=0 send_seq=314 receive_seq=314 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=32000005 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.09 cputime=18.817 memavail=347264 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=84.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 287.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5247 bytes_read=37174 bytes_retransmit=9 bytes_invalid=0 send_seq=544 receive_seq=544 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999919 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2404 bytes_read=9447 bytes_retransmit=0 bytes_invalid=0 send_seq=372 receive_seq=372 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999301 adj=49999296 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11294 bytes_read=44005 bytes_retransmit=9 bytes_invalid=0 send_seq=912 receive_seq=912 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999350 adj=63999289 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2866 bytes_read=33374 bytes_retransmit=9 bytes_invalid=0 send_seq=397 receive_seq=397 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999674 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1898 bytes_read=92228 bytes_retransmit=0 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999959 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.09 cputime=18.861 memavail=347264 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=84.0 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 288.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5253 bytes_read=37277 bytes_retransmit=9 bytes_invalid=0 send_seq=545 receive_seq=545 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999921 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2410 bytes_read=9463 bytes_retransmit=0 bytes_invalid=0 send_seq=373 receive_seq=373 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999305 adj=49999305 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11328 bytes_read=44169 bytes_retransmit=9 bytes_invalid=0 send_seq=915 receive_seq=915 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999352 adj=63999304 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2872 bytes_read=33488 bytes_retransmit=9 bytes_invalid=0 send_seq=398 receive_seq=398 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999667 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1904 bytes_read=92584 bytes_retransmit=0 bytes_invalid=0 send_seq=316 receive_seq=316 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999961 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.09 cputime=18.906 memavail=347264 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=83.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 289.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5259 bytes_read=37423 bytes_retransmit=9 bytes_invalid=0 send_seq=546 receive_seq=546 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999915 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2416 bytes_read=9479 bytes_retransmit=0 bytes_invalid=0 send_seq=374 receive_seq=374 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999301 adj=49999365 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11362 bytes_read=44318 bytes_retransmit=9 bytes_invalid=0 send_seq=918 receive_seq=918 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999351 adj=63999345 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2878 bytes_read=33588 bytes_retransmit=9 bytes_invalid=0 send_seq=399 receive_seq=399 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999667 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.6 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1910 bytes_read=92940 bytes_retransmit=0 bytes_invalid=0 send_seq=317 receive_seq=317 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999960 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.09 cputime=18.930 memavail=347272 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=83.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 290.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5265 bytes_read=37526 bytes_retransmit=9 bytes_invalid=0 send_seq=547 receive_seq=547 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999909 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2422 bytes_read=9495 bytes_retransmit=0 bytes_invalid=0 send_seq=375 receive_seq=375 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999298 adj=49999324 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11396 bytes_read=44478 bytes_retransmit=9 bytes_invalid=0 send_seq=921 receive_seq=921 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999352 adj=63999366 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2884 bytes_read=33702 bytes_retransmit=9 bytes_invalid=0 send_seq=400 receive_seq=400 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999664 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1916 bytes_read=93296 bytes_retransmit=0 bytes_invalid=0 send_seq=318 receive_seq=318 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999980 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.09 cputime=18.951 memavail=347272 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=82.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 291.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5271 bytes_read=37629 bytes_retransmit=9 bytes_invalid=0 send_seq=548 receive_seq=548 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999906 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2428 bytes_read=9524 bytes_retransmit=0 bytes_invalid=0 send_seq=376 receive_seq=376 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999296 adj=49999297 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11430 bytes_read=44638 bytes_retransmit=9 bytes_invalid=0 send_seq=924 receive_seq=924 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999351 adj=63999423 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2890 bytes_read=33830 bytes_retransmit=9 bytes_invalid=0 send_seq=401 receive_seq=401 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999677 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1922 bytes_read=93652 bytes_retransmit=0 bytes_invalid=0 send_seq=319 receive_seq=319 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000056 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.08 cputime=18.974 memavail=347272 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=82.0 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 292.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5277 bytes_read=37761 bytes_retransmit=9 bytes_invalid=0 send_seq=549 receive_seq=549 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999903 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2434 bytes_read=9540 bytes_retransmit=0 bytes_invalid=0 send_seq=377 receive_seq=377 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999294 adj=49999288 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11464 bytes_read=44798 bytes_retransmit=9 bytes_invalid=0 send_seq=927 receive_seq=927 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999349 adj=63999412 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2896 bytes_read=33930 bytes_retransmit=9 bytes_invalid=0 send_seq=402 receive_seq=402 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999683 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1928 bytes_read=94008 bytes_retransmit=0 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=32000027 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.08 cputime=18.996 memavail=347272 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=81.5 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 293.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5283 bytes_read=37864 bytes_retransmit=9 bytes_invalid=0 send_seq=550 receive_seq=550 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999900 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2440 bytes_read=9556 bytes_retransmit=0 bytes_invalid=0 send_seq=378 receive_seq=378 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999292 adj=49999269 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11498 bytes_read=44958 bytes_retransmit=9 bytes_invalid=0 send_seq=930 receive_seq=930 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999347 adj=63999394 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2902 bytes_read=34044 bytes_retransmit=9 bytes_invalid=0 send_seq=403 receive_seq=403 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999667 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1934 bytes_read=94364 bytes_retransmit=0 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000015 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.08 cputime=19.019 memavail=347272 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=81.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 294.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5289 bytes_read=37981 bytes_retransmit=9 bytes_invalid=0 send_seq=551 receive_seq=551 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999903 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2446 bytes_read=9572 bytes_retransmit=0 bytes_invalid=0 send_seq=379 receive_seq=379 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999295 adj=49999266 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11532 bytes_read=45118 bytes_retransmit=9 bytes_invalid=0 send_seq=933 receive_seq=933 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999347 adj=63999374 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2908 bytes_read=34158 bytes_retransmit=9 bytes_invalid=0 send_seq=404 receive_seq=404 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999673 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1940 bytes_read=94720 bytes_retransmit=0 bytes_invalid=0 send_seq=322 receive_seq=322 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000017 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.08 cputime=19.063 memavail=347288 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=80.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 295.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5295 bytes_read=38113 bytes_retransmit=9 bytes_invalid=0 send_seq=552 receive_seq=552 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999920 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000015 bytes_write=2452 bytes_read=9588 bytes_retransmit=0 bytes_invalid=0 send_seq=380 receive_seq=380 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999296 adj=49999318 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11566 bytes_read=45264 bytes_retransmit=9 bytes_invalid=0 send_seq=936 receive_seq=936 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999350 adj=63999364 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2914 bytes_read=34258 bytes_retransmit=9 bytes_invalid=0 send_seq=405 receive_seq=405 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999736 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1946 bytes_read=95076 bytes_retransmit=0 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000000 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.08 cputime=19.107 memavail=347288 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=80.0 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 296.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5301 bytes_read=38216 bytes_retransmit=9 bytes_invalid=0 send_seq=553 receive_seq=553 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999921 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2458 bytes_read=9617 bytes_retransmit=0 bytes_invalid=0 send_seq=381 receive_seq=381 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999297 adj=49999259 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11600 bytes_read=45424 bytes_retransmit=9 bytes_invalid=0 send_seq=939 receive_seq=939 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999350 adj=63999310 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2920 bytes_read=34386 bytes_retransmit=9 bytes_invalid=0 send_seq=406 receive_seq=406 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999724 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1952 bytes_read=95432 bytes_retransmit=0 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999978 coil_temp=24.0 refs=0 mcu_temp=24.23 supply_voltage=3.069 sysload=0.15 cputime=19.154 memavail=347488 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=79.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 297.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5307 bytes_read=38319 bytes_retransmit=9 bytes_invalid=0 send_seq=554 receive_seq=554 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999923 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2464 bytes_read=9633 bytes_retransmit=0 bytes_invalid=0 send_seq=382 receive_seq=382 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999297 adj=49999285 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11634 bytes_read=45598 bytes_retransmit=9 bytes_invalid=0 send_seq=942 receive_seq=942 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999351 adj=63999320 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2926 bytes_read=34500 bytes_retransmit=9 bytes_invalid=0 send_seq=407 receive_seq=407 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999756 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.7 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1958 bytes_read=95788 bytes_retransmit=0 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=32000010 coil_temp=24.0 refs=0 mcu_temp=24.23 supply_voltage=3.069 sysload=0.15 cputime=19.197 memavail=347548 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=79.2 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 298.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5313 bytes_read=38451 bytes_retransmit=9 bytes_invalid=0 send_seq=555 receive_seq=555 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999923 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2470 bytes_read=9649 bytes_retransmit=0 bytes_invalid=0 send_seq=383 receive_seq=383 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999295 adj=49999290 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11668 bytes_read=45744 bytes_retransmit=9 bytes_invalid=0 send_seq=945 receive_seq=945 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999351 adj=63999343 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2932 bytes_read=34600 bytes_retransmit=9 bytes_invalid=0 send_seq=408 receive_seq=408 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999741 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1964 bytes_read=96144 bytes_retransmit=0 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999996 coil_temp=24.0 refs=0 mcu_temp=24.23 supply_voltage=3.069 sysload=0.15 cputime=19.241 memavail=347556 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=78.7 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 299.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5319 bytes_read=38568 bytes_retransmit=9 bytes_invalid=0 send_seq=556 receive_seq=556 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999918 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2476 bytes_read=9665 bytes_retransmit=0 bytes_invalid=0 send_seq=384 receive_seq=384 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999292 adj=49999268 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11702 bytes_read=45904 bytes_retransmit=9 bytes_invalid=0 send_seq=948 receive_seq=948 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999351 adj=63999357 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2938 bytes_read=34714 bytes_retransmit=9 bytes_invalid=0 send_seq=409 receive_seq=409 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999696 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1970 bytes_read=96500 bytes_retransmit=0 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999981 coil_temp=24.0 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.15 cputime=19.264 memavail=347556 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=78.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 300.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5325 bytes_read=38671 bytes_retransmit=9 bytes_invalid=0 send_seq=557 receive_seq=557 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999913 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2482 bytes_read=9681 bytes_retransmit=0 bytes_invalid=0 send_seq=385 receive_seq=385 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999291 adj=49999255 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11736 bytes_read=46064 bytes_retransmit=9 bytes_invalid=0 send_seq=951 receive_seq=951 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999384 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2944 bytes_read=34828 bytes_retransmit=9 bytes_invalid=0 send_seq=410 receive_seq=410 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999670 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.7 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1976 bytes_read=96856 bytes_retransmit=0 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999971 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.15 cputime=19.286 memavail=347556 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=77.8 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 301.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5331 bytes_read=38798 bytes_retransmit=9 bytes_invalid=0 send_seq=558 receive_seq=558 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999909 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2488 bytes_read=9710 bytes_retransmit=0 bytes_invalid=0 send_seq=386 receive_seq=386 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999288 adj=49999268 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11770 bytes_read=46210 bytes_retransmit=9 bytes_invalid=0 send_seq=954 receive_seq=954 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999358 adj=63999495 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2950 bytes_read=34942 bytes_retransmit=9 bytes_invalid=0 send_seq=411 receive_seq=411 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999679 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1982 bytes_read=97212 bytes_retransmit=0 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999979 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.069 sysload=0.14 cputime=19.307 memavail=347556 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=77.3 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 302.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5337 bytes_read=38895 bytes_retransmit=9 bytes_invalid=0 send_seq=559 receive_seq=559 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999906 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2494 bytes_read=9726 bytes_retransmit=0 bytes_invalid=0 send_seq=387 receive_seq=387 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999286 adj=49999258 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11804 bytes_read=46384 bytes_retransmit=9 bytes_invalid=0 send_seq=957 receive_seq=957 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999360 adj=63999524 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2956 bytes_read=35056 bytes_retransmit=9 bytes_invalid=0 send_seq=412 receive_seq=412 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999732 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1988 bytes_read=97568 bytes_retransmit=0 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=32000005 coil_temp=23.9 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.14 cputime=19.329 memavail=347560 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=76.9 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 303.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5343 bytes_read=38998 bytes_retransmit=9 bytes_invalid=0 send_seq=560 receive_seq=560 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999908 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2500 bytes_read=9742 bytes_retransmit=0 bytes_invalid=0 send_seq=388 receive_seq=388 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999284 adj=49999253 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11838 bytes_read=46544 bytes_retransmit=9 bytes_invalid=0 send_seq=960 receive_seq=960 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999357 adj=63999532 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2962 bytes_read=35170 bytes_retransmit=9 bytes_invalid=0 send_seq=413 receive_seq=413 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999695 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1994 bytes_read=97924 bytes_retransmit=0 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999997 coil_temp=23.9 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.14 cputime=19.351 memavail=347560 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=76.4 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 304.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5349 bytes_read=39144 bytes_retransmit=9 bytes_invalid=0 send_seq=561 receive_seq=561 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999926 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2506 bytes_read=9758 bytes_retransmit=0 bytes_invalid=0 send_seq=389 receive_seq=389 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999288 adj=49999230 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11872 bytes_read=46690 bytes_retransmit=9 bytes_invalid=0 send_seq=963 receive_seq=963 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999443 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2968 bytes_read=35270 bytes_retransmit=9 bytes_invalid=0 send_seq=414 receive_seq=414 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999640 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2000 bytes_read=98280 bytes_retransmit=0 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999987 coil_temp=23.9 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.14 cputime=19.395 memavail=347564 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=75.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 305.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5355 bytes_read=39247 bytes_retransmit=9 bytes_invalid=0 send_seq=562 receive_seq=562 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999931 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2512 bytes_read=9774 bytes_retransmit=0 bytes_invalid=0 send_seq=390 receive_seq=390 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999290 adj=49999223 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11906 bytes_read=46850 bytes_retransmit=9 bytes_invalid=0 send_seq=966 receive_seq=966 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999318 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2974 bytes_read=35384 bytes_retransmit=9 bytes_invalid=0 send_seq=415 receive_seq=415 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999552 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2006 bytes_read=98636 bytes_retransmit=0 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999940 coil_temp=23.9 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.14 cputime=19.439 memavail=347616 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=75.5 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 306.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5361 bytes_read=39350 bytes_retransmit=9 bytes_invalid=0 send_seq=563 receive_seq=563 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999933 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2518 bytes_read=9803 bytes_retransmit=0 bytes_invalid=0 send_seq=391 receive_seq=391 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999293 adj=49999266 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11940 bytes_read=47008 bytes_retransmit=9 bytes_invalid=0 send_seq=969 receive_seq=969 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999357 adj=63999307 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2980 bytes_read=35510 bytes_retransmit=9 bytes_invalid=0 send_seq=416 receive_seq=416 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999559 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2012 bytes_read=98992 bytes_retransmit=0 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999928 coil_temp=23.9 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.21 cputime=19.485 memavail=347616 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=74.9 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 307.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5367 bytes_read=39482 bytes_retransmit=9 bytes_invalid=0 send_seq=564 receive_seq=564 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999934 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2524 bytes_read=9819 bytes_retransmit=0 bytes_invalid=0 send_seq=392 receive_seq=392 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999310 adj=49999304 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=11974 bytes_read=47160 bytes_retransmit=9 bytes_invalid=0 send_seq=972 receive_seq=972 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999324 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2986 bytes_read=35602 bytes_retransmit=9 bytes_invalid=0 send_seq=417 receive_seq=417 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999561 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2018 bytes_read=99348 bytes_retransmit=0 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999948 coil_temp=23.9 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.21 cputime=19.530 memavail=347616 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=74.7 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 308.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5373 bytes_read=39585 bytes_retransmit=9 bytes_invalid=0 send_seq=565 receive_seq=565 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999942 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2530 bytes_read=9835 bytes_retransmit=0 bytes_invalid=0 send_seq=393 receive_seq=393 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999312 adj=49999570 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12008 bytes_read=47312 bytes_retransmit=9 bytes_invalid=0 send_seq=975 receive_seq=975 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999358 adj=63999315 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2992 bytes_read=35721 bytes_retransmit=9 bytes_invalid=0 send_seq=418 receive_seq=418 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999580 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2024 bytes_read=99704 bytes_retransmit=0 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=32000002 coil_temp=23.9 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.21 cputime=19.576 memavail=347616 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=74.1 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 309.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5379 bytes_read=39702 bytes_retransmit=9 bytes_invalid=0 send_seq=566 receive_seq=566 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999937 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2536 bytes_read=9851 bytes_retransmit=0 bytes_invalid=0 send_seq=394 receive_seq=394 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999308 adj=49999506 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12042 bytes_read=47464 bytes_retransmit=9 bytes_invalid=0 send_seq=978 receive_seq=978 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999321 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2998 bytes_read=35814 bytes_retransmit=9 bytes_invalid=0 send_seq=419 receive_seq=419 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999631 adj=63999565 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2030 bytes_read=100060 bytes_retransmit=0 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999980 coil_temp=23.9 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.21 cputime=19.599 memavail=347616 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=73.6 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 310.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5385 bytes_read=39834 bytes_retransmit=9 bytes_invalid=0 send_seq=567 receive_seq=567 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999934 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2542 bytes_read=9867 bytes_retransmit=0 bytes_invalid=0 send_seq=395 receive_seq=395 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999313 adj=49999423 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12076 bytes_read=47603 bytes_retransmit=9 bytes_invalid=0 send_seq=981 receive_seq=981 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999355 adj=63999338 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3004 bytes_read=35907 bytes_retransmit=9 bytes_invalid=0 send_seq=420 receive_seq=420 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999651 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2036 bytes_read=100416 bytes_retransmit=0 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999989 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.21 cputime=19.621 memavail=347616 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=73.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 311.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5391 bytes_read=39937 bytes_retransmit=9 bytes_invalid=0 send_seq=568 receive_seq=568 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999930 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2548 bytes_read=9896 bytes_retransmit=0 bytes_invalid=0 send_seq=396 receive_seq=396 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999309 adj=49999482 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12110 bytes_read=47777 bytes_retransmit=9 bytes_invalid=0 send_seq=984 receive_seq=984 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999341 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3010 bytes_read=36049 bytes_retransmit=9 bytes_invalid=0 send_seq=421 receive_seq=421 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999623 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2042 bytes_read=100772 bytes_retransmit=0 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999978 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.19 cputime=19.643 memavail=347616 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=73.0 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 312.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5397 bytes_read=40040 bytes_retransmit=9 bytes_invalid=0 send_seq=569 receive_seq=569 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999924 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2554 bytes_read=9912 bytes_retransmit=0 bytes_invalid=0 send_seq=397 receive_seq=397 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999305 adj=49999405 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12144 bytes_read=47937 bytes_retransmit=9 bytes_invalid=0 send_seq=987 receive_seq=987 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999354 adj=63999389 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3016 bytes_read=36149 bytes_retransmit=9 bytes_invalid=0 send_seq=422 receive_seq=422 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999619 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2048 bytes_read=101128 bytes_retransmit=0 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999977 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.19 cputime=19.665 memavail=347616 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=72.5 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 313.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5403 bytes_read=40172 bytes_retransmit=9 bytes_invalid=0 send_seq=570 receive_seq=570 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999929 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2560 bytes_read=9928 bytes_retransmit=0 bytes_invalid=0 send_seq=398 receive_seq=398 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999303 adj=49999356 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12178 bytes_read=48083 bytes_retransmit=9 bytes_invalid=0 send_seq=990 receive_seq=990 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999355 adj=63999386 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3022 bytes_read=36249 bytes_retransmit=9 bytes_invalid=0 send_seq=423 receive_seq=423 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999621 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=43.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2054 bytes_read=101484 bytes_retransmit=0 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999983 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.19 cputime=19.688 memavail=347616 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=72.2 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 314.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5409 bytes_read=40289 bytes_retransmit=9 bytes_invalid=0 send_seq=571 receive_seq=571 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999932 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2566 bytes_read=9944 bytes_retransmit=0 bytes_invalid=0 send_seq=399 receive_seq=399 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999306 adj=49999285 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12212 bytes_read=48257 bytes_retransmit=9 bytes_invalid=0 send_seq=993 receive_seq=993 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999357 adj=63999374 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3028 bytes_read=36377 bytes_retransmit=9 bytes_invalid=0 send_seq=424 receive_seq=424 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999573 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2060 bytes_read=101840 bytes_retransmit=0 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999991 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.19 cputime=19.732 memavail=347376 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=71.6 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 315.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5415 bytes_read=40392 bytes_retransmit=9 bytes_invalid=0 send_seq=572 receive_seq=572 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999947 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000017 bytes_write=2572 bytes_read=9960 bytes_retransmit=0 bytes_invalid=0 send_seq=400 receive_seq=400 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999308 adj=49999330 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12246 bytes_read=48403 bytes_retransmit=9 bytes_invalid=0 send_seq=996 receive_seq=996 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999359 adj=63999391 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3034 bytes_read=36477 bytes_retransmit=9 bytes_invalid=0 send_seq=425 receive_seq=425 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999566 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2066 bytes_read=102196 bytes_retransmit=0 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999973 coil_temp=23.9 refs=0 mcu_temp=24.23 supply_voltage=3.068 sysload=0.19 cputime=19.776 memavail=347376 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=71.3 pwm=0.000 extruder1: target=0 temp=22.5 pwm=0.000
Stats 316.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5421 bytes_read=40524 bytes_retransmit=9 bytes_invalid=0 send_seq=573 receive_seq=573 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999966 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000019 bytes_write=2578 bytes_read=9989 bytes_retransmit=0 bytes_invalid=0 send_seq=401 receive_seq=401 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999310 adj=49999295 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12280 bytes_read=48549 bytes_retransmit=9 bytes_invalid=0 send_seq=999 receive_seq=999 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999357 adj=63999335 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3040 bytes_read=36591 bytes_retransmit=9 bytes_invalid=0 send_seq=426 receive_seq=426 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999553 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2072 bytes_read=102552 bytes_retransmit=0 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999928 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.18 cputime=19.820 memavail=347380 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=70.9 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 317.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5427 bytes_read=40627 bytes_retransmit=9 bytes_invalid=0 send_seq=574 receive_seq=574 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999968 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000019 bytes_write=2584 bytes_read=10005 bytes_retransmit=0 bytes_invalid=0 send_seq=402 receive_seq=402 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999310 adj=49999260 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12314 bytes_read=48737 bytes_retransmit=9 bytes_invalid=0 send_seq=1002 receive_seq=1002 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999358 adj=63999220 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3046 bytes_read=36719 bytes_retransmit=9 bytes_invalid=0 send_seq=427 receive_seq=427 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999474 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2078 bytes_read=102908 bytes_retransmit=0 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=31999881 coil_temp=23.9 refs=0 mcu_temp=24.23 supply_voltage=3.068 sysload=0.18 cputime=19.866 memavail=347380 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=70.6 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 318.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5433 bytes_read=40730 bytes_retransmit=9 bytes_invalid=0 send_seq=575 receive_seq=575 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999966 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000019 bytes_write=2590 bytes_read=10021 bytes_retransmit=0 bytes_invalid=0 send_seq=403 receive_seq=403 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999312 adj=49999263 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12348 bytes_read=48883 bytes_retransmit=9 bytes_invalid=0 send_seq=1005 receive_seq=1005 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999359 adj=63999256 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3052 bytes_read=36819 bytes_retransmit=9 bytes_invalid=0 send_seq=428 receive_seq=428 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999489 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2084 bytes_read=103264 bytes_retransmit=0 bytes_invalid=0 send_seq=346 receive_seq=346 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000002 coil_temp=23.9 refs=0 mcu_temp=24.23 supply_voltage=3.068 sysload=0.18 cputime=19.915 memavail=347156 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=69.9 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 319.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5439 bytes_read=40876 bytes_retransmit=9 bytes_invalid=0 send_seq=576 receive_seq=576 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999964 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000019 bytes_write=2596 bytes_read=10037 bytes_retransmit=0 bytes_invalid=0 send_seq=404 receive_seq=404 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999315 adj=49999319 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12382 bytes_read=49029 bytes_retransmit=9 bytes_invalid=0 send_seq=1008 receive_seq=1008 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999363 adj=63999308 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3058 bytes_read=36919 bytes_retransmit=9 bytes_invalid=0 send_seq=429 receive_seq=429 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999530 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2090 bytes_read=103620 bytes_retransmit=0 bytes_invalid=0 send_seq=347 receive_seq=347 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000036 coil_temp=23.9 refs=0 mcu_temp=24.24 supply_voltage=3.068 sysload=0.18 cputime=19.962 memavail=347160 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=69.5 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 320.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5445 bytes_read=40979 bytes_retransmit=9 bytes_invalid=0 send_seq=577 receive_seq=577 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999967 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000019 bytes_write=2602 bytes_read=10053 bytes_retransmit=0 bytes_invalid=0 send_seq=405 receive_seq=405 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999315 adj=49999364 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12416 bytes_read=49203 bytes_retransmit=9 bytes_invalid=0 send_seq=1011 receive_seq=1011 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999364 adj=63999404 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3064 bytes_read=37047 bytes_retransmit=9 bytes_invalid=0 send_seq=430 receive_seq=430 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999572 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2096 bytes_read=103976 bytes_retransmit=0 bytes_invalid=0 send_seq=348 receive_seq=348 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000034 coil_temp=23.9 refs=0 mcu_temp=24.25 supply_voltage=3.068 sysload=0.18 cputime=20.008 memavail=347160 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=69.2 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 321.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5451 bytes_read=41082 bytes_retransmit=9 bytes_invalid=0 send_seq=578 receive_seq=578 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999966 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2608 bytes_read=10082 bytes_retransmit=0 bytes_invalid=0 send_seq=406 receive_seq=406 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999319 adj=49999355 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12450 bytes_read=49349 bytes_retransmit=9 bytes_invalid=0 send_seq=1014 receive_seq=1014 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999363 adj=63999392 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3070 bytes_read=37147 bytes_retransmit=9 bytes_invalid=0 send_seq=431 receive_seq=431 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999555 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2102 bytes_read=104332 bytes_retransmit=0 bytes_invalid=0 send_seq=349 receive_seq=349 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000032 coil_temp=23.9 refs=0 mcu_temp=24.25 supply_voltage=3.068 sysload=0.16 cputime=20.055 memavail=347860 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=68.9 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 322.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5457 bytes_read=41214 bytes_retransmit=9 bytes_invalid=0 send_seq=579 receive_seq=579 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999966 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2614 bytes_read=10098 bytes_retransmit=0 bytes_invalid=0 send_seq=407 receive_seq=407 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999319 adj=49999403 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12484 bytes_read=49509 bytes_retransmit=9 bytes_invalid=0 send_seq=1017 receive_seq=1017 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999362 adj=63999384 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3076 bytes_read=37261 bytes_retransmit=9 bytes_invalid=0 send_seq=432 receive_seq=432 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999594 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2108 bytes_read=104688 bytes_retransmit=0 bytes_invalid=0 send_seq=350 receive_seq=350 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000017 coil_temp=23.9 refs=0 mcu_temp=24.25 supply_voltage=3.069 sysload=0.16 cputime=20.104 memavail=347940 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=68.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 323.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5463 bytes_read=41317 bytes_retransmit=9 bytes_invalid=0 send_seq=580 receive_seq=580 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999990 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2620 bytes_read=10114 bytes_retransmit=0 bytes_invalid=0 send_seq=408 receive_seq=408 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999346 adj=49999395 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12518 bytes_read=49683 bytes_retransmit=9 bytes_invalid=0 send_seq=1020 receive_seq=1020 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999362 adj=63999366 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3082 bytes_read=37389 bytes_retransmit=9 bytes_invalid=0 send_seq=433 receive_seq=433 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999619 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2114 bytes_read=105044 bytes_retransmit=0 bytes_invalid=0 send_seq=351 receive_seq=351 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999995 coil_temp=23.9 refs=0 mcu_temp=24.25 supply_voltage=3.069 sysload=0.16 cputime=20.150 memavail=347952 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=68.0 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 324.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5469 bytes_read=41434 bytes_retransmit=9 bytes_invalid=0 send_seq=581 receive_seq=581 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999983 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2626 bytes_read=10130 bytes_retransmit=0 bytes_invalid=0 send_seq=409 receive_seq=409 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999341 adj=49999690 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12552 bytes_read=49829 bytes_retransmit=9 bytes_invalid=0 send_seq=1023 receive_seq=1023 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999363 adj=63999224 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3088 bytes_read=37489 bytes_retransmit=9 bytes_invalid=0 send_seq=434 receive_seq=434 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999489 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2120 bytes_read=105400 bytes_retransmit=0 bytes_invalid=0 send_seq=352 receive_seq=352 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=31999908 coil_temp=23.9 refs=0 mcu_temp=24.26 supply_voltage=3.069 sysload=0.16 cputime=20.172 memavail=347952 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=67.8 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 325.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5475 bytes_read=41560 bytes_retransmit=9 bytes_invalid=0 send_seq=582 receive_seq=582 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999974 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2632 bytes_read=10146 bytes_retransmit=0 bytes_invalid=0 send_seq=410 receive_seq=410 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999337 adj=49999551 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12586 bytes_read=49975 bytes_retransmit=9 bytes_invalid=0 send_seq=1026 receive_seq=1026 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999363 adj=63999312 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3094 bytes_read=37589 bytes_retransmit=9 bytes_invalid=0 send_seq=435 receive_seq=435 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999530 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2126 bytes_read=105756 bytes_retransmit=0 bytes_invalid=0 send_seq=353 receive_seq=353 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999924 coil_temp=23.9 refs=0 mcu_temp=24.25 supply_voltage=3.069 sysload=0.16 cputime=20.193 memavail=347952 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=67.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 326.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5481 bytes_read=41658 bytes_retransmit=9 bytes_invalid=0 send_seq=583 receive_seq=583 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999968 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2638 bytes_read=10175 bytes_retransmit=0 bytes_invalid=0 send_seq=411 receive_seq=411 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999340 adj=49999477 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12620 bytes_read=50149 bytes_retransmit=9 bytes_invalid=0 send_seq=1029 receive_seq=1029 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999360 adj=63999377 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3100 bytes_read=37717 bytes_retransmit=9 bytes_invalid=0 send_seq=436 receive_seq=436 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999590 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2132 bytes_read=106112 bytes_retransmit=0 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999940 coil_temp=23.9 refs=0 mcu_temp=24.24 supply_voltage=3.069 sysload=0.15 cputime=20.215 memavail=347952 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=66.8 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 327.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5487 bytes_read=41761 bytes_retransmit=9 bytes_invalid=0 send_seq=584 receive_seq=584 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999962 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2644 bytes_read=10191 bytes_retransmit=0 bytes_invalid=0 send_seq=412 receive_seq=412 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999344 adj=49999528 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12654 bytes_read=50309 bytes_retransmit=9 bytes_invalid=0 send_seq=1032 receive_seq=1032 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999359 adj=63999375 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3106 bytes_read=37831 bytes_retransmit=9 bytes_invalid=0 send_seq=437 receive_seq=437 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999598 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2138 bytes_read=106468 bytes_retransmit=0 bytes_invalid=0 send_seq=355 receive_seq=355 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999971 coil_temp=23.9 refs=0 mcu_temp=24.24 supply_voltage=3.069 sysload=0.15 cputime=20.237 memavail=347960 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=66.6 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 328.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5493 bytes_read=41893 bytes_retransmit=9 bytes_invalid=0 send_seq=585 receive_seq=585 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999959 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2650 bytes_read=10207 bytes_retransmit=0 bytes_invalid=0 send_seq=413 receive_seq=413 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999342 adj=49999574 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12688 bytes_read=50455 bytes_retransmit=9 bytes_invalid=0 send_seq=1035 receive_seq=1035 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999358 adj=63999381 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3112 bytes_read=37931 bytes_retransmit=9 bytes_invalid=0 send_seq=438 receive_seq=438 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999616 adj=63999621 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2144 bytes_read=106824 bytes_retransmit=0 bytes_invalid=0 send_seq=356 receive_seq=356 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999963 coil_temp=23.9 refs=0 mcu_temp=24.24 supply_voltage=3.069 sysload=0.15 cputime=20.261 memavail=347944 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=66.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 329.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5499 bytes_read=42010 bytes_retransmit=9 bytes_invalid=0 send_seq=586 receive_seq=586 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999957 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2656 bytes_read=10223 bytes_retransmit=0 bytes_invalid=0 send_seq=414 receive_seq=414 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999358 adj=49999488 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12722 bytes_read=50629 bytes_retransmit=9 bytes_invalid=0 send_seq=1038 receive_seq=1038 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999357 adj=63999383 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3118 bytes_read=38059 bytes_retransmit=9 bytes_invalid=0 send_seq=439 receive_seq=439 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999615 adj=63999614 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2150 bytes_read=107180 bytes_retransmit=0 bytes_invalid=0 send_seq=357 receive_seq=357 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999955 coil_temp=23.9 refs=0 mcu_temp=24.24 supply_voltage=3.069 sysload=0.15 cputime=20.310 memavail=347996 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=65.9 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 330.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5505 bytes_read=42113 bytes_retransmit=9 bytes_invalid=0 send_seq=587 receive_seq=587 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999958 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2662 bytes_read=10239 bytes_retransmit=0 bytes_invalid=0 send_seq=415 receive_seq=415 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999356 adj=49999717 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12756 bytes_read=50775 bytes_retransmit=9 bytes_invalid=0 send_seq=1041 receive_seq=1041 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999355 adj=63999369 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3124 bytes_read=38159 bytes_retransmit=9 bytes_invalid=0 send_seq=440 receive_seq=440 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999615 adj=63999623 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2156 bytes_read=107536 bytes_retransmit=0 bytes_invalid=0 send_seq=358 receive_seq=358 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999950 coil_temp=23.9 refs=0 mcu_temp=24.23 supply_voltage=3.069 sysload=0.15 cputime=20.355 memavail=347996 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=65.4 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 331.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5511 bytes_read=42245 bytes_retransmit=9 bytes_invalid=0 send_seq=588 receive_seq=588 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999957 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2668 bytes_read=10268 bytes_retransmit=0 bytes_invalid=0 send_seq=416 receive_seq=416 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999357 adj=49999606 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12790 bytes_read=50921 bytes_retransmit=9 bytes_invalid=0 send_seq=1044 receive_seq=1044 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999354 adj=63999345 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3130 bytes_read=38259 bytes_retransmit=9 bytes_invalid=0 send_seq=441 receive_seq=441 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999615 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2162 bytes_read=107892 bytes_retransmit=0 bytes_invalid=0 send_seq=359 receive_seq=359 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999947 coil_temp=23.9 refs=0 mcu_temp=24.23 supply_voltage=3.069 sysload=0.14 cputime=20.399 memavail=348196 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=65.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 332.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5517 bytes_read=42348 bytes_retransmit=9 bytes_invalid=0 send_seq=589 receive_seq=589 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999963 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2674 bytes_read=10284 bytes_retransmit=0 bytes_invalid=0 send_seq=417 receive_seq=417 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999358 adj=49999552 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12824 bytes_read=51109 bytes_retransmit=9 bytes_invalid=0 send_seq=1047 receive_seq=1047 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999353 adj=63999339 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=3136 bytes_read=38401 bytes_retransmit=9 bytes_invalid=0 send_seq=442 receive_seq=442 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999685 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2168 bytes_read=108248 bytes_retransmit=0 bytes_invalid=0 send_seq=360 receive_seq=360 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999967 coil_temp=23.9 refs=0 mcu_temp=24.23 supply_voltage=3.068 sysload=0.14 cputime=20.446 memavail=348248 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=64.6 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 333.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5523 bytes_read=42451 bytes_retransmit=9 bytes_invalid=0 send_seq=590 receive_seq=590 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999962 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2680 bytes_read=10300 bytes_retransmit=0 bytes_invalid=0 send_seq=418 receive_seq=418 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999386 adj=49999500 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12858 bytes_read=51255 bytes_retransmit=9 bytes_invalid=0 send_seq=1050 receive_seq=1050 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999296 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=3142 bytes_read=38501 bytes_retransmit=9 bytes_invalid=0 send_seq=443 receive_seq=443 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999661 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2174 bytes_read=108604 bytes_retransmit=0 bytes_invalid=0 send_seq=361 receive_seq=361 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999943 coil_temp=23.9 refs=0 mcu_temp=24.24 supply_voltage=3.068 sysload=0.14 cputime=20.494 memavail=348024 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=64.5 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 334.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5529 bytes_read=42597 bytes_retransmit=9 bytes_invalid=0 send_seq=591 receive_seq=591 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999955 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2686 bytes_read=10316 bytes_retransmit=0 bytes_invalid=0 send_seq=419 receive_seq=419 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999380 adj=49999909 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12892 bytes_read=51401 bytes_retransmit=9 bytes_invalid=0 send_seq=1053 receive_seq=1053 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999354 adj=63999362 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=3148 bytes_read=38601 bytes_retransmit=9 bytes_invalid=0 send_seq=444 receive_seq=444 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999694 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2180 bytes_read=108960 bytes_retransmit=0 bytes_invalid=0 send_seq=362 receive_seq=362 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999988 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.14 cputime=20.516 memavail=348040 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=64.2 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 335.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5535 bytes_read=42700 bytes_retransmit=9 bytes_invalid=0 send_seq=592 receive_seq=592 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999952 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2692 bytes_read=10332 bytes_retransmit=0 bytes_invalid=0 send_seq=420 receive_seq=420 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999374 adj=49999718 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12926 bytes_read=51575 bytes_retransmit=9 bytes_invalid=0 send_seq=1056 receive_seq=1056 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999353 adj=63999371 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=3154 bytes_read=38729 bytes_retransmit=9 bytes_invalid=0 send_seq=445 receive_seq=445 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999685 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2186 bytes_read=109316 bytes_retransmit=0 bytes_invalid=0 send_seq=363 receive_seq=363 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999982 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.14 cputime=20.538 memavail=348040 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=63.8 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 336.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5541 bytes_read=42803 bytes_retransmit=9 bytes_invalid=0 send_seq=593 receive_seq=593 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999958 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000017 bytes_write=2698 bytes_read=10348 bytes_retransmit=0 bytes_invalid=0 send_seq=421 receive_seq=421 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999367 adj=49999556 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12960 bytes_read=51721 bytes_retransmit=9 bytes_invalid=0 send_seq=1059 receive_seq=1059 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999355 adj=63999372 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=3160 bytes_read=38829 bytes_retransmit=9 bytes_invalid=0 send_seq=446 receive_seq=446 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999660 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2192 bytes_read=109672 bytes_retransmit=0 bytes_invalid=0 send_seq=364 receive_seq=364 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=32000053 coil_temp=23.8 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.13 cputime=20.559 memavail=348040 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=63.5 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 337.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5547 bytes_read=42935 bytes_retransmit=9 bytes_invalid=0 send_seq=594 receive_seq=594 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999950 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2704 bytes_read=10377 bytes_retransmit=0 bytes_invalid=0 send_seq=422 receive_seq=422 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999361 adj=49999380 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=12994 bytes_read=51881 bytes_retransmit=9 bytes_invalid=0 send_seq=1062 receive_seq=1062 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999353 adj=63999370 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3166 bytes_read=38943 bytes_retransmit=9 bytes_invalid=0 send_seq=447 receive_seq=447 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999801 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=34.8 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2198 bytes_read=110028 bytes_retransmit=0 bytes_invalid=0 send_seq=365 receive_seq=365 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999997 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.13 cputime=20.580 memavail=348040 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=63.0 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 338.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5553 bytes_read=43038 bytes_retransmit=9 bytes_invalid=0 send_seq=595 receive_seq=595 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999944 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2710 bytes_read=10393 bytes_retransmit=0 bytes_invalid=0 send_seq=423 receive_seq=423 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999356 adj=49999325 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13028 bytes_read=52055 bytes_retransmit=9 bytes_invalid=0 send_seq=1065 receive_seq=1065 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999351 adj=63999388 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3172 bytes_read=39071 bytes_retransmit=9 bytes_invalid=0 send_seq=448 receive_seq=448 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999834 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2204 bytes_read=110384 bytes_retransmit=0 bytes_invalid=0 send_seq=366 receive_seq=366 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000018 coil_temp=23.9 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.13 cputime=20.605 memavail=348040 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=62.8 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 339.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5559 bytes_read=43155 bytes_retransmit=9 bytes_invalid=0 send_seq=596 receive_seq=596 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999948 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2716 bytes_read=10409 bytes_retransmit=0 bytes_invalid=0 send_seq=424 receive_seq=424 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999355 adj=49999287 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13062 bytes_read=52201 bytes_retransmit=9 bytes_invalid=0 send_seq=1068 receive_seq=1068 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999350 adj=63999384 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3178 bytes_read=39171 bytes_retransmit=9 bytes_invalid=0 send_seq=449 receive_seq=449 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999850 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2210 bytes_read=110740 bytes_retransmit=0 bytes_invalid=0 send_seq=367 receive_seq=367 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000074 coil_temp=23.8 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.13 cputime=20.649 memavail=348040 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=62.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 340.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5565 bytes_read=43287 bytes_retransmit=9 bytes_invalid=0 send_seq=597 receive_seq=597 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999945 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2722 bytes_read=10425 bytes_retransmit=0 bytes_invalid=0 send_seq=425 receive_seq=425 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999354 adj=49999273 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13096 bytes_read=52347 bytes_retransmit=9 bytes_invalid=0 send_seq=1071 receive_seq=1071 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999354 adj=63999347 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3184 bytes_read=39271 bytes_retransmit=9 bytes_invalid=0 send_seq=450 receive_seq=450 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999752 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2216 bytes_read=111096 bytes_retransmit=0 bytes_invalid=0 send_seq=368 receive_seq=368 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=32000032 coil_temp=23.8 refs=0 mcu_temp=24.22 supply_voltage=3.068 sysload=0.13 cputime=20.692 memavail=348052 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=62.1 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 341.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5571 bytes_read=43390 bytes_retransmit=9 bytes_invalid=0 send_seq=598 receive_seq=598 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999954 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2728 bytes_read=10441 bytes_retransmit=0 bytes_invalid=0 send_seq=426 receive_seq=426 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999355 adj=49999297 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13130 bytes_read=52521 bytes_retransmit=9 bytes_invalid=0 send_seq=1074 receive_seq=1074 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999358 adj=63999429 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3190 bytes_read=39399 bytes_retransmit=9 bytes_invalid=0 send_seq=451 receive_seq=451 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999785 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2222 bytes_read=111452 bytes_retransmit=0 bytes_invalid=0 send_seq=369 receive_seq=369 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=32000008 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.12 cputime=20.738 memavail=348052 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=61.7 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 342.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5577 bytes_read=43493 bytes_retransmit=9 bytes_invalid=0 send_seq=599 receive_seq=599 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999953 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2734 bytes_read=10470 bytes_retransmit=0 bytes_invalid=0 send_seq=427 receive_seq=427 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999359 adj=49999284 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13164 bytes_read=52681 bytes_retransmit=9 bytes_invalid=0 send_seq=1077 receive_seq=1077 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999358 adj=63999425 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3196 bytes_read=39513 bytes_retransmit=9 bytes_invalid=0 send_seq=452 receive_seq=452 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999701 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2228 bytes_read=111826 bytes_retransmit=0 bytes_invalid=0 send_seq=370 receive_seq=370 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999967 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.12 cputime=20.783 memavail=348052 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=61.5 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 343.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5583 bytes_read=43625 bytes_retransmit=9 bytes_invalid=0 send_seq=600 receive_seq=600 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999952 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2740 bytes_read=10486 bytes_retransmit=0 bytes_invalid=0 send_seq=428 receive_seq=428 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999359 adj=49999379 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13198 bytes_read=52827 bytes_retransmit=9 bytes_invalid=0 send_seq=1080 receive_seq=1080 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999358 adj=63999427 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3202 bytes_read=39613 bytes_retransmit=9 bytes_invalid=0 send_seq=453 receive_seq=453 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999701 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=34.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2234 bytes_read=112182 bytes_retransmit=0 bytes_invalid=0 send_seq=371 receive_seq=371 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999982 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.12 cputime=20.828 memavail=348052 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=61.0 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 344.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5589 bytes_read=43742 bytes_retransmit=9 bytes_invalid=0 send_seq=601 receive_seq=601 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999945 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2746 bytes_read=10502 bytes_retransmit=0 bytes_invalid=0 send_seq=429 receive_seq=429 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999355 adj=49999373 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13232 bytes_read=53001 bytes_retransmit=9 bytes_invalid=0 send_seq=1083 receive_seq=1083 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999355 adj=63999419 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3208 bytes_read=39741 bytes_retransmit=9 bytes_invalid=0 send_seq=454 receive_seq=454 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999874 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2240 bytes_read=112538 bytes_retransmit=0 bytes_invalid=0 send_seq=372 receive_seq=372 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999969 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.12 cputime=20.851 memavail=348312 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=60.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 345.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5595 bytes_read=43845 bytes_retransmit=9 bytes_invalid=0 send_seq=602 receive_seq=602 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999943 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2752 bytes_read=10518 bytes_retransmit=0 bytes_invalid=0 send_seq=430 receive_seq=430 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999352 adj=49999342 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13266 bytes_read=53147 bytes_retransmit=9 bytes_invalid=0 send_seq=1086 receive_seq=1086 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999353 adj=63999402 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3214 bytes_read=39841 bytes_retransmit=9 bytes_invalid=0 send_seq=455 receive_seq=455 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999800 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2246 bytes_read=112894 bytes_retransmit=0 bytes_invalid=0 send_seq=373 receive_seq=373 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999968 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.068 sysload=0.12 cputime=20.873 memavail=348312 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=60.5 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 346.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5601 bytes_read=43977 bytes_retransmit=9 bytes_invalid=0 send_seq=603 receive_seq=603 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999935 rpi: mcu_awake=0.001 mcu_task_avg=0.000014 mcu_task_stddev=0.000016 bytes_write=2758 bytes_read=10534 bytes_retransmit=0 bytes_invalid=0 send_seq=431 receive_seq=431 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999349 adj=49999315 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13300 bytes_read=53293 bytes_retransmit=9 bytes_invalid=0 send_seq=1089 receive_seq=1089 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999352 adj=63999367 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3220 bytes_read=39941 bytes_retransmit=9 bytes_invalid=0 send_seq=456 receive_seq=456 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999640 adj=63999784 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.2 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2252 bytes_read=113250 bytes_retransmit=0 bytes_invalid=0 send_seq=374 receive_seq=374 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=31999975 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.068 sysload=0.11 cputime=20.895 memavail=349012 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=60.1 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 347.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5613 bytes_read=44096 bytes_retransmit=9 bytes_invalid=0 send_seq=605 receive_seq=605 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999941 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000018 bytes_write=2770 bytes_read=10579 bytes_retransmit=0 bytes_invalid=0 send_seq=433 receive_seq=433 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999344 adj=49999311 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13340 bytes_read=53497 bytes_retransmit=9 bytes_invalid=0 send_seq=1093 receive_seq=1093 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999349 adj=63999403 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3232 bytes_read=40099 bytes_retransmit=9 bytes_invalid=0 send_seq=458 receive_seq=458 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999758 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2264 bytes_read=113622 bytes_retransmit=0 bytes_invalid=0 send_seq=376 receive_seq=376 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=32000050 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.11 cputime=20.919 memavail=349068 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=59.6 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 348.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5619 bytes_read=44199 bytes_retransmit=9 bytes_invalid=0 send_seq=606 receive_seq=606 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999945 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000018 bytes_write=2776 bytes_read=10595 bytes_retransmit=0 bytes_invalid=0 send_seq=434 receive_seq=434 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999373 adj=49999218 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13374 bytes_read=53643 bytes_retransmit=9 bytes_invalid=0 send_seq=1096 receive_seq=1096 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999354 adj=63999307 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3238 bytes_read=40199 bytes_retransmit=9 bytes_invalid=0 send_seq=459 receive_seq=459 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999610 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2270 bytes_read=113978 bytes_retransmit=0 bytes_invalid=0 send_seq=377 receive_seq=377 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999972 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.11 cputime=20.947 memavail=348816 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=59.5 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 349.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5625 bytes_read=44338 bytes_retransmit=9 bytes_invalid=0 send_seq=607 receive_seq=607 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999941 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000018 bytes_write=2782 bytes_read=10611 bytes_retransmit=0 bytes_invalid=0 send_seq=435 receive_seq=435 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999373 adj=49999690 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13408 bytes_read=53789 bytes_retransmit=9 bytes_invalid=0 send_seq=1099 receive_seq=1099 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999352 adj=63999383 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3244 bytes_read=40299 bytes_retransmit=9 bytes_invalid=0 send_seq=460 receive_seq=460 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999595 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2276 bytes_read=114334 bytes_retransmit=0 bytes_invalid=0 send_seq=378 receive_seq=378 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000046 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.11 cputime=20.992 memavail=348816 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=59.0 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 350.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5631 bytes_read=44437 bytes_retransmit=9 bytes_invalid=0 send_seq=608 receive_seq=608 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999943 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000018 bytes_write=2788 bytes_read=10627 bytes_retransmit=0 bytes_invalid=0 send_seq=436 receive_seq=436 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999376 adj=49999636 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13442 bytes_read=53963 bytes_retransmit=9 bytes_invalid=0 send_seq=1102 receive_seq=1102 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999352 adj=63999375 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3250 bytes_read=40427 bytes_retransmit=9 bytes_invalid=0 send_seq=461 receive_seq=461 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999614 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2282 bytes_read=114690 bytes_retransmit=0 bytes_invalid=0 send_seq=379 receive_seq=379 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000026 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.11 cputime=21.037 memavail=348816 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=58.7 pwm=0.000 extruder1: target=0 temp=22.5 pwm=0.000
Stats 351.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5637 bytes_read=44540 bytes_retransmit=9 bytes_invalid=0 send_seq=609 receive_seq=609 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999939 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000018 bytes_write=2794 bytes_read=10642 bytes_retransmit=0 bytes_invalid=0 send_seq=437 receive_seq=437 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999395 adj=49999611 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13476 bytes_read=54109 bytes_retransmit=9 bytes_invalid=0 send_seq=1105 receive_seq=1105 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999351 adj=63999364 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3256 bytes_read=40527 bytes_retransmit=9 bytes_invalid=0 send_seq=462 receive_seq=462 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999599 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2288 bytes_read=115046 bytes_retransmit=0 bytes_invalid=0 send_seq=380 receive_seq=380 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999990 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.10 cputime=21.081 memavail=349516 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=58.6 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 352.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5643 bytes_read=44672 bytes_retransmit=9 bytes_invalid=0 send_seq=610 receive_seq=610 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999942 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000019 bytes_write=2800 bytes_read=10670 bytes_retransmit=0 bytes_invalid=0 send_seq=438 receive_seq=438 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999410 adj=49999869 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13510 bytes_read=54269 bytes_retransmit=9 bytes_invalid=0 send_seq=1108 receive_seq=1108 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999350 adj=63999368 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3262 bytes_read=40641 bytes_retransmit=9 bytes_invalid=0 send_seq=463 receive_seq=463 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999631 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2294 bytes_read=115402 bytes_retransmit=0 bytes_invalid=0 send_seq=381 receive_seq=381 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999993 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.10 cputime=21.127 memavail=354080 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=58.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 353.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5649 bytes_read=44775 bytes_retransmit=9 bytes_invalid=0 send_seq=611 receive_seq=611 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999941 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000019 bytes_write=2806 bytes_read=10685 bytes_retransmit=0 bytes_invalid=0 send_seq=439 receive_seq=439 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999414 adj=49999980 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13544 bytes_read=54443 bytes_retransmit=9 bytes_invalid=0 send_seq=1111 receive_seq=1111 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999352 adj=63999342 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3268 bytes_read=40769 bytes_retransmit=9 bytes_invalid=0 send_seq=464 receive_seq=464 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999657 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2300 bytes_read=115758 bytes_retransmit=0 bytes_invalid=0 send_seq=382 receive_seq=382 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999971 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.10 cputime=21.170 memavail=352136 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=57.8 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 354.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5655 bytes_read=44878 bytes_retransmit=9 bytes_invalid=0 send_seq=612 receive_seq=612 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999936 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000019 bytes_write=2812 bytes_read=10700 bytes_retransmit=0 bytes_invalid=0 send_seq=440 receive_seq=440 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999408 adj=49999908 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13578 bytes_read=54589 bytes_retransmit=9 bytes_invalid=0 send_seq=1114 receive_seq=1114 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999349 adj=63999378 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3274 bytes_read=40869 bytes_retransmit=9 bytes_invalid=0 send_seq=465 receive_seq=465 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999634 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.3 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2306 bytes_read=116114 bytes_retransmit=0 bytes_invalid=0 send_seq=383 receive_seq=383 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999962 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.068 sysload=0.10 cputime=21.193 memavail=351640 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=57.6 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
Stats 355.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5661 bytes_read=45024 bytes_retransmit=9 bytes_invalid=0 send_seq=613 receive_seq=613 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999930 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000019 bytes_write=2818 bytes_read=10715 bytes_retransmit=0 bytes_invalid=0 send_seq=441 receive_seq=441 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999402 adj=49999707 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13612 bytes_read=54735 bytes_retransmit=9 bytes_invalid=0 send_seq=1117 receive_seq=1117 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999351 adj=63999365 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3280 bytes_read=40969 bytes_retransmit=9 bytes_invalid=0 send_seq=466 receive_seq=466 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999670 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2312 bytes_read=116470 bytes_retransmit=0 bytes_invalid=0 send_seq=384 receive_seq=384 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999957 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.10 cputime=21.216 memavail=351640 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=57.3 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 356.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5667 bytes_read=45127 bytes_retransmit=9 bytes_invalid=0 send_seq=614 receive_seq=614 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999927 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000019 bytes_write=2824 bytes_read=10731 bytes_retransmit=0 bytes_invalid=0 send_seq=442 receive_seq=442 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999397 adj=49999576 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13646 bytes_read=54909 bytes_retransmit=9 bytes_invalid=0 send_seq=1120 receive_seq=1120 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999349 adj=63999427 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3286 bytes_read=41097 bytes_retransmit=9 bytes_invalid=0 send_seq=467 receive_seq=467 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999650 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.0 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2318 bytes_read=116826 bytes_retransmit=0 bytes_invalid=0 send_seq=385 receive_seq=385 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999965 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.09 cputime=21.237 memavail=352340 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=56.9 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 357.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5673 bytes_read=45230 bytes_retransmit=9 bytes_invalid=0 send_seq=615 receive_seq=615 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999929 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=2830 bytes_read=10760 bytes_retransmit=0 bytes_invalid=0 send_seq=443 receive_seq=443 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999393 adj=49999469 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13680 bytes_read=55069 bytes_retransmit=9 bytes_invalid=0 send_seq=1123 receive_seq=1123 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999348 adj=63999398 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3292 bytes_read=41211 bytes_retransmit=9 bytes_invalid=0 send_seq=468 receive_seq=468 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999646 Octopus_V1.1_F446: temp=25.0 EBB42_v1.2_T0: temp=35.3 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2324 bytes_read=117182 bytes_retransmit=0 bytes_invalid=0 send_seq=386 receive_seq=386 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999949 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.09 cputime=21.260 memavail=352396 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=56.8 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 358.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5679 bytes_read=45362 bytes_retransmit=9 bytes_invalid=0 send_seq=616 receive_seq=616 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999923 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=2836 bytes_read=10776 bytes_retransmit=0 bytes_invalid=0 send_seq=444 receive_seq=444 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999393 adj=49999381 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13714 bytes_read=55215 bytes_retransmit=9 bytes_invalid=0 send_seq=1126 receive_seq=1126 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999348 adj=63999361 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3298 bytes_read=41311 bytes_retransmit=9 bytes_invalid=0 send_seq=469 receive_seq=469 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999598 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=35.2 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2330 bytes_read=117538 bytes_retransmit=0 bytes_invalid=0 send_seq=387 receive_seq=387 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999930 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.09 cputime=21.285 memavail=352408 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=56.7 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 359.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5685 bytes_read=45465 bytes_retransmit=9 bytes_invalid=0 send_seq=617 receive_seq=617 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999923 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=2842 bytes_read=10792 bytes_retransmit=0 bytes_invalid=0 send_seq=445 receive_seq=445 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999391 adj=49999418 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13748 bytes_read=55389 bytes_retransmit=9 bytes_invalid=0 send_seq=1129 receive_seq=1129 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999347 adj=63999408 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3304 bytes_read=41439 bytes_retransmit=9 bytes_invalid=0 send_seq=470 receive_seq=470 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999626 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=35.2 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2336 bytes_read=117894 bytes_retransmit=0 bytes_invalid=0 send_seq=388 receive_seq=388 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999958 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.09 cputime=21.329 memavail=352408 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=56.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 360.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5691 bytes_read=45582 bytes_retransmit=9 bytes_invalid=0 send_seq=618 receive_seq=618 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999926 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=2848 bytes_read=10808 bytes_retransmit=0 bytes_invalid=0 send_seq=446 receive_seq=446 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999389 adj=49999384 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13782 bytes_read=55535 bytes_retransmit=9 bytes_invalid=0 send_seq=1132 receive_seq=1132 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999347 adj=63999384 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3310 bytes_read=41539 bytes_retransmit=9 bytes_invalid=0 send_seq=471 receive_seq=471 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999678 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2342 bytes_read=118234 bytes_retransmit=0 bytes_invalid=0 send_seq=389 receive_seq=389 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999964 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.09 cputime=21.373 memavail=352408 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=56.0 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 361.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5697 bytes_read=45714 bytes_retransmit=9 bytes_invalid=0 send_seq=619 receive_seq=619 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999929 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=2854 bytes_read=10824 bytes_retransmit=0 bytes_invalid=0 send_seq=447 receive_seq=447 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999390 adj=49999359 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13816 bytes_read=55681 bytes_retransmit=9 bytes_invalid=0 send_seq=1135 receive_seq=1135 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999359 adj=63999365 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3316 bytes_read=41639 bytes_retransmit=9 bytes_invalid=0 send_seq=472 receive_seq=472 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999737 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2348 bytes_read=118590 bytes_retransmit=0 bytes_invalid=0 send_seq=390 receive_seq=390 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=32000008 coil_temp=23.8 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.08 cputime=21.419 memavail=352408 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=55.8 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 362.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5703 bytes_read=45817 bytes_retransmit=9 bytes_invalid=0 send_seq=620 receive_seq=620 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999932 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=2860 bytes_read=10853 bytes_retransmit=0 bytes_invalid=0 send_seq=448 receive_seq=448 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999389 adj=49999362 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13850 bytes_read=55869 bytes_retransmit=9 bytes_invalid=0 send_seq=1138 receive_seq=1138 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999359 adj=63999533 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3322 bytes_read=41781 bytes_retransmit=9 bytes_invalid=0 send_seq=473 receive_seq=473 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999743 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2354 bytes_read=118946 bytes_retransmit=0 bytes_invalid=0 send_seq=391 receive_seq=391 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999988 coil_temp=23.8 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.08 cputime=21.466 memavail=352408 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=55.3 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 363.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5709 bytes_read=45920 bytes_retransmit=9 bytes_invalid=0 send_seq=621 receive_seq=621 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999935 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=2866 bytes_read=10869 bytes_retransmit=0 bytes_invalid=0 send_seq=449 receive_seq=449 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999389 adj=49999353 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13884 bytes_read=56015 bytes_retransmit=9 bytes_invalid=0 send_seq=1141 receive_seq=1141 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999357 adj=63999478 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3328 bytes_read=41881 bytes_retransmit=9 bytes_invalid=0 send_seq=474 receive_seq=474 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999636 adj=63999684 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2360 bytes_read=119302 bytes_retransmit=0 bytes_invalid=0 send_seq=392 receive_seq=392 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=32000019 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.068 sysload=0.08 cputime=21.511 memavail=351720 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=55.1 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 364.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5715 bytes_read=46052 bytes_retransmit=9 bytes_invalid=0 send_seq=622 receive_seq=622 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999934 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=2872 bytes_read=10885 bytes_retransmit=0 bytes_invalid=0 send_seq=450 receive_seq=450 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999420 adj=49999353 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13918 bytes_read=56161 bytes_retransmit=9 bytes_invalid=0 send_seq=1144 receive_seq=1144 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999418 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3334 bytes_read=41981 bytes_retransmit=9 bytes_invalid=0 send_seq=475 receive_seq=475 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999695 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2366 bytes_read=119658 bytes_retransmit=0 bytes_invalid=0 send_seq=393 receive_seq=393 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999981 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.068 sysload=0.08 cputime=21.553 memavail=351720 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=54.9 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 365.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5721 bytes_read=46169 bytes_retransmit=9 bytes_invalid=0 send_seq=623 receive_seq=623 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999934 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=2878 bytes_read=10901 bytes_retransmit=0 bytes_invalid=0 send_seq=451 receive_seq=451 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999423 adj=49999849 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13952 bytes_read=56335 bytes_retransmit=9 bytes_invalid=0 send_seq=1147 receive_seq=1147 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999355 adj=63999394 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3340 bytes_read=42109 bytes_retransmit=9 bytes_invalid=0 send_seq=476 receive_seq=476 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999653 Octopus_V1.1_F446: temp=25.4 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2372 bytes_read=120014 bytes_retransmit=0 bytes_invalid=0 send_seq=394 receive_seq=394 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999968 coil_temp=23.8 refs=0 mcu_temp=24.19 supply_voltage=3.068 sysload=0.08 cputime=21.599 memavail=351764 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=54.4 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 366.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5727 bytes_read=46272 bytes_retransmit=9 bytes_invalid=0 send_seq=624 receive_seq=624 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999931 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=2884 bytes_read=10917 bytes_retransmit=0 bytes_invalid=0 send_seq=452 receive_seq=452 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999420 adj=49999798 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=13986 bytes_read=56481 bytes_retransmit=9 bytes_invalid=0 send_seq=1150 receive_seq=1150 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999354 adj=63999371 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3346 bytes_read=42209 bytes_retransmit=9 bytes_invalid=0 send_seq=477 receive_seq=477 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999629 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2378 bytes_read=120370 bytes_retransmit=0 bytes_invalid=0 send_seq=395 receive_seq=395 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999979 coil_temp=23.8 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.08 cputime=21.643 memavail=351764 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=54.2 pwm=0.000 extruder1: target=0 temp=22.4 pwm=0.000
Stats 367.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5733 bytes_read=46404 bytes_retransmit=9 bytes_invalid=0 send_seq=625 receive_seq=625 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999935 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2890 bytes_read=10946 bytes_retransmit=0 bytes_invalid=0 send_seq=453 receive_seq=453 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999450 adj=49999680 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14020 bytes_read=56641 bytes_retransmit=9 bytes_invalid=0 send_seq=1153 receive_seq=1153 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999352 adj=63999370 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3352 bytes_read=42323 bytes_retransmit=9 bytes_invalid=0 send_seq=478 receive_seq=478 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999665 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=35.2 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2384 bytes_read=120726 bytes_retransmit=0 bytes_invalid=0 send_seq=396 receive_seq=396 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999968 coil_temp=23.8 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.08 cputime=21.690 memavail=352520 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=53.9 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 368.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5739 bytes_read=46507 bytes_retransmit=9 bytes_invalid=0 send_seq=626 receive_seq=626 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999935 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2896 bytes_read=10962 bytes_retransmit=0 bytes_invalid=0 send_seq=454 receive_seq=454 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999447 adj=50000063 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14054 bytes_read=56815 bytes_retransmit=9 bytes_invalid=0 send_seq=1156 receive_seq=1156 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999352 adj=63999326 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3358 bytes_read=42451 bytes_retransmit=9 bytes_invalid=0 send_seq=479 receive_seq=479 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999668 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.3 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2390 bytes_read=121082 bytes_retransmit=0 bytes_invalid=0 send_seq=397 receive_seq=397 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999961 coil_temp=23.8 refs=0 mcu_temp=24.19 supply_voltage=3.069 sysload=0.08 cputime=21.735 memavail=352520 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=53.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 369.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5745 bytes_read=46610 bytes_retransmit=9 bytes_invalid=0 send_seq=627 receive_seq=627 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999934 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2902 bytes_read=10978 bytes_retransmit=0 bytes_invalid=0 send_seq=455 receive_seq=455 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999443 adj=49999871 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14088 bytes_read=56961 bytes_retransmit=9 bytes_invalid=0 send_seq=1159 receive_seq=1159 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999350 adj=63999330 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3364 bytes_read=42551 bytes_retransmit=9 bytes_invalid=0 send_seq=480 receive_seq=480 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999638 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.3 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2396 bytes_read=121438 bytes_retransmit=0 bytes_invalid=0 send_seq=398 receive_seq=398 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999951 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.08 cputime=21.780 memavail=352520 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=53.4 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 370.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5751 bytes_read=46756 bytes_retransmit=9 bytes_invalid=0 send_seq=628 receive_seq=628 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999942 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2908 bytes_read=10994 bytes_retransmit=0 bytes_invalid=0 send_seq=456 receive_seq=456 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999438 adj=49999710 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14122 bytes_read=57107 bytes_retransmit=9 bytes_invalid=0 send_seq=1162 receive_seq=1162 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999358 adj=63999326 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3370 bytes_read=42651 bytes_retransmit=9 bytes_invalid=0 send_seq=481 receive_seq=481 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999634 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.3 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2402 bytes_read=121794 bytes_retransmit=0 bytes_invalid=0 send_seq=399 receive_seq=399 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999965 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.08 cputime=21.826 memavail=352532 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=53.4 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 371.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5757 bytes_read=46859 bytes_retransmit=9 bytes_invalid=0 send_seq=629 receive_seq=629 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999943 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2914 bytes_read=11010 bytes_retransmit=0 bytes_invalid=0 send_seq=457 receive_seq=457 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999439 adj=49999543 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14156 bytes_read=57281 bytes_retransmit=9 bytes_invalid=0 send_seq=1165 receive_seq=1165 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999357 adj=63999407 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3376 bytes_read=42779 bytes_retransmit=9 bytes_invalid=0 send_seq=482 receive_seq=482 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999570 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.2 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2408 bytes_read=122150 bytes_retransmit=0 bytes_invalid=0 send_seq=400 receive_seq=400 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999929 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.07 cputime=21.872 memavail=352532 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=52.9 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 372.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5763 bytes_read=46962 bytes_retransmit=9 bytes_invalid=0 send_seq=630 receive_seq=630 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999941 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2920 bytes_read=11039 bytes_retransmit=0 bytes_invalid=0 send_seq=458 receive_seq=458 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999436 adj=49999521 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14190 bytes_read=57441 bytes_retransmit=9 bytes_invalid=0 send_seq=1168 receive_seq=1168 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999359 adj=63999390 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3382 bytes_read=42893 bytes_retransmit=9 bytes_invalid=0 send_seq=483 receive_seq=483 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999584 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.3 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2414 bytes_read=122506 bytes_retransmit=0 bytes_invalid=0 send_seq=401 receive_seq=401 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999936 coil_temp=23.8 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.07 cputime=21.917 memavail=352532 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=52.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 373.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5769 bytes_read=47085 bytes_retransmit=9 bytes_invalid=0 send_seq=631 receive_seq=631 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999952 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2926 bytes_read=11055 bytes_retransmit=0 bytes_invalid=0 send_seq=459 receive_seq=459 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999432 adj=49999462 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14224 bytes_read=57587 bytes_retransmit=9 bytes_invalid=0 send_seq=1171 receive_seq=1171 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999358 adj=63999426 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3388 bytes_read=42993 bytes_retransmit=9 bytes_invalid=0 send_seq=484 receive_seq=484 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999583 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2420 bytes_read=122862 bytes_retransmit=0 bytes_invalid=0 send_seq=402 receive_seq=402 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999934 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.07 cputime=21.964 memavail=351776 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=52.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 374.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5775 bytes_read=47185 bytes_retransmit=9 bytes_invalid=0 send_seq=632 receive_seq=632 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999946 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2932 bytes_read=11071 bytes_retransmit=0 bytes_invalid=0 send_seq=460 receive_seq=460 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999425 adj=49999361 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14258 bytes_read=57752 bytes_retransmit=9 bytes_invalid=0 send_seq=1174 receive_seq=1174 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999336 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3394 bytes_read=43112 bytes_retransmit=9 bytes_invalid=0 send_seq=485 receive_seq=485 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999513 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.4 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2426 bytes_read=123218 bytes_retransmit=0 bytes_invalid=0 send_seq=403 receive_seq=403 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999928 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.07 cputime=21.987 memavail=351552 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=52.2 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 375.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5781 bytes_read=47302 bytes_retransmit=9 bytes_invalid=0 send_seq=633 receive_seq=633 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999941 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2938 bytes_read=11087 bytes_retransmit=0 bytes_invalid=0 send_seq=461 receive_seq=461 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999422 adj=49999294 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14292 bytes_read=57891 bytes_retransmit=9 bytes_invalid=0 send_seq=1177 receive_seq=1177 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999356 adj=63999350 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3400 bytes_read=43205 bytes_retransmit=9 bytes_invalid=0 send_seq=486 receive_seq=486 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999563 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2432 bytes_read=123574 bytes_retransmit=0 bytes_invalid=0 send_seq=404 receive_seq=404 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999929 coil_temp=23.8 refs=0 mcu_temp=24.21 supply_voltage=3.068 sysload=0.07 cputime=22.009 memavail=351552 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=51.8 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 376.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5787 bytes_read=47434 bytes_retransmit=9 bytes_invalid=0 send_seq=634 receive_seq=634 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999939 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2944 bytes_read=11103 bytes_retransmit=0 bytes_invalid=0 send_seq=462 receive_seq=462 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999416 adj=49999303 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14326 bytes_read=58030 bytes_retransmit=9 bytes_invalid=0 send_seq=1180 receive_seq=1180 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999353 adj=63999385 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3406 bytes_read=43298 bytes_retransmit=9 bytes_invalid=0 send_seq=487 receive_seq=487 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999569 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.2 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2438 bytes_read=123930 bytes_retransmit=0 bytes_invalid=0 send_seq=405 receive_seq=405 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999938 coil_temp=23.7 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=0.06 cputime=22.031 memavail=351560 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=51.8 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 377.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5793 bytes_read=47537 bytes_retransmit=9 bytes_invalid=0 send_seq=635 receive_seq=635 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999932 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2950 bytes_read=11132 bytes_retransmit=0 bytes_invalid=0 send_seq=463 receive_seq=463 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999411 adj=49999247 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14360 bytes_read=58209 bytes_retransmit=9 bytes_invalid=0 send_seq=1183 receive_seq=1183 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999350 adj=63999345 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3412 bytes_read=43431 bytes_retransmit=9 bytes_invalid=0 send_seq=488 receive_seq=488 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999627 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.2 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2444 bytes_read=124286 bytes_retransmit=0 bytes_invalid=0 send_seq=406 receive_seq=406 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999950 coil_temp=23.7 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.06 cputime=22.052 memavail=351564 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=51.5 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 378.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5799 bytes_read=47654 bytes_retransmit=9 bytes_invalid=0 send_seq=636 receive_seq=636 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999929 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2956 bytes_read=11148 bytes_retransmit=0 bytes_invalid=0 send_seq=464 receive_seq=464 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999406 adj=49999251 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14394 bytes_read=58355 bytes_retransmit=9 bytes_invalid=0 send_seq=1186 receive_seq=1186 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999359 adj=63999344 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3418 bytes_read=43531 bytes_retransmit=9 bytes_invalid=0 send_seq=489 receive_seq=489 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999626 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.3 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2450 bytes_read=124642 bytes_retransmit=0 bytes_invalid=0 send_seq=407 receive_seq=407 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999962 coil_temp=23.7 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.06 cputime=22.076 memavail=351568 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=51.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 379.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5805 bytes_read=47772 bytes_retransmit=9 bytes_invalid=0 send_seq=637 receive_seq=637 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999932 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2962 bytes_read=11164 bytes_retransmit=0 bytes_invalid=0 send_seq=465 receive_seq=465 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999406 adj=49999240 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14428 bytes_read=58501 bytes_retransmit=9 bytes_invalid=0 send_seq=1189 receive_seq=1189 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999375 adj=63999507 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3424 bytes_read=43631 bytes_retransmit=9 bytes_invalid=0 send_seq=490 receive_seq=490 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999609 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.4 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=43.3 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2456 bytes_read=124998 bytes_retransmit=0 bytes_invalid=0 send_seq=408 receive_seq=408 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999957 coil_temp=23.7 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.06 cputime=22.121 memavail=351568 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=51.1 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 380.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5811 bytes_read=47889 bytes_retransmit=9 bytes_invalid=0 send_seq=638 receive_seq=638 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999948 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2968 bytes_read=11180 bytes_retransmit=0 bytes_invalid=0 send_seq=466 receive_seq=466 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999405 adj=49999265 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14462 bytes_read=58675 bytes_retransmit=9 bytes_invalid=0 send_seq=1192 receive_seq=1192 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999372 adj=63999715 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3430 bytes_read=43759 bytes_retransmit=9 bytes_invalid=0 send_seq=491 receive_seq=491 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999617 adj=63999586 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.2 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2462 bytes_read=125354 bytes_retransmit=0 bytes_invalid=0 send_seq=409 receive_seq=409 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999953 coil_temp=23.7 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.06 cputime=22.169 memavail=351568 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=50.7 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 381.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5817 bytes_read=48006 bytes_retransmit=9 bytes_invalid=0 send_seq=639 receive_seq=639 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999947 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=2974 bytes_read=11196 bytes_retransmit=0 bytes_invalid=0 send_seq=467 receive_seq=467 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999406 adj=49999227 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14496 bytes_read=58821 bytes_retransmit=9 bytes_invalid=0 send_seq=1195 receive_seq=1195 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999371 adj=63999501 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3436 bytes_read=43859 bytes_retransmit=9 bytes_invalid=0 send_seq=492 receive_seq=492 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999616 adj=63999496 Octopus_V1.1_F446: temp=25.2 EBB42_v1.2_T0: temp=35.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=42.4 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2468 bytes_read=125710 bytes_retransmit=0 bytes_invalid=0 send_seq=410 receive_seq=410 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999913 coil_temp=23.7 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.06 cputime=22.214 memavail=351568 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=50.4 pwm=0.000 extruder1: target=0 temp=22.3 pwm=0.000
Stats 382.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5823 bytes_read=48124 bytes_retransmit=9 bytes_invalid=0 send_seq=640 receive_seq=640 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999945 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=2980 bytes_read=11225 bytes_retransmit=0 bytes_invalid=0 send_seq=468 receive_seq=468 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999406 adj=49999288 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14530 bytes_read=58981 bytes_retransmit=9 bytes_invalid=0 send_seq=1198 receive_seq=1198 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999371 adj=63999465 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3442 bytes_read=43973 bytes_retransmit=9 bytes_invalid=0 send_seq=493 receive_seq=493 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999615 adj=63999518 Octopus_V1.1_F446: temp=25.3 EBB42_v1.2_T0: temp=35.2 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=41.9 heater_bed: target=0 temp=21.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2474 bytes_read=126066 bytes_retransmit=0 bytes_invalid=0 send_seq=411 receive_seq=411 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999934 coil_temp=23.7 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.06 cputime=22.260 memavail=351572 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=50.2 pwm=0.000 extruder1: target=0 temp=22.2 pwm=0.000
Stats 383.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5829 bytes_read=48227 bytes_retransmit=9 bytes_invalid=0 send_seq=641 receive_seq=641 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999945 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=2986 bytes_read=11241 bytes_retransmit=0 bytes_invalid=0 send_seq=469 receive_seq=469 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999407 adj=49999334 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=14564 bytes_read=59155 bytes_retransmit=9 bytes_invalid=0 send_seq=1201 receive_seq=1201 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999370 adj=63999447 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3448 bytes_read=44101 bytes_retransmit=9 bytes_invalid=0 send_seq=494 receive_seq=494 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999614 adj=63999542 Octopus_V1.1_F446: temp=25.1 EBB42_v1.2_T0: temp=35.2 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=42.8 heater_bed: target=0 temp=21.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=2480 bytes_read=126422 bytes_retransmit=0 bytes_invalid=0 send_seq=412 receive_seq=412 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999961 coil_temp=23.7 refs=0 mcu_temp=24.20 supply_voltage=3.069 sysload=0.06 cputime=22.307 memavail=351576 print_time=435.139 buffer_time=0.000 print_stall=0 extruder: target=0 temp=50.1 pwm=0.000 extruder1: target=0 temp=22.1 pwm=0.000
RatOS | IDLE:: 2 hours since last activity. Powering off heaters and motors..
toolhead: max_velocity: 36000.000000
max_accel: 8000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
Extruder extruder already active
Extruder 'extruder' now syncing with 'extruder'
Extruder 'extruder1' now syncing with 'extruder1'
shaper_type_x:mzv shaper_freq_x:52.800 damping_ratio_x:0.100000
shaper_type_y:mzv shaper_freq_y:38.200 damping_ratio_y:0.100000
toolhead: max_velocity: 800.000000
max_accel: 10000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
Stats 7340.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48231 bytes_read=849818 bytes_retransmit=9 bytes_invalid=0 send_seq=7708 receive_seq=7708 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999813 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000023 bytes_write=45388 bytes_read=141768 bytes_retransmit=0 bytes_invalid=0 send_seq=7536 receive_seq=7536 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999361 adj=49999359 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=251676 bytes_read=1157538 bytes_retransmit=9 bytes_invalid=0 send_seq=22176 receive_seq=22176 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999231 adj=63999414 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=45850 bytes_read=822364 bytes_retransmit=9 bytes_invalid=0 send_seq=7561 receive_seq=7561 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999546 adj=63999690 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.5 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44882 bytes_read=2597702 bytes_retransmit=0 bytes_invalid=0 send_seq=7479 receive_seq=7479 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999941 adj=32000052 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.068 sysload=0.08 cputime=289.490 memavail=349760 print_time=7636.115 buffer_time=0.264 print_stall=0 extruder: target=0 temp=25.3 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7341.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48237 bytes_read=849930 bytes_retransmit=9 bytes_invalid=0 send_seq=7709 receive_seq=7709 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999817 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=45394 bytes_read=141797 bytes_retransmit=0 bytes_invalid=0 send_seq=7537 receive_seq=7537 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999354 adj=49999366 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=251682 bytes_read=1157652 bytes_retransmit=9 bytes_invalid=0 send_seq=22177 receive_seq=22177 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999231 adj=63999408 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=45856 bytes_read=822478 bytes_retransmit=9 bytes_invalid=0 send_seq=7562 receive_seq=7562 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999545 adj=63999725 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=38.7 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44888 bytes_read=2598058 bytes_retransmit=0 bytes_invalid=0 send_seq=7480 receive_seq=7480 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=32000027 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.068 sysload=0.08 cputime=289.510 memavail=349760 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7342.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48243 bytes_read=850048 bytes_retransmit=9 bytes_invalid=0 send_seq=7710 receive_seq=7710 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999809 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=45400 bytes_read=141813 bytes_retransmit=0 bytes_invalid=0 send_seq=7538 receive_seq=7538 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999348 adj=49999246 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=251688 bytes_read=1157752 bytes_retransmit=9 bytes_invalid=0 send_seq=22178 receive_seq=22178 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999229 adj=63999369 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=45862 bytes_read=822578 bytes_retransmit=9 bytes_invalid=0 send_seq=7563 receive_seq=7563 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999545 adj=63999663 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=38.7 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44894 bytes_read=2598414 bytes_retransmit=0 bytes_invalid=0 send_seq=7481 receive_seq=7481 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999939 adj=31999987 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.068 sysload=0.08 cputime=289.529 memavail=349760 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7343.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48249 bytes_read=850151 bytes_retransmit=9 bytes_invalid=0 send_seq=7711 receive_seq=7711 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999803 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=45406 bytes_read=141829 bytes_retransmit=0 bytes_invalid=0 send_seq=7539 receive_seq=7539 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999341 adj=49999222 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=251694 bytes_read=1157866 bytes_retransmit=9 bytes_invalid=0 send_seq=22179 receive_seq=22179 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999225 adj=63999365 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45868 bytes_read=822706 bytes_retransmit=9 bytes_invalid=0 send_seq=7564 receive_seq=7564 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999541 adj=63999699 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.7 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44900 bytes_read=2598770 bytes_retransmit=0 bytes_invalid=0 send_seq=7482 receive_seq=7482 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999939 adj=31999995 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.08 cputime=289.549 memavail=349760 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7344.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48255 bytes_read=850282 bytes_retransmit=9 bytes_invalid=0 send_seq=7712 receive_seq=7712 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999795 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=45412 bytes_read=141845 bytes_retransmit=0 bytes_invalid=0 send_seq=7540 receive_seq=7540 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999336 adj=49999194 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=251700 bytes_read=1157980 bytes_retransmit=9 bytes_invalid=0 send_seq=22180 receive_seq=22180 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999223 adj=63999324 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45874 bytes_read=822820 bytes_retransmit=9 bytes_invalid=0 send_seq=7565 receive_seq=7565 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999538 adj=63999657 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=38.6 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=40.4 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44906 bytes_read=2599126 bytes_retransmit=0 bytes_invalid=0 send_seq=7483 receive_seq=7483 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999939 adj=31999997 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.08 cputime=289.570 memavail=349760 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7345.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48267 bytes_read=850416 bytes_retransmit=9 bytes_invalid=0 send_seq=7714 receive_seq=7714 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999802 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=45424 bytes_read=141877 bytes_retransmit=0 bytes_invalid=0 send_seq=7542 receive_seq=7542 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999345 adj=49999200 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251712 bytes_read=1158110 bytes_retransmit=9 bytes_invalid=0 send_seq=22182 receive_seq=22182 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999219 adj=63999321 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45886 bytes_read=822936 bytes_retransmit=9 bytes_invalid=0 send_seq=7567 receive_seq=7567 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999535 adj=63999640 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.7 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44918 bytes_read=2599498 bytes_retransmit=0 bytes_invalid=0 send_seq=7485 receive_seq=7485 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999938 adj=32000021 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.08 cputime=289.596 memavail=349760 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.7 pwm=0.000
Stats 7346.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48273 bytes_read=850519 bytes_retransmit=9 bytes_invalid=0 send_seq=7715 receive_seq=7715 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999807 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000011 bytes_write=45430 bytes_read=141906 bytes_retransmit=0 bytes_invalid=0 send_seq=7543 receive_seq=7543 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999347 adj=49999357 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251718 bytes_read=1158224 bytes_retransmit=9 bytes_invalid=0 send_seq=22183 receive_seq=22183 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999218 adj=63999215 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45892 bytes_read=823064 bytes_retransmit=9 bytes_invalid=0 send_seq=7568 receive_seq=7568 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999542 adj=63999545 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.7 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44924 bytes_read=2599854 bytes_retransmit=0 bytes_invalid=0 send_seq=7486 receive_seq=7486 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999938 adj=31999968 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.069 sysload=0.07 cputime=289.637 memavail=349760 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7347.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48279 bytes_read=850636 bytes_retransmit=9 bytes_invalid=0 send_seq=7716 receive_seq=7716 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999807 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000011 bytes_write=45436 bytes_read=141922 bytes_retransmit=0 bytes_invalid=0 send_seq=7544 receive_seq=7544 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999347 adj=49999378 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251724 bytes_read=1158338 bytes_retransmit=9 bytes_invalid=0 send_seq=22184 receive_seq=22184 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999217 adj=63999188 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45898 bytes_read=823164 bytes_retransmit=9 bytes_invalid=0 send_seq=7569 receive_seq=7569 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999543 adj=63999639 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.6 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44930 bytes_read=2600210 bytes_retransmit=0 bytes_invalid=0 send_seq=7487 receive_seq=7487 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=31999966 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.069 sysload=0.07 cputime=289.677 memavail=349520 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7348.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48285 bytes_read=850754 bytes_retransmit=9 bytes_invalid=0 send_seq=7717 receive_seq=7717 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999804 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000011 bytes_write=45442 bytes_read=141938 bytes_retransmit=0 bytes_invalid=0 send_seq=7545 receive_seq=7545 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999346 adj=49999370 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251730 bytes_read=1158438 bytes_retransmit=9 bytes_invalid=0 send_seq=22185 receive_seq=22185 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999216 adj=63999203 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45904 bytes_read=823278 bytes_retransmit=9 bytes_invalid=0 send_seq=7570 receive_seq=7570 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999555 adj=63999655 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=38.5 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=40.4 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44936 bytes_read=2600566 bytes_retransmit=0 bytes_invalid=0 send_seq=7488 receive_seq=7488 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=32000033 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.069 sysload=0.07 cputime=289.718 memavail=349520 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7349.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48291 bytes_read=850871 bytes_retransmit=9 bytes_invalid=0 send_seq=7718 receive_seq=7718 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999804 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000011 bytes_write=45448 bytes_read=141954 bytes_retransmit=0 bytes_invalid=0 send_seq=7546 receive_seq=7546 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999345 adj=49999382 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251736 bytes_read=1158552 bytes_retransmit=9 bytes_invalid=0 send_seq=22186 receive_seq=22186 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999218 adj=63999230 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45910 bytes_read=823406 bytes_retransmit=9 bytes_invalid=0 send_seq=7571 receive_seq=7571 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999553 adj=63999847 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.6 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44942 bytes_read=2600922 bytes_retransmit=0 bytes_invalid=0 send_seq=7489 receive_seq=7489 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=32000030 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.069 sysload=0.07 cputime=289.760 memavail=349520 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.7 pwm=0.000 extruder1: target=0 temp=22.7 pwm=0.000
Stats 7350.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48297 bytes_read=850988 bytes_retransmit=9 bytes_invalid=0 send_seq=7719 receive_seq=7719 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999800 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000011 bytes_write=45454 bytes_read=141970 bytes_retransmit=0 bytes_invalid=0 send_seq=7547 receive_seq=7547 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999343 adj=49999371 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251742 bytes_read=1158666 bytes_retransmit=9 bytes_invalid=0 send_seq=22187 receive_seq=22187 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999219 adj=63999275 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45916 bytes_read=823506 bytes_retransmit=9 bytes_invalid=0 send_seq=7572 receive_seq=7572 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999551 adj=63999759 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=38.5 EBB42_v1.2_T1: temp=29.4 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44948 bytes_read=2601278 bytes_retransmit=0 bytes_invalid=0 send_seq=7490 receive_seq=7490 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=32000010 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.07 cputime=289.800 memavail=349520 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7351.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48303 bytes_read=851106 bytes_retransmit=9 bytes_invalid=0 send_seq=7720 receive_seq=7720 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999797 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=45460 bytes_read=141999 bytes_retransmit=0 bytes_invalid=0 send_seq=7548 receive_seq=7548 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999342 adj=49999371 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251748 bytes_read=1158780 bytes_retransmit=9 bytes_invalid=0 send_seq=22188 receive_seq=22188 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999221 adj=63999316 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45922 bytes_read=823606 bytes_retransmit=9 bytes_invalid=0 send_seq=7573 receive_seq=7573 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999553 adj=63999711 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=38.5 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=39.9 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44954 bytes_read=2601634 bytes_retransmit=0 bytes_invalid=0 send_seq=7491 receive_seq=7491 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999945 adj=32000034 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.07 cputime=289.841 memavail=349520 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7352.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48309 bytes_read=851209 bytes_retransmit=9 bytes_invalid=0 send_seq=7721 receive_seq=7721 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999805 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=45466 bytes_read=142015 bytes_retransmit=0 bytes_invalid=0 send_seq=7549 receive_seq=7549 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999341 adj=49999371 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251754 bytes_read=1158893 bytes_retransmit=9 bytes_invalid=0 send_seq=22189 receive_seq=22189 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999220 adj=63999359 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45928 bytes_read=823732 bytes_retransmit=9 bytes_invalid=0 send_seq=7574 receive_seq=7574 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999555 adj=63999741 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.5 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=39.9 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44960 bytes_read=2601990 bytes_retransmit=0 bytes_invalid=0 send_seq=7492 receive_seq=7492 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999944 adj=32000049 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.07 cputime=289.883 memavail=349520 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7353.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48315 bytes_read=851326 bytes_retransmit=9 bytes_invalid=0 send_seq=7722 receive_seq=7722 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999805 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=45472 bytes_read=142031 bytes_retransmit=0 bytes_invalid=0 send_seq=7550 receive_seq=7550 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999341 adj=49999331 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251760 bytes_read=1158999 bytes_retransmit=9 bytes_invalid=0 send_seq=22190 receive_seq=22190 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999218 adj=63999272 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45934 bytes_read=823839 bytes_retransmit=9 bytes_invalid=0 send_seq=7575 receive_seq=7575 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999554 adj=63999688 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=38.4 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=39.9 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44966 bytes_read=2602346 bytes_retransmit=0 bytes_invalid=0 send_seq=7493 receive_seq=7493 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999944 adj=32000000 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.07 cputime=289.924 memavail=349520 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7354.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48321 bytes_read=851458 bytes_retransmit=9 bytes_invalid=0 send_seq=7723 receive_seq=7723 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999803 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=45478 bytes_read=142047 bytes_retransmit=0 bytes_invalid=0 send_seq=7551 receive_seq=7551 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999347 adj=49999342 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251766 bytes_read=1159092 bytes_retransmit=9 bytes_invalid=0 send_seq=22191 receive_seq=22191 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999217 adj=63999253 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45940 bytes_read=823932 bytes_retransmit=9 bytes_invalid=0 send_seq=7576 receive_seq=7576 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999552 adj=63999670 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.4 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44972 bytes_read=2602702 bytes_retransmit=0 bytes_invalid=0 send_seq=7494 receive_seq=7494 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=31999990 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.07 cputime=289.965 memavail=349520 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.7 pwm=0.000
Stats 7355.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48327 bytes_read=851561 bytes_retransmit=9 bytes_invalid=0 send_seq=7724 receive_seq=7724 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999801 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=45484 bytes_read=142063 bytes_retransmit=0 bytes_invalid=0 send_seq=7552 receive_seq=7552 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999345 adj=49999464 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251772 bytes_read=1159198 bytes_retransmit=9 bytes_invalid=0 send_seq=22192 receive_seq=22192 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999216 adj=63999253 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45946 bytes_read=824051 bytes_retransmit=9 bytes_invalid=0 send_seq=7577 receive_seq=7577 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999549 adj=63999624 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.3 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=39.9 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44978 bytes_read=2603058 bytes_retransmit=0 bytes_invalid=0 send_seq=7495 receive_seq=7495 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=31999985 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.07 cputime=290.006 memavail=349520 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7356.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48333 bytes_read=851678 bytes_retransmit=9 bytes_invalid=0 send_seq=7725 receive_seq=7725 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999800 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=45490 bytes_read=142092 bytes_retransmit=0 bytes_invalid=0 send_seq=7553 receive_seq=7553 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999344 adj=49999422 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251778 bytes_read=1159318 bytes_retransmit=9 bytes_invalid=0 send_seq=22193 receive_seq=22193 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999214 adj=63999250 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45952 bytes_read=824144 bytes_retransmit=9 bytes_invalid=0 send_seq=7578 receive_seq=7578 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999547 adj=63999596 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.3 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44984 bytes_read=2603414 bytes_retransmit=0 bytes_invalid=0 send_seq=7496 receive_seq=7496 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=31999986 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.06 cputime=290.049 memavail=349520 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7357.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48339 bytes_read=851796 bytes_retransmit=9 bytes_invalid=0 send_seq=7726 receive_seq=7726 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999798 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=45496 bytes_read=142108 bytes_retransmit=0 bytes_invalid=0 send_seq=7554 receive_seq=7554 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999344 adj=49999411 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251784 bytes_read=1159418 bytes_retransmit=9 bytes_invalid=0 send_seq=22194 receive_seq=22194 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999228 adj=63999250 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45958 bytes_read=824244 bytes_retransmit=9 bytes_invalid=0 send_seq=7579 receive_seq=7579 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999546 adj=63999584 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.5 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44990 bytes_read=2603770 bytes_retransmit=0 bytes_invalid=0 send_seq=7497 receive_seq=7497 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=31999980 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.068 sysload=0.06 cputime=290.090 memavail=349540 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7358.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48345 bytes_read=851899 bytes_retransmit=9 bytes_invalid=0 send_seq=7727 receive_seq=7727 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999798 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=45502 bytes_read=142124 bytes_retransmit=0 bytes_invalid=0 send_seq=7555 receive_seq=7555 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999343 adj=49999416 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251790 bytes_read=1159532 bytes_retransmit=9 bytes_invalid=0 send_seq=22195 receive_seq=22195 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999226 adj=63999483 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45964 bytes_read=824386 bytes_retransmit=9 bytes_invalid=0 send_seq=7580 receive_seq=7580 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999544 adj=63999577 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.4 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=44996 bytes_read=2604126 bytes_retransmit=0 bytes_invalid=0 send_seq=7498 receive_seq=7498 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=31999986 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.06 cputime=290.131 memavail=349540 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7359.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48351 bytes_read=852045 bytes_retransmit=9 bytes_invalid=0 send_seq=7728 receive_seq=7728 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999796 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=45508 bytes_read=142140 bytes_retransmit=0 bytes_invalid=0 send_seq=7556 receive_seq=7556 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999342 adj=49999390 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251796 bytes_read=1159646 bytes_retransmit=9 bytes_invalid=0 send_seq=22196 receive_seq=22196 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999224 adj=63999403 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45970 bytes_read=824486 bytes_retransmit=9 bytes_invalid=0 send_seq=7581 receive_seq=7581 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999542 adj=63999557 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.4 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=39.4 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45002 bytes_read=2604482 bytes_retransmit=0 bytes_invalid=0 send_seq=7499 receive_seq=7499 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=31999976 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.06 cputime=290.172 memavail=349540 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.7 pwm=0.000
Stats 7360.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48357 bytes_read=852148 bytes_retransmit=9 bytes_invalid=0 send_seq=7729 receive_seq=7729 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999802 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=45514 bytes_read=142156 bytes_retransmit=0 bytes_invalid=0 send_seq=7557 receive_seq=7557 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999342 adj=49999386 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251802 bytes_read=1159746 bytes_retransmit=9 bytes_invalid=0 send_seq=22197 receive_seq=22197 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999223 adj=63999364 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45976 bytes_read=824586 bytes_retransmit=9 bytes_invalid=0 send_seq=7582 receive_seq=7582 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999540 adj=63999553 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=38.4 EBB42_v1.2_T1: temp=29.3 raspberry_pi: temp=40.9 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45008 bytes_read=2604838 bytes_retransmit=0 bytes_invalid=0 send_seq=7500 receive_seq=7500 retransmit_seq=0 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=31999978 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.06 cputime=290.212 memavail=349540 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7361.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48363 bytes_read=852251 bytes_retransmit=9 bytes_invalid=0 send_seq=7730 receive_seq=7730 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999800 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45520 bytes_read=142185 bytes_retransmit=0 bytes_invalid=0 send_seq=7558 receive_seq=7558 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999360 adj=49999358 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251808 bytes_read=1159874 bytes_retransmit=9 bytes_invalid=0 send_seq=22198 receive_seq=22198 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999221 adj=63999292 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45982 bytes_read=824714 bytes_retransmit=9 bytes_invalid=0 send_seq=7583 receive_seq=7583 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999539 adj=63999511 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.2 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45014 bytes_read=2605194 bytes_retransmit=0 bytes_invalid=0 send_seq=7501 receive_seq=7501 retransmit_seq=0 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999941 adj=31999956 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.06 cputime=290.254 memavail=349540 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7362.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48369 bytes_read=852383 bytes_retransmit=9 bytes_invalid=0 send_seq=7731 receive_seq=7731 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999799 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45526 bytes_read=142201 bytes_retransmit=0 bytes_invalid=0 send_seq=7559 receive_seq=7559 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999360 adj=49999665 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251814 bytes_read=1159988 bytes_retransmit=9 bytes_invalid=0 send_seq=22199 receive_seq=22199 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999224 adj=63999277 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45988 bytes_read=824814 bytes_retransmit=9 bytes_invalid=0 send_seq=7584 receive_seq=7584 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999523 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.1 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45020 bytes_read=2605550 bytes_retransmit=0 bytes_invalid=0 send_seq=7502 receive_seq=7502 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999941 adj=31999958 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.06 cputime=290.295 memavail=349540 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.4 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7363.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48375 bytes_read=852484 bytes_retransmit=9 bytes_invalid=0 send_seq=7732 receive_seq=7732 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999834 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45532 bytes_read=142217 bytes_retransmit=0 bytes_invalid=0 send_seq=7560 receive_seq=7560 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999364 adj=49999608 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251820 bytes_read=1160088 bytes_retransmit=9 bytes_invalid=0 send_seq=22200 receive_seq=22200 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999224 adj=63999333 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=45994 bytes_read=824928 bytes_retransmit=9 bytes_invalid=0 send_seq=7585 receive_seq=7585 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999536 adj=63999529 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=38.2 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45026 bytes_read=2605906 bytes_retransmit=0 bytes_invalid=0 send_seq=7503 receive_seq=7503 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=31999962 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.06 cputime=290.336 memavail=349540 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7364.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48381 bytes_read=852594 bytes_retransmit=9 bytes_invalid=0 send_seq=7733 receive_seq=7733 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999834 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45538 bytes_read=142233 bytes_retransmit=0 bytes_invalid=0 send_seq=7561 receive_seq=7561 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999367 adj=49999467 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251826 bytes_read=1160202 bytes_retransmit=9 bytes_invalid=0 send_seq=22201 receive_seq=22201 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999224 adj=63999127 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46000 bytes_read=825056 bytes_retransmit=9 bytes_invalid=0 send_seq=7586 receive_seq=7586 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999337 Octopus_V1.1_F446: temp=25.5 EBB42_v1.2_T0: temp=38.1 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45032 bytes_read=2606262 bytes_retransmit=0 bytes_invalid=0 send_seq=7504 receive_seq=7504 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=31999864 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.06 cputime=290.377 memavail=349552 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.6 pwm=0.000
Stats 7365.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48387 bytes_read=852724 bytes_retransmit=9 bytes_invalid=0 send_seq=7734 receive_seq=7734 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999833 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45544 bytes_read=142249 bytes_retransmit=0 bytes_invalid=0 send_seq=7562 receive_seq=7562 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999365 adj=49999508 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251832 bytes_read=1160316 bytes_retransmit=9 bytes_invalid=0 send_seq=22202 receive_seq=22202 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999255 adj=63999166 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46006 bytes_read=825156 bytes_retransmit=9 bytes_invalid=0 send_seq=7587 receive_seq=7587 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999535 adj=63999411 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.2 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45038 bytes_read=2606618 bytes_retransmit=0 bytes_invalid=0 send_seq=7505 receive_seq=7505 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=31999888 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.06 cputime=290.417 memavail=349552 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7366.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48393 bytes_read=852827 bytes_retransmit=9 bytes_invalid=0 send_seq=7735 receive_seq=7735 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999836 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=45550 bytes_read=142278 bytes_retransmit=0 bytes_invalid=0 send_seq=7563 receive_seq=7563 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999364 adj=49999459 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251838 bytes_read=1160430 bytes_retransmit=9 bytes_invalid=0 send_seq=22203 receive_seq=22203 retransmit_seq=2 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999277 adj=63999690 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46012 bytes_read=825256 bytes_retransmit=9 bytes_invalid=0 send_seq=7588 receive_seq=7588 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999538 adj=63999442 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.2 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45044 bytes_read=2606974 bytes_retransmit=0 bytes_invalid=0 send_seq=7506 receive_seq=7506 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=31999909 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.05 cputime=290.456 memavail=349552 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.4 pwm=0.000 extruder1: target=0 temp=22.7 pwm=0.000
Stats 7367.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48399 bytes_read=852930 bytes_retransmit=9 bytes_invalid=0 send_seq=7736 receive_seq=7736 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999833 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=45556 bytes_read=142294 bytes_retransmit=0 bytes_invalid=0 send_seq=7564 receive_seq=7564 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999365 adj=49999413 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251844 bytes_read=1160544 bytes_retransmit=9 bytes_invalid=0 send_seq=22204 receive_seq=22204 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999272 adj=63999916 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46018 bytes_read=825384 bytes_retransmit=9 bytes_invalid=0 send_seq=7589 receive_seq=7589 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999498 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.0 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45050 bytes_read=2607330 bytes_retransmit=0 bytes_invalid=0 send_seq=7507 receive_seq=7507 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=31999911 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.05 cputime=290.495 memavail=349552 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.7 pwm=0.000
Stats 7368.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48405 bytes_read=853062 bytes_retransmit=9 bytes_invalid=0 send_seq=7737 receive_seq=7737 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999830 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=45562 bytes_read=142310 bytes_retransmit=0 bytes_invalid=0 send_seq=7565 receive_seq=7565 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999362 adj=49999434 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251850 bytes_read=1160658 bytes_retransmit=9 bytes_invalid=0 send_seq=22205 receive_seq=22205 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999269 adj=63999715 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46024 bytes_read=825498 bytes_retransmit=9 bytes_invalid=0 send_seq=7590 receive_seq=7590 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999540 adj=63999527 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=37.9 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=39.9 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45056 bytes_read=2607686 bytes_retransmit=0 bytes_invalid=0 send_seq=7508 receive_seq=7508 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=31999929 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.05 cputime=290.535 memavail=349552 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.4 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7369.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48411 bytes_read=853179 bytes_retransmit=9 bytes_invalid=0 send_seq=7738 receive_seq=7738 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999827 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=45568 bytes_read=142326 bytes_retransmit=0 bytes_invalid=0 send_seq=7566 receive_seq=7566 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999361 adj=49999405 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251856 bytes_read=1160758 bytes_retransmit=9 bytes_invalid=0 send_seq=22206 receive_seq=22206 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999264 adj=63999584 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46030 bytes_read=825598 bytes_retransmit=9 bytes_invalid=0 send_seq=7591 receive_seq=7591 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999539 adj=63999607 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.1 EBB42_v1.2_T1: temp=29.4 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45062 bytes_read=2608042 bytes_retransmit=0 bytes_invalid=0 send_seq=7509 receive_seq=7509 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999941 adj=31999979 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.05 cputime=290.574 memavail=349552 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.7 pwm=0.000
Stats 7370.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48417 bytes_read=853282 bytes_retransmit=9 bytes_invalid=0 send_seq=7739 receive_seq=7739 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999824 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=45574 bytes_read=142342 bytes_retransmit=0 bytes_invalid=0 send_seq=7567 receive_seq=7567 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999360 adj=49999399 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251862 bytes_read=1160872 bytes_retransmit=9 bytes_invalid=0 send_seq=22207 receive_seq=22207 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999260 adj=63999460 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46036 bytes_read=825726 bytes_retransmit=9 bytes_invalid=0 send_seq=7592 receive_seq=7592 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999538 adj=63999608 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=37.9 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45068 bytes_read=2608398 bytes_retransmit=0 bytes_invalid=0 send_seq=7510 receive_seq=7510 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=31999983 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.05 cputime=290.615 memavail=349564 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 7371.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48436 bytes_read=853419 bytes_retransmit=9 bytes_invalid=0 send_seq=7741 receive_seq=7741 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999821 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000021 bytes_write=45580 bytes_read=142371 bytes_retransmit=0 bytes_invalid=0 send_seq=7568 receive_seq=7568 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999357 adj=49999390 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251868 bytes_read=1161000 bytes_retransmit=9 bytes_invalid=0 send_seq=22208 receive_seq=22208 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999256 adj=63999382 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46042 bytes_read=825826 bytes_retransmit=9 bytes_invalid=0 send_seq=7593 receive_seq=7593 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999602 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=38.0 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45074 bytes_read=2608754 bytes_retransmit=0 bytes_invalid=0 send_seq=7511 receive_seq=7511 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=32000000 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.05 cputime=290.657 memavail=349564 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.6 pwm=0.000
Stats 7372.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48442 bytes_read=853522 bytes_retransmit=9 bytes_invalid=0 send_seq=7742 receive_seq=7742 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999819 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000021 bytes_write=45586 bytes_read=142387 bytes_retransmit=0 bytes_invalid=0 send_seq=7569 receive_seq=7569 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999356 adj=49999370 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251874 bytes_read=1161100 bytes_retransmit=9 bytes_invalid=0 send_seq=22209 receive_seq=22209 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999254 adj=63999322 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46048 bytes_read=825926 bytes_retransmit=9 bytes_invalid=0 send_seq=7594 receive_seq=7594 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999536 adj=63999604 Octopus_V1.1_F446: temp=25.6 EBB42_v1.2_T0: temp=38.1 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45080 bytes_read=2609106 bytes_retransmit=0 bytes_invalid=0 send_seq=7512 receive_seq=7512 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=32000000 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.05 cputime=290.697 memavail=349564 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7373.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48448 bytes_read=853625 bytes_retransmit=9 bytes_invalid=0 send_seq=7743 receive_seq=7743 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999815 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000021 bytes_write=45592 bytes_read=142403 bytes_retransmit=0 bytes_invalid=0 send_seq=7570 receive_seq=7570 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999354 adj=49999374 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251880 bytes_read=1161214 bytes_retransmit=9 bytes_invalid=0 send_seq=22210 receive_seq=22210 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999251 adj=63999294 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=46054 bytes_read=826068 bytes_retransmit=9 bytes_invalid=0 send_seq=7595 receive_seq=7595 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999535 adj=63999605 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=37.8 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45086 bytes_read=2609451 bytes_retransmit=0 bytes_invalid=0 send_seq=7513 receive_seq=7513 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999946 adj=32000008 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.05 cputime=290.738 memavail=349564 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7374.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48454 bytes_read=853771 bytes_retransmit=9 bytes_invalid=0 send_seq=7744 receive_seq=7744 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999814 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000021 bytes_write=45598 bytes_read=142419 bytes_retransmit=0 bytes_invalid=0 send_seq=7571 receive_seq=7571 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999351 adj=49999362 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251886 bytes_read=1161328 bytes_retransmit=9 bytes_invalid=0 send_seq=22211 receive_seq=22211 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999247 adj=63999281 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=46060 bytes_read=826168 bytes_retransmit=9 bytes_invalid=0 send_seq=7596 receive_seq=7596 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999534 adj=63999607 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=37.9 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45092 bytes_read=2609795 bytes_retransmit=0 bytes_invalid=0 send_seq=7514 receive_seq=7514 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999946 adj=32000059 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.05 cputime=290.778 memavail=349564 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7375.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48460 bytes_read=853874 bytes_retransmit=9 bytes_invalid=0 send_seq=7745 receive_seq=7745 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999812 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000021 bytes_write=45604 bytes_read=142435 bytes_retransmit=0 bytes_invalid=0 send_seq=7572 receive_seq=7572 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999349 adj=49999339 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251892 bytes_read=1161428 bytes_retransmit=9 bytes_invalid=0 send_seq=22212 receive_seq=22212 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999244 adj=63999243 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=46066 bytes_read=826268 bytes_retransmit=9 bytes_invalid=0 send_seq=7597 receive_seq=7597 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999533 adj=63999597 Octopus_V1.1_F446: temp=25.7 EBB42_v1.2_T0: temp=37.8 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45098 bytes_read=2610140 bytes_retransmit=0 bytes_invalid=0 send_seq=7515 receive_seq=7515 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999945 adj=32000049 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.05 cputime=290.816 memavail=349564 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.7 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7376.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48466 bytes_read=853977 bytes_retransmit=9 bytes_invalid=0 send_seq=7746 receive_seq=7746 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999811 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45610 bytes_read=142464 bytes_retransmit=0 bytes_invalid=0 send_seq=7573 receive_seq=7573 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999348 adj=49999335 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251898 bytes_read=1161556 bytes_retransmit=9 bytes_invalid=0 send_seq=22213 receive_seq=22213 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999241 adj=63999215 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=46072 bytes_read=826396 bytes_retransmit=9 bytes_invalid=0 send_seq=7598 receive_seq=7598 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999535 adj=63999596 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=37.8 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=38.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45104 bytes_read=2610485 bytes_retransmit=0 bytes_invalid=0 send_seq=7516 receive_seq=7516 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999946 adj=32000025 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.04 cputime=290.856 memavail=349564 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.4 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7377.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48472 bytes_read=854109 bytes_retransmit=9 bytes_invalid=0 send_seq=7747 receive_seq=7747 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999808 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45616 bytes_read=142480 bytes_retransmit=0 bytes_invalid=0 send_seq=7574 receive_seq=7574 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999346 adj=49999335 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251904 bytes_read=1161670 bytes_retransmit=9 bytes_invalid=0 send_seq=22214 receive_seq=22214 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999237 adj=63999190 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=46078 bytes_read=826496 bytes_retransmit=9 bytes_invalid=0 send_seq=7599 receive_seq=7599 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999534 adj=63999625 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=37.7 EBB42_v1.2_T1: temp=29.4 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45110 bytes_read=2610830 bytes_retransmit=0 bytes_invalid=0 send_seq=7517 receive_seq=7517 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999945 adj=32000026 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.04 cputime=290.896 memavail=349564 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7378.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48478 bytes_read=854212 bytes_retransmit=9 bytes_invalid=0 send_seq=7748 receive_seq=7748 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999805 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45622 bytes_read=142496 bytes_retransmit=0 bytes_invalid=0 send_seq=7575 receive_seq=7575 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999351 adj=49999326 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251910 bytes_read=1161770 bytes_retransmit=9 bytes_invalid=0 send_seq=22215 receive_seq=22215 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999234 adj=63999185 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46084 bytes_read=826610 bytes_retransmit=9 bytes_invalid=0 send_seq=7600 receive_seq=7600 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999533 adj=63999624 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=37.9 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=38.9 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45116 bytes_read=2611175 bytes_retransmit=0 bytes_invalid=0 send_seq=7518 receive_seq=7518 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999945 adj=32000010 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.04 cputime=290.936 memavail=349564 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7379.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48484 bytes_read=854329 bytes_retransmit=9 bytes_invalid=0 send_seq=7749 receive_seq=7749 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999818 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45628 bytes_read=142512 bytes_retransmit=0 bytes_invalid=0 send_seq=7576 receive_seq=7576 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999349 adj=49999438 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251916 bytes_read=1161884 bytes_retransmit=9 bytes_invalid=0 send_seq=22216 receive_seq=22216 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999232 adj=63999185 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46090 bytes_read=826738 bytes_retransmit=9 bytes_invalid=0 send_seq=7601 receive_seq=7601 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999532 adj=63999624 Octopus_V1.1_F446: temp=25.8 EBB42_v1.2_T0: temp=37.6 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=39.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45122 bytes_read=2611520 bytes_retransmit=0 bytes_invalid=0 send_seq=7519 receive_seq=7519 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999945 adj=32000013 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.04 cputime=290.976 memavail=349580 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7380.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48490 bytes_read=854461 bytes_retransmit=9 bytes_invalid=0 send_seq=7750 receive_seq=7750 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999816 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45634 bytes_read=142528 bytes_retransmit=0 bytes_invalid=0 send_seq=7577 receive_seq=7577 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999346 adj=49999337 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251922 bytes_read=1161998 bytes_retransmit=9 bytes_invalid=0 send_seq=22217 receive_seq=22217 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999242 adj=63999100 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46096 bytes_read=826838 bytes_retransmit=9 bytes_invalid=0 send_seq=7602 receive_seq=7602 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999531 adj=63999532 Octopus_V1.1_F446: temp=25.8 EBB42_v1.2_T0: temp=37.8 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45128 bytes_read=2611865 bytes_retransmit=0 bytes_invalid=0 send_seq=7520 receive_seq=7520 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999946 adj=31999969 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.04 cputime=291.008 memavail=347368 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7381.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48496 bytes_read=854564 bytes_retransmit=9 bytes_invalid=0 send_seq=7751 receive_seq=7751 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999810 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000021 bytes_write=45640 bytes_read=142557 bytes_retransmit=0 bytes_invalid=0 send_seq=7578 receive_seq=7578 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999342 adj=49999324 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251928 bytes_read=1162112 bytes_retransmit=9 bytes_invalid=0 send_seq=22218 receive_seq=22218 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999242 adj=63999319 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46102 bytes_read=826938 bytes_retransmit=9 bytes_invalid=0 send_seq=7603 receive_seq=7603 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999531 adj=63999546 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=37.6 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45134 bytes_read=2612221 bytes_retransmit=0 bytes_invalid=0 send_seq=7521 receive_seq=7521 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999945 adj=31999990 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.04 cputime=291.027 memavail=347368 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7382.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48502 bytes_read=854667 bytes_retransmit=9 bytes_invalid=0 send_seq=7752 receive_seq=7752 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999803 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000021 bytes_write=45646 bytes_read=142573 bytes_retransmit=0 bytes_invalid=0 send_seq=7579 receive_seq=7579 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999337 adj=49999300 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251934 bytes_read=1162226 bytes_retransmit=9 bytes_invalid=0 send_seq=22219 receive_seq=22219 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999239 adj=63999356 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46108 bytes_read=827066 bytes_retransmit=9 bytes_invalid=0 send_seq=7604 receive_seq=7604 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999530 adj=63999592 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=37.6 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45140 bytes_read=2612577 bytes_retransmit=0 bytes_invalid=0 send_seq=7522 receive_seq=7522 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999944 adj=31999988 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.04 cputime=291.046 memavail=347368 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7383.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48508 bytes_read=854799 bytes_retransmit=9 bytes_invalid=0 send_seq=7753 receive_seq=7753 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999795 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000021 bytes_write=45652 bytes_read=142589 bytes_retransmit=0 bytes_invalid=0 send_seq=7580 receive_seq=7580 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999333 adj=49999285 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251940 bytes_read=1162340 bytes_retransmit=9 bytes_invalid=0 send_seq=22220 receive_seq=22220 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999235 adj=63999338 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46114 bytes_read=827180 bytes_retransmit=9 bytes_invalid=0 send_seq=7605 receive_seq=7605 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999529 adj=63999619 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=37.6 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=39.9 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45146 bytes_read=2612933 bytes_retransmit=0 bytes_invalid=0 send_seq=7523 receive_seq=7523 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=31999990 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.068 sysload=0.04 cputime=291.066 memavail=347368 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.3 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7384.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48514 bytes_read=854916 bytes_retransmit=9 bytes_invalid=0 send_seq=7754 receive_seq=7754 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999790 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000021 bytes_write=45658 bytes_read=142605 bytes_retransmit=0 bytes_invalid=0 send_seq=7581 receive_seq=7581 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999329 adj=49999280 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251946 bytes_read=1162440 bytes_retransmit=9 bytes_invalid=0 send_seq=22221 receive_seq=22221 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999231 adj=63999306 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46120 bytes_read=827280 bytes_retransmit=9 bytes_invalid=0 send_seq=7606 receive_seq=7606 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999527 adj=63999631 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=37.5 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45152 bytes_read=2613289 bytes_retransmit=0 bytes_invalid=0 send_seq=7524 receive_seq=7524 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=31999993 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.068 sysload=0.04 cputime=291.084 memavail=347368 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.7 pwm=0.000
Stats 7385.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48520 bytes_read=855019 bytes_retransmit=9 bytes_invalid=0 send_seq=7755 receive_seq=7755 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999795 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000021 bytes_write=45664 bytes_read=142621 bytes_retransmit=0 bytes_invalid=0 send_seq=7582 receive_seq=7582 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999327 adj=49999266 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251952 bytes_read=1162554 bytes_retransmit=9 bytes_invalid=0 send_seq=22222 receive_seq=22222 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999227 adj=63999271 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46126 bytes_read=827408 bytes_retransmit=9 bytes_invalid=0 send_seq=7607 receive_seq=7607 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999525 adj=63999628 Octopus_V1.1_F446: temp=26.0 EBB42_v1.2_T0: temp=37.5 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=40.9 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45158 bytes_read=2613645 bytes_retransmit=0 bytes_invalid=0 send_seq=7525 receive_seq=7525 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999941 adj=31999979 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.068 sysload=0.04 cputime=291.115 memavail=347368 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.7 pwm=0.000
Stats 7386.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48526 bytes_read=855151 bytes_retransmit=9 bytes_invalid=0 send_seq=7756 receive_seq=7756 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999806 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=45670 bytes_read=142650 bytes_retransmit=0 bytes_invalid=0 send_seq=7583 receive_seq=7583 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999328 adj=49999233 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251958 bytes_read=1162682 bytes_retransmit=9 bytes_invalid=0 send_seq=22223 receive_seq=22223 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999227 adj=63999201 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46132 bytes_read=827508 bytes_retransmit=9 bytes_invalid=0 send_seq=7608 receive_seq=7608 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999533 adj=63999566 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=37.4 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=40.9 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45164 bytes_read=2614001 bytes_retransmit=0 bytes_invalid=0 send_seq=7526 receive_seq=7526 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=31999946 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.20 cputime=291.156 memavail=347368 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.4 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7387.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48532 bytes_read=855252 bytes_retransmit=9 bytes_invalid=0 send_seq=7757 receive_seq=7757 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999803 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=45676 bytes_read=142666 bytes_retransmit=0 bytes_invalid=0 send_seq=7584 receive_seq=7584 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999332 adj=49999243 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251964 bytes_read=1162782 bytes_retransmit=9 bytes_invalid=0 send_seq=22224 receive_seq=22224 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999224 adj=63999153 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46138 bytes_read=827608 bytes_retransmit=9 bytes_invalid=0 send_seq=7609 receive_seq=7609 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999533 adj=63999643 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=37.4 EBB42_v1.2_T1: temp=29.4 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45170 bytes_read=2614357 bytes_retransmit=0 bytes_invalid=0 send_seq=7527 receive_seq=7527 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999941 adj=31999916 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.20 cputime=291.196 memavail=347640 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 7388.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48538 bytes_read=855348 bytes_retransmit=9 bytes_invalid=0 send_seq=7758 receive_seq=7758 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999801 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=45682 bytes_read=142682 bytes_retransmit=0 bytes_invalid=0 send_seq=7585 receive_seq=7585 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999332 adj=49999350 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251970 bytes_read=1162896 bytes_retransmit=9 bytes_invalid=0 send_seq=22225 receive_seq=22225 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999223 adj=63999161 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46144 bytes_read=827750 bytes_retransmit=9 bytes_invalid=0 send_seq=7610 receive_seq=7610 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999534 adj=63999635 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=37.4 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45176 bytes_read=2614713 bytes_retransmit=0 bytes_invalid=0 send_seq=7528 receive_seq=7528 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999941 adj=31999942 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.20 cputime=291.237 memavail=347644 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7389.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48544 bytes_read=855491 bytes_retransmit=9 bytes_invalid=0 send_seq=7759 receive_seq=7759 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999801 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=45688 bytes_read=142698 bytes_retransmit=0 bytes_invalid=0 send_seq=7586 receive_seq=7586 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999338 adj=49999377 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251976 bytes_read=1163010 bytes_retransmit=9 bytes_invalid=0 send_seq=22226 receive_seq=22226 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999221 adj=63999186 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46150 bytes_read=827850 bytes_retransmit=9 bytes_invalid=0 send_seq=7611 receive_seq=7611 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999542 adj=63999656 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=37.4 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45182 bytes_read=2615069 bytes_retransmit=0 bytes_invalid=0 send_seq=7529 receive_seq=7529 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=31999957 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.20 cputime=291.278 memavail=347644 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.4 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7390.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48550 bytes_read=855594 bytes_retransmit=9 bytes_invalid=0 send_seq=7760 receive_seq=7760 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999804 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=45694 bytes_read=142714 bytes_retransmit=0 bytes_invalid=0 send_seq=7587 receive_seq=7587 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999338 adj=49999461 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=251982 bytes_read=1163110 bytes_retransmit=9 bytes_invalid=0 send_seq=22227 receive_seq=22227 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999223 adj=63999186 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46156 bytes_read=827950 bytes_retransmit=9 bytes_invalid=0 send_seq=7612 receive_seq=7612 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999542 adj=63999767 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=37.3 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=39.4 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45188 bytes_read=2615425 bytes_retransmit=0 bytes_invalid=0 send_seq=7530 receive_seq=7530 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=31999955 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.20 cputime=291.317 memavail=347644 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7391.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48556 bytes_read=855697 bytes_retransmit=9 bytes_invalid=0 send_seq=7761 receive_seq=7761 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999805 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45700 bytes_read=142743 bytes_retransmit=0 bytes_invalid=0 send_seq=7588 receive_seq=7588 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999338 adj=49999443 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251988 bytes_read=1163238 bytes_retransmit=9 bytes_invalid=0 send_seq=22228 receive_seq=22228 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999229 adj=63999231 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46162 bytes_read=828078 bytes_retransmit=9 bytes_invalid=0 send_seq=7613 receive_seq=7613 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999546 adj=63999722 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=37.5 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=41.4 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45194 bytes_read=2615765 bytes_retransmit=0 bytes_invalid=0 send_seq=7531 receive_seq=7531 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999941 adj=31999948 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.18 cputime=291.359 memavail=347644 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7392.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48562 bytes_read=855829 bytes_retransmit=9 bytes_invalid=0 send_seq=7762 receive_seq=7762 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999803 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45706 bytes_read=142759 bytes_retransmit=0 bytes_invalid=0 send_seq=7589 receive_seq=7589 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999338 adj=49999420 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=251994 bytes_read=1163352 bytes_retransmit=9 bytes_invalid=0 send_seq=22229 receive_seq=22229 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999227 adj=63999330 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46168 bytes_read=828178 bytes_retransmit=9 bytes_invalid=0 send_seq=7614 receive_seq=7614 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999544 adj=63999743 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=37.4 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45200 bytes_read=2616121 bytes_retransmit=0 bytes_invalid=0 send_seq=7532 receive_seq=7532 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=31999977 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.18 cputime=291.400 memavail=347644 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.9 pwm=0.000
Stats 7393.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48568 bytes_read=855932 bytes_retransmit=9 bytes_invalid=0 send_seq=7763 receive_seq=7763 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999802 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45712 bytes_read=142775 bytes_retransmit=0 bytes_invalid=0 send_seq=7590 receive_seq=7590 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999341 adj=49999424 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=252000 bytes_read=1163452 bytes_retransmit=9 bytes_invalid=0 send_seq=22230 receive_seq=22230 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999225 adj=63999309 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46174 bytes_read=828292 bytes_retransmit=9 bytes_invalid=0 send_seq=7615 receive_seq=7615 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999543 adj=63999695 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=37.3 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45206 bytes_read=2616477 bytes_retransmit=0 bytes_invalid=0 send_seq=7533 receive_seq=7533 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=32000007 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.18 cputime=291.439 memavail=347644 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7394.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48574 bytes_read=856049 bytes_retransmit=9 bytes_invalid=0 send_seq=7764 receive_seq=7764 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999799 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45718 bytes_read=142791 bytes_retransmit=0 bytes_invalid=0 send_seq=7591 receive_seq=7591 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999341 adj=49999473 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=252006 bytes_read=1163566 bytes_retransmit=9 bytes_invalid=0 send_seq=22231 receive_seq=22231 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999226 adj=63999282 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46180 bytes_read=828420 bytes_retransmit=9 bytes_invalid=0 send_seq=7616 receive_seq=7616 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999561 adj=63999668 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=37.2 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45212 bytes_read=2616833 bytes_retransmit=0 bytes_invalid=0 send_seq=7534 receive_seq=7534 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=32000003 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.18 cputime=291.479 memavail=347644 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.4 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7395.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48580 bytes_read=856181 bytes_retransmit=9 bytes_invalid=0 send_seq=7765 receive_seq=7765 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999798 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=45724 bytes_read=142806 bytes_retransmit=0 bytes_invalid=0 send_seq=7592 receive_seq=7592 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999340 adj=49999462 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=252012 bytes_read=1163680 bytes_retransmit=9 bytes_invalid=0 send_seq=22232 receive_seq=22232 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999224 adj=63999307 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46186 bytes_read=828520 bytes_retransmit=9 bytes_invalid=0 send_seq=7617 receive_seq=7617 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999560 adj=63999947 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=37.4 EBB42_v1.2_T1: temp=29.3 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45218 bytes_read=2617189 bytes_retransmit=0 bytes_invalid=0 send_seq=7535 receive_seq=7535 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=32000003 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.18 cputime=291.520 memavail=347644 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7396.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48586 bytes_read=856284 bytes_retransmit=9 bytes_invalid=0 send_seq=7766 receive_seq=7766 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999796 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=45730 bytes_read=142834 bytes_retransmit=0 bytes_invalid=0 send_seq=7593 receive_seq=7593 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999340 adj=49999443 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=252018 bytes_read=1163794 bytes_retransmit=9 bytes_invalid=0 send_seq=22233 receive_seq=22233 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999224 adj=63999293 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46192 bytes_read=828620 bytes_retransmit=9 bytes_invalid=0 send_seq=7618 receive_seq=7618 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999560 adj=63999864 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=37.4 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=41.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45224 bytes_read=2617545 bytes_retransmit=0 bytes_invalid=0 send_seq=7536 receive_seq=7536 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999944 adj=32000000 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.17 cputime=291.560 memavail=347644 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7397.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48592 bytes_read=856387 bytes_retransmit=9 bytes_invalid=0 send_seq=7767 receive_seq=7767 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999790 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=45736 bytes_read=142849 bytes_retransmit=0 bytes_invalid=0 send_seq=7594 receive_seq=7594 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999339 adj=49999431 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=252024 bytes_read=1163908 bytes_retransmit=9 bytes_invalid=0 send_seq=22234 receive_seq=22234 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999223 adj=63999289 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46198 bytes_read=828748 bytes_retransmit=9 bytes_invalid=0 send_seq=7619 receive_seq=7619 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999558 adj=63999813 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=37.2 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=39.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45230 bytes_read=2617901 bytes_retransmit=0 bytes_invalid=0 send_seq=7537 receive_seq=7537 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999947 adj=32000019 coil_temp=23.2 refs=0 mcu_temp=24.31 supply_voltage=3.068 sysload=0.17 cputime=291.600 memavail=347676 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.4 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Stats 7398.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48598 bytes_read=856519 bytes_retransmit=9 bytes_invalid=0 send_seq=7768 receive_seq=7768 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999791 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=45742 bytes_read=142864 bytes_retransmit=0 bytes_invalid=0 send_seq=7595 receive_seq=7595 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999338 adj=49999439 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=252030 bytes_read=1164022 bytes_retransmit=9 bytes_invalid=0 send_seq=22235 receive_seq=22235 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999222 adj=63999316 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46204 bytes_read=828862 bytes_retransmit=9 bytes_invalid=0 send_seq=7620 receive_seq=7620 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999770 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=37.3 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=40.9 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45236 bytes_read=2618257 bytes_retransmit=0 bytes_invalid=0 send_seq=7538 receive_seq=7538 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999946 adj=32000066 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.17 cputime=291.641 memavail=347676 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.4 pwm=0.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 7399.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48604 bytes_read=856636 bytes_retransmit=9 bytes_invalid=0 send_seq=7769 receive_seq=7769 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999790 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=45748 bytes_read=142879 bytes_retransmit=0 bytes_invalid=0 send_seq=7596 receive_seq=7596 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999360 adj=49999407 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=252036 bytes_read=1164122 bytes_retransmit=9 bytes_invalid=0 send_seq=22236 receive_seq=22236 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999222 adj=63999297 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46210 bytes_read=828962 bytes_retransmit=9 bytes_invalid=0 send_seq=7621 receive_seq=7621 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999557 adj=63999752 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=37.1 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=41.4 heater_bed: target=0 temp=22.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45242 bytes_read=2618613 bytes_retransmit=0 bytes_invalid=0 send_seq=7539 receive_seq=7539 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999947 adj=32000041 coil_temp=23.2 refs=0 mcu_temp=24.32 supply_voltage=3.068 sysload=0.17 cputime=291.682 memavail=347676 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.6 pwm=0.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 7400.5: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=48610 bytes_read=856739 bytes_retransmit=9 bytes_invalid=0 send_seq=7770 receive_seq=7770 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999789 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=45754 bytes_read=142895 bytes_retransmit=0 bytes_invalid=0 send_seq=7597 receive_seq=7597 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999358 adj=49999765 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=252042 bytes_read=1164236 bytes_retransmit=9 bytes_invalid=0 send_seq=22237 receive_seq=22237 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999221 adj=63999300 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=46216 bytes_read=829090 bytes_retransmit=9 bytes_invalid=0 send_seq=7622 receive_seq=7622 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999556 adj=63999692 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=37.2 EBB42_v1.2_T1: temp=29.5 raspberry_pi: temp=40.4 heater_bed: target=0 temp=21.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=45248 bytes_read=2618969 bytes_retransmit=0 bytes_invalid=0 send_seq=7540 receive_seq=7540 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999946 adj=32000032 coil_temp=23.2 refs=0 mcu_temp=24.33 supply_voltage=3.068 sysload=0.17 cputime=291.723 memavail=347684 print_time=7636.115 buffer_time=0.000 print_stall=0 extruder: target=0 temp=25.5 pwm=0.000 extruder1: target=0 temp=22.8 pwm=0.000
Post-processing started via RatOS CLI: ['ratos', 'postprocess', '--non-interactive', '--overwrite-input', '--idex', '--allow-unknown-generator', '--allow-unsupported-slicer-versions', '/home/pi/printer_data/gcodes/Compliant_AOPA-Long-Conical-Slender-Long-TPU-Teil.gcode']
Warning: Unsupported slicer version: Only versions 2.8.0, 2.8.1 and 2.9.0 of PrusaSlicer are supported. Version 2.9.3 is not supported. This may result in print defects and incorrect operation of the printer.
Starting SD card print (position 0)
RatOS:: First print coordinates X:210.613 Y:205.494
toolhead: max_velocity: 36000.000000
max_accel: 8000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
toolhead: max_velocity: 800.000000
max_accel: 10000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
RatOS:: Homing X Y Z
toolhead: max_velocity: 36000.000000
max_accel: 8000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
toolhead: max_velocity: 800.000000
max_accel: 10000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
TMC 'stepper_z' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_z1' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_z2' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_z' reports GSTAT: 00000000
TMC 'stepper_z1' reports GSTAT: 00000000
TMC 'stepper_z2' reports GSTAT: 00000000
Stats 15089.3: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000005 bytes_write=97276 bytes_read=1744103 bytes_retransmit=9 bytes_invalid=0 send_seq=15668 receive_seq=15668 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999718 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000014 bytes_write=92620 bytes_read=287181 bytes_retransmit=0 bytes_invalid=0 send_seq=15408 receive_seq=15408 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999457 adj=49999490 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=298908 bytes_read=2024337 bytes_retransmit=9 bytes_invalid=0 send_seq=30048 receive_seq=30048 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999509 adj=63999610 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93082 bytes_read=1689175 bytes_retransmit=9 bytes_invalid=0 send_seq=15433 receive_seq=15433 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999604 adj=63999727 Octopus_V1.1_F446: temp=35.4 EBB42_v1.2_T0: temp=29.5 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=53.1 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92114 bytes_read=5350149 bytes_retransmit=0 bytes_invalid=0 send_seq=15351 receive_seq=15351 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000059 coil_temp=23.5 refs=0 mcu_temp=24.62 supply_voltage=3.069 sysload=0.73 cputime=592.840 memavail=344796 print_time=15385.269 buffer_time=0.593 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15090.3: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000005 bytes_write=99060 bytes_read=1745758 bytes_retransmit=9 bytes_invalid=0 send_seq=15763 receive_seq=15763 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999725 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000014 bytes_write=92626 bytes_read=287197 bytes_retransmit=0 bytes_invalid=0 send_seq=15409 receive_seq=15409 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999456 adj=49999494 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=298914 bytes_read=2024437 bytes_retransmit=9 bytes_invalid=0 send_seq=30049 receive_seq=30049 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999507 adj=63999529 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93088 bytes_read=1689275 bytes_retransmit=9 bytes_invalid=0 send_seq=15434 receive_seq=15434 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999603 adj=63999660 Octopus_V1.1_F446: temp=35.3 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=52.1 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92120 bytes_read=5350505 bytes_retransmit=0 bytes_invalid=0 send_seq=15352 receive_seq=15352 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=32000018 coil_temp=23.5 refs=0 mcu_temp=24.62 supply_voltage=3.069 sysload=0.73 cputime=592.946 memavail=341016 print_time=15385.823 buffer_time=0.147 print_stall=0 extruder: target=0 temp=23.8 pwm=0.000 extruder1: target=0 temp=23.2 pwm=0.000
TMC 'stepper_x' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_y' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_y1' reports GSTAT: 00000001 reset=1(Reset)
TMC 'dual_carriage' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_x' reports GSTAT: 00000000
TMC 'stepper_y' reports GSTAT: 00000000
TMC 'stepper_y1' reports GSTAT: 00000000
TMC 'dual_carriage' reports GSTAT: 00000000
Stats 15091.3: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000005 bytes_write=106427 bytes_read=1747564 bytes_retransmit=9 bytes_invalid=0 send_seq=15933 receive_seq=15933 retransmit_seq=2 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=21 upcoming_bytes=0 freq=179999722 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000014 bytes_write=92632 bytes_read=287213 bytes_retransmit=0 bytes_invalid=0 send_seq=15410 receive_seq=15410 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999455 adj=49999462 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=298920 bytes_read=2024537 bytes_retransmit=9 bytes_invalid=0 send_seq=30050 receive_seq=30050 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=33 upcoming_bytes=0 freq=63999510 adj=63999486 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93094 bytes_read=1689389 bytes_retransmit=9 bytes_invalid=0 send_seq=15435 receive_seq=15435 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999605 adj=63999620 Octopus_V1.1_F446: temp=35.3 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=52.6 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92126 bytes_read=5350845 bytes_retransmit=0 bytes_invalid=0 send_seq=15353 receive_seq=15353 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999993 coil_temp=23.5 refs=0 mcu_temp=24.62 supply_voltage=3.068 sysload=0.73 cputime=593.094 memavail=337996 print_time=15387.312 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.1 pwm=0.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15092.3: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000005 bytes_write=107485 bytes_read=1749071 bytes_retransmit=9 bytes_invalid=0 send_seq=16013 receive_seq=16013 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999716 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000014 bytes_write=92638 bytes_read=287229 bytes_retransmit=0 bytes_invalid=0 send_seq=15411 receive_seq=15411 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999454 adj=49999486 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=299576 bytes_read=2025667 bytes_retransmit=9 bytes_invalid=0 send_seq=30103 receive_seq=30103 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999510 adj=63999591 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93100 bytes_read=1689503 bytes_retransmit=9 bytes_invalid=0 send_seq=15436 receive_seq=15436 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999604 adj=63999697 Octopus_V1.1_F446: temp=34.9 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=52.1 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92132 bytes_read=5351201 bytes_retransmit=0 bytes_invalid=0 send_seq=15354 receive_seq=15354 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000010 coil_temp=23.5 refs=0 mcu_temp=24.62 supply_voltage=3.068 sysload=0.67 cputime=593.166 memavail=341948 print_time=15387.862 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15093.3: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000005 bytes_write=109542 bytes_read=1752123 bytes_retransmit=9 bytes_invalid=0 send_seq=16182 receive_seq=16181 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999706 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=92644 bytes_read=287258 bytes_retransmit=0 bytes_invalid=0 send_seq=15412 receive_seq=15412 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999452 adj=49999499 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=301178 bytes_read=2028308 bytes_retransmit=9 bytes_invalid=0 send_seq=30237 receive_seq=30237 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999512 adj=63999613 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93106 bytes_read=1689603 bytes_retransmit=9 bytes_invalid=0 send_seq=15437 receive_seq=15437 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999603 adj=63999708 Octopus_V1.1_F446: temp=34.7 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92138 bytes_read=5351557 bytes_retransmit=0 bytes_invalid=0 send_seq=15355 receive_seq=15355 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000039 coil_temp=23.5 refs=0 mcu_temp=24.62 supply_voltage=3.068 sysload=0.67 cputime=593.293 memavail=341960 print_time=15388.862 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15094.3: gcodein=0 mcu: mcu_awake=0.019 mcu_task_avg=0.000008 mcu_task_stddev=0.000006 bytes_write=111592 bytes_read=1755201 bytes_retransmit=9 bytes_invalid=0 send_seq=16351 receive_seq=16351 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999699 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=92650 bytes_read=287274 bytes_retransmit=0 bytes_invalid=0 send_seq=15413 receive_seq=15413 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999455 adj=49999519 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=302780 bytes_read=2030935 bytes_retransmit=9 bytes_invalid=0 send_seq=30371 receive_seq=30371 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999512 adj=63999706 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=93112 bytes_read=1689731 bytes_retransmit=9 bytes_invalid=0 send_seq=15438 receive_seq=15438 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999604 adj=63999752 Octopus_V1.1_F446: temp=34.3 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92144 bytes_read=5351913 bytes_retransmit=0 bytes_invalid=0 send_seq=15356 receive_seq=15356 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000064 coil_temp=23.5 refs=0 mcu_temp=24.62 supply_voltage=3.068 sysload=0.67 cputime=593.517 memavail=345592 print_time=15389.862 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15095.3: gcodein=0 mcu: mcu_awake=0.019 mcu_task_avg=0.000008 mcu_task_stddev=0.000006 bytes_write=113525 bytes_read=1758185 bytes_retransmit=9 bytes_invalid=0 send_seq=16519 receive_seq=16519 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999701 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=92656 bytes_read=287290 bytes_retransmit=0 bytes_invalid=0 send_seq=15414 receive_seq=15414 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999453 adj=49999591 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=304394 bytes_read=2033595 bytes_retransmit=9 bytes_invalid=0 send_seq=30506 receive_seq=30506 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999511 adj=63999721 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=93118 bytes_read=1689845 bytes_retransmit=9 bytes_invalid=0 send_seq=15439 receive_seq=15439 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999603 adj=63999792 Octopus_V1.1_F446: temp=34.4 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92150 bytes_read=5352269 bytes_retransmit=0 bytes_invalid=0 send_seq=15357 receive_seq=15357 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000087 coil_temp=23.5 refs=0 mcu_temp=24.62 supply_voltage=3.068 sysload=0.67 cputime=593.658 memavail=348084 print_time=15390.862 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15096.3: gcodein=0 mcu: mcu_awake=0.019 mcu_task_avg=0.000008 mcu_task_stddev=0.000006 bytes_write=115491 bytes_read=1761146 bytes_retransmit=9 bytes_invalid=0 send_seq=16689 receive_seq=16689 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999692 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=92662 bytes_read=287306 bytes_retransmit=0 bytes_invalid=0 send_seq=15415 receive_seq=15415 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999452 adj=49999549 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=305996 bytes_read=2036236 bytes_retransmit=9 bytes_invalid=0 send_seq=30640 receive_seq=30640 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999514 adj=63999668 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=93124 bytes_read=1689945 bytes_retransmit=9 bytes_invalid=0 send_seq=15440 receive_seq=15440 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999603 adj=63999756 Octopus_V1.1_F446: temp=34.1 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=52.1 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92156 bytes_read=5352625 bytes_retransmit=0 bytes_invalid=0 send_seq=15358 receive_seq=15358 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000074 coil_temp=23.5 refs=0 mcu_temp=24.61 supply_voltage=3.068 sysload=0.67 cputime=593.771 memavail=348084 print_time=15391.862 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15097.3: gcodein=0 mcu: mcu_awake=0.019 mcu_task_avg=0.000008 mcu_task_stddev=0.000006 bytes_write=117541 bytes_read=1764217 bytes_retransmit=9 bytes_invalid=0 send_seq=16858 receive_seq=16858 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999685 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000009 bytes_write=92668 bytes_read=287322 bytes_retransmit=0 bytes_invalid=0 send_seq=15416 receive_seq=15416 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999451 adj=49999570 toolboard_t0: mcu_awake=0.071 mcu_task_avg=0.000018 mcu_task_stddev=0.000011 bytes_write=307610 bytes_read=2038884 bytes_retransmit=9 bytes_invalid=0 send_seq=30775 receive_seq=30775 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999513 adj=63999753 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=93130 bytes_read=1690059 bytes_retransmit=9 bytes_invalid=0 send_seq=15441 receive_seq=15441 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999602 adj=63999791 Octopus_V1.1_F446: temp=34.0 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=52.1 sd_pos=139316 heater_bed: target=0 temp=22.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92162 bytes_read=5352981 bytes_retransmit=0 bytes_invalid=0 send_seq=15359 receive_seq=15359 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000061 coil_temp=23.5 refs=0 mcu_temp=24.60 supply_voltage=3.068 sysload=0.62 cputime=593.881 memavail=348084 print_time=15392.862 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.7 pwm=0.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15098.3: gcodein=0 mcu: mcu_awake=0.019 mcu_task_avg=0.000008 mcu_task_stddev=0.000006 bytes_write=119566 bytes_read=1767082 bytes_retransmit=9 bytes_invalid=0 send_seq=17018 receive_seq=17018 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=51 upcoming_bytes=0 freq=179999726 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=92674 bytes_read=287351 bytes_retransmit=0 bytes_invalid=0 send_seq=15417 receive_seq=15417 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999449 adj=49999576 toolboard_t0: mcu_awake=0.071 mcu_task_avg=0.000018 mcu_task_stddev=0.000011 bytes_write=309052 bytes_read=2041312 bytes_retransmit=9 bytes_invalid=0 send_seq=30896 receive_seq=30896 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=33 upcoming_bytes=0 freq=63999514 adj=63999740 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=93136 bytes_read=1690173 bytes_retransmit=9 bytes_invalid=0 send_seq=15442 receive_seq=15442 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999603 adj=63999800 Octopus_V1.1_F446: temp=33.8 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=51.6 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92168 bytes_read=5353337 bytes_retransmit=0 bytes_invalid=0 send_seq=15360 receive_seq=15360 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000069 coil_temp=23.5 refs=0 mcu_temp=24.60 supply_voltage=3.068 sysload=0.62 cputime=593.991 memavail=348084 print_time=15393.999 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15099.3: gcodein=0 mcu: mcu_awake=0.022 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=120817 bytes_read=1768619 bytes_retransmit=9 bytes_invalid=0 send_seq=17107 receive_seq=17107 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=52 upcoming_bytes=0 freq=179999719 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=92680 bytes_read=287367 bytes_retransmit=0 bytes_invalid=0 send_seq=15418 receive_seq=15418 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999448 adj=49999349 toolboard_t0: mcu_awake=0.071 mcu_task_avg=0.000018 mcu_task_stddev=0.000011 bytes_write=309469 bytes_read=2042045 bytes_retransmit=9 bytes_invalid=0 send_seq=30930 receive_seq=30930 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999514 adj=63999501 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=93397 bytes_read=1690659 bytes_retransmit=9 bytes_invalid=0 send_seq=15463 receive_seq=15463 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=33 upcoming_bytes=0 freq=63999602 adj=63999553 Octopus_V1.1_F446: temp=33.5 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=0 temp=22.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92174 bytes_read=5353693 bytes_retransmit=0 bytes_invalid=0 send_seq=15361 receive_seq=15361 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=31999949 coil_temp=23.5 refs=0 mcu_temp=24.58 supply_voltage=3.068 sysload=0.62 cputime=594.075 memavail=346572 print_time=15395.024 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15100.3: gcodein=0 mcu: mcu_awake=0.022 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=122810 bytes_read=1769828 bytes_retransmit=9 bytes_invalid=0 send_seq=17188 receive_seq=17188 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999710 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=92686 bytes_read=287383 bytes_retransmit=0 bytes_invalid=0 send_seq=15419 receive_seq=15419 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999448 adj=49999411 toolboard_t0: mcu_awake=0.071 mcu_task_avg=0.000018 mcu_task_stddev=0.000011 bytes_write=309475 bytes_read=2042145 bytes_retransmit=9 bytes_invalid=0 send_seq=30931 receive_seq=30931 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999513 adj=63999613 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=93814 bytes_read=1691406 bytes_retransmit=9 bytes_invalid=0 send_seq=15497 receive_seq=15497 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999602 adj=63999621 Octopus_V1.1_F446: temp=33.5 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.6 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92180 bytes_read=5354049 bytes_retransmit=0 bytes_invalid=0 send_seq=15362 receive_seq=15362 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000000 coil_temp=23.5 refs=0 mcu_temp=24.58 supply_voltage=3.068 sysload=0.62 cputime=594.241 memavail=346580 print_time=15396.140 buffer_time=0.458 print_stall=0 extruder: target=0 temp=23.8 pwm=0.000 extruder1: target=0 temp=23.0 pwm=0.000
RatOS:: Homing Z
Stats 15101.3: gcodein=0 mcu: mcu_awake=0.022 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=124150 bytes_read=1770933 bytes_retransmit=9 bytes_invalid=0 send_seq=17252 receive_seq=17252 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999708 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=92692 bytes_read=287399 bytes_retransmit=0 bytes_invalid=0 send_seq=15420 receive_seq=15420 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999452 adj=49999488 toolboard_t0: mcu_awake=0.071 mcu_task_avg=0.000018 mcu_task_stddev=0.000011 bytes_write=309481 bytes_read=2042273 bytes_retransmit=9 bytes_invalid=0 send_seq=30932 receive_seq=30932 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999516 adj=63999651 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=93820 bytes_read=1691520 bytes_retransmit=9 bytes_invalid=0 send_seq=15498 receive_seq=15498 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999605 adj=63999687 Octopus_V1.1_F446: temp=33.4 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=52.1 sd_pos=139316 heater_bed: target=0 temp=22.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=92587 bytes_read=5355048 bytes_retransmit=0 bytes_invalid=0 send_seq=15397 receive_seq=15397 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000030 coil_temp=23.5 refs=0 mcu_temp=24.58 supply_voltage=3.068 sysload=0.62 cputime=594.431 memavail=344564 print_time=15396.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.8 pwm=0.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15102.3: gcodein=0 mcu: mcu_awake=0.022 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=126468 bytes_read=1773985 bytes_retransmit=9 bytes_invalid=0 send_seq=17420 receive_seq=17420 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999703 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=92698 bytes_read=287415 bytes_retransmit=0 bytes_invalid=0 send_seq=15421 receive_seq=15421 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999455 adj=49999565 toolboard_t0: mcu_awake=0.030 mcu_task_avg=0.000018 mcu_task_stddev=0.000011 bytes_write=309487 bytes_read=2042389 bytes_retransmit=9 bytes_invalid=0 send_seq=30933 receive_seq=30933 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999516 adj=63999701 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=93826 bytes_read=1691620 bytes_retransmit=9 bytes_invalid=0 send_seq=15499 receive_seq=15499 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999606 adj=63999756 Octopus_V1.1_F446: temp=33.0 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=0 temp=22.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=94189 bytes_read=5357931 bytes_retransmit=0 bytes_invalid=0 send_seq=15531 receive_seq=15531 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000043 coil_temp=23.5 refs=0 mcu_temp=24.56 supply_voltage=3.068 sysload=0.57 cputime=594.671 memavail=344592 print_time=15397.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.7 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15103.3: gcodein=0 mcu: mcu_awake=0.022 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=128786 bytes_read=1777051 bytes_retransmit=9 bytes_invalid=0 send_seq=17588 receive_seq=17588 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999720 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92704 bytes_read=287444 bytes_retransmit=0 bytes_invalid=0 send_seq=15422 receive_seq=15422 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999456 adj=49999615 toolboard_t0: mcu_awake=0.030 mcu_task_avg=0.000018 mcu_task_stddev=0.000011 bytes_write=309493 bytes_read=2042489 bytes_retransmit=9 bytes_invalid=0 send_seq=30934 receive_seq=30934 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999534 adj=63999706 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=93832 bytes_read=1691734 bytes_retransmit=9 bytes_invalid=0 send_seq=15500 receive_seq=15500 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999610 adj=63999773 Octopus_V1.1_F446: temp=33.1 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=0 temp=22.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=95815 bytes_read=5360824 bytes_retransmit=0 bytes_invalid=0 send_seq=15667 receive_seq=15667 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000063 coil_temp=23.5 refs=0 mcu_temp=24.56 supply_voltage=3.068 sysload=0.57 cputime=594.918 memavail=344592 print_time=15398.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.8 pwm=0.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15104.3: gcodein=0 mcu: mcu_awake=0.018 mcu_task_avg=0.000008 mcu_task_stddev=0.000005 bytes_write=131116 bytes_read=1780153 bytes_retransmit=9 bytes_invalid=0 send_seq=17757 receive_seq=17757 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999723 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92710 bytes_read=287460 bytes_retransmit=0 bytes_invalid=0 send_seq=15423 receive_seq=15423 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999461 adj=49999546 toolboard_t0: mcu_awake=0.030 mcu_task_avg=0.000018 mcu_task_stddev=0.000011 bytes_write=309499 bytes_read=2042617 bytes_retransmit=9 bytes_invalid=0 send_seq=30935 receive_seq=30935 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999535 adj=63999873 toolboard_t1: mcu_awake=0.008 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=93838 bytes_read=1691863 bytes_retransmit=9 bytes_invalid=0 send_seq=15501 receive_seq=15501 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999612 adj=63999732 Octopus_V1.1_F446: temp=32.9 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=97429 bytes_read=5363726 bytes_retransmit=0 bytes_invalid=0 send_seq=15802 receive_seq=15802 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000037 coil_temp=23.5 refs=0 mcu_temp=24.57 supply_voltage=3.068 sysload=0.57 cputime=595.165 memavail=344848 print_time=15399.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.8 pwm=0.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15105.3: gcodein=0 mcu: mcu_awake=0.018 mcu_task_avg=0.000008 mcu_task_stddev=0.000005 bytes_write=133429 bytes_read=1783214 bytes_retransmit=9 bytes_invalid=0 send_seq=17924 receive_seq=17924 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999721 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92716 bytes_read=287476 bytes_retransmit=0 bytes_invalid=0 send_seq=15424 receive_seq=15424 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999479 adj=49999611 toolboard_t0: mcu_awake=0.030 mcu_task_avg=0.000018 mcu_task_stddev=0.000011 bytes_write=309505 bytes_read=2042717 bytes_retransmit=9 bytes_invalid=0 send_seq=30936 receive_seq=30936 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999534 adj=63999816 toolboard_t1: mcu_awake=0.008 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=93844 bytes_read=1691963 bytes_retransmit=9 bytes_invalid=0 send_seq=15502 receive_seq=15502 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999738 Octopus_V1.1_F446: temp=32.9 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=99043 bytes_read=5366614 bytes_retransmit=0 bytes_invalid=0 send_seq=15937 receive_seq=15937 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000137 coil_temp=23.5 refs=0 mcu_temp=24.58 supply_voltage=3.068 sysload=0.57 cputime=595.405 memavail=344856 print_time=15400.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15106.3: gcodein=0 mcu: mcu_awake=0.018 mcu_task_avg=0.000008 mcu_task_stddev=0.000005 bytes_write=135759 bytes_read=1786271 bytes_retransmit=9 bytes_invalid=0 send_seq=18093 receive_seq=18093 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999720 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92722 bytes_read=287492 bytes_retransmit=0 bytes_invalid=0 send_seq=15425 receive_seq=15425 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999483 adj=49999876 toolboard_t0: mcu_awake=0.030 mcu_task_avg=0.000018 mcu_task_stddev=0.000011 bytes_write=309511 bytes_read=2042817 bytes_retransmit=9 bytes_invalid=0 send_seq=30937 receive_seq=30937 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999771 toolboard_t1: mcu_awake=0.008 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=93850 bytes_read=1692077 bytes_retransmit=9 bytes_invalid=0 send_seq=15503 receive_seq=15503 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999952 Octopus_V1.1_F446: temp=32.8 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=0 temp=22.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=100645 bytes_read=5369511 bytes_retransmit=0 bytes_invalid=0 send_seq=16071 receive_seq=16071 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000108 coil_temp=23.5 refs=0 mcu_temp=24.57 supply_voltage=3.068 sysload=0.57 cputime=595.645 memavail=344608 print_time=15401.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15107.3: gcodein=0 mcu: mcu_awake=0.018 mcu_task_avg=0.000008 mcu_task_stddev=0.000005 bytes_write=138084 bytes_read=1789352 bytes_retransmit=9 bytes_invalid=0 send_seq=18261 receive_seq=18261 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999810 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92728 bytes_read=287508 bytes_retransmit=0 bytes_invalid=0 send_seq=15426 receive_seq=15426 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999484 adj=49999874 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309517 bytes_read=2042959 bytes_retransmit=9 bytes_invalid=0 send_seq=30938 receive_seq=30938 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999536 adj=63999790 toolboard_t1: mcu_awake=0.008 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=93856 bytes_read=1692191 bytes_retransmit=9 bytes_invalid=0 send_seq=15504 receive_seq=15504 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999952 Octopus_V1.1_F446: temp=32.7 EBB42_v1.2_T0: temp=29.9 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=51.6 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=102259 bytes_read=5372394 bytes_retransmit=0 bytes_invalid=0 send_seq=16206 receive_seq=16205 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000092 coil_temp=23.5 refs=0 mcu_temp=24.56 supply_voltage=3.068 sysload=0.52 cputime=595.877 memavail=344608 print_time=15402.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.7 pwm=0.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15108.3: gcodein=0 mcu: mcu_awake=0.018 mcu_task_avg=0.000008 mcu_task_stddev=0.000005 bytes_write=140414 bytes_read=1792423 bytes_retransmit=9 bytes_invalid=0 send_seq=18430 receive_seq=18430 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999797 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92734 bytes_read=287524 bytes_retransmit=0 bytes_invalid=0 send_seq=15427 receive_seq=15427 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999480 adj=49999415 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309523 bytes_read=2043059 bytes_retransmit=9 bytes_invalid=0 send_seq=30939 receive_seq=30939 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999534 adj=63999232 toolboard_t1: mcu_awake=0.008 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=93862 bytes_read=1692291 bytes_retransmit=9 bytes_invalid=0 send_seq=15505 receive_seq=15505 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999383 Octopus_V1.1_F446: temp=32.5 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=0 temp=22.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=103861 bytes_read=5375282 bytes_retransmit=0 bytes_invalid=0 send_seq=16340 receive_seq=16340 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=31999825 coil_temp=23.5 refs=0 mcu_temp=24.57 supply_voltage=3.068 sysload=0.52 cputime=595.991 memavail=344608 print_time=15403.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15109.3: gcodein=0 mcu: mcu_awake=0.024 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=142756 bytes_read=1795501 bytes_retransmit=9 bytes_invalid=0 send_seq=18600 receive_seq=18600 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999784 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92740 bytes_read=287553 bytes_retransmit=0 bytes_invalid=0 send_seq=15428 receive_seq=15428 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999476 adj=49999310 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309529 bytes_read=2043159 bytes_retransmit=9 bytes_invalid=0 send_seq=30940 receive_seq=30940 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999532 adj=63999194 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93868 bytes_read=1692419 bytes_retransmit=9 bytes_invalid=0 send_seq=15506 receive_seq=15506 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999332 Octopus_V1.1_F446: temp=32.5 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=105475 bytes_read=5378184 bytes_retransmit=0 bytes_invalid=0 send_seq=16475 receive_seq=16475 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999989 adj=31999822 coil_temp=23.5 refs=0 mcu_temp=24.58 supply_voltage=3.068 sysload=0.52 cputime=596.104 memavail=344368 print_time=15404.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.8 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15110.3: gcodein=0 mcu: mcu_awake=0.024 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=145074 bytes_read=1798596 bytes_retransmit=9 bytes_invalid=0 send_seq=18768 receive_seq=18768 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999801 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92746 bytes_read=287569 bytes_retransmit=0 bytes_invalid=0 send_seq=15429 receive_seq=15429 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999473 adj=49999338 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309535 bytes_read=2043287 bytes_retransmit=9 bytes_invalid=0 send_seq=30941 receive_seq=30941 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999530 adj=63999332 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93874 bytes_read=1692533 bytes_retransmit=9 bytes_invalid=0 send_seq=15507 receive_seq=15507 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999457 Octopus_V1.1_F446: temp=32.4 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=30.2 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=0 temp=22.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=107101 bytes_read=5381077 bytes_retransmit=0 bytes_invalid=0 send_seq=16611 receive_seq=16611 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999988 adj=31999983 coil_temp=23.5 refs=0 mcu_temp=24.59 supply_voltage=3.068 sysload=0.52 cputime=596.222 memavail=344368 print_time=15405.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.8 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15111.3: gcodein=0 mcu: mcu_awake=0.024 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=147404 bytes_read=1801653 bytes_retransmit=9 bytes_invalid=0 send_seq=18937 receive_seq=18937 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999799 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92752 bytes_read=287585 bytes_retransmit=0 bytes_invalid=0 send_seq=15430 receive_seq=15430 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999470 adj=49999269 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309541 bytes_read=2043387 bytes_retransmit=9 bytes_invalid=0 send_seq=30942 receive_seq=30942 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999528 adj=63999276 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93880 bytes_read=1692633 bytes_retransmit=9 bytes_invalid=0 send_seq=15508 receive_seq=15508 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999393 Octopus_V1.1_F446: temp=32.2 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=0 temp=22.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=108703 bytes_read=5383974 bytes_retransmit=0 bytes_invalid=0 send_seq=16745 receive_seq=16745 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999987 adj=31999922 coil_temp=23.5 refs=0 mcu_temp=24.60 supply_voltage=3.068 sysload=0.52 cputime=596.343 memavail=349276 print_time=15406.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15112.3: gcodein=0 mcu: mcu_awake=0.024 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=149722 bytes_read=1804719 bytes_retransmit=9 bytes_invalid=0 send_seq=19105 receive_seq=19105 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999796 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92758 bytes_read=287601 bytes_retransmit=0 bytes_invalid=0 send_seq=15431 receive_seq=15431 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999467 adj=49999295 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=309547 bytes_read=2043501 bytes_retransmit=9 bytes_invalid=0 send_seq=30943 receive_seq=30943 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999527 adj=63999340 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93886 bytes_read=1692761 bytes_retransmit=9 bytes_invalid=0 send_seq=15509 receive_seq=15509 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999481 Octopus_V1.1_F446: temp=32.2 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=0 temp=22.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=110317 bytes_read=5386862 bytes_retransmit=0 bytes_invalid=0 send_seq=16880 receive_seq=16880 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999986 adj=31999941 coil_temp=23.5 refs=0 mcu_temp=24.60 supply_voltage=3.068 sysload=0.48 cputime=596.467 memavail=348536 print_time=15407.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15113.3: gcodein=0 mcu: mcu_awake=0.024 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=152047 bytes_read=1807800 bytes_retransmit=9 bytes_invalid=0 send_seq=19273 receive_seq=19273 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999784 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=92764 bytes_read=287617 bytes_retransmit=0 bytes_invalid=0 send_seq=15432 receive_seq=15432 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999467 adj=49999318 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=309553 bytes_read=2043629 bytes_retransmit=9 bytes_invalid=0 send_seq=30944 receive_seq=30944 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999528 adj=63999407 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93892 bytes_read=1692861 bytes_retransmit=9 bytes_invalid=0 send_seq=15510 receive_seq=15510 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999617 adj=63999524 Octopus_V1.1_F446: temp=32.0 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=111919 bytes_read=5389745 bytes_retransmit=0 bytes_invalid=0 send_seq=17014 receive_seq=17014 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999986 adj=31999957 coil_temp=23.5 refs=0 mcu_temp=24.60 supply_voltage=3.068 sysload=0.48 cputime=596.637 memavail=348536 print_time=15408.864 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15114.3: gcodein=0 mcu: mcu_awake=0.023 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=152990 bytes_read=1808688 bytes_retransmit=9 bytes_invalid=0 send_seq=19319 receive_seq=19319 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999776 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=92770 bytes_read=287646 bytes_retransmit=0 bytes_invalid=0 send_seq=15433 receive_seq=15433 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999466 adj=49999416 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=309559 bytes_read=2043729 bytes_retransmit=9 bytes_invalid=0 send_seq=30945 receive_seq=30945 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999527 adj=63999538 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93898 bytes_read=1692975 bytes_retransmit=9 bytes_invalid=0 send_seq=15511 receive_seq=15511 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999616 adj=63999610 Octopus_V1.1_F446: temp=31.9 EBB42_v1.2_T0: temp=29.3 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=0 temp=22.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112103 bytes_read=5392595 bytes_retransmit=0 bytes_invalid=0 send_seq=17032 receive_seq=17032 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999987 adj=32000013 coil_temp=23.5 refs=1 mcu_temp=24.61 supply_voltage=3.068 sysload=0.48 cputime=596.835 memavail=346780 print_time=15409.775 buffer_time=0.085 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=23.3 pwm=0.000
RatOS:: Pre-heating extruder...
RatOS:: Heat soaking z probe...
RatOS:: Heating bed...
Stats 15115.3: gcodein=0 mcu: mcu_awake=0.023 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=154059 bytes_read=1809183 bytes_retransmit=9 bytes_invalid=0 send_seq=19348 receive_seq=19348 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999781 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=92776 bytes_read=287662 bytes_retransmit=0 bytes_invalid=0 send_seq=15434 receive_seq=15434 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999468 adj=49999462 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=309581 bytes_read=2043834 bytes_retransmit=9 bytes_invalid=0 send_seq=30947 receive_seq=30947 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999527 adj=63999587 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93904 bytes_read=1693103 bytes_retransmit=9 bytes_invalid=0 send_seq=15512 receive_seq=15512 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999659 Octopus_V1.1_F446: temp=31.9 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=50 temp=22.3 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112116 bytes_read=5393294 bytes_retransmit=0 bytes_invalid=0 send_seq=17034 receive_seq=17034 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999987 adj=32000046 coil_temp=23.5 refs=0 mcu_temp=24.61 supply_voltage=3.068 sysload=0.48 cputime=596.974 memavail=343828 print_time=15411.908 buffer_time=1.217 print_stall=0 extruder: target=150 temp=23.7 pwm=1.000 extruder1: target=0 temp=23.0 pwm=0.000
Heater heater_bed approaching new target of 50.000
Heater extruder approaching new target of 150.000
Stats 15116.3: gcodein=0 mcu: mcu_awake=0.023 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=154510 bytes_read=1809662 bytes_retransmit=9 bytes_invalid=0 send_seq=19368 receive_seq=19368 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999783 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=92782 bytes_read=287678 bytes_retransmit=0 bytes_invalid=0 send_seq=15435 receive_seq=15435 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999469 adj=49999509 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=309602 bytes_read=2043967 bytes_retransmit=9 bytes_invalid=0 send_seq=30949 receive_seq=30949 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999526 adj=63999575 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93910 bytes_read=1693203 bytes_retransmit=9 bytes_invalid=0 send_seq=15513 receive_seq=15513 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999729 Octopus_V1.1_F446: temp=31.9 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=50 temp=21.9 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112122 bytes_read=5393650 bytes_retransmit=0 bytes_invalid=0 send_seq=17035 receive_seq=17035 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999986 adj=32000020 coil_temp=23.5 refs=0 mcu_temp=24.59 supply_voltage=3.069 sysload=0.48 cputime=597.021 memavail=342324 print_time=15411.908 buffer_time=0.216 print_stall=0 extruder: target=150 temp=28.7 pwm=1.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15117.3: gcodein=0 mcu: mcu_awake=0.023 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=154712 bytes_read=1810087 bytes_retransmit=9 bytes_invalid=0 send_seq=19383 receive_seq=19383 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999795 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=92788 bytes_read=287694 bytes_retransmit=0 bytes_invalid=0 send_seq=15436 receive_seq=15436 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999468 adj=49999526 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309608 bytes_read=2044081 bytes_retransmit=9 bytes_invalid=0 send_seq=30950 receive_seq=30950 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999528 adj=63999547 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93916 bytes_read=1693303 bytes_retransmit=9 bytes_invalid=0 send_seq=15514 receive_seq=15514 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999760 Octopus_V1.1_F446: temp=31.9 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=51.6 sd_pos=139316 heater_bed: target=50 temp=22.0 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112128 bytes_read=5394006 bytes_retransmit=0 bytes_invalid=0 send_seq=17036 receive_seq=17036 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000004 coil_temp=23.5 refs=0 mcu_temp=24.58 supply_voltage=3.069 sysload=0.44 cputime=597.066 memavail=342324 print_time=15412.198 buffer_time=0.000 print_stall=0 extruder: target=150 temp=36.0 pwm=1.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15118.3: gcodein=0 mcu: mcu_awake=0.023 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=154914 bytes_read=1810512 bytes_retransmit=9 bytes_invalid=0 send_seq=19398 receive_seq=19398 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999814 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=92794 bytes_read=287710 bytes_retransmit=0 bytes_invalid=0 send_seq=15437 receive_seq=15437 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999470 adj=49999451 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309614 bytes_read=2044181 bytes_retransmit=9 bytes_invalid=0 send_seq=30951 receive_seq=30951 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999527 adj=63999517 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93922 bytes_read=1693431 bytes_retransmit=9 bytes_invalid=0 send_seq=15515 receive_seq=15515 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999649 Octopus_V1.1_F446: temp=31.5 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.6 sd_pos=139316 heater_bed: target=50 temp=22.4 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112134 bytes_read=5394362 bytes_retransmit=0 bytes_invalid=0 send_seq=17037 receive_seq=17037 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=31999956 coil_temp=23.5 refs=0 mcu_temp=24.57 supply_voltage=3.069 sysload=0.44 cputime=597.142 memavail=342084 print_time=15413.125 buffer_time=0.000 print_stall=0 extruder: target=150 temp=43.8 pwm=1.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15119.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000008 mcu_task_stddev=0.000006 bytes_write=155127 bytes_read=1810972 bytes_retransmit=9 bytes_invalid=0 send_seq=19413 receive_seq=19413 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999807 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=92800 bytes_read=287739 bytes_retransmit=0 bytes_invalid=0 send_seq=15438 receive_seq=15438 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999472 adj=49999408 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309636 bytes_read=2044314 bytes_retransmit=9 bytes_invalid=0 send_seq=30953 receive_seq=30953 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999528 adj=63999416 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93928 bytes_read=1693545 bytes_retransmit=9 bytes_invalid=0 send_seq=15516 receive_seq=15516 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999536 Octopus_V1.1_F446: temp=31.6 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=50 temp=22.8 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112140 bytes_read=5394718 bytes_retransmit=0 bytes_invalid=0 send_seq=17038 receive_seq=17038 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=31999910 coil_temp=23.5 refs=0 mcu_temp=24.56 supply_voltage=3.069 sysload=0.44 cputime=597.237 memavail=341844 print_time=15414.125 buffer_time=0.000 print_stall=0 extruder: target=150 temp=53.3 pwm=1.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15120.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000008 mcu_task_stddev=0.000006 bytes_write=155329 bytes_read=1811394 bytes_retransmit=9 bytes_invalid=0 send_seq=19428 receive_seq=19428 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999803 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=92806 bytes_read=287755 bytes_retransmit=0 bytes_invalid=0 send_seq=15439 receive_seq=15439 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999472 adj=49999503 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309642 bytes_read=2044414 bytes_retransmit=9 bytes_invalid=0 send_seq=30954 receive_seq=30954 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999527 adj=63999509 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93934 bytes_read=1693645 bytes_retransmit=9 bytes_invalid=0 send_seq=15517 receive_seq=15517 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999611 Octopus_V1.1_F446: temp=31.5 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=50 temp=23.1 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112146 bytes_read=5395074 bytes_retransmit=0 bytes_invalid=0 send_seq=17039 receive_seq=17039 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=31999958 coil_temp=23.5 refs=0 mcu_temp=24.54 supply_voltage=3.069 sysload=0.44 cputime=597.330 memavail=342544 print_time=15415.126 buffer_time=0.000 print_stall=0 extruder: target=150 temp=60.1 pwm=1.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15121.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000008 mcu_task_stddev=0.000006 bytes_write=155531 bytes_read=1811819 bytes_retransmit=9 bytes_invalid=0 send_seq=19443 receive_seq=19443 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999798 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=92812 bytes_read=287771 bytes_retransmit=0 bytes_invalid=0 send_seq=15440 receive_seq=15440 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999472 adj=49999535 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309648 bytes_read=2044528 bytes_retransmit=9 bytes_invalid=0 send_seq=30955 receive_seq=30955 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999528 adj=63999547 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93940 bytes_read=1693773 bytes_retransmit=9 bytes_invalid=0 send_seq=15518 receive_seq=15518 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999645 Octopus_V1.1_F446: temp=31.4 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=49.7 sd_pos=139316 heater_bed: target=50 temp=23.5 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112152 bytes_read=5395430 bytes_retransmit=0 bytes_invalid=0 send_seq=17040 receive_seq=17040 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=31999975 coil_temp=23.5 refs=0 mcu_temp=24.54 supply_voltage=3.069 sysload=0.44 cputime=597.435 memavail=347192 print_time=15416.126 buffer_time=0.000 print_stall=0 extruder: target=150 temp=66.6 pwm=1.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15122.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000008 mcu_task_stddev=0.000006 bytes_write=155733 bytes_read=1812273 bytes_retransmit=9 bytes_invalid=0 send_seq=19458 receive_seq=19458 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999794 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=92818 bytes_read=287787 bytes_retransmit=0 bytes_invalid=0 send_seq=15441 receive_seq=15441 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999475 adj=49999557 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309654 bytes_read=2044656 bytes_retransmit=9 bytes_invalid=0 send_seq=30956 receive_seq=30956 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999530 adj=63999594 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93946 bytes_read=1693873 bytes_retransmit=9 bytes_invalid=0 send_seq=15519 receive_seq=15519 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999670 Octopus_V1.1_F446: temp=31.4 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=50 temp=24.1 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112158 bytes_read=5395786 bytes_retransmit=0 bytes_invalid=0 send_seq=17041 receive_seq=17041 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000001 coil_temp=23.5 refs=0 mcu_temp=24.53 supply_voltage=3.069 sysload=0.41 cputime=597.533 memavail=346184 print_time=15417.127 buffer_time=0.000 print_stall=0 extruder: target=150 temp=74.9 pwm=1.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15123.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000008 mcu_task_stddev=0.000006 bytes_write=155951 bytes_read=1812703 bytes_retransmit=9 bytes_invalid=0 send_seq=19474 receive_seq=19474 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999790 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=92824 bytes_read=287803 bytes_retransmit=0 bytes_invalid=0 send_seq=15442 receive_seq=15442 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999476 adj=49999608 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309676 bytes_read=2044761 bytes_retransmit=9 bytes_invalid=0 send_seq=30958 receive_seq=30958 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999548 adj=63999651 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93952 bytes_read=1693973 bytes_retransmit=9 bytes_invalid=0 send_seq=15520 receive_seq=15520 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999698 Octopus_V1.1_F446: temp=31.4 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=49.7 sd_pos=139316 heater_bed: target=50 temp=24.6 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112164 bytes_read=5396142 bytes_retransmit=0 bytes_invalid=0 send_seq=17042 receive_seq=17042 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000011 coil_temp=23.5 refs=0 mcu_temp=24.52 supply_voltage=3.069 sysload=0.41 cputime=597.631 memavail=346184 print_time=15418.128 buffer_time=0.000 print_stall=0 extruder: target=150 temp=80.9 pwm=1.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15124.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=156153 bytes_read=1813143 bytes_retransmit=9 bytes_invalid=0 send_seq=19489 receive_seq=19489 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999790 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=92830 bytes_read=287832 bytes_retransmit=0 bytes_invalid=0 send_seq=15443 receive_seq=15443 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999476 adj=49999615 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309682 bytes_read=2044877 bytes_retransmit=9 bytes_invalid=0 send_seq=30959 receive_seq=30959 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999557 adj=63999942 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93958 bytes_read=1694115 bytes_retransmit=9 bytes_invalid=0 send_seq=15521 receive_seq=15521 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999712 Octopus_V1.1_F446: temp=31.2 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=51.6 sd_pos=139316 heater_bed: target=50 temp=25.0 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112170 bytes_read=5396498 bytes_retransmit=0 bytes_invalid=0 send_seq=17043 receive_seq=17043 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000014 coil_temp=23.6 refs=0 mcu_temp=24.53 supply_voltage=3.068 sysload=0.41 cputime=597.734 memavail=345680 print_time=15419.128 buffer_time=0.000 print_stall=0 extruder: target=150 temp=86.5 pwm=1.000 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15125.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=156355 bytes_read=1813597 bytes_retransmit=9 bytes_invalid=0 send_seq=19504 receive_seq=19504 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999786 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=92836 bytes_read=287848 bytes_retransmit=0 bytes_invalid=0 send_seq=15444 receive_seq=15444 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999476 adj=49999605 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309688 bytes_read=2044995 bytes_retransmit=9 bytes_invalid=0 send_seq=30960 receive_seq=30960 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999557 adj=64000013 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93964 bytes_read=1694215 bytes_retransmit=9 bytes_invalid=0 send_seq=15522 receive_seq=15522 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999708 Octopus_V1.1_F446: temp=31.4 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 sd_pos=139316 heater_bed: target=50 temp=25.6 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112176 bytes_read=5396854 bytes_retransmit=0 bytes_invalid=0 send_seq=17044 receive_seq=17044 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=32000008 coil_temp=23.6 refs=0 mcu_temp=24.52 supply_voltage=3.068 sysload=0.41 cputime=597.806 memavail=345680 print_time=15420.128 buffer_time=0.000 print_stall=0 extruder: target=150 temp=94.1 pwm=1.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15126.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=156557 bytes_read=1814022 bytes_retransmit=9 bytes_invalid=0 send_seq=19519 receive_seq=19519 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999778 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=92842 bytes_read=287863 bytes_retransmit=0 bytes_invalid=0 send_seq=15445 receive_seq=15445 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999473 adj=49999595 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309694 bytes_read=2045098 bytes_retransmit=9 bytes_invalid=0 send_seq=30961 receive_seq=30961 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999555 adj=63999942 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93970 bytes_read=1694315 bytes_retransmit=9 bytes_invalid=0 send_seq=15523 receive_seq=15523 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999718 Octopus_V1.1_F446: temp=31.2 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=26.0 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112182 bytes_read=5397210 bytes_retransmit=0 bytes_invalid=0 send_seq=17045 receive_seq=17045 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000051 coil_temp=23.7 refs=0 mcu_temp=24.52 supply_voltage=3.068 sysload=0.41 cputime=597.854 memavail=350884 print_time=15421.129 buffer_time=0.000 print_stall=0 extruder: target=150 temp=99.5 pwm=1.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15127.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=156759 bytes_read=1814447 bytes_retransmit=9 bytes_invalid=0 send_seq=19534 receive_seq=19534 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999772 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=92848 bytes_read=287878 bytes_retransmit=0 bytes_invalid=0 send_seq=15446 receive_seq=15446 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999472 adj=49999576 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309700 bytes_read=2045229 bytes_retransmit=9 bytes_invalid=0 send_seq=30962 receive_seq=30962 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999555 adj=63999874 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93976 bytes_read=1694443 bytes_retransmit=9 bytes_invalid=0 send_seq=15524 receive_seq=15524 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999753 Octopus_V1.1_F446: temp=31.0 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=50 temp=26.5 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112188 bytes_read=5397566 bytes_retransmit=0 bytes_invalid=0 send_seq=17046 receive_seq=17046 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=32000048 coil_temp=23.7 refs=0 mcu_temp=24.52 supply_voltage=3.068 sysload=0.37 cputime=597.902 memavail=348700 print_time=15422.129 buffer_time=0.000 print_stall=0 extruder: target=150 temp=105.0 pwm=1.000 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15128.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=156977 bytes_read=1814906 bytes_retransmit=9 bytes_invalid=0 send_seq=19550 receive_seq=19550 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999768 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=92854 bytes_read=287893 bytes_retransmit=0 bytes_invalid=0 send_seq=15447 receive_seq=15447 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999474 adj=49999576 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309722 bytes_read=2045352 bytes_retransmit=9 bytes_invalid=0 send_seq=30964 receive_seq=30964 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999553 adj=63999840 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93982 bytes_read=1694543 bytes_retransmit=9 bytes_invalid=0 send_seq=15525 receive_seq=15525 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999787 Octopus_V1.1_F446: temp=30.9 EBB42_v1.2_T0: temp=29.9 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=50 temp=27.1 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112194 bytes_read=5397922 bytes_retransmit=0 bytes_invalid=0 send_seq=17047 receive_seq=17047 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000066 coil_temp=23.8 refs=0 mcu_temp=24.52 supply_voltage=3.068 sysload=0.37 cputime=597.948 memavail=348700 print_time=15423.129 buffer_time=0.000 print_stall=0 extruder: target=150 temp=112.0 pwm=1.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15129.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=157185 bytes_read=1815362 bytes_retransmit=9 bytes_invalid=0 send_seq=19566 receive_seq=19566 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999762 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=92866 bytes_read=287936 bytes_retransmit=0 bytes_invalid=0 send_seq=15449 receive_seq=15449 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999472 adj=49999617 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309750 bytes_read=2045476 bytes_retransmit=9 bytes_invalid=0 send_seq=30967 receive_seq=30967 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999550 adj=63999780 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=93994 bytes_read=1694673 bytes_retransmit=9 bytes_invalid=0 send_seq=15527 receive_seq=15527 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999770 Octopus_V1.1_F446: temp=30.8 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=50 temp=27.5 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112206 bytes_read=5398294 bytes_retransmit=0 bytes_invalid=0 send_seq=17049 receive_seq=17049 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000052 coil_temp=23.8 refs=0 mcu_temp=24.52 supply_voltage=3.068 sysload=0.37 cputime=597.998 memavail=348700 print_time=15424.129 buffer_time=0.000 print_stall=0 extruder: target=150 temp=116.9 pwm=0.918 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15130.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=157387 bytes_read=1815787 bytes_retransmit=9 bytes_invalid=0 send_seq=19581 receive_seq=19581 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999765 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=92872 bytes_read=287951 bytes_retransmit=0 bytes_invalid=0 send_seq=15450 receive_seq=15450 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999476 adj=49999586 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309804 bytes_read=2045608 bytes_retransmit=9 bytes_invalid=0 send_seq=30971 receive_seq=30971 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999729 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94000 bytes_read=1694801 bytes_retransmit=9 bytes_invalid=0 send_seq=15528 receive_seq=15528 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999868 Octopus_V1.1_F446: temp=31.0 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=50 temp=28.0 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112212 bytes_read=5398650 bytes_retransmit=0 bytes_invalid=0 send_seq=17050 receive_seq=17050 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000041 coil_temp=23.9 refs=0 mcu_temp=24.54 supply_voltage=3.068 sysload=0.37 cputime=598.082 memavail=348700 print_time=15425.130 buffer_time=0.000 print_stall=0 extruder: target=150 temp=121.5 pwm=0.691 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15131.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=157589 bytes_read=1816241 bytes_retransmit=9 bytes_invalid=0 send_seq=19596 receive_seq=19596 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999766 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=92878 bytes_read=287967 bytes_retransmit=0 bytes_invalid=0 send_seq=15451 receive_seq=15451 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999479 adj=49999625 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=309858 bytes_read=2045741 bytes_retransmit=9 bytes_invalid=0 send_seq=30975 receive_seq=30975 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999558 adj=63999837 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94006 bytes_read=1694901 bytes_retransmit=9 bytes_invalid=0 send_seq=15529 receive_seq=15529 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999840 Octopus_V1.1_F446: temp=30.9 EBB42_v1.2_T0: temp=29.9 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=28.6 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112218 bytes_read=5399006 bytes_retransmit=0 bytes_invalid=0 send_seq=17051 receive_seq=17051 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000034 coil_temp=23.9 refs=0 mcu_temp=24.54 supply_voltage=3.068 sysload=0.37 cputime=598.188 memavail=348464 print_time=15426.131 buffer_time=0.000 print_stall=0 extruder: target=150 temp=126.9 pwm=0.627 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15132.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=157802 bytes_read=1816666 bytes_retransmit=9 bytes_invalid=0 send_seq=19611 receive_seq=19611 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999763 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=92884 bytes_read=287983 bytes_retransmit=0 bytes_invalid=0 send_seq=15452 receive_seq=15452 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999479 adj=49999651 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=309896 bytes_read=2045868 bytes_retransmit=9 bytes_invalid=0 send_seq=30978 receive_seq=30978 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999561 adj=63999764 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94012 bytes_read=1695001 bytes_retransmit=9 bytes_invalid=0 send_seq=15530 receive_seq=15530 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999798 Octopus_V1.1_F446: temp=30.7 EBB42_v1.2_T0: temp=29.9 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=29.1 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112224 bytes_read=5399362 bytes_retransmit=0 bytes_invalid=0 send_seq=17052 receive_seq=17052 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000027 coil_temp=24.0 refs=0 mcu_temp=24.54 supply_voltage=3.068 sysload=0.34 cputime=598.264 memavail=348000 print_time=15427.131 buffer_time=0.000 print_stall=0 extruder: target=150 temp=129.6 pwm=1.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15133.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=158004 bytes_read=1817091 bytes_retransmit=9 bytes_invalid=0 send_seq=19626 receive_seq=19626 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999759 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000015 bytes_write=92890 bytes_read=287999 bytes_retransmit=0 bytes_invalid=0 send_seq=15453 receive_seq=15453 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999477 adj=49999631 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=309950 bytes_read=2046000 bytes_retransmit=9 bytes_invalid=0 send_seq=30982 receive_seq=30982 retransmit_seq=2 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999557 adj=63999796 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94018 bytes_read=1695129 bytes_retransmit=9 bytes_invalid=0 send_seq=15531 receive_seq=15531 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999795 Octopus_V1.1_F446: temp=30.7 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 sd_pos=139316 heater_bed: target=50 temp=29.5 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112230 bytes_read=5399718 bytes_retransmit=0 bytes_invalid=0 send_seq=17053 receive_seq=17053 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999986 adj=32000046 coil_temp=24.1 refs=0 mcu_temp=24.56 supply_voltage=3.068 sysload=0.34 cputime=598.313 memavail=348016 print_time=15428.131 buffer_time=0.000 print_stall=0 extruder: target=150 temp=133.0 pwm=0.630 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15134.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=158206 bytes_read=1817560 bytes_retransmit=9 bytes_invalid=0 send_seq=19641 receive_seq=19641 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999756 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=92896 bytes_read=288028 bytes_retransmit=0 bytes_invalid=0 send_seq=15454 receive_seq=15454 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999475 adj=49999609 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310017 bytes_read=2046138 bytes_retransmit=9 bytes_invalid=0 send_seq=30987 receive_seq=30987 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999553 adj=63999720 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94024 bytes_read=1695229 bytes_retransmit=9 bytes_invalid=0 send_seq=15532 receive_seq=15532 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999771 Octopus_V1.1_F446: temp=30.6 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.6 sd_pos=139316 heater_bed: target=50 temp=30.1 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112236 bytes_read=5400074 bytes_retransmit=0 bytes_invalid=0 send_seq=17054 receive_seq=17054 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999987 adj=32000120 coil_temp=24.2 refs=0 mcu_temp=24.58 supply_voltage=3.068 sysload=0.34 cputime=598.361 memavail=348016 print_time=15429.132 buffer_time=0.000 print_stall=0 extruder: target=150 temp=137.9 pwm=0.030 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15135.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=158408 bytes_read=1817985 bytes_retransmit=9 bytes_invalid=0 send_seq=19656 receive_seq=19656 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999750 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=92902 bytes_read=288044 bytes_retransmit=0 bytes_invalid=0 send_seq=15455 receive_seq=15455 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999473 adj=49999574 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310071 bytes_read=2046256 bytes_retransmit=9 bytes_invalid=0 send_seq=30991 receive_seq=30991 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999549 adj=63999657 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94030 bytes_read=1695343 bytes_retransmit=9 bytes_invalid=0 send_seq=15533 receive_seq=15533 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999811 Octopus_V1.1_F446: temp=30.8 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=51.1 sd_pos=139316 heater_bed: target=50 temp=30.7 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112242 bytes_read=5400430 bytes_retransmit=0 bytes_invalid=0 send_seq=17055 receive_seq=17055 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999986 adj=32000114 coil_temp=24.3 refs=0 mcu_temp=24.60 supply_voltage=3.068 sysload=0.34 cputime=598.408 memavail=348016 print_time=15430.132 buffer_time=0.000 print_stall=0 extruder: target=150 temp=138.6 pwm=1.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15136.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=158626 bytes_read=1818415 bytes_retransmit=9 bytes_invalid=0 send_seq=19672 receive_seq=19672 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999748 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=92908 bytes_read=288060 bytes_retransmit=0 bytes_invalid=0 send_seq=15456 receive_seq=15456 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999472 adj=49999550 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310077 bytes_read=2046373 bytes_retransmit=9 bytes_invalid=0 send_seq=30992 receive_seq=30992 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999546 adj=63999624 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94036 bytes_read=1695471 bytes_retransmit=9 bytes_invalid=0 send_seq=15534 receive_seq=15534 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999812 Octopus_V1.1_F446: temp=30.5 EBB42_v1.2_T0: temp=29.9 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=31.1 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112248 bytes_read=5400786 bytes_retransmit=0 bytes_invalid=0 send_seq=17056 receive_seq=17056 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000100 coil_temp=24.3 refs=0 mcu_temp=24.64 supply_voltage=3.068 sysload=0.34 cputime=598.492 memavail=347764 print_time=15431.132 buffer_time=0.000 print_stall=0 extruder: target=150 temp=139.7 pwm=1.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15137.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=158828 bytes_read=1818869 bytes_retransmit=9 bytes_invalid=0 send_seq=19687 receive_seq=19687 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999748 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=92914 bytes_read=288076 bytes_retransmit=0 bytes_invalid=0 send_seq=15457 receive_seq=15457 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999475 adj=49999551 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310143 bytes_read=2046523 bytes_retransmit=9 bytes_invalid=0 send_seq=30997 receive_seq=30997 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999546 adj=63999589 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94042 bytes_read=1695569 bytes_retransmit=9 bytes_invalid=0 send_seq=15535 receive_seq=15535 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999808 Octopus_V1.1_F446: temp=30.6 EBB42_v1.2_T0: temp=29.9 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=31.7 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112254 bytes_read=5401142 bytes_retransmit=0 bytes_invalid=0 send_seq=17057 receive_seq=17057 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000071 coil_temp=24.4 refs=0 mcu_temp=24.67 supply_voltage=3.069 sysload=0.32 cputime=598.569 memavail=347764 print_time=15432.132 buffer_time=0.000 print_stall=0 extruder: target=150 temp=144.3 pwm=0.000 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15138.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=159030 bytes_read=1819294 bytes_retransmit=9 bytes_invalid=0 send_seq=19702 receive_seq=19702 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999749 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000015 bytes_write=92920 bytes_read=288092 bytes_retransmit=0 bytes_invalid=0 send_seq=15458 receive_seq=15458 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999476 adj=49999591 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310149 bytes_read=2046618 bytes_retransmit=9 bytes_invalid=0 send_seq=30998 receive_seq=30998 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999567 adj=63999608 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94048 bytes_read=1695661 bytes_retransmit=9 bytes_invalid=0 send_seq=15536 receive_seq=15536 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999805 Octopus_V1.1_F446: temp=30.6 EBB42_v1.2_T0: temp=29.9 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=32.2 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112260 bytes_read=5401498 bytes_retransmit=0 bytes_invalid=0 send_seq=17058 receive_seq=17058 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000060 coil_temp=24.5 refs=0 mcu_temp=24.70 supply_voltage=3.069 sysload=0.32 cputime=598.668 memavail=347772 print_time=15433.133 buffer_time=0.000 print_stall=0 extruder: target=150 temp=146.6 pwm=0.000 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15139.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=159232 bytes_read=1819734 bytes_retransmit=9 bytes_invalid=0 send_seq=19717 receive_seq=19717 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999752 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=92926 bytes_read=288121 bytes_retransmit=0 bytes_invalid=0 send_seq=15459 receive_seq=15459 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999477 adj=49999588 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310203 bytes_read=2046742 bytes_retransmit=9 bytes_invalid=0 send_seq=31002 receive_seq=31002 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999564 adj=63999925 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94054 bytes_read=1695780 bytes_retransmit=9 bytes_invalid=0 send_seq=15537 receive_seq=15537 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999784 Octopus_V1.1_F446: temp=30.6 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=32.7 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112266 bytes_read=5401854 bytes_retransmit=0 bytes_invalid=0 send_seq=17059 receive_seq=17059 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999987 adj=32000045 coil_temp=24.6 refs=0 mcu_temp=24.74 supply_voltage=3.069 sysload=0.32 cputime=598.763 memavail=347772 print_time=15434.134 buffer_time=0.000 print_stall=0 extruder: target=150 temp=145.8 pwm=1.000 extruder1: target=0 temp=23.1 pwm=0.000
Heater extruder within range of 150.000
Stats 15140.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=159445 bytes_read=1820188 bytes_retransmit=9 bytes_invalid=0 send_seq=19732 receive_seq=19732 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999753 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=92932 bytes_read=288137 bytes_retransmit=0 bytes_invalid=0 send_seq=15460 receive_seq=15460 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999477 adj=49999587 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310241 bytes_read=2046862 bytes_retransmit=9 bytes_invalid=0 send_seq=31005 receive_seq=31005 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999560 adj=63999798 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94060 bytes_read=1695887 bytes_retransmit=9 bytes_invalid=0 send_seq=15538 receive_seq=15538 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999745 Octopus_V1.1_F446: temp=30.4 EBB42_v1.2_T0: temp=30.2 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 sd_pos=139316 heater_bed: target=50 temp=33.3 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112272 bytes_read=5402210 bytes_retransmit=0 bytes_invalid=0 send_seq=17060 receive_seq=17060 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999988 adj=32000066 coil_temp=24.7 refs=0 mcu_temp=24.77 supply_voltage=3.069 sysload=0.32 cputime=598.858 memavail=347772 print_time=15435.135 buffer_time=0.000 print_stall=0 extruder: target=150 temp=147.6 pwm=0.255 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15141.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=159647 bytes_read=1820613 bytes_retransmit=9 bytes_invalid=0 send_seq=19747 receive_seq=19747 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999753 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=92938 bytes_read=288153 bytes_retransmit=0 bytes_invalid=0 send_seq=15461 receive_seq=15461 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999480 adj=49999574 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310260 bytes_read=2046963 bytes_retransmit=9 bytes_invalid=0 send_seq=31007 receive_seq=31007 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999558 adj=63999703 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94066 bytes_read=1695980 bytes_retransmit=9 bytes_invalid=0 send_seq=15539 receive_seq=15539 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999712 Octopus_V1.1_F446: temp=30.5 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=33.9 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112278 bytes_read=5402566 bytes_retransmit=0 bytes_invalid=0 send_seq=17061 receive_seq=17061 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999987 adj=32000070 coil_temp=24.8 refs=0 mcu_temp=24.81 supply_voltage=3.069 sysload=0.32 cputime=598.952 memavail=347772 print_time=15436.135 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.0 pwm=0.000 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15142.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=159849 bytes_read=1821036 bytes_retransmit=9 bytes_invalid=0 send_seq=19762 receive_seq=19762 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999757 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=92944 bytes_read=288169 bytes_retransmit=0 bytes_invalid=0 send_seq=15462 receive_seq=15462 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999484 adj=49999610 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310281 bytes_read=2047099 bytes_retransmit=9 bytes_invalid=0 send_seq=31009 receive_seq=31009 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999657 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94072 bytes_read=1696108 bytes_retransmit=9 bytes_invalid=0 send_seq=15540 receive_seq=15540 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999716 Octopus_V1.1_F446: temp=30.5 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 sd_pos=139316 heater_bed: target=50 temp=34.3 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112284 bytes_read=5402922 bytes_retransmit=0 bytes_invalid=0 send_seq=17062 receive_seq=17062 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999989 adj=32000052 coil_temp=24.9 refs=0 mcu_temp=24.84 supply_voltage=3.069 sysload=0.29 cputime=599.049 memavail=346772 print_time=15437.135 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.6 pwm=0.092 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15143.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=160051 bytes_read=1821481 bytes_retransmit=9 bytes_invalid=0 send_seq=19777 receive_seq=19777 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999765 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=92950 bytes_read=288185 bytes_retransmit=0 bytes_invalid=0 send_seq=15463 receive_seq=15463 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999491 adj=49999644 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310303 bytes_read=2047114 bytes_retransmit=100 bytes_invalid=0 send_seq=31011 receive_seq=31009 retransmit_seq=31011 srtt=0.000 rttvar=0.000 rto=0.800 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999638 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94078 bytes_read=1696208 bytes_retransmit=9 bytes_invalid=0 send_seq=15541 receive_seq=15541 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999694 Octopus_V1.1_F446: temp=30.5 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=35.0 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112290 bytes_read=5403278 bytes_retransmit=0 bytes_invalid=0 send_seq=17063 receive_seq=17063 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999998 adj=32000067 coil_temp=25.0 refs=0 mcu_temp=24.90 supply_voltage=3.069 sysload=0.29 cputime=599.143 memavail=346772 print_time=15438.136 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15144.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=160269 bytes_read=1821926 bytes_retransmit=9 bytes_invalid=0 send_seq=19793 receive_seq=19793 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999768 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=92956 bytes_read=288214 bytes_retransmit=0 bytes_invalid=0 send_seq=15464 receive_seq=15464 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999492 adj=49999693 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310309 bytes_read=2047114 bytes_retransmit=123 bytes_invalid=0 send_seq=31012 receive_seq=31009 retransmit_seq=31011 srtt=0.000 rttvar=0.000 rto=1.600 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999597 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94084 bytes_read=1696308 bytes_retransmit=9 bytes_invalid=0 send_seq=15542 receive_seq=15542 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999642 adj=63999705 Octopus_V1.1_F446: temp=30.4 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=49.7 sd_pos=139316 heater_bed: target=50 temp=35.4 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112296 bytes_read=5403634 bytes_retransmit=0 bytes_invalid=0 send_seq=17064 receive_seq=17064 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000000 adj=32000175 coil_temp=25.1 refs=0 mcu_temp=24.94 supply_voltage=3.069 sysload=0.29 cputime=599.224 memavail=346552 print_time=15439.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.0 pwm=0.000
Stats 15145.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=160471 bytes_read=1822351 bytes_retransmit=9 bytes_invalid=0 send_seq=19808 receive_seq=19808 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999771 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=92962 bytes_read=288230 bytes_retransmit=0 bytes_invalid=0 send_seq=15465 receive_seq=15465 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999497 adj=49999659 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310315 bytes_read=2047114 bytes_retransmit=123 bytes_invalid=0 send_seq=31013 receive_seq=31009 retransmit_seq=31011 srtt=0.000 rttvar=0.000 rto=1.600 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999590 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94090 bytes_read=1696450 bytes_retransmit=9 bytes_invalid=0 send_seq=15543 receive_seq=15543 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999891 Octopus_V1.1_F446: temp=30.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=35.9 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112302 bytes_read=5403990 bytes_retransmit=0 bytes_invalid=0 send_seq=17065 receive_seq=17065 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000001 adj=32000159 coil_temp=25.2 refs=0 mcu_temp=24.98 supply_voltage=3.069 sysload=0.29 cputime=599.313 memavail=346552 print_time=15440.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15146.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=160673 bytes_read=1822805 bytes_retransmit=9 bytes_invalid=0 send_seq=19823 receive_seq=19823 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999778 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=92968 bytes_read=288246 bytes_retransmit=0 bytes_invalid=0 send_seq=15466 receive_seq=15466 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999500 adj=49999689 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310321 bytes_read=2047114 bytes_retransmit=158 bytes_invalid=0 send_seq=31014 receive_seq=31009 retransmit_seq=31013 srtt=0.000 rttvar=0.000 rto=3.200 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999584 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94096 bytes_read=1696550 bytes_retransmit=9 bytes_invalid=0 send_seq=15544 receive_seq=15544 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999841 Octopus_V1.1_F446: temp=30.5 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=50.1 sd_pos=139316 heater_bed: target=50 temp=36.5 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112308 bytes_read=5404346 bytes_retransmit=0 bytes_invalid=0 send_seq=17066 receive_seq=17066 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000001 adj=32000141 coil_temp=25.3 refs=0 mcu_temp=25.02 supply_voltage=3.069 sysload=0.29 cputime=599.404 memavail=346552 print_time=15441.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Timeout with MCU 'toolboard_t0' (eventtime=15147.340378)
Transition to shutdown state: Lost communication with MCU 'toolboard_t0'
Dumping gcode input 0 blocks
Dumping 20 requests for client 4103495656
Received 34.692056: b'{"id":4086642216,"method":"objects/subscribe","params":{"objects":{"webhooks":null,"print_stats":null,"temperature_sensor Octopus_V1.1_F446":null,"temperature_sensor EBB42_v1.2_T0":null,"temperature_sensor EBB42_v1.2_T1":null,"temperature_sensor raspberry_pi":null,"heater_bed":null,"temperature_sensor beacon_coil":null,"extruder":null,"extruder1":null,"bed_mesh":["profile_name","mesh_max","mesh_min","probed_matrix","profiles"],"configfile":["config","warnings"],"display_status":["progress","message"],"fan":["speed"],"gcode_move":["extrude_factor","gcode_position","homing_origin","speed_factor","speed"],"idle_timeout":["state"],"pause_resume":["is_paused"],"toolhead":["homed_axes","estimated_print_time","print_time","position","extruder","max_accel","minimum_cruise_ratio","max_velocity","square_corner_velocity"],"virtual_sdcard":["file_position","is_active","progress"],"firmware_retraction":["retract_length","retract_speed","unretract_extra_length","unretract_speed"],"motion_report":["live_position","live_velocity","live_extruder_velocity"],"exclude_object":["current_object","objects","excluded_objects"],"manual_probe":["is_active"],"screws_tilt_adjust":["results","error"],"controller_fan controller_fan":["speed"],"fan_generic part_fan_t0":["speed"],"fan_generic part_fan_t1":["speed"],"heater_fan toolhead_cooling_fan":["speed"],"heater_fan toolhead_cooling_fan_t1":["speed"],"heater_fan vaoc_fan":["speed"],"filament_switch_sensor toolhead_filament_sensor_t0":["enabled","filament_detected"],"filament_switch_sensor toolhead_filament_sensor_t1":["enabled","filament_detected"],"neopixel vaoc_led":["color_data"]},"response_template":{"method":"process_status_update"}}}'
Received 54.327759: b'{"id":4086642192,"method":"gcode/script","params":{"script":"M104 T0 S220"}}'
Received 78.270448: b'{"id":4086644160,"method":"gcode/script","params":{"script":"SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE=1"}}'
Received 78.271239: b'{"id":4086644280,"method":"gcode/script","params":{"script":"SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE=1"}}'
Received 86.988941: b'{"id":4086642360,"method":"gcode/script","params":{"script":"M104 T0 S230"}}'
Received 98.717461: b'{"id":4086642168,"method":"gcode/script","params":{"script":"M83"}}'
Received 98.719907: b'{"id":4086642648,"method":"gcode/script","params":{"script":"G1 E+10 F120"}}'
Received 112.138010: b'{"id":4086644688,"method":"gcode/script","params":{"script":"M83"}}'
Received 112.140862: b'{"id":4086642048,"method":"gcode/script","params":{"script":"G1 E+10 F120"}}'
Received 120.642816: b'{"id":4086642648,"method":"gcode/script","params":{"script":"M83"}}'
Received 120.644851: b'{"id":4086644136,"method":"gcode/script","params":{"script":"G1 E+15 F300"}}'
Received 125.834806: b'{"id":4086642576,"method":"gcode/script","params":{"script":"M83"}}'
Received 125.840504: b'{"id":4086642528,"method":"gcode/script","params":{"script":"G1 E+15 F300"}}'
Received 139.483612: b'{"id":4086642096,"method":"gcode/script","params":{"script":"M104 T0 S0"}}'
Received 14899.191619: b'{"id":4086961008,"method":"objects/query","params":{"objects":{"gcode":["commands"]}}}'
Received 14899.191619: b'{"id":4087056104,"method":"info","params":{}}'
Received 14899.191619: b'{"id":4086960744,"method":"objects/list","params":{}}'
Received 14899.453511: b'{"id":4086644592,"method":"objects/subscribe","params":{"objects":{"gcode":null,"webhooks":null,"configfile":null,"mcu":null,"mcu rpi":null,"mcu toolboard_t0":null,"mcu toolboard_t1":null,"heaters":null,"temperature_sensor Octopus_V1.1_F446":null,"temperature_sensor EBB42_v1.2_T0":null,"temperature_sensor EBB42_v1.2_T1":null,"gcode_macro RatOS":null,"gcode_macro HOME_X":null,"gcode_macro HOME_Y":null,"gcode_macro HOME_Z":null,"gcode_macro HOME_X_SENSORLESS":null,"gcode_macro HOME_Y_SENSORLESS":null,"gcode_macro _Z_HOP":null,"gcode_macro _MOVE_TO_SAFE_Z_HOME":null,"gcode_macro MAYBE_HOME":null,"gcode_macro PID_CALIBRATE_HOTEND":null,"gcode_macro PID_CALIBRATE_BED":null,"gcode_macro PID_CALIBRATE_CHAMBER_HEATER":null,"gcode_macro INITIALIZE_PA_TUNING":null,"gcode_macro CHAMBER_FILTER_ON":null,"gcode_macro CHAMBER_FILTER_OFF":null,"gcode_macro _CHAMBER_FILTER_ON":null,"gcode_macro _CHAMBER_FILTER_OFF":null,"gcode_macro _CHAMBER_FILTER_TURN_ON":null,"gcode_macro _CHAMBER_FILTER_TURN_OFF":null,"gcode_macro _CHAMBER_FILTER_SANITY_CHECK":null,"gcode_macro CHAMBER_HEATER_ON":null,"gcode_macro CHAMBER_HEATER_OFF":null,"gcode_macro _CHAMBER_HEATER_ON":null,"gcode_macro _CHAMBER_HEATER_OFF":null,"gcode_macro _CHAMBER_HEATER_EXTRA_FAN_ON":null,"gcode_macro _CHAMBER_HEATER_EXTRA_FAN_OFF":null,"gcode_macro _USER_CHAMBER_HEATER_BEFORE_PREHEATING":null,"gcode_macro _USER_CHAMBER_HEATER_AFTER_PREHEATING":null,"gcode_macro _LED_START_PRINTING":null,"gcode_macro _LED_START_PRINTING_ERROR":null,"gcode_macro _LED_PRINTING":null,"gcode_macro _LED_PAUSE":null,"gcode_macro _LED_CHAMBER_FILTER_ON":null,"gcode_macro _LED_CHAMBER_FILTER_OFF":null,"gcode_macro _LED_LOADING_FILAMENT":null,"gcode_macro _LED_FILAMENT_LOADED":null,"gcode_macro _LED_FILAMENT_RUNOUT":null,"gcode_macro _LED_FILAMENT_CLOG":null,"gcode_macro _LED_UNLOADING_FILAMENT":null,"gcode_macro _LED_FILAMENT_UNLOADED":null,"gcode_macro _LED_DEACTIVATE_TOOLHEAD":null,"gcode_macro _LED_TOOLHEAD_STANDBY":null,"gcode_macro _LED_TOOLHEAD_WAKEUP":null,"gcode_macro _LED_MOTORS_OFF":null,"gcode_macro _LED_INPUT_SHAPER_START":null,"gcode_macro _LED_INPUT_SHAPER_END":null,"gcode_macro _LED_BEACON_CALIBRATION_START":null,"gcode_macro _LED_BEACON_CALIBRATION_END":null,"gcode_macro _LED_BEACON_CALIBRATION_ERROR":null,"gcode_macro _LED_VAOC_ON":null,"gcode_macro _LED_VAOC_OFF":null,"gcode_macro _LED_ACTION":null,"gcode_macro _LED_SUCCESS":null,"gcode_macro _LED_HEATING":null,"gcode_macro _LED_COOLING":null,"gcode_macro _LED_ERROR":null,"gcode_macro _LED_ON":null,"gcode_macro _LED_OFF":null,"gcode_macro _LED_STANDBY":null,"gcode_macro _LED_SET":null,"gcode_macro _USER_LED_SET":null,"gcode_macro LOAD_FILAMENT":null,"gcode_macro _DEFAULT_LOAD_FILAMENT":null,"gcode_macro _IDEX_LOAD_FILAMENT":null,"gcode_macro _LOAD_FILAMENT":null,"gcode_macro _LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE":null,"gcode_macro _LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE":null,"gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_INSERT":null,"gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_INSERT":null,"gcode_macro _PURGE_BEFORE_UNLOAD":null,"gcode_macro _PURGE_FILAMENT":null,"gcode_macro _MOVE_TO_PARKING_POSITION":null,"gcode_macro _MOVE_TO_LOADING_POSITION":null,"gcode_macro _CLEANING_MOVE":null,"gcode_macro _START_PRINT_BED_MESH":null,"gcode_macro CALIBRATE_ADAPTIVE_MESH":null,"gcode_macro M84":null,"gcode_macro M104":null,"gcode_macro M109":null,"gcode_macro SET_HEATER_TEMPERATURE":null,"gcode_macro TEMPERATURE_WAIT":null,"gcode_macro SET_GCODE_OFFSET":null,"gcode_macro SDCARD_PRINT_FILE":null,"gcode_macro SKEW_PROFILE":null,"gcode_macro SET_SKEW":null,"gcode_macro SET_VELOCITY_LIMIT":null,"gcode_macro _START_PRINT_PARK":null,"gcode_macro _END_PRINT_PARK":null,"gcode_macro _PARK":null,"gcode_macro SAVE_PROBE_RESULT":null,"gcode_macro PROBE_FOR_PRIMING":null,"gcode_macro RESET_PRIME_PROBE_STATE":null,"gcode_macro PROBE_CURRENT_POSITION":null,"gcode_macro PRIME_BLOB":null,"gcode_macro UNLOAD_FILAMENT":null,"gcode_macro _LEGACY_UNLOAD_FILAMENT":null,"gcode_macro _DEFAULT_UNLOAD_FILAMENT":null,"gcode_macro _IDEX_UNLOAD_FILAMENT":null,"gcode_macro _UNLOAD_FILAMENT":null,"gcode_macro _UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE":null,"gcode_macro _UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER":null,"gcode_macro _UNLOAD_WITH_TIP_FORMING":null,"gcode_macro _UNLOAD_KNOWN_FILAMENT":null,"gcode_macro _UNLOAD_UNKNOWN_FILAMENT":null,"gcode_macro _TIP_FORMING":null,"gcode_macro _ON_FILAMENT_SENSOR_BUTTON_PRESSED":null,"gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT":null,"gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_CLOG":null,"gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_RUNOUT":null,"gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_CLOG":null,"gcode_macro _ON_FILAMENT_END":null,"gcode_macro M600":null,"gcode_macro COLD_PULL":null,"gcode_macro _USER_START_PRINT_BEFORE_HOMING":null,"gcode_macro _USER_START_PRINT_AFTER_HEATING_BED":null,"gcode_macro _USER_START_PRINT_BED_MESH":null,"gcode_macro _USER_START_PRINT_PARK":null,"gcode_macro _USER_START_PRINT_AFTER_HEATING_EXTRUDER":null,"gcode_macro _USER_START_PRINT_HEAT_CHAMBER":null,"gcode_macro _USER_END_PRINT_BEFORE_HEATERS_OFF":null,"gcode_macro _USER_END_PRINT_AFTER_HEATERS_OFF":null,"gcode_macro _USER_END_PRINT_PARK":null,"gcode_macro _USER_END_PRINT_FINISHED":null,"gcode_macro _USER_START_PRINT":null,"gcode_macro _USER_END_START_PRINT":null,"gcode_macro _USER_START_FEATURE":null,"gcode_macro _USER_END_FEATURE":null,"gcode_macro ECHO_T_VARS":null,"gcode_macro ECHO_RATOS_VARS":null,"gcode_macro INITIAL_FRONTEND_UPDATE":null,"gcode_macro CALCULATE_PRINTABLE_AREA":null,"gcode_macro CACHE_TOOLHEAD_SETTINGS":null,"gcode_macro RESTORE_TOOLHEAD_SETTINGS":null,"gcode_macro SET_MACRO_TRAVEL_SETTINGS":null,"gcode_macro SET_CENTER_KINEMATIC_POSITION":null,"gcode_macro IDEX_SET_CENTER_KINEMATIC_POSITION":null,"gcode_macro VERIFY_HYBRID_INVERTED":null,"gcode_macro RATOS_ECHO":null,"gcode_macro ENABLE_DEBUG":null,"gcode_macro DISABLE_DEBUG":null,"gcode_macro DEBUG_ECHO":null,"gcode_macro START_FEATURE":null,"gcode_macro END_FEATURE":null,"gcode_macro _ON_LAYER_CHANGE":null,"gcode_macro _LEARN_MORE_CALIBRATION":null,"gcode_macro _LEARN_MORE_CHAMBER_FILTER":null,"gcode_macro _LEARN_MORE_FILAMENT":null,"gcode_macro _CONSOLE_SAVE_CONFIG":null,"gcode_macro SAVE_Z_OFFSET":null,"gcode_macro _LOAD_RATOS_SKEW_PROFILE":null,"gcode_macro M601":null,"gcode_macro PAUSE":null,"gcode_macro RESUME":null,"gcode_macro CANCEL_PRINT":null,"gcode_macro START_PRINT":null,"gcode_macro _START_PRINT_BEFORE_HEATING_BED":null,"gcode_macro _START_PRINT_AFTER_HEATING_BED":null,"gcode_macro _START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE":null,"gcode_macro _START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE":null,"gcode_macro _START_PRINT_AFTER_HEATING_EXTRUDER":null,"gcode_macro _PRIME":null,"gcode_macro END_PRINT":null,"gcode_macro _END_PRINT_BEFORE_HEATERS_OFF":null,"gcode_macro _END_PRINT_AFTER_HEATERS_OFF":null,"gcode_macro _SET_EXTRUSION_MODE":null,"gcode_macro GENERATE_SHAPER_GRAPHS":null,"gcode_macro MEASURE_COREXY_BELT_TENSION":null,"idle_timeout":null,"temperature_host raspberry_pi":null,"temperature_sensor raspberry_pi":null,"gcode_move":null,"print_stats":null,"virtual_sdcard":null,"display_status":null,"pause_resume":null,"ratos":null,"exclude_object":null,"heater_bed":null,"fan":null,"heater_fan toolhead_cooling_fan":null,"gcode_macro IDEX_SINGLE":null,"gcode_macro _IDEX_SINGLE":null,"gcode_macro IDEX_COPY":null,"gcode_macro _IDEX_COPY":null,"gcode_macro IDEX_MIRROR":null,"gcode_macro _IDEX_MIRROR":null,"gcode_macro _IDEX_SET_TOOLHEADS":null,"gcode_macro IDEX_PARK":null,"gcode_macro PARK_TOOLHEAD":null,"gcode_macro JOIN_SPOOLS":null,"gcode_macro _IDEX_JOIN_SPOOLS":null,"gcode_macro _JOIN_SPOOL":null,"gcode_macro REMAP_TOOLHEADS":null,"gcode_macro _IDEX_REMAP_TOOLHEADS":null,"gcode_macro SHAPER_CALIBRATE":null,"gcode_macro SET_PRESSURE_ADVANCE":null,"gcode_macro M106":null,"gcode_macro M107":null,"gcode_macro _SELECT_TOOL":null,"gcode_macro _TOOLHEAD_STANDBY":null,"gcode_macro _TOOLHEAD_WAKEUP":null,"gcode_macro _TOOLCHANGE":null,"gcode_macro _ZHOP_BEFORE_TOOLCHANGE":null,"gcode_macro _ZDROP_AFTER_TOOLCHANGE":null,"gcode_macro _EXTRUDE":null,"gcode_macro _DEACTIVATE_TOOLHEAD":null,"gcode_macro _SET_TOOLHEAD_OFFSET":null,"gcode_macro TOOLSHIFT_CONFIG":null,"gcode_macro CALCULATE_DC_ENDSTOP":null,"gcode_macro INCREASE_Y_MAX":null,"gcode_macro _VAOC":null,"gcode_macro _VAOC_START":null,"gcode_macro _START_VAOC":null,"gcode_macro _VAOC_END":null,"gcode_macro _VAOC_LOAD_TOOL":null,"gcode_macro _VAOC_SET_CAMERA_COOLING":null,"gcode_macro _VAOC_SET_TOOL":null,"gcode_macro _VAOC_MOVE":null,"gcode_macro _VAOC_CALIBRATE_Z_OFFSET":null,"gcode_macro _VAOC_PROBE_Z_OFFSET":null,"gcode_macro _VAOC_Z_OFFSET_PROBE_CURRENT_POSITION":null,"gcode_macro _VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT":null,"gcode_macro _VAOC_ECHO_Z_OFFSET":null,"gcode_macro _VAOC_CALIBRATE_TEMP_OFFSET":null,"gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET":null,"gcode_macro _VAOC_PROBE_NOZZLE_TEMP_OFFSET":null,"gcode_macro _VAOC_STORE_NOZZLE_TEMP_OFFSET":null,"gcode_macro _VAOC_ECHO_NOZZLE_TEMP_OFFSETS":null,"gcode_macro _VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS":null,"gcode_macro _VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT":null,"gcode_macro _VAOC_ENSURE_SAFE_Z_HEIGHT":null,"gcode_macro _VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED":null,"gcode_macro _VAOC_RESET":null,"gcode_macro _ECHO_VAOC_VARS":null,"gcode_macro _VAOC_SWITCH_LED":null,"gcode_macro Z_PROBE_TEST_T0":null,"gcode_macro Z_PROBE_TEST_T1":null,"gcode_macro Z_PROBE_TEST":null,"gcode_macro _VAOC_Z_PROBE_LOOP":null,"gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE":null,"gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T0":null,"gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T1":null,"gcode_macro _SHAKE_IT":null,"gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT":null,"gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT":null,"gcode_macro _CLEAR_PRIMARY_TOOLHEAD_RESULT":null,"gcode_macro _CLEAR_SECONDARY_TOOLHEAD_RESULT":null,"gcode_macro _VAOC_TEST_Z_OFFSET":null,"gcode_macro Z_TILT_ADJUST":null,"bed_mesh":null,"z_tilt":null,"firmware_retraction":null,"stepper_enable":null,"tmc2209 stepper_x":null,"tmc2209 dual_carriage":null,"tmc2209 stepper_y":null,"tmc2209 stepper_y1":null,"tmc2209 stepper_z":null,"tmc2209 stepper_z1":null,"tmc2209 stepper_z2":null,"tmc2209 extruder":null,"tmc2209 extruder1":null,"beacons":null,"mcu beacon":null,"probe":null,"temperature_sensor beacon_coil":null,"beacon":null,"gcode_macro BEACON_RATOS_CALIBRATION":null,"gcode_macro BEACON_RATOS_CALIBRATE":null,"gcode_macro BEACON_INITIAL_CALIBRATION":null,"gcode_macro BEACON_FINAL_CALIBRATION":null,"gcode_macro BEACON_POKE_TEST":null,"gcode_macro _BEACON_PROBE_POKE":null,"gcode_macro _BEACON_STORE_POKE":null,"gcode_macro _BEACON_CHECK_POKE":null,"gcode_macro _BEACON_ECHO_POKE":null,"gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET":null,"gcode_macro _BEACON_PROBE_NOZZLE_TEMP_OFFSET":null,"gcode_macro _BEACON_STORE_NOZZLE_TEMP_OFFSET":null,"gcode_macro _BEACON_ECHO_NOZZLE_TEMP_OFFSETS":null,"gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET":null,"gcode_macro BEACON_MEASURE_GANTRY_TWIST":null,"gcode_macro _BEACON_PROBE_GANTRY_TWIST":null,"gcode_macro _BEACON_STORE_GANTRY_TWIST":null,"gcode_macro _BEACON_ECHO_GANTRY_TWIST":null,"gcode_macro BEACON_CREATE_SCAN_COMPENSATION_MESH":null,"gcode_macro _BEACON_APPLY_SCAN_COMPENSATION":null,"gcode_macro _BEACON_MAYBE_SCAN_COMPENSATION":null,"gcode_macro _BEACON_HOME_AND_ABL":null,"gcode_macro _BEACON_SAVE_MULTIPLIER":null,"gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER":null,"fan_generic part_fan_t0":null,"fan_generic part_fan_t1":null,"heater_fan toolhead_cooling_fan_t1":null,"controller_fan controller_fan":null,"gcode_macro T0":null,"gcode_macro T1":null,"save_variables":null,"z_offset_probe":null,"neopixel vaoc_led":null,"heater_fan vaoc_fan":null,"filament_switch_sensor toolhead_filament_sensor_t0":null,"gcode_button toolhead_filament_sensor_button_t0":null,"filament_switch_sensor toolhead_filament_sensor_t1":null,"gcode_button toolhead_filament_sensor_button_t1":null,"motion_report":null,"query_endstops":null,"dual_carriage":null,"system_stats":null,"manual_probe":null,"toolhead":null,"extruder":null,"extruder1":null,"screws_tilt_adjust":["results","error"]},"response_template":{"method":"process_status_update"}}}'
Received 14901.558899: b'{"id":4087405608,"method":"objects/query","params":{"objects":{"extruder":["can_extrude"],"extruder1":["can_extrude"]}}}'
Received 15066.890370: b'{"id":4087071984,"method":"gcode/script","params":{"script":"SDCARD_PRINT_FILE FILENAME=\\"Compliant_AOPA-Long-Conical-Slender-Long-TPU-Teil.gcode\\""}}'
Virtual sdcard (138292): 'DzKJ4liapEGQyQ4KZOWBybwkkT44dIU1UopsGDUHa3IoZUCu9DdI+kKGaxapOE9Wf6OhkCa+XyTYx\n; wAhiqOtJd59dwHDw3fj+FYbXjrMt4yxqY11pDcsHLizujAj7SaJZdClMT14vVSulo7tq+sWh82vjIS\n; /p62LhnHS1Je91B7LgYYhZuz72nIoluUdPnqwM1MvU+/aybv8/y5c2nRhoaiaPERhxo6Vrpe9ckIUG\n; rzXOdeWhIJX09XcW84P1oXqyWFW1tzVqhQGng7G3Lbog6I8s5GfOHHiu18oeP/AkVEVANMkkUKAAAA\n; AElFTkSuQmCC\n; thumbnail end\n;\n; RR_QUALITY\n\n; external perimeters extrusion width = 0.45mm\n; perimeters extrusion width = 0.45mm\n; infill extrusion width = 0.45mm\n; solid infill extrusion width = 0.45mm\n; top infill extrusion width = 0.42mm\n; support material extrusion width = 0.45mm\n; first layer extrusion width = 0.50mm\n\n; external perimeters extrusion width = 0.45mm\n; perimeters extrusion width = 0.45mm\n; infill extrusion width = 0.45mm\n; solid infill extrusion width = 0.45mm\n; top infill extrusion width = 0.42mm\n; support material extrusion width = 0.45mm\n; first layer extrusion width = 0.50mm\n\nM73 P0 R1216\n;TYPE:Custom\n;RATOS_HINT:ALREADY_POSITIONED_FOR_IDEX\nSET_GCODE_OFFSET X=0 MOVE=0\n'
Upcoming (139316): 'START_PRINT EXTRUDER_TEMP=230,210 EXTRUDER_OTHER_LAYER_TEMP=230,210 BED_TEMP=50 INITIAL_TOOL=0 TOTAL_LAYER_COUNT=1143 X0=194.339'
gcode state: absolute_coord=True absolute_extrude=True base_position=[0.0, 0.0, 0.0, 0.0] last_position=[250.0, 250.0, 2.0, 50.0] homing_position=[0.0, 0.0, 0.0, 0.0] speed_factor=0.016666666666666666 extrude_factor=1.0 speed=15.0
MCU 'rpi' shutdown: Command request
clocksync state: mcu_freq=50000000 last_clock=756942313944 clock_est=(15118.472 755514673273 49999499.613) min_half_rtt=0.000050 min_rtt_time=15108.630 time_avg=15118.472(843.408) clock_avg=755514673273.223(42169975816.443) pred_variance=8517414.681 clock_adj=(303.450 49999620.000)
Dumping serial stats: bytes_write=92980 bytes_read=288274 bytes_retransmit=0 bytes_invalid=0 send_seq=15468 receive_seq=15468 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 100 messages
Sent 0 15050.531105 15050.531105 6: seq: 18, get_clock
Sent 1 15051.514726 15051.514726 6: seq: 19, get_clock
Sent 2 15052.499288 15052.499288 6: seq: 1a, get_clock
Sent 3 15053.488009 15053.488009 6: seq: 1b, get_clock
Sent 4 15054.472699 15054.472699 6: seq: 1c, get_clock
Sent 5 15055.457770 15055.457770 6: seq: 1d, get_clock
Sent 6 15056.441966 15056.441966 6: seq: 1e, get_clock
Sent 7 15057.426528 15057.426528 6: seq: 1f, get_clock
Sent 8 15058.411982 15058.411982 6: seq: 10, get_clock
Sent 9 15059.396474 15059.396474 6: seq: 11, get_clock
Sent 10 15060.380302 15060.380302 6: seq: 12, get_clock
Sent 11 15061.364740 15061.364740 6: seq: 13, get_clock
Sent 12 15062.348724 15062.348724 6: seq: 14, get_clock
Sent 13 15063.333135 15063.333135 6: seq: 15, get_clock
Sent 14 15064.318131 15064.318131 6: seq: 16, get_clock
Sent 15 15065.302042 15065.302042 6: seq: 17, get_clock
Sent 16 15066.286897 15066.286897 6: seq: 18, get_clock
Sent 17 15067.273061 15067.273061 6: seq: 19, get_clock
Sent 18 15068.257231 15068.257231 6: seq: 1a, get_clock
Sent 19 15069.241707 15069.241707 6: seq: 1b, get_clock
Sent 20 15070.226265 15070.226265 6: seq: 1c, get_clock
Sent 21 15071.210438 15071.210438 6: seq: 1d, get_clock
Sent 22 15072.194818 15072.194818 6: seq: 1e, get_clock
Sent 23 15073.179452 15073.179452 6: seq: 1f, get_clock
Sent 24 15074.164462 15074.164462 6: seq: 10, get_clock
Sent 25 15075.149406 15075.149406 6: seq: 11, get_clock
Sent 26 15076.134429 15076.134429 6: seq: 12, get_clock
Sent 27 15077.118532 15077.118532 6: seq: 13, get_clock
Sent 28 15078.102841 15078.102841 6: seq: 14, get_clock
Sent 29 15079.087394 15079.087394 6: seq: 15, get_clock
Sent 30 15080.072226 15080.072226 6: seq: 16, get_clock
Sent 31 15081.056607 15081.056607 6: seq: 17, get_clock
Sent 32 15082.041718 15082.041718 6: seq: 18, get_clock
Sent 33 15083.026303 15083.026303 6: seq: 19, get_clock
Sent 34 15084.010765 15084.010765 6: seq: 1a, get_clock
Sent 35 15084.994788 15084.994788 6: seq: 1b, get_clock
Sent 36 15085.979120 15085.979120 6: seq: 1c, get_clock
Sent 37 15086.963418 15086.963418 6: seq: 1d, get_clock
Sent 38 15087.948128 15087.948128 6: seq: 1e, get_clock
Sent 39 15088.932489 15088.932489 6: seq: 1f, get_clock
Sent 40 15089.916632 15089.916632 6: seq: 10, get_clock
Sent 41 15090.902058 15090.902058 6: seq: 11, get_clock
Sent 42 15091.886174 15091.886174 6: seq: 12, get_clock
Sent 43 15092.870387 15092.870387 6: seq: 13, get_clock
Sent 44 15093.855114 15093.855114 6: seq: 14, get_clock
Sent 45 15094.839342 15094.839342 6: seq: 15, get_clock
Sent 46 15095.823541 15095.823541 6: seq: 16, get_clock
Sent 47 15096.807922 15096.807922 6: seq: 17, get_clock
Sent 48 15097.792541 15097.792541 6: seq: 18, get_clock
Sent 49 15098.776763 15098.776763 6: seq: 19, get_clock
Sent 50 15099.760849 15099.760849 6: seq: 1a, get_clock
Sent 51 15100.744985 15100.744985 6: seq: 1b, get_clock
Sent 52 15101.729456 15101.729456 6: seq: 1c, get_clock
Sent 53 15102.714235 15102.714235 6: seq: 1d, get_clock
Sent 54 15103.698875 15103.698875 6: seq: 1e, get_clock
Sent 55 15104.686688 15104.686688 6: seq: 1f, get_clock
Sent 56 15105.677307 15105.677307 6: seq: 10, get_clock
Sent 57 15106.661441 15106.661441 6: seq: 11, get_clock
Sent 58 15107.645529 15107.645529 6: seq: 12, get_clock
Sent 59 15108.629968 15108.629968 6: seq: 13, get_clock
Sent 60 15109.614047 15109.614047 6: seq: 14, get_clock
Sent 61 15110.598327 15110.598327 6: seq: 15, get_clock
Sent 62 15111.582673 15111.582673 6: seq: 16, get_clock
Sent 63 15112.567534 15112.567534 6: seq: 17, get_clock
Sent 64 15113.551660 15113.551660 6: seq: 18, get_clock
Sent 65 15114.536506 15114.536506 6: seq: 19, get_clock
Sent 66 15115.520461 15115.520461 6: seq: 1a, get_clock
Sent 67 15116.504455 15116.504455 6: seq: 1b, get_clock
Sent 68 15117.488358 15117.488358 6: seq: 1c, get_clock
Sent 69 15118.473165 15118.473165 6: seq: 1d, get_clock
Sent 70 15119.457454 15119.457454 6: seq: 1e, get_clock
Sent 71 15120.442006 15120.442006 6: seq: 1f, get_clock
Sent 72 15121.427515 15121.427515 6: seq: 10, get_clock
Sent 73 15122.411214 15122.411214 6: seq: 11, get_clock
Sent 74 15123.395446 15123.395446 6: seq: 12, get_clock
Sent 75 15124.380268 15124.380268 6: seq: 13, get_clock
Sent 76 15125.363932 15125.363932 6: seq: 14, get_clock
Sent 77 15126.348113 15126.348113 6: seq: 15, get_clock
Sent 78 15127.332189 15127.332189 6: seq: 16, get_clock
Sent 79 15128.317224 15128.317224 6: seq: 17, get_clock
Sent 80 15129.302233 15129.302233 6: seq: 18, get_clock
Sent 81 15130.286305 15130.286305 6: seq: 19, get_clock
Sent 82 15131.271644 15131.271644 6: seq: 1a, get_clock
Sent 83 15132.255760 15132.255760 6: seq: 1b, get_clock
Sent 84 15133.240367 15133.240367 6: seq: 1c, get_clock
Sent 85 15134.224471 15134.224471 6: seq: 1d, get_clock
Sent 86 15135.208675 15135.208675 6: seq: 1e, get_clock
Sent 87 15136.193003 15136.193003 6: seq: 1f, get_clock
Sent 88 15137.178005 15137.178005 6: seq: 10, get_clock
Sent 89 15138.162726 15138.162726 6: seq: 11, get_clock
Sent 90 15139.147955 15139.147955 6: seq: 12, get_clock
Sent 91 15140.132239 15140.132239 6: seq: 13, get_clock
Sent 92 15141.116405 15141.116405 6: seq: 14, get_clock
Sent 93 15142.102188 15142.102188 6: seq: 15, get_clock
Sent 94 15143.085931 15143.085931 6: seq: 16, get_clock
Sent 95 15144.070271 15144.070271 6: seq: 17, get_clock
Sent 96 15145.054962 15145.054962 6: seq: 18, get_clock
Sent 97 15146.039890 15146.039890 6: seq: 19, get_clock
Sent 98 15147.024693 15147.024693 6: seq: 1a, get_clock
Sent 99 15147.345699 15147.345699 6: seq: 1b, emergency_stop
Dumping receive queue 100 messages
Receive: 0 15066.287097 15066.286897 11: seq: 19, clock clock=1286185790
Receive: 1 15067.273195 15067.273061 11: seq: 1a, clock clock=1335494395
Receive: 2 15067.778072 15067.273061 13: seq: 1a, stats count=56 sum=26006 sumsq=94264
Receive: 3 15068.257471 15068.257231 11: seq: 1b, clock clock=1384703197
Receive: 4 15069.241876 15069.241707 11: seq: 1c, clock clock=1433926156
Receive: 5 15070.226472 15070.226265 11: seq: 1d, clock clock=1483154741
Receive: 6 15071.210593 15071.210438 11: seq: 1e, clock clock=1532361915
Receive: 7 15072.195019 15072.194818 11: seq: 1f, clock clock=1581580644
Receive: 8 15072.877999 15072.194818 13: seq: 1f, stats count=56 sum=28578 sumsq=110469
Receive: 9 15073.179682 15073.179452 11: seq: 10, clock clock=1630811805
Receive: 10 15074.164649 15074.164462 11: seq: 11, clock clock=1680061086
Receive: 11 15075.149571 15075.149406 11: seq: 12, clock clock=1729308937
Receive: 12 15076.134651 15076.134429 11: seq: 13, clock clock=1778562863
Receive: 13 15077.118714 15077.118532 11: seq: 14, clock clock=1827763722
Receive: 14 15077.878108 15077.118532 13: seq: 14, stats count=55 sum=28032 sumsq=102135
Receive: 15 15078.103001 15078.102841 11: seq: 15, clock clock=1876977788
Receive: 16 15079.087537 15079.087394 11: seq: 16, clock clock=1926205191
Receive: 17 15080.072407 15080.072226 11: seq: 17, clock clock=1975446348
Receive: 18 15081.056804 15081.056607 11: seq: 18, clock clock=2024666365
Receive: 19 15082.041852 15082.041718 11: seq: 19, clock clock=2073920274
Receive: 20 15082.978155 15082.041718 13: seq: 19, stats count=56 sum=28748 sumsq=112634
Receive: 21 15083.026621 15083.026303 11: seq: 1a, clock clock=2123150003
Receive: 22 15084.010896 15084.010765 11: seq: 1b, clock clock=2172370791
Receive: 23 15084.994937 15084.994788 11: seq: 1c, clock clock=2221571750
Receive: 24 15085.979285 15085.979120 11: seq: 1d, clock clock=2270787279
Receive: 25 15086.963660 15086.963418 11: seq: 1e, clock clock=2320002849
Receive: 26 15087.948592 15087.948128 11: seq: 1f, clock clock=2369239544
Receive: 27 15088.078155 15087.948128 13: seq: 1f, stats count=57 sum=31813 sumsq=178287
Receive: 28 15088.932736 15088.932489 11: seq: 10, clock clock=2418458270
Receive: 29 15089.916799 15089.916632 11: seq: 11, clock clock=2467662332
Receive: 30 15090.902244 15090.902058 11: seq: 12, clock clock=2516932887
Receive: 31 15091.886329 15091.886174 11: seq: 13, clock clock=2566137989
Receive: 32 15092.870511 15092.870387 11: seq: 14, clock clock=2615347012
Receive: 33 15093.178262 15092.870387 13: seq: 14, stats count=56 sum=26641 sumsq=98784
Receive: 34 15093.855386 15093.855114 11: seq: 15, clock clock=2664586613
Receive: 35 15094.839504 15094.839342 11: seq: 16, clock clock=2713794380
Receive: 36 15095.823688 15095.823541 11: seq: 17, clock clock=2763004022
Receive: 37 15096.808099 15096.807922 11: seq: 18, clock clock=2812222367
Receive: 38 15097.792658 15097.792541 11: seq: 19, clock clock=2861451756
Receive: 39 15098.278173 15097.792541 13: seq: 19, stats count=56 sum=30847 sumsq=142549
Receive: 40 15098.776912 15098.776763 11: seq: 1a, clock clock=2910663245
Receive: 41 15099.761102 15099.760849 11: seq: 1b, clock clock=2959868276
Receive: 42 15100.745391 15100.744985 11: seq: 1c, clock clock=3009077459
Receive: 43 15101.729720 15101.729456 11: seq: 1d, clock clock=3058299495
Receive: 44 15102.714489 15102.714235 11: seq: 1e, clock clock=3107537338
Receive: 45 15103.278320 15102.714235 13: seq: 1e, stats count=55 sum=40968 sumsq=248671
Receive: 46 15103.699194 15103.698875 11: seq: 1f, clock clock=3156771934
Receive: 47 15104.687233 15104.686688 11: seq: 10, clock clock=3206173276
Receive: 48 15105.677638 15105.677307 11: seq: 11, clock clock=3255693542
Receive: 49 15106.661666 15106.661441 11: seq: 12, clock clock=3304896443
Receive: 50 15107.645639 15107.645529 11: seq: 13, clock clock=3354096168
Receive: 51 15108.378252 15107.645529 13: seq: 13, stats count=56 sum=42145 sumsq=260114
Receive: 52 15108.630068 15108.629968 11: seq: 14, clock clock=3403317506
Receive: 53 15109.614193 15109.614047 11: seq: 15, clock clock=3452521580
Receive: 54 15110.598454 15110.598327 11: seq: 16, clock clock=3501734716
Receive: 55 15111.582825 15111.582673 11: seq: 17, clock clock=3550951349
Receive: 56 15112.567683 15112.567534 11: seq: 18, clock clock=3600196001
Receive: 57 15113.378342 15112.567534 13: seq: 18, stats count=55 sum=25305 sumsq=80627
Receive: 58 15113.551823 15113.551660 11: seq: 19, clock clock=3649401280
Receive: 59 15114.536709 15114.536506 11: seq: 1a, clock clock=3698645874
Receive: 60 15115.520637 15115.520461 11: seq: 1b, clock clock=3747842528
Receive: 61 15116.504590 15116.504455 11: seq: 1c, clock clock=3797039313
Receive: 62 15117.488534 15117.488358 11: seq: 1d, clock clock=3846236297
Receive: 63 15118.378445 15117.488358 13: seq: 1d, stats count=55 sum=28733 sumsq=113344
Receive: 64 15118.473413 15118.473165 11: seq: 1e, clock clock=3895476880
Receive: 65 15119.457677 15119.457454 11: seq: 1f, clock clock=3944689541
Receive: 66 15120.442285 15120.442006 11: seq: 10, clock clock=3993916232
Receive: 67 15121.427763 15121.427515 11: seq: 11, clock clock=4043193242
Receive: 68 15122.411431 15122.411214 11: seq: 12, clock clock=4092376240
Receive: 69 15123.378556 15122.411214 13: seq: 12, stats count=55 sum=45567 sumsq=316445
Receive: 70 15123.395657 15123.395446 11: seq: 13, clock clock=4141587251
Receive: 71 15124.380488 15124.380268 11: seq: 14, clock clock=4190826823
Receive: 72 15125.364047 15125.363932 10: seq: 15, clock clock=4240007934
Receive: 73 15126.348252 15126.348113 10: seq: 16, clock clock=4289217527
Receive: 74 15127.332444 15127.332189 10: seq: 17, clock clock=43456193
Receive: 75 15128.317399 15128.317224 10: seq: 18, clock clock=92704524
Receive: 76 15128.478468 15128.317224 13: seq: 18, stats count=57 sum=34011 sumsq=204983
Receive: 77 15129.302389 15129.302233 10: seq: 19, clock clock=141954550
Receive: 78 15130.286585 15130.286305 10: seq: 1a, clock clock=191162035
Receive: 79 15131.271918 15131.271644 11: seq: 1b, clock clock=240428145
Receive: 80 15132.255909 15132.255760 11: seq: 1c, clock clock=289630328
Receive: 81 15133.240523 15133.240367 11: seq: 1d, clock clock=338859500
Receive: 82 15133.478511 15133.240367 13: seq: 1d, stats count=55 sum=35068 sumsq=204844
Receive: 83 15134.224599 15134.224471 11: seq: 1e, clock clock=388063339
Receive: 84 15135.208828 15135.208675 11: seq: 1f, clock clock=437272360
Receive: 85 15136.193144 15136.193003 11: seq: 10, clock clock=486490051
Receive: 86 15137.178235 15137.178005 11: seq: 11, clock clock=535742503
Receive: 87 15138.162946 15138.162726 11: seq: 12, clock clock=584976486
Receive: 88 15138.478629 15138.162726 13: seq: 12, stats count=55 sum=33053 sumsq=166422
Receive: 89 15139.148168 15139.147955 11: seq: 13, clock clock=634237822
Receive: 90 15140.132447 15140.132239 11: seq: 14, clock clock=683450613
Receive: 91 15141.116692 15141.116405 11: seq: 15, clock clock=732660660
Receive: 92 15142.102591 15142.102188 11: seq: 16, clock clock=781950764
Receive: 93 15143.086291 15143.085931 11: seq: 17, clock clock=831139955
Receive: 94 15143.578812 15143.085931 13: seq: 17, stats count=56 sum=46982 sumsq=313991
Receive: 95 15144.070491 15144.070271 11: seq: 18, clock clock=880351568
Receive: 96 15145.055335 15145.054962 11: seq: 19, clock clock=929588918
Receive: 97 15146.040211 15146.039890 11: seq: 1a, clock clock=978834399
Receive: 98 15147.024909 15147.024693 11: seq: 1b, clock clock=1028069848
Receive: 99 15147.346154 15147.345699 12: seq: 1c, shutdown clock=1044126295 static_string_id=Command request
MCU 'toolboard_t1' shutdown: Command request
clocksync state: mcu_freq=64000000 last_clock=988398741499 clock_est=(15118.472 986571359327 63999651.139) min_half_rtt=0.000081 min_rtt_time=15112.568 time_avg=15118.472(843.407) clock_avg=986571359327.826(53977762234.695) pred_variance=8019021.105 clock_adj=(-1.350 63999871.500)
Dumping serial stats: bytes_write=94108 bytes_read=1696662 bytes_retransmit=9 bytes_invalid=0 send_seq=15546 receive_seq=15546 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 100 messages
Sent 0 15099.108566 15099.108566 12: seq: 16, trsync_set_timeout oid=4 clock=1786192830
Sent 1 15099.116098 15099.116098 12: seq: 17, trsync_set_timeout oid=4 clock=1786672824
Sent 2 15099.123572 15099.123572 12: seq: 18, trsync_set_timeout oid=4 clock=1787152828
Sent 3 15099.131077 15099.131077 12: seq: 19, trsync_set_timeout oid=4 clock=1787632826
Sent 4 15099.138578 15099.138578 12: seq: 1a, trsync_set_timeout oid=4 clock=1788112824
Sent 5 15099.146094 15099.146094 12: seq: 1b, trsync_set_timeout oid=4 clock=1788592825
Sent 6 15099.153608 15099.153608 12: seq: 1c, trsync_set_timeout oid=4 clock=1789072817
Sent 7 15099.161124 15099.161124 12: seq: 1d, trsync_set_timeout oid=4 clock=1789552820
Sent 8 15099.168617 15099.168617 12: seq: 1e, trsync_set_timeout oid=4 clock=1790032812
Sent 9 15099.176110 15099.176110 12: seq: 1f, trsync_set_timeout oid=4 clock=1790512812
Sent 10 15099.183610 15099.183610 12: seq: 10, trsync_set_timeout oid=4 clock=1790992806
Sent 11 15099.191127 15099.191127 12: seq: 11, trsync_set_timeout oid=4 clock=1791472808
Sent 12 15099.198591 15099.198591 12: seq: 12, trsync_set_timeout oid=4 clock=1791952809
Sent 13 15099.200119 15099.200119 8: seq: 13, trsync_trigger oid=4 reason=2
Sent 14 15099.200823 15099.200823 14: seq: 14, endstop_home oid=3 clock=0 sample_ticks=0 sample_count=0 rest_ticks=0 pin_value=0 trsync_oid=0 trigger_reason=0
Sent 15 15099.200907 15099.200907 8: seq: 15, trsync_trigger oid=4 reason=2
Sent 16 15099.206791 15099.206791 7: seq: 16, endstop_query_state oid=3
Sent 17 15099.367651 15099.367651 38: seq: 17, trsync_start oid=4 report_clock=1817072607 report_ticks=480000 expire_reason=4, trsync_set_timeout oid=4 clock=1818672607, endstop_home oid=3 clock=1817072607 sample_ticks=960 sample_count=4 rest_ticks=8000 pin_value=1 trsync_oid=4 trigger_reason=1
Sent 18 15099.627621 15099.627621 12: seq: 18, trsync_set_timeout oid=4 clock=1819399017
Sent 19 15099.635019 15099.635019 12: seq: 19, trsync_set_timeout oid=4 clock=1819879019
Sent 20 15099.642542 15099.642542 12: seq: 1a, trsync_set_timeout oid=4 clock=1820359002
Sent 21 15099.649997 15099.649997 12: seq: 1b, trsync_set_timeout oid=4 clock=1820839003
Sent 22 15099.657681 15099.657681 12: seq: 1c, trsync_set_timeout oid=4 clock=1821319001
Sent 23 15099.665161 15099.665161 12: seq: 1d, trsync_set_timeout oid=4 clock=1821799002
Sent 24 15099.672588 15099.672588 12: seq: 1e, trsync_set_timeout oid=4 clock=1822278996
Sent 25 15099.680162 15099.680162 12: seq: 1f, trsync_set_timeout oid=4 clock=1822758994
Sent 26 15099.687627 15099.687627 12: seq: 10, trsync_set_timeout oid=4 clock=1823238992
Sent 27 15099.695116 15099.695116 12: seq: 11, trsync_set_timeout oid=4 clock=1823718990
Sent 28 15099.702571 15099.702571 12: seq: 12, trsync_set_timeout oid=4 clock=1824198988
Sent 29 15099.710036 15099.710036 12: seq: 13, trsync_set_timeout oid=4 clock=1824678989
Sent 30 15099.717549 15099.717549 12: seq: 14, trsync_set_timeout oid=4 clock=1825158979
Sent 31 15099.725010 15099.725010 12: seq: 15, trsync_set_timeout oid=4 clock=1825638981
Sent 32 15099.732511 15099.732511 12: seq: 16, trsync_set_timeout oid=4 clock=1826118979
Sent 33 15099.740033 15099.740033 12: seq: 17, trsync_set_timeout oid=4 clock=1826598976
Sent 34 15099.747527 15099.747527 12: seq: 18, trsync_set_timeout oid=4 clock=1827078978
Sent 35 15099.755031 15099.755031 12: seq: 19, trsync_set_timeout oid=4 clock=1827558973
Sent 36 15099.760891 15099.760891 6: seq: 1a, get_clock
Sent 37 15099.762495 15099.762495 12: seq: 1b, trsync_set_timeout oid=4 clock=1828039083
Sent 38 15099.769963 15099.769963 12: seq: 1c, trsync_set_timeout oid=4 clock=1828519126
Sent 39 15099.777471 15099.777471 12: seq: 1d, trsync_set_timeout oid=4 clock=1828999127
Sent 40 15099.784970 15099.784970 12: seq: 1e, trsync_set_timeout oid=4 clock=1829479124
Sent 41 15099.792465 15099.792465 12: seq: 1f, trsync_set_timeout oid=4 clock=1829959122
Sent 42 15099.799953 15099.799953 12: seq: 10, trsync_set_timeout oid=4 clock=1830439120
Sent 43 15099.807450 15099.807450 12: seq: 11, trsync_set_timeout oid=4 clock=1830919121
Sent 44 15099.814985 15099.814985 12: seq: 12, trsync_set_timeout oid=4 clock=1831399109
Sent 45 15099.822455 15099.822455 12: seq: 13, trsync_set_timeout oid=4 clock=1831879113
Sent 46 15099.829966 15099.829966 12: seq: 14, trsync_set_timeout oid=4 clock=1832359111
Sent 47 15099.835926 15099.835926 8: seq: 15, trsync_trigger oid=4 reason=2
Sent 48 15099.836950 15099.836950 14: seq: 16, endstop_home oid=3 clock=0 sample_ticks=0 sample_count=0 rest_ticks=0 pin_value=0 trsync_oid=0 trigger_reason=0
Sent 49 15099.837150 15099.837150 8: seq: 17, trsync_trigger oid=4 reason=2
Sent 50 15099.844093 15099.844093 7: seq: 18, endstop_query_state oid=3
Sent 51 15100.745065 15100.745065 6: seq: 19, get_clock
Sent 52 15101.729575 15101.729575 6: seq: 1a, get_clock
Sent 53 15102.714321 15102.714321 6: seq: 1b, get_clock
Sent 54 15103.699185 15103.699185 6: seq: 1c, get_clock
Sent 55 15104.686921 15104.686921 6: seq: 1d, get_clock
Sent 56 15105.677284 15105.677284 6: seq: 1e, get_clock
Sent 57 15106.661520 15106.661520 6: seq: 1f, get_clock
Sent 58 15107.646010 15107.646010 6: seq: 10, get_clock
Sent 59 15108.630409 15108.630409 6: seq: 11, get_clock
Sent 60 15109.614081 15109.614081 6: seq: 12, get_clock
Sent 61 15110.598530 15110.598530 6: seq: 13, get_clock
Sent 62 15111.582760 15111.582760 6: seq: 14, get_clock
Sent 63 15112.567627 15112.567627 6: seq: 15, get_clock
Sent 64 15113.551761 15113.551761 6: seq: 16, get_clock
Sent 65 15114.536664 15114.536664 6: seq: 17, get_clock
Sent 66 15115.520578 15115.520578 6: seq: 18, get_clock
Sent 67 15116.504572 15116.504572 6: seq: 19, get_clock
Sent 68 15117.488487 15117.488487 6: seq: 1a, get_clock
Sent 69 15118.473794 15118.473794 6: seq: 1b, get_clock
Sent 70 15119.458027 15119.458027 6: seq: 1c, get_clock
Sent 71 15120.442578 15120.442578 6: seq: 1d, get_clock
Sent 72 15121.427831 15121.427831 6: seq: 1e, get_clock
Sent 73 15122.411822 15122.411822 6: seq: 1f, get_clock
Sent 74 15123.396206 15123.396206 6: seq: 10, get_clock
Sent 75 15124.380622 15124.380622 6: seq: 11, get_clock
Sent 76 15125.364084 15125.364084 6: seq: 12, get_clock
Sent 77 15126.348262 15126.348262 6: seq: 13, get_clock
Sent 78 15127.332226 15127.332226 6: seq: 14, get_clock
Sent 79 15128.317337 15128.317337 6: seq: 15, get_clock
Sent 80 15129.302307 15129.302307 6: seq: 16, get_clock
Sent 81 15130.286937 15130.286937 6: seq: 17, get_clock
Sent 82 15131.272126 15131.272126 6: seq: 18, get_clock
Sent 83 15132.255800 15132.255800 6: seq: 19, get_clock
Sent 84 15133.240848 15133.240848 6: seq: 1a, get_clock
Sent 85 15134.224851 15134.224851 6: seq: 1b, get_clock
Sent 86 15135.209225 15135.209225 6: seq: 1c, get_clock
Sent 87 15136.193394 15136.193394 6: seq: 1d, get_clock
Sent 88 15137.178771 15137.178771 6: seq: 1e, get_clock
Sent 89 15138.163261 15138.163261 6: seq: 1f, get_clock
Sent 90 15139.148945 15139.148945 6: seq: 10, get_clock
Sent 91 15140.133055 15140.133055 6: seq: 11, get_clock
Sent 92 15141.116556 15141.116556 6: seq: 12, get_clock
Sent 93 15142.102424 15142.102424 6: seq: 13, get_clock
Sent 94 15143.086034 15143.086034 6: seq: 14, get_clock
Sent 95 15144.070489 15144.070489 6: seq: 15, get_clock
Sent 96 15145.055248 15145.055248 6: seq: 16, get_clock
Sent 97 15146.040069 15146.040069 6: seq: 17, get_clock
Sent 98 15147.024890 15147.024890 6: seq: 18, get_clock
Sent 99 15147.346484 15147.346484 6: seq: 19, emergency_stop
Dumping receive queue 100 messages
Receive: 0 15134.760693 15134.224851 14: seq: 1c, analog_in_state oid=6 next_clock=4085052228 value=7561
Receive: 1 15134.800637 15134.224851 14: seq: 1c, analog_in_state oid=10 next_clock=4087612228 value=10854
Receive: 2 15135.060695 15134.224851 14: seq: 1c, analog_in_state oid=6 next_clock=4104252228 value=7563
Receive: 3 15135.100642 15134.224851 14: seq: 1c, analog_in_state oid=10 next_clock=4106812228 value=10852
Receive: 4 15135.209425 15135.209225 11: seq: 1d, clock clock=4095029464
Receive: 5 15135.360713 15135.209225 14: seq: 1d, analog_in_state oid=6 next_clock=4123452228 value=7566
Receive: 6 15135.400695 15135.209225 14: seq: 1d, analog_in_state oid=10 next_clock=4126012228 value=10855
Receive: 7 15135.660686 15135.209225 14: seq: 1d, analog_in_state oid=6 next_clock=4142652228 value=7564
Receive: 8 15135.700636 15135.209225 14: seq: 1d, analog_in_state oid=10 next_clock=4145212228 value=10850
Receive: 9 15135.960636 15135.209225 14: seq: 1d, analog_in_state oid=6 next_clock=4161852228 value=7563
Receive: 10 15136.000625 15135.209225 14: seq: 1d, analog_in_state oid=10 next_clock=4164412228 value=10851
Receive: 11 15136.193651 15136.193394 11: seq: 1e, clock clock=4158016683
Receive: 12 15136.260650 15136.193394 14: seq: 1e, analog_in_state oid=6 next_clock=4181052228 value=7563
Receive: 13 15136.300685 15136.193394 14: seq: 1e, analog_in_state oid=10 next_clock=4183612228 value=10852
Receive: 14 15136.560740 15136.193394 14: seq: 1e, analog_in_state oid=6 next_clock=4200252228 value=7563
Receive: 15 15136.600648 15136.193394 14: seq: 1e, analog_in_state oid=10 next_clock=4202812228 value=10859
Receive: 16 15136.860875 15136.193394 14: seq: 1e, analog_in_state oid=6 next_clock=4219452228 value=7567
Receive: 17 15136.900744 15136.193394 14: seq: 1e, analog_in_state oid=10 next_clock=4222012228 value=10852
Receive: 18 15137.160728 15136.193394 13: seq: 1e, analog_in_state oid=6 next_clock=4238652228 value=7561
Receive: 19 15137.179043 15137.178771 11: seq: 1f, clock clock=4221081273
Receive: 20 15137.200769 15137.178771 13: seq: 1f, analog_in_state oid=10 next_clock=4241212228 value=10850
Receive: 21 15137.460740 15137.178771 13: seq: 1f, analog_in_state oid=6 next_clock=4257852228 value=7561
Receive: 22 15137.500785 15137.178771 13: seq: 1f, analog_in_state oid=10 next_clock=4260412228 value=10855
Receive: 23 15137.760751 15137.178771 13: seq: 1f, analog_in_state oid=6 next_clock=4277052228 value=7565
Receive: 24 15137.800712 15137.178771 13: seq: 1f, analog_in_state oid=10 next_clock=4279612228 value=10852
Receive: 25 15138.060795 15137.178771 12: seq: 1f, analog_in_state oid=6 next_clock=1284932 value=7562
Receive: 26 15138.100786 15137.178771 13: seq: 1f, analog_in_state oid=10 next_clock=3844932 value=10856
Receive: 27 15138.163560 15138.163261 10: seq: 10, clock clock=4284087504
Receive: 28 15138.360851 15138.163261 13: seq: 10, analog_in_state oid=6 next_clock=20484932 value=7562
Receive: 29 15138.400665 15138.163261 13: seq: 10, analog_in_state oid=10 next_clock=23044932 value=10852
Receive: 30 15138.660761 15138.163261 13: seq: 10, analog_in_state oid=6 next_clock=39684932 value=7562
Receive: 31 15138.700721 15138.163261 13: seq: 10, analog_in_state oid=10 next_clock=42244932 value=10856
Receive: 32 15138.960671 15138.163261 13: seq: 10, analog_in_state oid=6 next_clock=58884932 value=7560
Receive: 33 15139.000709 15138.163261 13: seq: 10, analog_in_state oid=10 next_clock=61444932 value=10857
Receive: 34 15139.149213 15139.148945 10: seq: 11, clock clock=52202739
Receive: 35 15139.260799 15139.148945 13: seq: 11, analog_in_state oid=6 next_clock=78084932 value=7562
Receive: 36 15139.300749 15139.148945 13: seq: 11, analog_in_state oid=10 next_clock=80644932 value=10853
Receive: 37 15139.494870 15139.148945 14: seq: 11, stats count=170 sum=162770 sumsq=844630
Receive: 38 15139.560818 15139.148945 13: seq: 11, analog_in_state oid=6 next_clock=97284932 value=7559
Receive: 39 15139.600799 15139.148945 13: seq: 11, analog_in_state oid=10 next_clock=99844932 value=10853
Receive: 40 15139.860856 15139.148945 13: seq: 11, analog_in_state oid=6 next_clock=116484932 value=7560
Receive: 41 15139.900733 15139.148945 13: seq: 11, analog_in_state oid=10 next_clock=119044932 value=10854
Receive: 42 15140.133277 15140.133055 10: seq: 12, clock clock=115184852
Receive: 43 15140.160746 15140.133055 13: seq: 12, analog_in_state oid=6 next_clock=135684932 value=7561
Receive: 44 15140.200783 15140.133055 13: seq: 12, analog_in_state oid=10 next_clock=138244932 value=10859
Receive: 45 15140.460740 15140.133055 13: seq: 12, analog_in_state oid=6 next_clock=154884932 value=7560
Receive: 46 15140.500813 15140.133055 13: seq: 12, analog_in_state oid=10 next_clock=157444932 value=10853
Receive: 47 15140.760768 15140.133055 13: seq: 12, analog_in_state oid=6 next_clock=174084932 value=7563
Receive: 48 15140.800760 15140.133055 13: seq: 12, analog_in_state oid=10 next_clock=176644932 value=10855
Receive: 49 15141.060792 15140.133055 13: seq: 12, analog_in_state oid=6 next_clock=193284932 value=7565
Receive: 50 15141.100845 15140.133055 13: seq: 12, analog_in_state oid=10 next_clock=195844932 value=10854
Receive: 51 15141.117093 15141.116556 10: seq: 13, clock clock=178129720
Receive: 52 15141.360898 15141.116556 14: seq: 13, analog_in_state oid=6 next_clock=212484932 value=7563
Receive: 53 15141.400732 15141.116556 14: seq: 13, analog_in_state oid=10 next_clock=215044932 value=10858
Receive: 54 15141.660790 15141.116556 14: seq: 13, analog_in_state oid=6 next_clock=231684932 value=7560
Receive: 55 15141.700725 15141.116556 14: seq: 13, analog_in_state oid=10 next_clock=234244932 value=10856
Receive: 56 15141.960772 15141.116556 14: seq: 13, analog_in_state oid=6 next_clock=250884932 value=7562
Receive: 57 15142.000784 15141.116556 14: seq: 13, analog_in_state oid=10 next_clock=253444932 value=10853
Receive: 58 15142.102782 15142.102424 11: seq: 14, clock clock=241224697
Receive: 59 15142.260767 15142.102424 14: seq: 14, analog_in_state oid=6 next_clock=270084932 value=7561
Receive: 60 15142.300761 15142.102424 14: seq: 14, analog_in_state oid=10 next_clock=272644932 value=10854
Receive: 61 15142.562338 15142.102424 14: seq: 14, analog_in_state oid=6 next_clock=289284932 value=7562
Receive: 62 15142.600754 15142.102424 14: seq: 14, analog_in_state oid=10 next_clock=291844932 value=10851
Receive: 63 15142.860819 15142.102424 14: seq: 14, analog_in_state oid=6 next_clock=308484932 value=7561
Receive: 64 15142.900752 15142.102424 14: seq: 14, analog_in_state oid=10 next_clock=311044932 value=10853
Receive: 65 15143.086404 15143.086034 11: seq: 15, clock clock=304178215
Receive: 66 15143.160746 15143.086034 14: seq: 15, analog_in_state oid=6 next_clock=327684932 value=7563
Receive: 67 15143.200721 15143.086034 14: seq: 15, analog_in_state oid=10 next_clock=330244932 value=10854
Receive: 68 15143.460757 15143.086034 14: seq: 15, analog_in_state oid=6 next_clock=346884932 value=7566
Receive: 69 15143.500810 15143.086034 14: seq: 15, analog_in_state oid=10 next_clock=349444932 value=10855
Receive: 70 15143.760758 15143.086034 14: seq: 15, analog_in_state oid=6 next_clock=366084932 value=7565
Receive: 71 15143.800709 15143.086034 14: seq: 15, analog_in_state oid=10 next_clock=368644932 value=10852
Receive: 72 15144.060746 15143.086034 14: seq: 15, analog_in_state oid=6 next_clock=385284932 value=7559
Receive: 73 15144.070905 15144.070489 11: seq: 16, clock clock=367191745
Receive: 74 15144.100763 15144.070489 14: seq: 16, analog_in_state oid=10 next_clock=387844932 value=10851
Receive: 75 15144.360855 15144.070489 14: seq: 16, analog_in_state oid=6 next_clock=404484932 value=7567
Receive: 76 15144.400801 15144.070489 14: seq: 16, analog_in_state oid=10 next_clock=407044932 value=10855
Receive: 77 15144.594943 15144.070489 14: seq: 16, stats count=170 sum=162996 sumsq=848142
Receive: 78 15144.660729 15144.070489 14: seq: 16, analog_in_state oid=6 next_clock=423684932 value=7564
Receive: 79 15144.700729 15144.070489 14: seq: 16, analog_in_state oid=10 next_clock=426244932 value=10855
Receive: 80 15144.960758 15144.070489 14: seq: 16, analog_in_state oid=6 next_clock=442884932 value=7566
Receive: 81 15145.000703 15144.070489 14: seq: 16, analog_in_state oid=10 next_clock=445444932 value=10852
Receive: 82 15145.055635 15145.055248 11: seq: 17, clock clock=430205889
Receive: 83 15145.260769 15145.055248 14: seq: 17, analog_in_state oid=6 next_clock=462084932 value=7563
Receive: 84 15145.300731 15145.055248 14: seq: 17, analog_in_state oid=10 next_clock=464644932 value=10855
Receive: 85 15145.560881 15145.055248 14: seq: 17, analog_in_state oid=6 next_clock=481284932 value=7566
Receive: 86 15145.600810 15145.055248 14: seq: 17, analog_in_state oid=10 next_clock=483844932 value=10853
Receive: 87 15145.860850 15145.055248 14: seq: 17, analog_in_state oid=6 next_clock=500484932 value=7565
Receive: 88 15145.900755 15145.055248 14: seq: 17, analog_in_state oid=10 next_clock=503044932 value=10856
Receive: 89 15146.040482 15146.040069 11: seq: 18, clock clock=493239148
Receive: 90 15146.160777 15146.040069 14: seq: 18, analog_in_state oid=6 next_clock=519684932 value=7565
Receive: 91 15146.200764 15146.040069 14: seq: 18, analog_in_state oid=10 next_clock=522244932 value=10856
Receive: 92 15146.460778 15146.040069 14: seq: 18, analog_in_state oid=6 next_clock=538884932 value=7555
Receive: 93 15146.500755 15146.040069 14: seq: 18, analog_in_state oid=10 next_clock=541444932 value=10856
Receive: 94 15146.760861 15146.040069 14: seq: 18, analog_in_state oid=6 next_clock=558084932 value=7556
Receive: 95 15146.800925 15146.040069 14: seq: 18, analog_in_state oid=10 next_clock=560644932 value=10852
Receive: 96 15147.025186 15147.024890 11: seq: 19, clock clock=556263419
Receive: 97 15147.060786 15147.024890 14: seq: 19, analog_in_state oid=6 next_clock=577284932 value=7562
Receive: 98 15147.100834 15147.024890 14: seq: 19, analog_in_state oid=10 next_clock=579844932 value=10857
Receive: 99 15147.347617 15147.346484 12: seq: 1a, shutdown clock=576844918 static_string_id=Command request
Reactor garbage collection: (15146.839132564, 15067.833324463, 15135.517289034)
Lost communication with MCU 'toolboard_t0'
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown
Stats 15147.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=160875 bytes_read=1823230 bytes_retransmit=9 bytes_invalid=0 send_seq=19838 receive_seq=19838 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999781 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=92974 bytes_read=288262 bytes_retransmit=0 bytes_invalid=0 send_seq=15467 receive_seq=15467 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999499 adj=49999685 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310327 bytes_read=2047114 bytes_retransmit=158 bytes_invalid=0 send_seq=31015 receive_seq=31009 retransmit_seq=31013 srtt=0.000 rttvar=0.000 rto=3.200 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999559 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94102 bytes_read=1696650 bytes_retransmit=9 bytes_invalid=0 send_seq=15545 receive_seq=15545 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999871 Octopus_V1.1_F446: temp=30.4 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=48.7 sd_pos=139316 heater_bed: target=50 temp=37.0 pwm=1.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112314 bytes_read=5404702 bytes_retransmit=0 bytes_invalid=0 send_seq=17067 receive_seq=17067 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000002 adj=32000090 coil_temp=25.4 refs=0 mcu_temp=25.06 supply_voltage=3.069 sysload=0.27 cputime=599.499 memavail=346552 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
MCU 'mcu' shutdown: Command request
clocksync state: mcu_freq=180000000 last_clock=2779634032910 clock_est=(15117.668 2774349883450 179999781.988) min_half_rtt=0.000065 min_rtt_time=15107.646 time_avg=15117.668(853.046) clock_avg=2774349883450.203(153548061397.791) pred_variance=91762352.359
Dumping serial stats: bytes_write=160881 bytes_read=1823242 bytes_retransmit=9 bytes_invalid=0 send_seq=19839 receive_seq=19839 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 100 messages
Sent 0 15140.593366 15140.593366 14: seq: 1b, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 1 15140.952526 15140.952526 14: seq: 1c, tmcuart_send oid=6 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 2 15140.957661 15140.957661 14: seq: 1d, tmcuart_send oid=7 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 3 15140.962515 15140.962515 14: seq: 1e, tmcuart_send oid=8 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 4 15140.967455 15140.967455 14: seq: 1f, tmcuart_send oid=6 write=b'\xea\x03( \xc3' read=10
Sent 5 15140.972307 15140.972307 14: seq: 10, tmcuart_send oid=7 write=b'\xea\x03( \xc3' read=10
Sent 6 15140.977144 15140.977144 14: seq: 11, tmcuart_send oid=8 write=b'\xea\x03( \xc3' read=10
Sent 7 15141.116359 15141.116359 6: seq: 12, get_clock
Sent 8 15141.521037 15141.521037 14: seq: 13, tmcuart_send oid=2 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 9 15141.526210 15141.526210 14: seq: 14, tmcuart_send oid=2 write=b'\xea\x03( \xc3' read=10
Sent 10 15141.561927 15141.561927 14: seq: 15, tmcuart_send oid=4 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 11 15141.568099 15141.568099 14: seq: 16, tmcuart_send oid=4 write=b'\xea\x03( \xc3' read=10
Sent 12 15141.578611 15141.578611 14: seq: 17, tmcuart_send oid=5 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 13 15141.584392 15141.584392 14: seq: 18, tmcuart_send oid=3 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 14 15141.590134 15141.590134 14: seq: 19, tmcuart_send oid=5 write=b'\xea\x03( \xc3' read=10
Sent 15 15141.596247 15141.596247 14: seq: 1a, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 16 15141.952835 15141.952835 14: seq: 1b, tmcuart_send oid=6 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 17 15141.958041 15141.958041 14: seq: 1c, tmcuart_send oid=7 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 18 15141.963098 15141.963098 14: seq: 1d, tmcuart_send oid=8 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 19 15141.968157 15141.968157 14: seq: 1e, tmcuart_send oid=6 write=b'\xea\x03( \xc3' read=10
Sent 20 15141.973112 15141.973112 14: seq: 1f, tmcuart_send oid=7 write=b'\xea\x03( \xc3' read=10
Sent 21 15141.977937 15141.977937 14: seq: 10, tmcuart_send oid=8 write=b'\xea\x03( \xc3' read=10
Sent 22 15142.100953 15142.100953 6: seq: 11, get_clock
Sent 23 15142.522073 15142.522073 14: seq: 12, tmcuart_send oid=2 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 24 15142.527289 15142.527289 14: seq: 13, tmcuart_send oid=2 write=b'\xea\x03( \xc3' read=10
Sent 25 15142.562462 15142.562462 14: seq: 14, tmcuart_send oid=4 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 26 15142.567866 15142.567866 14: seq: 15, tmcuart_send oid=4 write=b'\xea\x03( \xc3' read=10
Sent 27 15142.579738 15142.579738 14: seq: 16, tmcuart_send oid=5 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 28 15142.588175 15142.588175 14: seq: 17, tmcuart_send oid=3 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 29 15142.594252 15142.594252 14: seq: 18, tmcuart_send oid=5 write=b'\xea\x03( \xc3' read=10
Sent 30 15142.599582 15142.599582 14: seq: 19, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 31 15142.954081 15142.954081 14: seq: 1a, tmcuart_send oid=6 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 32 15142.959221 15142.959221 14: seq: 1b, tmcuart_send oid=7 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 33 15142.964028 15142.964028 14: seq: 1c, tmcuart_send oid=8 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 34 15142.969114 15142.969114 14: seq: 1d, tmcuart_send oid=6 write=b'\xea\x03( \xc3' read=10
Sent 35 15142.973966 15142.973966 14: seq: 1e, tmcuart_send oid=7 write=b'\xea\x03( \xc3' read=10
Sent 36 15142.978914 15142.978914 14: seq: 1f, tmcuart_send oid=8 write=b'\xea\x03( \xc3' read=10
Sent 37 15143.085850 15143.085850 6: seq: 10, get_clock
Sent 38 15143.523163 15143.523163 14: seq: 11, tmcuart_send oid=2 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 39 15143.528041 15143.528041 14: seq: 12, tmcuart_send oid=2 write=b'\xea\x03( \xc3' read=10
Sent 40 15143.562677 15143.562677 14: seq: 13, tmcuart_send oid=4 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 41 15143.568259 15143.568259 14: seq: 14, tmcuart_send oid=4 write=b'\xea\x03( \xc3' read=10
Sent 42 15143.582803 15143.582803 14: seq: 15, tmcuart_send oid=5 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 43 15143.588209 15143.588209 14: seq: 16, tmcuart_send oid=3 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 44 15143.593467 15143.593467 14: seq: 17, tmcuart_send oid=5 write=b'\xea\x03( \xc3' read=10
Sent 45 15143.598888 15143.598888 14: seq: 18, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 46 15143.954562 15143.954562 14: seq: 19, tmcuart_send oid=6 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 47 15143.959587 15143.959587 14: seq: 1a, tmcuart_send oid=7 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 48 15143.964697 15143.964697 14: seq: 1b, tmcuart_send oid=8 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 49 15143.969651 15143.969651 14: seq: 1c, tmcuart_send oid=6 write=b'\xea\x03( \xc3' read=10
Sent 50 15143.974690 15143.974690 14: seq: 1d, tmcuart_send oid=7 write=b'\xea\x03( \xc3' read=10
Sent 51 15143.979822 15143.979822 14: seq: 1e, tmcuart_send oid=8 write=b'\xea\x03( \xc3' read=10
Sent 52 15144.070239 15144.070239 6: seq: 1f, get_clock
Sent 53 15144.223050 15144.223050 16: seq: 10, queue_digital_out oid=26 clock=330599487 on_ticks=3600000
Sent 54 15144.524216 15144.524216 14: seq: 11, tmcuart_send oid=2 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 55 15144.529266 15144.529266 14: seq: 12, tmcuart_send oid=2 write=b'\xea\x03( \xc3' read=10
Sent 56 15144.563230 15144.563230 14: seq: 13, tmcuart_send oid=4 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 57 15144.568542 15144.568542 14: seq: 14, tmcuart_send oid=4 write=b'\xea\x03( \xc3' read=10
Sent 58 15144.584967 15144.584967 14: seq: 15, tmcuart_send oid=5 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 59 15144.590411 15144.590411 14: seq: 16, tmcuart_send oid=3 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 60 15144.596317 15144.596317 14: seq: 17, tmcuart_send oid=5 write=b'\xea\x03( \xc3' read=10
Sent 61 15144.601744 15144.601744 14: seq: 18, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 62 15144.955460 15144.955460 14: seq: 19, tmcuart_send oid=6 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 63 15144.960274 15144.960274 14: seq: 1a, tmcuart_send oid=7 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 64 15144.965050 15144.965050 14: seq: 1b, tmcuart_send oid=8 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 65 15144.969817 15144.969817 14: seq: 1c, tmcuart_send oid=6 write=b'\xea\x03( \xc3' read=10
Sent 66 15144.974564 15144.974564 14: seq: 1d, tmcuart_send oid=7 write=b'\xea\x03( \xc3' read=10
Sent 67 15144.979454 15144.979454 14: seq: 1e, tmcuart_send oid=8 write=b'\xea\x03( \xc3' read=10
Sent 68 15145.054922 15145.054922 6: seq: 1f, get_clock
Sent 69 15145.524577 15145.524577 14: seq: 10, tmcuart_send oid=2 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 70 15145.529620 15145.529620 14: seq: 11, tmcuart_send oid=2 write=b'\xea\x03( \xc3' read=10
Sent 71 15145.563589 15145.563589 14: seq: 12, tmcuart_send oid=4 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 72 15145.568898 15145.568898 14: seq: 13, tmcuart_send oid=4 write=b'\xea\x03( \xc3' read=10
Sent 73 15145.587210 15145.587210 14: seq: 14, tmcuart_send oid=5 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 74 15145.596210 15145.596210 14: seq: 15, tmcuart_send oid=3 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 75 15145.601894 15145.601894 14: seq: 16, tmcuart_send oid=5 write=b'\xea\x03( \xc3' read=10
Sent 76 15145.607574 15145.607574 14: seq: 17, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 77 15145.955807 15145.955807 14: seq: 18, tmcuart_send oid=6 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 78 15145.961254 15145.961254 14: seq: 19, tmcuart_send oid=7 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 79 15145.966059 15145.966059 14: seq: 1a, tmcuart_send oid=8 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 80 15145.971274 15145.971274 14: seq: 1b, tmcuart_send oid=6 write=b'\xea\x03( \xc3' read=10
Sent 81 15145.976087 15145.976087 14: seq: 1c, tmcuart_send oid=7 write=b'\xea\x03( \xc3' read=10
Sent 82 15145.980887 15145.980887 14: seq: 1d, tmcuart_send oid=8 write=b'\xea\x03( \xc3' read=10
Sent 83 15146.039745 15146.039745 6: seq: 1e, get_clock
Sent 84 15146.525084 15146.525084 14: seq: 1f, tmcuart_send oid=2 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 85 15146.530175 15146.530175 14: seq: 10, tmcuart_send oid=2 write=b'\xea\x03( \xc3' read=10
Sent 86 15146.564597 15146.564597 14: seq: 11, tmcuart_send oid=4 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 87 15146.569948 15146.569948 14: seq: 12, tmcuart_send oid=4 write=b'\xea\x03( \xc3' read=10
Sent 88 15146.589177 15146.589177 14: seq: 13, tmcuart_send oid=5 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 89 15146.594796 15146.594796 14: seq: 14, tmcuart_send oid=3 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 90 15146.600523 15146.600523 14: seq: 15, tmcuart_send oid=5 write=b'\xea\x03( \xc3' read=10
Sent 91 15146.605995 15146.605995 14: seq: 16, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 92 15146.956191 15146.956191 14: seq: 17, tmcuart_send oid=6 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 93 15146.961488 15146.961488 14: seq: 18, tmcuart_send oid=7 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 94 15146.966397 15146.966397 14: seq: 19, tmcuart_send oid=8 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 95 15146.971551 15146.971551 14: seq: 1a, tmcuart_send oid=6 write=b'\xea\x03( \xc3' read=10
Sent 96 15146.976532 15146.976532 14: seq: 1b, tmcuart_send oid=7 write=b'\xea\x03( \xc3' read=10
Sent 97 15146.981482 15146.981482 14: seq: 1c, tmcuart_send oid=8 write=b'\xea\x03( \xc3' read=10
Sent 98 15147.024497 15147.024497 6: seq: 1d, get_clock
Sent 99 15147.345389 15147.345389 6: seq: 1e, emergency_stop
Dumping receive queue 100 messages
Receive: 0 15142.670607 15142.599582 14: seq: 1a, analog_in_state oid=25 next_clock=59159488 value=30617
Receive: 1 15142.958291 15142.954081 18: seq: 1b, tmcuart_response oid=6 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 2 15142.960758 15142.959221 13: seq: 1c, analog_in_state oid=24 next_clock=111359488 value=7576
Receive: 3 15142.963239 15142.959221 18: seq: 1c, tmcuart_response oid=7 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 4 15142.968220 15142.964028 18: seq: 1d, tmcuart_response oid=8 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 5 15142.970736 15142.969114 14: seq: 1e, analog_in_state oid=25 next_clock=113159488 value=30599
Receive: 6 15142.973139 15142.969114 18: seq: 1e, tmcuart_response oid=6 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 7 15142.978055 15142.973966 18: seq: 1f, tmcuart_response oid=7 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 8 15142.982930 15142.978914 18: seq: 10, tmcuart_response oid=8 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 9 15143.086276 15143.085850 10: seq: 11, clock clock=81239545
Receive: 10 15143.260631 15143.085850 13: seq: 11, analog_in_state oid=24 next_clock=165359488 value=7581
Receive: 11 15143.270726 15143.085850 14: seq: 11, analog_in_state oid=25 next_clock=167159488 value=30590
Receive: 12 15143.527206 15143.523163 18: seq: 12, tmcuart_response oid=2 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 13 15143.532047 15143.528041 18: seq: 13, tmcuart_response oid=2 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 14 15143.560679 15143.528041 14: seq: 13, analog_in_state oid=24 next_clock=219359488 value=7578
Receive: 15 15143.567196 15143.562677 18: seq: 14, tmcuart_response oid=4 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 16 15143.570618 15143.568259 15: seq: 15, analog_in_state oid=25 next_clock=221159488 value=30571
Receive: 17 15143.572426 15143.568259 18: seq: 15, tmcuart_response oid=4 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 18 15143.587176 15143.582803 18: seq: 16, tmcuart_response oid=5 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 19 15143.592264 15143.588209 18: seq: 17, tmcuart_response oid=3 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 20 15143.597594 15143.593467 18: seq: 18, tmcuart_response oid=5 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 21 15143.603240 15143.598888 18: seq: 19, tmcuart_response oid=3 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 22 15143.860677 15143.598888 14: seq: 19, analog_in_state oid=24 next_clock=273359488 value=7579
Receive: 23 15143.870595 15143.598888 15: seq: 19, analog_in_state oid=25 next_clock=275159488 value=30563
Receive: 24 15143.954939 15143.954562 15: seq: 1a, stats count=409 sum=497333 sumsq=3278883
Receive: 25 15143.958692 15143.954562 18: seq: 1a, tmcuart_response oid=6 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 26 15143.963801 15143.959587 18: seq: 1b, tmcuart_response oid=7 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 27 15143.968791 15143.964697 18: seq: 1c, tmcuart_response oid=8 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 28 15143.973771 15143.969651 18: seq: 1d, tmcuart_response oid=6 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 29 15143.978928 15143.974690 18: seq: 1e, tmcuart_response oid=7 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 30 15143.984188 15143.979822 18: seq: 1f, tmcuart_response oid=8 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 31 15144.070584 15144.070239 11: seq: 10, clock clock=258425819
Receive: 32 15144.160626 15144.070239 14: seq: 10, analog_in_state oid=24 next_clock=327359488 value=7579
Receive: 33 15144.170599 15144.070239 15: seq: 10, analog_in_state oid=25 next_clock=329159488 value=30550
Receive: 34 15144.460634 15144.223050 14: seq: 11, analog_in_state oid=24 next_clock=381359488 value=7577
Receive: 35 15144.470599 15144.223050 15: seq: 11, analog_in_state oid=25 next_clock=383159488 value=30539
Receive: 36 15144.528287 15144.524216 18: seq: 12, tmcuart_response oid=2 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 37 15144.533319 15144.529266 18: seq: 13, tmcuart_response oid=2 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 38 15144.567346 15144.563230 18: seq: 14, tmcuart_response oid=4 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 39 15144.572618 15144.568542 18: seq: 15, tmcuart_response oid=4 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 40 15144.589080 15144.584967 18: seq: 16, tmcuart_response oid=5 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 41 15144.594640 15144.590411 18: seq: 17, tmcuart_response oid=3 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 42 15144.600431 15144.596317 18: seq: 18, tmcuart_response oid=5 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 43 15144.606000 15144.601744 18: seq: 19, tmcuart_response oid=3 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 44 15144.760657 15144.601744 14: seq: 19, analog_in_state oid=24 next_clock=435359488 value=7577
Receive: 45 15144.770717 15144.601744 15: seq: 19, analog_in_state oid=25 next_clock=437159488 value=30526
Receive: 46 15144.959513 15144.955460 18: seq: 1a, tmcuart_response oid=6 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 47 15144.964325 15144.960274 18: seq: 1b, tmcuart_response oid=7 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 48 15144.969029 15144.965050 18: seq: 1c, tmcuart_response oid=8 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 49 15144.973817 15144.969817 18: seq: 1d, tmcuart_response oid=6 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 50 15144.978712 15144.974564 18: seq: 1e, tmcuart_response oid=7 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 51 15144.983519 15144.979454 18: seq: 1f, tmcuart_response oid=8 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 52 15145.055375 15145.054922 11: seq: 10, clock clock=435668942
Receive: 53 15145.060615 15145.054922 14: seq: 10, analog_in_state oid=24 next_clock=489359488 value=7576
Receive: 54 15145.070740 15145.054922 15: seq: 10, analog_in_state oid=25 next_clock=491159488 value=30511
Receive: 55 15145.360714 15145.054922 14: seq: 10, analog_in_state oid=24 next_clock=543359488 value=7580
Receive: 56 15145.370865 15145.054922 15: seq: 10, analog_in_state oid=25 next_clock=545159488 value=30498
Receive: 57 15145.528621 15145.524577 18: seq: 11, tmcuart_response oid=2 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 58 15145.533671 15145.529620 18: seq: 12, tmcuart_response oid=2 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 59 15145.567680 15145.563589 18: seq: 13, tmcuart_response oid=4 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 60 15145.572997 15145.568898 18: seq: 14, tmcuart_response oid=4 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 61 15145.594781 15145.587210 18: seq: 15, tmcuart_response oid=5 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 62 15145.600282 15145.596210 18: seq: 16, tmcuart_response oid=3 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 63 15145.605969 15145.601894 18: seq: 17, tmcuart_response oid=5 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 64 15145.612302 15145.607574 18: seq: 18, tmcuart_response oid=3 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 65 15145.660654 15145.607574 14: seq: 18, analog_in_state oid=24 next_clock=597359488 value=7579
Receive: 66 15145.670633 15145.607574 15: seq: 18, analog_in_state oid=25 next_clock=599159488 value=30482
Receive: 67 15145.959820 15145.955807 18: seq: 19, tmcuart_response oid=6 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 68 15145.960686 15145.955807 14: seq: 19, analog_in_state oid=24 next_clock=651359488 value=7578
Receive: 69 15145.965271 15145.961254 18: seq: 1a, tmcuart_response oid=7 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 70 15145.970064 15145.966059 18: seq: 1b, tmcuart_response oid=8 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 71 15145.970656 15145.966059 15: seq: 1b, analog_in_state oid=25 next_clock=653159488 value=30466
Receive: 72 15145.975314 15145.971274 18: seq: 1c, tmcuart_response oid=6 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 73 15145.980103 15145.976087 18: seq: 1d, tmcuart_response oid=7 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 74 15145.984899 15145.980887 18: seq: 1e, tmcuart_response oid=8 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 75 15146.040071 15146.039745 11: seq: 1f, clock clock=612940210
Receive: 76 15146.260639 15146.039745 14: seq: 1f, analog_in_state oid=24 next_clock=705359488 value=7581
Receive: 77 15146.270619 15146.039745 15: seq: 1f, analog_in_state oid=25 next_clock=707159488 value=30459
Receive: 78 15146.529155 15146.525084 18: seq: 10, tmcuart_response oid=2 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 79 15146.534185 15146.530175 18: seq: 11, tmcuart_response oid=2 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 80 15146.560742 15146.530175 14: seq: 11, analog_in_state oid=24 next_clock=759359488 value=7578
Receive: 81 15146.568718 15146.564597 18: seq: 12, tmcuart_response oid=4 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 82 15146.570724 15146.569948 15: seq: 13, analog_in_state oid=25 next_clock=761159488 value=30444
Receive: 83 15146.574050 15146.569948 18: seq: 13, tmcuart_response oid=4 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 84 15146.593336 15146.589177 18: seq: 14, tmcuart_response oid=5 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 85 15146.599070 15146.594796 18: seq: 15, tmcuart_response oid=3 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 86 15146.604652 15146.600523 18: seq: 16, tmcuart_response oid=5 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 87 15146.610104 15146.605995 18: seq: 17, tmcuart_response oid=3 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 88 15146.860709 15146.605995 14: seq: 17, analog_in_state oid=24 next_clock=813359488 value=7578
Receive: 89 15146.871003 15146.605995 15: seq: 17, analog_in_state oid=25 next_clock=815159488 value=30427
Receive: 90 15146.960289 15146.956191 18: seq: 18, tmcuart_response oid=6 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 91 15146.965512 15146.961488 18: seq: 19, tmcuart_response oid=7 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 92 15146.970491 15146.966397 18: seq: 1a, tmcuart_response oid=8 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 93 15146.975643 15146.971551 18: seq: 1b, tmcuart_response oid=6 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 94 15146.980568 15146.976532 18: seq: 1c, tmcuart_response oid=7 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 95 15146.985531 15146.981482 18: seq: 1d, tmcuart_response oid=8 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 96 15147.024800 15147.024497 11: seq: 1e, clock clock=790192398
Receive: 97 15147.160627 15147.024497 14: seq: 1e, analog_in_state oid=24 next_clock=867359488 value=7577
Receive: 98 15147.170616 15147.024497 15: seq: 1e, analog_in_state oid=25 next_clock=869159488 value=30416
Receive: 99 15147.345908 15147.345389 12: seq: 1f, shutdown clock=847967973 static_string_id=Command request
MCU 'beacon' shutdown: Emergency stop
clocksync state: mcu_freq=32000000 last_clock=484952204836 clock_est=(15118.235 484030907632 32000002.022) min_half_rtt=0.000181 min_rtt_time=15095.824 time_avg=15118.235(863.194) clock_avg=484030907632.291(27622212205.905) pred_variance=3157977.686 clock_adj=(287.699 32000090.250)
Dumping serial stats: bytes_write=112327 bytes_read=5404750 bytes_retransmit=0 bytes_invalid=0 send_seq=17069 receive_seq=17069 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 100 messages
Sent 0 15112.969557 15112.969557 12: seq: 19, trsync_set_timeout oid=0 clock=2826867194
Sent 1 15112.977045 15112.977045 12: seq: 1a, trsync_set_timeout oid=0 clock=2827107194
Sent 2 15112.984542 15112.984542 12: seq: 1b, trsync_set_timeout oid=0 clock=2827347194
Sent 3 15112.992049 15112.992049 12: seq: 1c, trsync_set_timeout oid=0 clock=2827587196
Sent 4 15112.999582 15112.999582 12: seq: 1d, trsync_set_timeout oid=0 clock=2827827194
Sent 5 15113.007053 15113.007053 12: seq: 1e, trsync_set_timeout oid=0 clock=2828067196
Sent 6 15113.014525 15113.014525 12: seq: 1f, trsync_set_timeout oid=0 clock=2828307193
Sent 7 15113.022049 15113.022049 12: seq: 10, trsync_set_timeout oid=0 clock=2828547195
Sent 8 15113.029495 15113.029495 12: seq: 11, trsync_set_timeout oid=0 clock=2828787195
Sent 9 15113.037057 15113.037057 12: seq: 12, trsync_set_timeout oid=0 clock=2829027195
Sent 10 15113.044509 15113.044509 12: seq: 13, trsync_set_timeout oid=0 clock=2829267195
Sent 11 15113.052057 15113.052057 12: seq: 14, trsync_set_timeout oid=0 clock=2829507196
Sent 12 15113.059515 15113.059515 12: seq: 15, trsync_set_timeout oid=0 clock=2829747196
Sent 13 15113.067049 15113.067049 12: seq: 16, trsync_set_timeout oid=0 clock=2829987196
Sent 14 15113.074500 15113.074500 12: seq: 17, trsync_set_timeout oid=0 clock=2830227196
Sent 15 15113.082085 15113.082085 12: seq: 18, trsync_set_timeout oid=0 clock=2830467198
Sent 16 15113.089592 15113.089592 12: seq: 19, trsync_set_timeout oid=0 clock=2830707195
Sent 17 15113.097040 15113.097040 12: seq: 1a, trsync_set_timeout oid=0 clock=2830947197
Sent 18 15113.104550 15113.104550 12: seq: 1b, trsync_set_timeout oid=0 clock=2831187197
Sent 19 15113.112063 15113.112063 12: seq: 1c, trsync_set_timeout oid=0 clock=2831427199
Sent 20 15113.119499 15113.119499 12: seq: 1d, trsync_set_timeout oid=0 clock=2831667197
Sent 21 15113.127054 15113.127054 12: seq: 1e, trsync_set_timeout oid=0 clock=2831907197
Sent 22 15113.134494 15113.134494 12: seq: 1f, trsync_set_timeout oid=0 clock=2832147198
Sent 23 15113.142101 15113.142101 12: seq: 10, trsync_set_timeout oid=0 clock=2832387198
Sent 24 15113.149551 15113.149551 12: seq: 11, trsync_set_timeout oid=0 clock=2832627198
Sent 25 15113.157083 15113.157083 12: seq: 12, trsync_set_timeout oid=0 clock=2832867198
Sent 26 15113.164535 15113.164535 12: seq: 13, trsync_set_timeout oid=0 clock=2833107198
Sent 27 15113.172063 15113.172063 12: seq: 14, trsync_set_timeout oid=0 clock=2833347198
Sent 28 15113.179528 15113.179528 12: seq: 15, trsync_set_timeout oid=0 clock=2833587200
Sent 29 15113.187182 15113.187182 12: seq: 16, trsync_set_timeout oid=0 clock=2833827199
Sent 30 15113.194544 15113.194544 12: seq: 17, trsync_set_timeout oid=0 clock=2834067199
Sent 31 15113.202173 15113.202173 12: seq: 18, trsync_set_timeout oid=0 clock=2834307200
Sent 32 15113.209623 15113.209623 12: seq: 19, trsync_set_timeout oid=0 clock=2834547201
Sent 33 15113.217092 15113.217092 12: seq: 1a, trsync_set_timeout oid=0 clock=2834787200
Sent 34 15113.224528 15113.224528 12: seq: 1b, trsync_set_timeout oid=0 clock=2835027200
Sent 35 15113.232083 15113.232083 12: seq: 1c, trsync_set_timeout oid=0 clock=2835267200
Sent 36 15113.239508 15113.239508 12: seq: 1d, trsync_set_timeout oid=0 clock=2835507200
Sent 37 15113.247183 15113.247183 12: seq: 1e, trsync_set_timeout oid=0 clock=2835747202
Sent 38 15113.254522 15113.254522 12: seq: 1f, trsync_set_timeout oid=0 clock=2835987200
Sent 39 15113.262150 15113.262150 12: seq: 10, trsync_set_timeout oid=0 clock=2836227203
Sent 40 15113.269527 15113.269527 12: seq: 11, trsync_set_timeout oid=0 clock=2836467203
Sent 41 15113.277071 15113.277071 12: seq: 12, trsync_set_timeout oid=0 clock=2836707201
Sent 42 15113.284536 15113.284536 12: seq: 13, trsync_set_timeout oid=0 clock=2836947201
Sent 43 15113.292009 15113.292009 12: seq: 14, trsync_set_timeout oid=0 clock=2837187201
Sent 44 15113.299527 15113.299527 12: seq: 15, trsync_set_timeout oid=0 clock=2837427202
Sent 45 15113.307154 15113.307154 12: seq: 16, trsync_set_timeout oid=0 clock=2837667204
Sent 46 15113.314536 15113.314536 12: seq: 17, trsync_set_timeout oid=0 clock=2837907200
Sent 47 15113.322183 15113.322183 12: seq: 18, trsync_set_timeout oid=0 clock=2838147202
Sent 48 15113.329507 15113.329507 12: seq: 19, trsync_set_timeout oid=0 clock=2838387202
Sent 49 15113.337010 15113.337010 12: seq: 1a, trsync_set_timeout oid=0 clock=2838627203
Sent 50 15113.344499 15113.344499 12: seq: 1b, trsync_set_timeout oid=0 clock=2838867203
Sent 51 15113.350176 15113.350176 8: seq: 1c, trsync_trigger oid=0 reason=2
Sent 52 15113.350929 15113.350929 8: seq: 1d, trsync_trigger oid=0 reason=2
Sent 53 15113.366642 15113.366642 6: seq: 1e, beacon_stop_home
Sent 54 15113.372169 15113.372169 14: seq: 1f, beacon_set_threshold trigger=44126879 untrigger=43862118
Sent 55 15113.372211 15113.372211 7: seq: 10, beacon_stream en=1
Sent 56 15113.395693 15113.395693 7: seq: 11, beacon_stream en=0
Sent 57 15113.396034 15113.396034 27: seq: 12, beacon_home trsync_oid=0 trigger_reason=1 trigger_invert=0, trsync_start oid=0 report_clock=2869526449 report_ticks=240000 expire_reason=4, trsync_set_timeout oid=0 clock=2870326449
Sent 58 15113.397123 15113.397123 8: seq: 13, trsync_trigger oid=0 reason=2
Sent 59 15113.397702 15113.397702 8: seq: 14, trsync_trigger oid=0 reason=2
Sent 60 15113.494632 15113.494632 6: seq: 15, beacon_stop_home
Sent 61 15113.495433 15113.495433 7: seq: 16, beacon_stream en=1
Sent 62 15113.551878 15113.551878 6: seq: 17, get_clock
Sent 63 15114.418681 15114.418681 7: seq: 18, beacon_stream en=0
Sent 64 15114.536903 15114.536903 6: seq: 19, get_clock
Sent 65 15115.520804 15115.520804 6: seq: 1a, get_clock
Sent 66 15116.504908 15116.504908 6: seq: 1b, get_clock
Sent 67 15117.488763 15117.488763 6: seq: 1c, get_clock
Sent 68 15118.474712 15118.474712 6: seq: 1d, get_clock
Sent 69 15119.458463 15119.458463 6: seq: 1e, get_clock
Sent 70 15120.443115 15120.443115 6: seq: 1f, get_clock
Sent 71 15121.428122 15121.428122 6: seq: 10, get_clock
Sent 72 15122.412014 15122.412014 6: seq: 11, get_clock
Sent 73 15123.396387 15123.396387 6: seq: 12, get_clock
Sent 74 15124.381380 15124.381380 6: seq: 13, get_clock
Sent 75 15125.364122 15125.364122 6: seq: 14, get_clock
Sent 76 15126.348243 15126.348243 6: seq: 15, get_clock
Sent 77 15127.332323 15127.332323 6: seq: 16, get_clock
Sent 78 15128.317487 15128.317487 6: seq: 17, get_clock
Sent 79 15129.302223 15129.302223 6: seq: 18, get_clock
Sent 80 15130.287551 15130.287551 6: seq: 19, get_clock
Sent 81 15131.272521 15131.272521 6: seq: 1a, get_clock
Sent 82 15132.255955 15132.255955 6: seq: 1b, get_clock
Sent 83 15133.240871 15133.240871 6: seq: 1c, get_clock
Sent 84 15134.224869 15134.224869 6: seq: 1d, get_clock
Sent 85 15135.209233 15135.209233 6: seq: 1e, get_clock
Sent 86 15136.193590 15136.193590 6: seq: 1f, get_clock
Sent 87 15137.179169 15137.179169 6: seq: 10, get_clock
Sent 88 15138.163795 15138.163795 6: seq: 11, get_clock
Sent 89 15139.148972 15139.148972 6: seq: 12, get_clock
Sent 90 15140.133234 15140.133234 6: seq: 13, get_clock
Sent 91 15141.116530 15141.116530 6: seq: 14, get_clock
Sent 92 15142.103264 15142.103264 6: seq: 15, get_clock
Sent 93 15143.086169 15143.086169 6: seq: 16, get_clock
Sent 94 15144.070957 15144.070957 6: seq: 17, get_clock
Sent 95 15145.055457 15145.055457 6: seq: 18, get_clock
Sent 96 15146.040811 15146.040811 6: seq: 19, get_clock
Sent 97 15147.025585 15147.025585 6: seq: 1a, get_clock
Sent 98 15147.358155 15147.358155 6: seq: 1b, emergency_stop
Sent 99 15147.359010 15147.359010 7: seq: 1c, beacon_stream en=0
Dumping receive queue 100 messages
Receive: 0 15142.692933 15142.103264 16: seq: 16, beacon_status mcu_temp=44820 supply_voltage=50128 coil_temp=54046 status=1
Receive: 1 15142.751310 15142.103264 18: seq: 16, beacon_data samples=1 start_clock=3779042494 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 2 15142.793067 15142.103264 16: seq: 16, beacon_status mcu_temp=44820 supply_voltage=50128 coil_temp=54041 status=1
Receive: 3 15142.851424 15142.103264 18: seq: 16, beacon_data samples=1 start_clock=3782243277 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 4 15142.893446 15142.103264 16: seq: 16, beacon_status mcu_temp=44823 supply_voltage=50128 coil_temp=54041 status=1
Receive: 5 15142.951408 15142.103264 18: seq: 16, beacon_data samples=1 start_clock=3785444047 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 6 15142.993774 15142.103264 16: seq: 16, beacon_status mcu_temp=44823 supply_voltage=50128 coil_temp=54036 status=1
Receive: 7 15143.051400 15142.103264 18: seq: 16, beacon_data samples=1 start_clock=3788644828 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 8 15143.086903 15143.086169 11: seq: 17, clock clock=3789812901
Receive: 9 15143.093619 15143.086169 16: seq: 17, beacon_status mcu_temp=44823 supply_voltage=50128 coil_temp=54028 status=1
Receive: 10 15143.151499 15143.086169 18: seq: 17, beacon_data samples=1 start_clock=3791845600 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 11 15143.193830 15143.086169 16: seq: 17, beacon_status mcu_temp=44823 supply_voltage=50128 coil_temp=54022 status=1
Receive: 12 15143.251411 15143.086169 18: seq: 17, beacon_data samples=1 start_clock=3795046368 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 13 15143.293949 15143.086169 16: seq: 17, beacon_status mcu_temp=44826 supply_voltage=50128 coil_temp=54019 status=1
Receive: 14 15143.351528 15143.086169 18: seq: 17, beacon_data samples=1 start_clock=3798247154 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 15 15143.394207 15143.086169 16: seq: 17, beacon_status mcu_temp=44826 supply_voltage=50128 coil_temp=54019 status=1
Receive: 16 15143.451468 15143.086169 18: seq: 17, beacon_data samples=1 start_clock=3801447940 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 17 15143.494448 15143.086169 16: seq: 17, beacon_status mcu_temp=44826 supply_voltage=50128 coil_temp=54010 status=1
Receive: 18 15143.551489 15143.086169 18: seq: 17, beacon_data samples=1 start_clock=3804648719 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 19 15143.594634 15143.086169 16: seq: 17, beacon_status mcu_temp=44826 supply_voltage=50128 coil_temp=54001 status=1
Receive: 20 15143.651540 15143.086169 18: seq: 17, beacon_data samples=1 start_clock=3807849497 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 21 15143.694736 15143.086169 16: seq: 17, beacon_status mcu_temp=44826 supply_voltage=50128 coil_temp=53996 status=1
Receive: 22 15143.751821 15143.086169 18: seq: 17, beacon_data samples=1 start_clock=3811050273 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 23 15143.794938 15143.086169 16: seq: 17, beacon_status mcu_temp=44828 supply_voltage=50128 coil_temp=53996 status=1
Receive: 24 15143.851617 15143.086169 18: seq: 17, beacon_data samples=1 start_clock=3814251056 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 25 15143.895141 15143.086169 16: seq: 17, beacon_status mcu_temp=44828 supply_voltage=50128 coil_temp=53994 status=1
Receive: 26 15143.951806 15143.086169 18: seq: 17, beacon_data samples=1 start_clock=3817451840 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 27 15143.995405 15143.086169 16: seq: 17, beacon_status mcu_temp=44828 supply_voltage=50128 coil_temp=53987 status=1
Receive: 28 15144.051610 15143.086169 18: seq: 17, beacon_data samples=1 start_clock=3820652628 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 29 15144.071513 15144.070957 11: seq: 18, clock clock=3821320263
Receive: 30 15144.095595 15144.070957 16: seq: 18, beacon_status mcu_temp=44828 supply_voltage=50128 coil_temp=53983 status=1
Receive: 31 15144.151665 15144.070957 18: seq: 18, beacon_data samples=1 start_clock=3823853401 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 32 15144.195766 15144.070957 16: seq: 18, beacon_status mcu_temp=44828 supply_voltage=50128 coil_temp=53979 status=1
Receive: 33 15144.251678 15144.070957 18: seq: 18, beacon_data samples=1 start_clock=3827054190 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 34 15144.295917 15144.070957 16: seq: 18, beacon_status mcu_temp=44832 supply_voltage=50128 coil_temp=53979 status=1
Receive: 35 15144.351800 15144.070957 18: seq: 18, beacon_data samples=1 start_clock=3830254962 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 36 15144.396130 15144.070957 16: seq: 18, beacon_status mcu_temp=44832 supply_voltage=50128 coil_temp=53976 status=1
Receive: 37 15144.451761 15144.070957 18: seq: 18, beacon_data samples=1 start_clock=3833455737 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 38 15144.496239 15144.070957 16: seq: 18, beacon_status mcu_temp=44832 supply_voltage=50128 coil_temp=53970 status=1
Receive: 39 15144.551794 15144.070957 18: seq: 18, beacon_data samples=1 start_clock=3836656518 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 40 15144.596560 15144.070957 16: seq: 18, beacon_status mcu_temp=44832 supply_voltage=50128 coil_temp=53966 status=1
Receive: 41 15144.651792 15144.070957 18: seq: 18, beacon_data samples=1 start_clock=3839857304 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 42 15144.696652 15144.070957 16: seq: 18, beacon_status mcu_temp=44835 supply_voltage=50128 coil_temp=53964 status=1
Receive: 43 15144.751827 15144.070957 18: seq: 18, beacon_data samples=1 start_clock=3843058083 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 44 15144.796926 15144.070957 16: seq: 18, beacon_status mcu_temp=44835 supply_voltage=50128 coil_temp=53964 status=1
Receive: 45 15144.851914 15144.070957 18: seq: 18, beacon_data samples=1 start_clock=3846258866 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 46 15144.897149 15144.070957 16: seq: 18, beacon_status mcu_temp=44835 supply_voltage=50128 coil_temp=53956 status=1
Receive: 47 15144.951842 15144.070957 18: seq: 18, beacon_data samples=1 start_clock=3849459645 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 48 15144.997204 15144.070957 16: seq: 18, beacon_status mcu_temp=44835 supply_voltage=50128 coil_temp=53949 status=1
Receive: 49 15145.052031 15144.070957 18: seq: 18, beacon_data samples=1 start_clock=3852660420 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 50 15145.056172 15145.055457 11: seq: 19, clock clock=3852823972
Receive: 51 15145.097611 15145.055457 16: seq: 19, beacon_status mcu_temp=44835 supply_voltage=50128 coil_temp=53943 status=1
Receive: 52 15145.151907 15145.055457 18: seq: 19, beacon_data samples=1 start_clock=3855861197 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 53 15145.197618 15145.055457 16: seq: 19, beacon_status mcu_temp=44838 supply_voltage=50128 coil_temp=53943 status=1
Receive: 54 15145.251998 15145.055457 18: seq: 19, beacon_data samples=1 start_clock=3859061970 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 55 15145.297847 15145.055457 16: seq: 19, beacon_status mcu_temp=44838 supply_voltage=50128 coil_temp=53939 status=1
Receive: 56 15145.352124 15145.055457 18: seq: 19, beacon_data samples=1 start_clock=3862262746 delta_clock=0 data=b'\x82\xa1\x12\xaf'
Receive: 57 15145.398063 15145.055457 16: seq: 19, beacon_status mcu_temp=44838 supply_voltage=50128 coil_temp=53929 status=1
Receive: 58 15145.452022 15145.055457 18: seq: 19, beacon_data samples=1 start_clock=3865463529 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 59 15145.498177 15145.055457 16: seq: 19, beacon_status mcu_temp=44838 supply_voltage=50128 coil_temp=53923 status=1
Receive: 60 15145.552129 15145.055457 18: seq: 19, beacon_data samples=1 start_clock=3868664301 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 61 15145.598472 15145.055457 16: seq: 19, beacon_status mcu_temp=44838 supply_voltage=50128 coil_temp=53917 status=1
Receive: 62 15145.652093 15145.055457 18: seq: 19, beacon_data samples=1 start_clock=3871865084 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 63 15145.698598 15145.055457 16: seq: 19, beacon_status mcu_temp=44841 supply_voltage=50128 coil_temp=53917 status=1
Receive: 64 15145.752122 15145.055457 18: seq: 19, beacon_data samples=1 start_clock=3875065862 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 65 15145.798932 15145.055457 16: seq: 19, beacon_status mcu_temp=44841 supply_voltage=50128 coil_temp=53911 status=1
Receive: 66 15145.852226 15145.055457 18: seq: 19, beacon_data samples=1 start_clock=3878266643 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 67 15145.898990 15145.055457 16: seq: 19, beacon_status mcu_temp=44841 supply_voltage=50128 coil_temp=53901 status=1
Receive: 68 15145.952115 15145.055457 18: seq: 19, beacon_data samples=1 start_clock=3881467432 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 69 15145.999172 15145.055457 16: seq: 19, beacon_status mcu_temp=44841 supply_voltage=50128 coil_temp=53896 status=1
Receive: 70 15146.041392 15146.040811 11: seq: 1a, clock clock=3884353892
Receive: 71 15146.052202 15146.040811 18: seq: 1a, beacon_data samples=1 start_clock=3884668210 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 72 15146.099445 15146.040811 16: seq: 1a, beacon_status mcu_temp=44844 supply_voltage=50128 coil_temp=53893 status=1
Receive: 73 15146.152169 15146.040811 18: seq: 1a, beacon_data samples=1 start_clock=3887868996 delta_clock=0 data=b'\x82\xa1\x12\xaf'
Receive: 74 15146.199534 15146.040811 16: seq: 1a, beacon_status mcu_temp=44844 supply_voltage=50128 coil_temp=53891 status=1
Receive: 75 15146.252186 15146.040811 18: seq: 1a, beacon_data samples=1 start_clock=3891069770 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 76 15146.299743 15146.040811 16: seq: 1a, beacon_status mcu_temp=44844 supply_voltage=50128 coil_temp=53885 status=1
Receive: 77 15146.352300 15146.040811 18: seq: 1a, beacon_data samples=1 start_clock=3894270554 delta_clock=0 data=b'\x82\xa1\x12\xaf'
Receive: 78 15146.399952 15146.040811 16: seq: 1a, beacon_status mcu_temp=44844 supply_voltage=50128 coil_temp=53876 status=1
Receive: 79 15146.452190 15146.040811 18: seq: 1a, beacon_data samples=1 start_clock=3897471331 delta_clock=0 data=b'\x82\xa1\x12\xaf'
Receive: 80 15146.500186 15146.040811 16: seq: 1a, beacon_status mcu_temp=44844 supply_voltage=50128 coil_temp=53870 status=1
Receive: 81 15146.552285 15146.040811 18: seq: 1a, beacon_data samples=1 start_clock=3900672108 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 82 15146.600380 15146.040811 16: seq: 1a, beacon_status mcu_temp=44847 supply_voltage=50128 coil_temp=53870 status=1
Receive: 83 15146.652256 15146.040811 18: seq: 1a, beacon_data samples=1 start_clock=3903872890 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 84 15146.700492 15146.040811 16: seq: 1a, beacon_status mcu_temp=44847 supply_voltage=50128 coil_temp=53867 status=1
Receive: 85 15146.752289 15146.040811 18: seq: 1a, beacon_data samples=1 start_clock=3907073666 delta_clock=0 data=b'\x82\xa1\x12\xea'
Receive: 86 15146.800772 15146.040811 16: seq: 1a, beacon_status mcu_temp=44847 supply_voltage=50128 coil_temp=53858 status=1
Receive: 87 15146.852385 15146.040811 18: seq: 1a, beacon_data samples=1 start_clock=3910274436 delta_clock=0 data=b'\x82\xa1\x12\xaf'
Receive: 88 15146.900907 15146.040811 16: seq: 1a, beacon_status mcu_temp=44847 supply_voltage=50128 coil_temp=53850 status=1
Receive: 89 15146.952297 15146.040811 18: seq: 1a, beacon_data samples=1 start_clock=3913475218 delta_clock=0 data=b'\x82\xa1\x12\xea'
Receive: 90 15147.001130 15146.040811 16: seq: 1a, beacon_status mcu_temp=44847 supply_voltage=50128 coil_temp=53847 status=1
Receive: 91 15147.026117 15147.025585 11: seq: 1b, clock clock=3915867684
Receive: 92 15147.052396 15147.025585 18: seq: 1b, beacon_data samples=1 start_clock=3916676003 delta_clock=0 data=b'\x82\xa1\x12\xea'
Receive: 93 15147.101306 15147.025585 16: seq: 1b, beacon_status mcu_temp=44851 supply_voltage=50128 coil_temp=53847 status=1
Receive: 94 15147.152435 15147.025585 18: seq: 1b, beacon_data samples=1 start_clock=3919876779 delta_clock=0 data=b'\x82\xa1\x12\xea'
Receive: 95 15147.201537 15147.025585 16: seq: 1b, beacon_status mcu_temp=44851 supply_voltage=50128 coil_temp=53842 status=1
Receive: 96 15147.252421 15147.025585 18: seq: 1b, beacon_data samples=1 start_clock=3923077559 delta_clock=0 data=b'\x82\xa1\x0f\xfe'
Receive: 97 15147.301683 15147.025585 16: seq: 1b, beacon_status mcu_temp=44851 supply_voltage=50128 coil_temp=53836 status=1
Receive: 98 15147.352487 15147.025585 18: seq: 1b, beacon_data samples=1 start_clock=3926278338 delta_clock=0 data=b'\x82\xa1\x109'
Receive: 99 15147.358736 15147.358155 12: seq: 1c, shutdown clock=3926509354 static_string_id=Emergency stop
Requested toolhead position at shutdown time 15442.732269: (250.0, 250.0, 2.0)
Lost communication with MCU 'toolboard_t0'
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown
Lost communication with MCU 'toolboard_t0'
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown
Lost communication with MCU 'toolboard_t0'
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown
virtual_sdcard on_error
Traceback (most recent call last):
File "/home/pi/klipper/klippy/extras/virtual_sdcard.py", line 273, in work_handler
self.gcode.run_script(line)
File "/home/pi/klipper/klippy/gcode.py", line 230, in run_script
self._process_commands(script.split('\n'), need_ack=False)
File "/home/pi/klipper/klippy/gcode.py", line 212, in _process_commands
handler(gcmd)
File "/home/pi/klipper/klippy/gcode.py", line 140, in
func = lambda params: origfunc(self._get_extended_params(params))
File "/home/pi/klipper/klippy/extras/gcode_macro.py", line 189, in cmd
self.template.run_gcode_from_command(kwparams)
File "/home/pi/klipper/klippy/extras/gcode_macro.py", line 68, in run_gcode_from_command
self.gcode.run_script_from_command(self.render(context))
File "/home/pi/klipper/klippy/gcode.py", line 227, in run_script_from_command
self._process_commands(script.split('\n'), need_ack=False)
File "/home/pi/klipper/klippy/gcode.py", line 212, in _process_commands
handler(gcmd)
File "/home/pi/klipper/klippy/gcode.py", line 282, in cmd_default
raise gcmd.error(self.printer.get_state_message()[0])
gcode.CommandError: Lost communication with MCU 'toolboard_t0'
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/klipper/klippy/extras/virtual_sdcard.py", line 277, in work_handler
self.gcode.run_script(self.on_error_gcode.render())
File "/home/pi/klipper/klippy/gcode.py", line 230, in run_script
self._process_commands(script.split('\n'), need_ack=False)
File "/home/pi/klipper/klippy/gcode.py", line 212, in _process_commands
handler(gcmd)
File "/home/pi/klipper/klippy/gcode.py", line 282, in cmd_default
raise gcmd.error(self.printer.get_state_message()[0])
gcode.CommandError: Lost communication with MCU 'toolboard_t0'
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown
Exiting SD card print (position 139316)
Stats 15148.3: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=160928 bytes_read=1823352 bytes_retransmit=9 bytes_invalid=0 send_seq=19843 receive_seq=19843 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999778 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=92986 bytes_read=288290 bytes_retransmit=0 bytes_invalid=0 send_seq=15469 receive_seq=15469 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999495 adj=49999620 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310339 bytes_read=2047114 bytes_retransmit=158 bytes_invalid=0 send_seq=31017 receive_seq=31009 retransmit_seq=31013 srtt=0.000 rttvar=0.000 rto=3.200 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999560 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94114 bytes_read=1696762 bytes_retransmit=9 bytes_invalid=0 send_seq=15547 receive_seq=15547 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999841 Octopus_V1.1_F446: temp=30.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=50.1 heater_bed: target=50 temp=37.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112333 bytes_read=5405088 bytes_retransmit=0 bytes_invalid=0 send_seq=17070 receive_seq=17070 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999999 adj=32000081 coil_temp=25.5 refs=0 mcu_temp=25.11 supply_voltage=3.069 sysload=0.27 cputime=599.634 memavail=335736 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15149.3: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=160962 bytes_read=1823523 bytes_retransmit=9 bytes_invalid=0 send_seq=19846 receive_seq=19846 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999777 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=92992 bytes_read=288319 bytes_retransmit=0 bytes_invalid=0 send_seq=15470 receive_seq=15470 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999491 adj=49999564 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310345 bytes_read=2047114 bytes_retransmit=217 bytes_invalid=0 send_seq=31018 receive_seq=31009 retransmit_seq=31017 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999601 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94120 bytes_read=1696862 bytes_retransmit=9 bytes_invalid=0 send_seq=15548 receive_seq=15548 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999855 Octopus_V1.1_F446: temp=30.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=49.2 heater_bed: target=50 temp=38.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112339 bytes_read=5405444 bytes_retransmit=0 bytes_invalid=0 send_seq=17071 receive_seq=17071 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000001 adj=32000047 coil_temp=25.6 refs=0 mcu_temp=25.16 supply_voltage=3.069 sysload=0.27 cputime=599.660 memavail=335736 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15150.3: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=160996 bytes_read=1823650 bytes_retransmit=9 bytes_invalid=0 send_seq=19849 receive_seq=19849 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999774 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=92998 bytes_read=288335 bytes_retransmit=0 bytes_invalid=0 send_seq=15471 receive_seq=15471 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999491 adj=49999501 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310351 bytes_read=2047114 bytes_retransmit=217 bytes_invalid=0 send_seq=31019 receive_seq=31009 retransmit_seq=31017 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999612 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94126 bytes_read=1696976 bytes_retransmit=9 bytes_invalid=0 send_seq=15549 receive_seq=15549 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999654 adj=63999818 Octopus_V1.1_F446: temp=30.4 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 heater_bed: target=50 temp=38.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112345 bytes_read=5405800 bytes_retransmit=0 bytes_invalid=0 send_seq=17072 receive_seq=17072 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000000 adj=32000072 coil_temp=25.7 refs=0 mcu_temp=25.23 supply_voltage=3.069 sysload=0.27 cputime=599.688 memavail=335736 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15151.3: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=161030 bytes_read=1823777 bytes_retransmit=9 bytes_invalid=0 send_seq=19852 receive_seq=19852 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999771 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=93004 bytes_read=288351 bytes_retransmit=0 bytes_invalid=0 send_seq=15472 receive_seq=15472 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999487 adj=49999517 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310357 bytes_read=2047114 bytes_retransmit=217 bytes_invalid=0 send_seq=31020 receive_seq=31009 retransmit_seq=31017 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999637 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94132 bytes_read=1697104 bytes_retransmit=9 bytes_invalid=0 send_seq=15550 receive_seq=15550 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999658 adj=63999850 Octopus_V1.1_F446: temp=30.5 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=49.7 heater_bed: target=50 temp=38.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112351 bytes_read=5406156 bytes_retransmit=0 bytes_invalid=0 send_seq=17073 receive_seq=17073 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000003 adj=32000065 coil_temp=25.8 refs=0 mcu_temp=25.27 supply_voltage=3.069 sysload=0.27 cputime=599.715 memavail=335484 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15152.3: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=161064 bytes_read=1823933 bytes_retransmit=9 bytes_invalid=0 send_seq=19855 receive_seq=19855 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999770 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=93010 bytes_read=288367 bytes_retransmit=0 bytes_invalid=0 send_seq=15473 receive_seq=15473 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999486 adj=49999491 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=217 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31017 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999657 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94138 bytes_read=1697204 bytes_retransmit=9 bytes_invalid=0 send_seq=15551 receive_seq=15551 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999900 Octopus_V1.1_F446: temp=30.6 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=50.6 heater_bed: target=50 temp=38.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112357 bytes_read=5406512 bytes_retransmit=0 bytes_invalid=0 send_seq=17074 receive_seq=17074 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000006 adj=32000104 coil_temp=25.9 refs=0 mcu_temp=25.31 supply_voltage=3.069 sysload=0.25 cputime=599.744 memavail=334528 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15153.3: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000004 bytes_write=161098 bytes_read=1824060 bytes_retransmit=9 bytes_invalid=0 send_seq=19858 receive_seq=19858 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999773 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=93016 bytes_read=288383 bytes_retransmit=0 bytes_invalid=0 send_seq=15474 receive_seq=15474 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999488 adj=49999478 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=217 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31017 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=1 freq=63999559 adj=63999655 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94144 bytes_read=1697304 bytes_retransmit=9 bytes_invalid=0 send_seq=15552 receive_seq=15552 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999817 Octopus_V1.1_F446: temp=30.8 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=49.7 heater_bed: target=50 temp=38.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112363 bytes_read=5406868 bytes_retransmit=0 bytes_invalid=0 send_seq=17075 receive_seq=17075 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000003 adj=32000135 coil_temp=26.0 refs=0 mcu_temp=25.37 supply_voltage=3.069 sysload=0.25 cputime=599.792 memavail=334528 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15154.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161132 bytes_read=1824201 bytes_retransmit=9 bytes_invalid=0 send_seq=19861 receive_seq=19861 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999784 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=93022 bytes_read=288412 bytes_retransmit=0 bytes_invalid=0 send_seq=15475 receive_seq=15475 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999489 adj=49999514 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=300 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=2 freq=63999559 adj=63999634 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94150 bytes_read=1697432 bytes_retransmit=9 bytes_invalid=0 send_seq=15553 receive_seq=15553 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999745 Octopus_V1.1_F446: temp=30.8 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.1 heater_bed: target=50 temp=38.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112369 bytes_read=5407224 bytes_retransmit=0 bytes_invalid=0 send_seq=17076 receive_seq=17076 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000003 adj=32000071 coil_temp=26.1 refs=0 mcu_temp=25.41 supply_voltage=3.069 sysload=0.25 cputime=599.851 memavail=334528 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15155.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161166 bytes_read=1824357 bytes_retransmit=9 bytes_invalid=0 send_seq=19864 receive_seq=19864 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999792 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=93028 bytes_read=288428 bytes_retransmit=0 bytes_invalid=0 send_seq=15476 receive_seq=15476 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999491 adj=49999493 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=300 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=3 freq=63999559 adj=63999575 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94156 bytes_read=1697546 bytes_retransmit=9 bytes_invalid=0 send_seq=15554 receive_seq=15554 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999669 Octopus_V1.1_F446: temp=30.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=49.2 heater_bed: target=50 temp=38.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112375 bytes_read=5407580 bytes_retransmit=0 bytes_invalid=0 send_seq=17077 receive_seq=17077 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000001 adj=32000026 coil_temp=26.2 refs=0 mcu_temp=25.45 supply_voltage=3.069 sysload=0.25 cputime=599.913 memavail=334528 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15156.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161200 bytes_read=1824484 bytes_retransmit=9 bytes_invalid=0 send_seq=19867 receive_seq=19867 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999796 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=93034 bytes_read=288444 bytes_retransmit=0 bytes_invalid=0 send_seq=15477 receive_seq=15477 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999491 adj=49999507 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=300 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=4 freq=63999559 adj=63999546 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94162 bytes_read=1697646 bytes_retransmit=9 bytes_invalid=0 send_seq=15555 receive_seq=15555 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999633 Octopus_V1.1_F446: temp=30.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 heater_bed: target=50 temp=38.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112381 bytes_read=5407936 bytes_retransmit=0 bytes_invalid=0 send_seq=17078 receive_seq=17078 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999999 adj=31999977 coil_temp=26.3 refs=0 mcu_temp=25.48 supply_voltage=3.069 sysload=0.25 cputime=599.972 memavail=334528 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15157.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161234 bytes_read=1824611 bytes_retransmit=9 bytes_invalid=0 send_seq=19870 receive_seq=19870 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999795 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=93040 bytes_read=288460 bytes_retransmit=0 bytes_invalid=0 send_seq=15478 receive_seq=15478 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999513 adj=49999501 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=300 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=5 freq=63999559 adj=63999545 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94168 bytes_read=1697774 bytes_retransmit=9 bytes_invalid=0 send_seq=15556 receive_seq=15556 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999600 Octopus_V1.1_F446: temp=31.0 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=48.7 heater_bed: target=50 temp=38.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112387 bytes_read=5408286 bytes_retransmit=0 bytes_invalid=0 send_seq=17079 receive_seq=17079 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999998 adj=31999955 coil_temp=26.4 refs=0 mcu_temp=25.54 supply_voltage=3.069 sysload=0.22 cputime=600.031 memavail=334540 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15158.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161268 bytes_read=1824767 bytes_retransmit=9 bytes_invalid=0 send_seq=19873 receive_seq=19873 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999799 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=93046 bytes_read=288476 bytes_retransmit=0 bytes_invalid=0 send_seq=15479 receive_seq=15479 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999514 adj=49999861 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=300 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=6 freq=63999559 adj=63999574 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94174 bytes_read=1697874 bytes_retransmit=9 bytes_invalid=0 send_seq=15557 receive_seq=15557 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999647 adj=63999626 Octopus_V1.1_F446: temp=31.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.2 heater_bed: target=50 temp=38.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112393 bytes_read=5408631 bytes_retransmit=0 bytes_invalid=0 send_seq=17080 receive_seq=17080 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999996 adj=31999950 coil_temp=26.5 refs=0 mcu_temp=25.60 supply_voltage=3.069 sysload=0.22 cputime=600.091 memavail=351916 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15159.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161302 bytes_read=1824908 bytes_retransmit=9 bytes_invalid=0 send_seq=19876 receive_seq=19876 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999795 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=93052 bytes_read=288505 bytes_retransmit=0 bytes_invalid=0 send_seq=15480 receive_seq=15480 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999509 adj=49999782 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=383 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=7 freq=63999559 adj=63999565 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94180 bytes_read=1697974 bytes_retransmit=9 bytes_invalid=0 send_seq=15558 receive_seq=15558 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999645 adj=63999609 Octopus_V1.1_F446: temp=31.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 heater_bed: target=50 temp=38.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112399 bytes_read=5408976 bytes_retransmit=0 bytes_invalid=0 send_seq=17081 receive_seq=17081 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999993 adj=31999930 coil_temp=26.6 refs=0 mcu_temp=25.64 supply_voltage=3.069 sysload=0.22 cputime=600.120 memavail=348192 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15160.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161336 bytes_read=1825035 bytes_retransmit=9 bytes_invalid=0 send_seq=19879 receive_seq=19879 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999792 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=93058 bytes_read=288521 bytes_retransmit=0 bytes_invalid=0 send_seq=15481 receive_seq=15481 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999505 adj=49999669 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=383 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=8 freq=63999559 adj=63999602 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=94186 bytes_read=1698116 bytes_retransmit=9 bytes_invalid=0 send_seq=15559 receive_seq=15559 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999643 adj=63999627 Octopus_V1.1_F446: temp=31.2 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=50.1 heater_bed: target=50 temp=38.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112405 bytes_read=5409321 bytes_retransmit=0 bytes_invalid=0 send_seq=17082 receive_seq=17082 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999991 adj=31999931 coil_temp=26.7 refs=0 mcu_temp=25.68 supply_voltage=3.069 sysload=0.22 cputime=600.148 memavail=347968 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15161.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161370 bytes_read=1825191 bytes_retransmit=9 bytes_invalid=0 send_seq=19882 receive_seq=19882 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999794 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=93064 bytes_read=288537 bytes_retransmit=0 bytes_invalid=0 send_seq=15482 receive_seq=15482 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999502 adj=49999593 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=383 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=9 freq=63999559 adj=63999629 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=94192 bytes_read=1698216 bytes_retransmit=9 bytes_invalid=0 send_seq=15560 receive_seq=15560 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999641 adj=63999627 Octopus_V1.1_F446: temp=31.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=49.2 heater_bed: target=50 temp=38.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112411 bytes_read=5409666 bytes_retransmit=0 bytes_invalid=0 send_seq=17083 receive_seq=17083 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999991 adj=31999933 coil_temp=26.7 refs=0 mcu_temp=25.72 supply_voltage=3.069 sysload=0.22 cputime=600.177 memavail=347968 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15162.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161404 bytes_read=1825318 bytes_retransmit=9 bytes_invalid=0 send_seq=19885 receive_seq=19885 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999799 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=93070 bytes_read=288553 bytes_retransmit=0 bytes_invalid=0 send_seq=15483 receive_seq=15483 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999503 adj=49999540 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=383 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=10 freq=63999559 adj=63999617 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=94198 bytes_read=1698316 bytes_retransmit=9 bytes_invalid=0 send_seq=15561 receive_seq=15561 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999638 adj=63999616 Octopus_V1.1_F446: temp=31.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=49.2 heater_bed: target=50 temp=38.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112417 bytes_read=5410011 bytes_retransmit=0 bytes_invalid=0 send_seq=17084 receive_seq=17084 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999989 adj=31999944 coil_temp=26.8 refs=0 mcu_temp=25.77 supply_voltage=3.069 sysload=0.21 cputime=600.206 memavail=347468 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15163.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161438 bytes_read=1825445 bytes_retransmit=9 bytes_invalid=0 send_seq=19888 receive_seq=19888 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999796 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=93076 bytes_read=288569 bytes_retransmit=0 bytes_invalid=0 send_seq=15484 receive_seq=15484 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999498 adj=49999527 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=383 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=11 freq=63999559 adj=63999590 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=94204 bytes_read=1698444 bytes_retransmit=9 bytes_invalid=0 send_seq=15562 receive_seq=15562 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999556 Octopus_V1.1_F446: temp=31.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 heater_bed: target=50 temp=38.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112423 bytes_read=5410356 bytes_retransmit=0 bytes_invalid=0 send_seq=17085 receive_seq=17085 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999989 adj=31999913 coil_temp=26.9 refs=0 mcu_temp=25.82 supply_voltage=3.069 sysload=0.21 cputime=600.235 memavail=347468 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15164.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161472 bytes_read=1825615 bytes_retransmit=9 bytes_invalid=0 send_seq=19891 receive_seq=19891 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999800 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000013 bytes_write=93082 bytes_read=288598 bytes_retransmit=0 bytes_invalid=0 send_seq=15485 receive_seq=15485 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999501 adj=49999478 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=466 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=12 freq=63999559 adj=63999619 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=94210 bytes_read=1698544 bytes_retransmit=9 bytes_invalid=0 send_seq=15563 receive_seq=15563 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999570 Octopus_V1.1_F446: temp=31.6 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=49.2 heater_bed: target=50 temp=38.1 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112429 bytes_read=5410701 bytes_retransmit=0 bytes_invalid=0 send_seq=17086 receive_seq=17086 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999987 adj=31999950 coil_temp=27.0 refs=0 mcu_temp=25.90 supply_voltage=3.069 sysload=0.21 cputime=600.295 memavail=347468 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15165.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161506 bytes_read=1825742 bytes_retransmit=9 bytes_invalid=0 send_seq=19894 receive_seq=19894 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999801 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000013 bytes_write=93088 bytes_read=288614 bytes_retransmit=0 bytes_invalid=0 send_seq=15486 receive_seq=15486 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999499 adj=49999525 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=466 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=13 freq=63999559 adj=63999601 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94216 bytes_read=1698658 bytes_retransmit=9 bytes_invalid=0 send_seq=15564 receive_seq=15564 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999565 Octopus_V1.1_F446: temp=31.7 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.1 heater_bed: target=50 temp=38.1 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112435 bytes_read=5411047 bytes_retransmit=0 bytes_invalid=0 send_seq=17087 receive_seq=17087 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=31999936 coil_temp=27.1 refs=0 mcu_temp=25.95 supply_voltage=3.069 sysload=0.21 cputime=600.354 memavail=347468 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15166.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161540 bytes_read=1825867 bytes_retransmit=9 bytes_invalid=0 send_seq=19897 receive_seq=19897 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999801 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000013 bytes_write=93094 bytes_read=288630 bytes_retransmit=0 bytes_invalid=0 send_seq=15487 receive_seq=15487 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999498 adj=49999506 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=466 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=14 freq=63999559 adj=63999603 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94222 bytes_read=1698786 bytes_retransmit=9 bytes_invalid=0 send_seq=15565 receive_seq=15565 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999631 adj=63999572 Octopus_V1.1_F446: temp=31.7 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=49.2 heater_bed: target=50 temp=38.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112441 bytes_read=5411403 bytes_retransmit=0 bytes_invalid=0 send_seq=17088 receive_seq=17088 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=31999928 coil_temp=27.1 refs=0 mcu_temp=26.00 supply_voltage=3.069 sysload=0.21 cputime=600.411 memavail=347468 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15167.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161574 bytes_read=1826014 bytes_retransmit=9 bytes_invalid=0 send_seq=19900 receive_seq=19900 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999801 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000013 bytes_write=93100 bytes_read=288646 bytes_retransmit=0 bytes_invalid=0 send_seq=15488 receive_seq=15488 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999497 adj=49999495 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=466 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=15 freq=63999559 adj=63999610 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94228 bytes_read=1698886 bytes_retransmit=9 bytes_invalid=0 send_seq=15566 receive_seq=15566 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999583 Octopus_V1.1_F446: temp=31.7 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=48.7 heater_bed: target=50 temp=37.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112447 bytes_read=5411759 bytes_retransmit=0 bytes_invalid=0 send_seq=17089 receive_seq=17089 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=31999943 coil_temp=27.2 refs=0 mcu_temp=26.05 supply_voltage=3.069 sysload=0.19 cputime=600.469 memavail=347468 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15168.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161608 bytes_read=1826141 bytes_retransmit=9 bytes_invalid=0 send_seq=19903 receive_seq=19903 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999805 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000013 bytes_write=93106 bytes_read=288662 bytes_retransmit=0 bytes_invalid=0 send_seq=15489 receive_seq=15489 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999499 adj=49999503 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=466 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=16 freq=63999559 adj=63999615 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94234 bytes_read=1698986 bytes_retransmit=9 bytes_invalid=0 send_seq=15567 receive_seq=15567 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999631 adj=63999603 Octopus_V1.1_F446: temp=31.8 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=49.2 heater_bed: target=50 temp=37.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112453 bytes_read=5412115 bytes_retransmit=0 bytes_invalid=0 send_seq=17090 receive_seq=17090 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=31999940 coil_temp=27.3 refs=0 mcu_temp=26.10 supply_voltage=3.069 sysload=0.19 cputime=600.530 memavail=347468 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15169.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161642 bytes_read=1826282 bytes_retransmit=9 bytes_invalid=0 send_seq=19906 receive_seq=19906 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999806 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93112 bytes_read=288691 bytes_retransmit=0 bytes_invalid=0 send_seq=15490 receive_seq=15490 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999497 adj=49999531 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=549 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=17 freq=63999559 adj=63999595 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94240 bytes_read=1699114 bytes_retransmit=9 bytes_invalid=0 send_seq=15568 receive_seq=15568 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999609 Octopus_V1.1_F446: temp=31.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=48.7 heater_bed: target=50 temp=37.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112459 bytes_read=5412471 bytes_retransmit=0 bytes_invalid=0 send_seq=17091 receive_seq=17091 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=31999941 coil_temp=27.3 refs=0 mcu_temp=26.15 supply_voltage=3.069 sysload=0.19 cputime=600.591 memavail=347468 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15170.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161676 bytes_read=1826438 bytes_retransmit=9 bytes_invalid=0 send_seq=19909 receive_seq=19909 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999808 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93118 bytes_read=288707 bytes_retransmit=0 bytes_invalid=0 send_seq=15491 receive_seq=15491 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999499 adj=49999501 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=549 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=18 freq=63999559 adj=63999596 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94246 bytes_read=1699228 bytes_retransmit=9 bytes_invalid=0 send_seq=15569 receive_seq=15569 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999612 Octopus_V1.1_F446: temp=31.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=49.2 heater_bed: target=50 temp=37.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112465 bytes_read=5412827 bytes_retransmit=0 bytes_invalid=0 send_seq=17092 receive_seq=17092 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=31999941 coil_temp=27.4 refs=0 mcu_temp=26.19 supply_voltage=3.069 sysload=0.19 cputime=600.651 memavail=347468 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15171.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161710 bytes_read=1826565 bytes_retransmit=9 bytes_invalid=0 send_seq=19912 receive_seq=19912 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999825 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93124 bytes_read=288723 bytes_retransmit=0 bytes_invalid=0 send_seq=15492 receive_seq=15492 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999501 adj=49999524 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=549 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=19 freq=63999559 adj=63999593 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94252 bytes_read=1699328 bytes_retransmit=9 bytes_invalid=0 send_seq=15570 receive_seq=15570 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999615 Octopus_V1.1_F446: temp=32.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=49.7 heater_bed: target=50 temp=37.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112471 bytes_read=5413183 bytes_retransmit=0 bytes_invalid=0 send_seq=17093 receive_seq=17093 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=31999936 coil_temp=27.4 refs=0 mcu_temp=26.26 supply_voltage=3.069 sysload=0.19 cputime=600.715 memavail=347468 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15172.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161744 bytes_read=1826692 bytes_retransmit=9 bytes_invalid=0 send_seq=19915 receive_seq=19915 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999825 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93130 bytes_read=288739 bytes_retransmit=0 bytes_invalid=0 send_seq=15493 receive_seq=15493 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999505 adj=49999497 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=549 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=20 freq=63999559 adj=63999508 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94258 bytes_read=1699456 bytes_retransmit=9 bytes_invalid=0 send_seq=15571 receive_seq=15571 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999539 Octopus_V1.1_F446: temp=31.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=48.7 heater_bed: target=50 temp=37.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112477 bytes_read=5413539 bytes_retransmit=0 bytes_invalid=0 send_seq=17094 receive_seq=17094 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999903 coil_temp=27.5 refs=0 mcu_temp=26.31 supply_voltage=3.069 sysload=0.17 cputime=600.777 memavail=346504 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15173.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161778 bytes_read=1826848 bytes_retransmit=9 bytes_invalid=0 send_seq=19918 receive_seq=19918 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999825 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93136 bytes_read=288755 bytes_retransmit=0 bytes_invalid=0 send_seq=15494 receive_seq=15494 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999505 adj=49999566 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=549 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=21 freq=63999559 adj=63999533 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94264 bytes_read=1699556 bytes_retransmit=9 bytes_invalid=0 send_seq=15572 receive_seq=15572 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999580 Octopus_V1.1_F446: temp=32.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=48.7 heater_bed: target=50 temp=37.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112483 bytes_read=5413895 bytes_retransmit=0 bytes_invalid=0 send_seq=17095 receive_seq=17095 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999911 coil_temp=27.6 refs=0 mcu_temp=26.35 supply_voltage=3.069 sysload=0.17 cputime=600.839 memavail=346504 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15174.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161812 bytes_read=1826989 bytes_retransmit=9 bytes_invalid=0 send_seq=19921 receive_seq=19921 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999823 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93142 bytes_read=288784 bytes_retransmit=0 bytes_invalid=0 send_seq=15495 receive_seq=15495 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999508 adj=49999574 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=632 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=22 freq=63999559 adj=63999556 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94270 bytes_read=1699656 bytes_retransmit=9 bytes_invalid=0 send_seq=15573 receive_seq=15573 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999622 Octopus_V1.1_F446: temp=32.2 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=48.7 heater_bed: target=50 temp=37.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112489 bytes_read=5414251 bytes_retransmit=0 bytes_invalid=0 send_seq=17096 receive_seq=17096 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999927 coil_temp=27.6 refs=0 mcu_temp=26.38 supply_voltage=3.069 sysload=0.17 cputime=600.897 memavail=346504 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15175.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161846 bytes_read=1827116 bytes_retransmit=9 bytes_invalid=0 send_seq=19924 receive_seq=19924 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999818 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93148 bytes_read=288800 bytes_retransmit=0 bytes_invalid=0 send_seq=15496 receive_seq=15496 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999507 adj=49999614 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=632 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=23 freq=63999559 adj=63999586 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94276 bytes_read=1699798 bytes_retransmit=9 bytes_invalid=0 send_seq=15574 receive_seq=15574 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999638 Octopus_V1.1_F446: temp=32.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=49.2 heater_bed: target=50 temp=37.1 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112495 bytes_read=5414607 bytes_retransmit=0 bytes_invalid=0 send_seq=17097 receive_seq=17097 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999958 coil_temp=27.7 refs=0 mcu_temp=26.42 supply_voltage=3.069 sysload=0.17 cputime=600.957 memavail=346504 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15176.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161880 bytes_read=1827272 bytes_retransmit=9 bytes_invalid=0 send_seq=19927 receive_seq=19927 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999822 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93154 bytes_read=288816 bytes_retransmit=0 bytes_invalid=0 send_seq=15497 receive_seq=15497 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999507 adj=49999614 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=632 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=24 freq=63999559 adj=63999620 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94282 bytes_read=1699898 bytes_retransmit=9 bytes_invalid=0 send_seq=15575 receive_seq=15575 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999720 Octopus_V1.1_F446: temp=32.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.2 heater_bed: target=50 temp=36.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112501 bytes_read=5414947 bytes_retransmit=0 bytes_invalid=0 send_seq=17098 receive_seq=17098 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=31999987 coil_temp=27.7 refs=0 mcu_temp=26.46 supply_voltage=3.069 sysload=0.17 cputime=601.016 memavail=350320 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15177.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161914 bytes_read=1827399 bytes_retransmit=9 bytes_invalid=0 send_seq=19930 receive_seq=19930 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999822 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93160 bytes_read=288832 bytes_retransmit=0 bytes_invalid=0 send_seq=15498 receive_seq=15498 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999506 adj=49999580 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=632 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=25 freq=63999559 adj=63999600 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94288 bytes_read=1699998 bytes_retransmit=9 bytes_invalid=0 send_seq=15576 receive_seq=15576 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999635 adj=63999727 Octopus_V1.1_F446: temp=32.4 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=49.2 heater_bed: target=50 temp=36.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112507 bytes_read=5415303 bytes_retransmit=0 bytes_invalid=0 send_seq=17099 receive_seq=17099 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000058 coil_temp=27.8 refs=0 mcu_temp=26.50 supply_voltage=3.069 sysload=0.16 cputime=601.074 memavail=350320 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15178.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161948 bytes_read=1827526 bytes_retransmit=9 bytes_invalid=0 send_seq=19933 receive_seq=19933 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999823 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93166 bytes_read=288848 bytes_retransmit=0 bytes_invalid=0 send_seq=15499 receive_seq=15499 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999505 adj=49999559 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=632 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=26 freq=63999559 adj=63999604 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94294 bytes_read=1700126 bytes_retransmit=9 bytes_invalid=0 send_seq=15577 receive_seq=15577 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999634 adj=63999724 Octopus_V1.1_F446: temp=32.4 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=48.2 heater_bed: target=50 temp=36.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112513 bytes_read=5415659 bytes_retransmit=0 bytes_invalid=0 send_seq=17100 receive_seq=17100 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000028 coil_temp=27.8 refs=0 mcu_temp=26.55 supply_voltage=3.069 sysload=0.16 cputime=601.137 memavail=350320 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15179.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=161982 bytes_read=1827696 bytes_retransmit=9 bytes_invalid=0 send_seq=19936 receive_seq=19936 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999827 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000020 bytes_write=93172 bytes_read=288877 bytes_retransmit=0 bytes_invalid=0 send_seq=15500 receive_seq=15500 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999504 adj=49999536 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=715 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=27 freq=63999559 adj=63999604 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94300 bytes_read=1700226 bytes_retransmit=9 bytes_invalid=0 send_seq=15578 receive_seq=15578 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999701 Octopus_V1.1_F446: temp=32.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=49.2 heater_bed: target=50 temp=36.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112519 bytes_read=5416015 bytes_retransmit=0 bytes_invalid=0 send_seq=17101 receive_seq=17101 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000009 coil_temp=27.9 refs=0 mcu_temp=26.60 supply_voltage=3.069 sysload=0.16 cputime=601.200 memavail=350320 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15180.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162016 bytes_read=1827823 bytes_retransmit=9 bytes_invalid=0 send_seq=19939 receive_seq=19939 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999853 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000020 bytes_write=93178 bytes_read=288893 bytes_retransmit=0 bytes_invalid=0 send_seq=15501 receive_seq=15501 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999503 adj=49999511 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=715 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=28 freq=63999559 adj=63999590 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94306 bytes_read=1700340 bytes_retransmit=9 bytes_invalid=0 send_seq=15579 receive_seq=15579 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999633 adj=63999668 Octopus_V1.1_F446: temp=32.5 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.2 heater_bed: target=50 temp=36.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112525 bytes_read=5416371 bytes_retransmit=0 bytes_invalid=0 send_seq=17102 receive_seq=17102 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=31999972 coil_temp=27.9 refs=0 mcu_temp=26.65 supply_voltage=3.069 sysload=0.16 cputime=601.261 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15181.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162050 bytes_read=1827950 bytes_retransmit=9 bytes_invalid=0 send_seq=19942 receive_seq=19942 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999852 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000020 bytes_write=93184 bytes_read=288909 bytes_retransmit=0 bytes_invalid=0 send_seq=15502 receive_seq=15502 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999502 adj=49999394 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=715 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=29 freq=63999559 adj=63999446 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94312 bytes_read=1700468 bytes_retransmit=9 bytes_invalid=0 send_seq=15580 receive_seq=15580 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999632 adj=63999521 Octopus_V1.1_F446: temp=32.5 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=48.7 heater_bed: target=50 temp=36.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112531 bytes_read=5416727 bytes_retransmit=0 bytes_invalid=0 send_seq=17103 receive_seq=17103 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=31999952 coil_temp=28.0 refs=0 mcu_temp=26.69 supply_voltage=3.069 sysload=0.16 cputime=601.322 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15182.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162084 bytes_read=1828106 bytes_retransmit=9 bytes_invalid=0 send_seq=19945 receive_seq=19945 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999852 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000020 bytes_write=93190 bytes_read=288925 bytes_retransmit=0 bytes_invalid=0 send_seq=15503 receive_seq=15503 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999501 adj=49999417 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=715 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=30 freq=63999559 adj=63999495 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94318 bytes_read=1700568 bytes_retransmit=9 bytes_invalid=0 send_seq=15581 receive_seq=15581 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999631 adj=63999554 Octopus_V1.1_F446: temp=32.4 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=49.7 heater_bed: target=50 temp=36.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112537 bytes_read=5417101 bytes_retransmit=0 bytes_invalid=0 send_seq=17104 receive_seq=17104 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=31999946 coil_temp=28.0 refs=0 mcu_temp=26.73 supply_voltage=3.069 sysload=0.15 cputime=601.382 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15183.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162090 bytes_read=1828209 bytes_retransmit=9 bytes_invalid=0 send_seq=19946 receive_seq=19946 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999850 rpi: mcu_awake=0.001 mcu_task_avg=0.000020 mcu_task_stddev=0.000020 bytes_write=93196 bytes_read=288941 bytes_retransmit=0 bytes_invalid=0 send_seq=15504 receive_seq=15504 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999501 adj=49999423 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=715 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=31 freq=63999559 adj=63999523 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94324 bytes_read=1700682 bytes_retransmit=9 bytes_invalid=0 send_seq=15582 receive_seq=15582 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999566 Octopus_V1.1_F446: temp=32.7 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=48.7 heater_bed: target=50 temp=36.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112543 bytes_read=5417457 bytes_retransmit=0 bytes_invalid=0 send_seq=17105 receive_seq=17105 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999938 coil_temp=28.1 refs=0 mcu_temp=26.77 supply_voltage=3.069 sysload=0.15 cputime=601.442 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15184.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162096 bytes_read=1828340 bytes_retransmit=9 bytes_invalid=0 send_seq=19947 receive_seq=19947 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999852 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=93202 bytes_read=288970 bytes_retransmit=0 bytes_invalid=0 send_seq=15505 receive_seq=15505 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999500 adj=49999474 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=798 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=32 freq=63999559 adj=63999559 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94330 bytes_read=1700796 bytes_retransmit=9 bytes_invalid=0 send_seq=15583 receive_seq=15583 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999591 Octopus_V1.1_F446: temp=32.8 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.1 raspberry_pi: temp=48.7 heater_bed: target=50 temp=36.1 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112549 bytes_read=5417813 bytes_retransmit=0 bytes_invalid=0 send_seq=17106 receive_seq=17106 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=31999953 coil_temp=28.1 refs=0 mcu_temp=26.81 supply_voltage=3.069 sysload=0.15 cputime=601.502 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15185.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162102 bytes_read=1828458 bytes_retransmit=9 bytes_invalid=0 send_seq=19948 receive_seq=19948 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999849 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=93208 bytes_read=288986 bytes_retransmit=0 bytes_invalid=0 send_seq=15506 receive_seq=15506 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999500 adj=49999469 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=798 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=33 freq=63999559 adj=63999559 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94336 bytes_read=1700910 bytes_retransmit=9 bytes_invalid=0 send_seq=15584 receive_seq=15584 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999595 Octopus_V1.1_F446: temp=32.7 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 heater_bed: target=50 temp=35.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112555 bytes_read=5418169 bytes_retransmit=0 bytes_invalid=0 send_seq=17107 receive_seq=17107 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999986 adj=31999974 coil_temp=28.1 refs=0 mcu_temp=26.84 supply_voltage=3.069 sysload=0.15 cputime=601.562 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15186.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162108 bytes_read=1828561 bytes_retransmit=9 bytes_invalid=0 send_seq=19949 receive_seq=19949 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999848 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=93214 bytes_read=289002 bytes_retransmit=0 bytes_invalid=0 send_seq=15507 receive_seq=15507 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999503 adj=49999493 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=798 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=34 freq=63999559 adj=63999586 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94342 bytes_read=1701024 bytes_retransmit=9 bytes_invalid=0 send_seq=15585 receive_seq=15585 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999624 Octopus_V1.1_F446: temp=32.8 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=48.2 heater_bed: target=50 temp=35.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112561 bytes_read=5418525 bytes_retransmit=0 bytes_invalid=0 send_seq=17108 receive_seq=17108 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=32000079 coil_temp=28.2 refs=0 mcu_temp=26.89 supply_voltage=3.069 sysload=0.15 cputime=601.620 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15187.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162114 bytes_read=1828678 bytes_retransmit=9 bytes_invalid=0 send_seq=19950 receive_seq=19950 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999846 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=93220 bytes_read=289018 bytes_retransmit=0 bytes_invalid=0 send_seq=15508 receive_seq=15508 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999502 adj=49999557 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=798 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=35 freq=63999559 adj=63999603 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94348 bytes_read=1701138 bytes_retransmit=9 bytes_invalid=0 send_seq=15586 receive_seq=15586 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999650 Octopus_V1.1_F446: temp=32.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=49.7 heater_bed: target=50 temp=35.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112567 bytes_read=5418881 bytes_retransmit=0 bytes_invalid=0 send_seq=17109 receive_seq=17109 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999984 adj=32000040 coil_temp=28.2 refs=0 mcu_temp=26.92 supply_voltage=3.069 sysload=0.14 cputime=601.677 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15188.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162120 bytes_read=1828796 bytes_retransmit=9 bytes_invalid=0 send_seq=19951 receive_seq=19951 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999843 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=93226 bytes_read=289034 bytes_retransmit=0 bytes_invalid=0 send_seq=15509 receive_seq=15509 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999501 adj=49999553 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=798 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=36 freq=63999559 adj=63999617 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94354 bytes_read=1701238 bytes_retransmit=9 bytes_invalid=0 send_seq=15587 receive_seq=15587 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999661 Octopus_V1.1_F446: temp=32.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=48.7 heater_bed: target=50 temp=35.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112573 bytes_read=5419237 bytes_retransmit=0 bytes_invalid=0 send_seq=17110 receive_seq=17110 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000033 coil_temp=28.3 refs=0 mcu_temp=26.94 supply_voltage=3.069 sysload=0.14 cputime=601.736 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15189.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162126 bytes_read=1828913 bytes_retransmit=9 bytes_invalid=0 send_seq=19952 receive_seq=19952 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999841 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=93232 bytes_read=289063 bytes_retransmit=0 bytes_invalid=0 send_seq=15510 receive_seq=15510 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999501 adj=49999550 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=881 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=37 freq=63999559 adj=63999630 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94360 bytes_read=1701352 bytes_retransmit=9 bytes_invalid=0 send_seq=15588 receive_seq=15588 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999672 Octopus_V1.1_F446: temp=32.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=48.7 heater_bed: target=50 temp=35.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112579 bytes_read=5419593 bytes_retransmit=0 bytes_invalid=0 send_seq=17111 receive_seq=17111 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000021 coil_temp=28.3 refs=0 mcu_temp=26.98 supply_voltage=3.069 sysload=0.14 cputime=601.794 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15190.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162138 bytes_read=1829039 bytes_retransmit=9 bytes_invalid=0 send_seq=19954 receive_seq=19954 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999857 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=93244 bytes_read=289095 bytes_retransmit=0 bytes_invalid=0 send_seq=15512 receive_seq=15512 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999500 adj=49999550 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=881 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=39 freq=63999559 adj=63999639 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94372 bytes_read=1701496 bytes_retransmit=9 bytes_invalid=0 send_seq=15590 receive_seq=15590 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999680 Octopus_V1.1_F446: temp=33.0 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 heater_bed: target=50 temp=35.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112591 bytes_read=5419965 bytes_retransmit=0 bytes_invalid=0 send_seq=17113 receive_seq=17113 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000007 coil_temp=28.3 refs=0 mcu_temp=27.00 supply_voltage=3.069 sysload=0.14 cputime=601.856 memavail=350340 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15191.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162144 bytes_read=1829151 bytes_retransmit=9 bytes_invalid=0 send_seq=19955 receive_seq=19955 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999853 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=93250 bytes_read=289111 bytes_retransmit=0 bytes_invalid=0 send_seq=15513 receive_seq=15513 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999506 adj=49999463 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=881 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=40 freq=63999559 adj=63999543 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94378 bytes_read=1701596 bytes_retransmit=9 bytes_invalid=0 send_seq=15591 receive_seq=15591 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999599 Octopus_V1.1_F446: temp=33.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=48.2 heater_bed: target=50 temp=35.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112597 bytes_read=5420321 bytes_retransmit=0 bytes_invalid=0 send_seq=17114 receive_seq=17114 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=31999984 coil_temp=28.4 refs=0 mcu_temp=27.04 supply_voltage=3.069 sysload=0.14 cputime=601.912 memavail=350368 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15192.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162150 bytes_read=1829254 bytes_retransmit=9 bytes_invalid=0 send_seq=19956 receive_seq=19956 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999849 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=93256 bytes_read=289127 bytes_retransmit=0 bytes_invalid=0 send_seq=15514 receive_seq=15514 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999512 adj=49999595 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=881 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=41 freq=63999559 adj=63999579 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94384 bytes_read=1701710 bytes_retransmit=9 bytes_invalid=0 send_seq=15592 receive_seq=15592 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999620 Octopus_V1.1_F446: temp=33.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.2 heater_bed: target=50 temp=35.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112603 bytes_read=5420677 bytes_retransmit=0 bytes_invalid=0 send_seq=17115 receive_seq=17115 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999957 coil_temp=28.4 refs=0 mcu_temp=27.06 supply_voltage=3.069 sysload=0.12 cputime=601.968 memavail=350384 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15193.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162156 bytes_read=1829371 bytes_retransmit=9 bytes_invalid=0 send_seq=19957 receive_seq=19957 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999851 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=93262 bytes_read=289143 bytes_retransmit=0 bytes_invalid=0 send_seq=15515 receive_seq=15515 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999513 adj=49999698 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=881 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=42 freq=63999559 adj=63999611 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94390 bytes_read=1701824 bytes_retransmit=9 bytes_invalid=0 send_seq=15593 receive_seq=15593 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999672 Octopus_V1.1_F446: temp=33.2 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=48.2 heater_bed: target=50 temp=35.1 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112609 bytes_read=5421033 bytes_retransmit=0 bytes_invalid=0 send_seq=17116 receive_seq=17116 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=31999938 coil_temp=28.4 refs=0 mcu_temp=27.11 supply_voltage=3.069 sysload=0.12 cputime=602.026 memavail=350384 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15194.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162162 bytes_read=1829503 bytes_retransmit=9 bytes_invalid=0 send_seq=19958 receive_seq=19958 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999848 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000016 bytes_write=93268 bytes_read=289172 bytes_retransmit=0 bytes_invalid=0 send_seq=15516 receive_seq=15516 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999509 adj=49999660 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=964 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=43 freq=63999559 adj=63999600 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94396 bytes_read=1701924 bytes_retransmit=9 bytes_invalid=0 send_seq=15594 receive_seq=15594 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999676 Octopus_V1.1_F446: temp=33.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=48.7 heater_bed: target=50 temp=35.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112615 bytes_read=5421389 bytes_retransmit=0 bytes_invalid=0 send_seq=17117 receive_seq=17117 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=31999917 coil_temp=28.5 refs=0 mcu_temp=27.14 supply_voltage=3.069 sysload=0.12 cputime=602.082 memavail=350384 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15195.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162168 bytes_read=1829606 bytes_retransmit=9 bytes_invalid=0 send_seq=19959 receive_seq=19959 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999843 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000016 bytes_write=93274 bytes_read=289188 bytes_retransmit=0 bytes_invalid=0 send_seq=15517 receive_seq=15517 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999507 adj=49999587 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=964 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=44 freq=63999559 adj=63999620 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=94402 bytes_read=1702052 bytes_retransmit=9 bytes_invalid=0 send_seq=15595 receive_seq=15595 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999672 Octopus_V1.1_F446: temp=33.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=49.2 heater_bed: target=50 temp=34.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112621 bytes_read=5421745 bytes_retransmit=0 bytes_invalid=0 send_seq=17118 receive_seq=17118 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=31999911 coil_temp=28.5 refs=0 mcu_temp=27.17 supply_voltage=3.069 sysload=0.12 cputime=602.138 memavail=350384 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15196.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162174 bytes_read=1829723 bytes_retransmit=9 bytes_invalid=0 send_seq=19960 receive_seq=19960 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999842 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000016 bytes_write=93280 bytes_read=289204 bytes_retransmit=0 bytes_invalid=0 send_seq=15518 receive_seq=15518 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999507 adj=49999565 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=964 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=45 freq=63999559 adj=63999647 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=94408 bytes_read=1702166 bytes_retransmit=9 bytes_invalid=0 send_seq=15596 receive_seq=15596 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999691 Octopus_V1.1_F446: temp=33.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=49.7 heater_bed: target=50 temp=34.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112627 bytes_read=5422101 bytes_retransmit=0 bytes_invalid=0 send_seq=17119 receive_seq=17119 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=31999965 coil_temp=28.5 refs=0 mcu_temp=27.19 supply_voltage=3.069 sysload=0.12 cputime=602.195 memavail=350384 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15197.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162180 bytes_read=1829841 bytes_retransmit=9 bytes_invalid=0 send_seq=19961 receive_seq=19961 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999845 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000016 bytes_write=93286 bytes_read=289220 bytes_retransmit=0 bytes_invalid=0 send_seq=15519 receive_seq=15519 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999507 adj=49999570 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=964 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=46 freq=63999559 adj=63999645 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=94414 bytes_read=1702266 bytes_retransmit=9 bytes_invalid=0 send_seq=15597 receive_seq=15597 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999689 Octopus_V1.1_F446: temp=33.4 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.7 heater_bed: target=50 temp=34.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112633 bytes_read=5422457 bytes_retransmit=0 bytes_invalid=0 send_seq=17120 receive_seq=17120 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=31999941 coil_temp=28.5 refs=0 mcu_temp=27.23 supply_voltage=3.069 sysload=0.11 cputime=602.250 memavail=350384 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15198.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162186 bytes_read=1829944 bytes_retransmit=9 bytes_invalid=0 send_seq=19962 receive_seq=19962 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999843 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000016 bytes_write=93292 bytes_read=289236 bytes_retransmit=0 bytes_invalid=0 send_seq=15520 receive_seq=15520 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999505 adj=49999545 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=964 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=47 freq=63999559 adj=63999620 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=94420 bytes_read=1702380 bytes_retransmit=9 bytes_invalid=0 send_seq=15598 receive_seq=15598 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999625 adj=63999666 Octopus_V1.1_F446: temp=33.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=48.7 heater_bed: target=50 temp=34.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112639 bytes_read=5422813 bytes_retransmit=0 bytes_invalid=0 send_seq=17121 receive_seq=17121 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999916 coil_temp=28.5 refs=0 mcu_temp=27.25 supply_voltage=3.069 sysload=0.11 cputime=602.305 memavail=350384 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15199.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162192 bytes_read=1830075 bytes_retransmit=9 bytes_invalid=0 send_seq=19963 receive_seq=19963 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999839 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=93298 bytes_read=289265 bytes_retransmit=0 bytes_invalid=0 send_seq=15521 receive_seq=15521 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999509 adj=49999538 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1047 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=48 freq=63999559 adj=63999632 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=94426 bytes_read=1702494 bytes_retransmit=9 bytes_invalid=0 send_seq=15599 receive_seq=15599 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999623 adj=63999670 Octopus_V1.1_F446: temp=33.5 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=48.7 heater_bed: target=50 temp=34.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112645 bytes_read=5423169 bytes_retransmit=0 bytes_invalid=0 send_seq=17122 receive_seq=17122 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=31999932 coil_temp=28.6 refs=0 mcu_temp=27.28 supply_voltage=3.069 sysload=0.11 cputime=602.361 memavail=351168 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15200.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162198 bytes_read=1830193 bytes_retransmit=9 bytes_invalid=0 send_seq=19964 receive_seq=19964 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999844 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=93304 bytes_read=289281 bytes_retransmit=0 bytes_invalid=0 send_seq=15522 receive_seq=15522 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999510 adj=49999613 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1047 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=49 freq=63999559 adj=63999646 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94432 bytes_read=1702608 bytes_retransmit=9 bytes_invalid=0 send_seq=15600 receive_seq=15600 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999671 Octopus_V1.1_F446: temp=33.4 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=48.2 heater_bed: target=50 temp=34.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112651 bytes_read=5423525 bytes_retransmit=0 bytes_invalid=0 send_seq=17123 receive_seq=17123 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=31999937 coil_temp=28.6 refs=0 mcu_temp=27.32 supply_voltage=3.069 sysload=0.11 cputime=602.420 memavail=351168 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15201.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162204 bytes_read=1830296 bytes_retransmit=9 bytes_invalid=0 send_seq=19965 receive_seq=19965 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999844 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=93310 bytes_read=289297 bytes_retransmit=0 bytes_invalid=0 send_seq=15523 receive_seq=15523 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999509 adj=49999592 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1047 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=50 freq=63999559 adj=63999611 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94438 bytes_read=1702722 bytes_retransmit=9 bytes_invalid=0 send_seq=15601 receive_seq=15601 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999692 Octopus_V1.1_F446: temp=33.5 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.2 heater_bed: target=50 temp=34.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112657 bytes_read=5423881 bytes_retransmit=0 bytes_invalid=0 send_seq=17124 receive_seq=17124 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999909 coil_temp=28.6 refs=0 mcu_temp=27.36 supply_voltage=3.069 sysload=0.11 cputime=602.479 memavail=351168 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15202.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162210 bytes_read=1830413 bytes_retransmit=9 bytes_invalid=0 send_seq=19966 receive_seq=19966 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999844 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=93316 bytes_read=289313 bytes_retransmit=0 bytes_invalid=0 send_seq=15524 receive_seq=15524 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999524 adj=49999568 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1047 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=51 freq=63999559 adj=63999611 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94444 bytes_read=1702836 bytes_retransmit=9 bytes_invalid=0 send_seq=15602 receive_seq=15602 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999694 Octopus_V1.1_F446: temp=33.5 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=48.7 heater_bed: target=50 temp=34.1 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112663 bytes_read=5424237 bytes_retransmit=0 bytes_invalid=0 send_seq=17125 receive_seq=17125 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999895 coil_temp=28.6 refs=0 mcu_temp=27.39 supply_voltage=3.069 sysload=0.10 cputime=602.538 memavail=351168 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.4 pwm=0.000
Stats 15203.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162216 bytes_read=1830531 bytes_retransmit=9 bytes_invalid=0 send_seq=19967 receive_seq=19967 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999858 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=93322 bytes_read=289329 bytes_retransmit=0 bytes_invalid=0 send_seq=15525 receive_seq=15525 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999522 adj=49999794 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1047 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=52 freq=63999559 adj=63999612 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94450 bytes_read=1702936 bytes_retransmit=9 bytes_invalid=0 send_seq=15603 receive_seq=15603 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999687 Octopus_V1.1_F446: temp=33.6 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.2 heater_bed: target=50 temp=34.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112669 bytes_read=5424593 bytes_retransmit=0 bytes_invalid=0 send_seq=17126 receive_seq=17126 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=31999925 coil_temp=28.7 refs=0 mcu_temp=27.42 supply_voltage=3.069 sysload=0.10 cputime=602.591 memavail=351348 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15204.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162222 bytes_read=1830648 bytes_retransmit=9 bytes_invalid=0 send_seq=19968 receive_seq=19968 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999860 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=93328 bytes_read=289358 bytes_retransmit=0 bytes_invalid=0 send_seq=15526 receive_seq=15526 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999517 adj=49999656 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1130 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=53 freq=63999559 adj=63999538 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94456 bytes_read=1703049 bytes_retransmit=9 bytes_invalid=0 send_seq=15604 receive_seq=15604 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999642 Octopus_V1.1_F446: temp=33.6 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=50.1 heater_bed: target=50 temp=33.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112675 bytes_read=5424949 bytes_retransmit=0 bytes_invalid=0 send_seq=17127 receive_seq=17127 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999960 adj=31999874 coil_temp=28.7 refs=0 mcu_temp=27.44 supply_voltage=3.069 sysload=0.10 cputime=602.692 memavail=346404 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15205.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162228 bytes_read=1830765 bytes_retransmit=9 bytes_invalid=0 send_seq=19969 receive_seq=19969 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999862 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=93334 bytes_read=289374 bytes_retransmit=0 bytes_invalid=0 send_seq=15527 receive_seq=15527 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999511 adj=49999539 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1130 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=54 freq=63999559 adj=63999542 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94462 bytes_read=1703169 bytes_retransmit=9 bytes_invalid=0 send_seq=15605 receive_seq=15605 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999624 adj=63999605 Octopus_V1.1_F446: temp=33.8 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=49.7 heater_bed: target=50 temp=33.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112681 bytes_read=5425305 bytes_retransmit=0 bytes_invalid=0 send_seq=17128 receive_seq=17128 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999957 adj=31999863 coil_temp=28.7 refs=0 mcu_temp=27.47 supply_voltage=3.069 sysload=0.10 cputime=602.712 memavail=345188 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15206.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162234 bytes_read=1830883 bytes_retransmit=9 bytes_invalid=0 send_seq=19970 receive_seq=19970 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999854 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=93340 bytes_read=289390 bytes_retransmit=0 bytes_invalid=0 send_seq=15528 receive_seq=15528 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999505 adj=49999449 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1130 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=55 freq=63999559 adj=63999551 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94468 bytes_read=1703262 bytes_retransmit=9 bytes_invalid=0 send_seq=15606 receive_seq=15606 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999577 Octopus_V1.1_F446: temp=33.6 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=49.7 heater_bed: target=50 temp=33.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112687 bytes_read=5425661 bytes_retransmit=0 bytes_invalid=0 send_seq=17129 receive_seq=17129 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999957 adj=31999846 coil_temp=28.7 refs=0 mcu_temp=27.50 supply_voltage=3.069 sysload=0.10 cputime=602.731 memavail=345188 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.4 pwm=0.000
Stats 15207.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162240 bytes_read=1830986 bytes_retransmit=9 bytes_invalid=0 send_seq=19971 receive_seq=19971 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999844 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=93346 bytes_read=289406 bytes_retransmit=0 bytes_invalid=0 send_seq=15529 receive_seq=15529 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999501 adj=49999412 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1130 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=56 freq=63999559 adj=63999609 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94474 bytes_read=1703368 bytes_retransmit=9 bytes_invalid=0 send_seq=15607 receive_seq=15607 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999611 Octopus_V1.1_F446: temp=33.8 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=51.1 heater_bed: target=50 temp=33.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112693 bytes_read=5426017 bytes_retransmit=0 bytes_invalid=0 send_seq=17130 receive_seq=17130 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999954 adj=31999888 coil_temp=28.8 refs=0 mcu_temp=27.52 supply_voltage=3.069 sysload=0.10 cputime=602.750 memavail=345188 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15208.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162246 bytes_read=1831103 bytes_retransmit=9 bytes_invalid=0 send_seq=19972 receive_seq=19972 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999834 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=93352 bytes_read=289422 bytes_retransmit=0 bytes_invalid=0 send_seq=15530 receive_seq=15530 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999496 adj=49999414 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1130 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=57 freq=63999559 adj=63999663 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94480 bytes_read=1703475 bytes_retransmit=9 bytes_invalid=0 send_seq=15608 receive_seq=15608 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999682 Octopus_V1.1_F446: temp=33.8 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=50.6 heater_bed: target=50 temp=33.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112699 bytes_read=5426373 bytes_retransmit=0 bytes_invalid=0 send_seq=17131 receive_seq=17131 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999952 adj=31999905 coil_temp=28.8 refs=0 mcu_temp=27.54 supply_voltage=3.069 sysload=0.10 cputime=602.772 memavail=344936 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15209.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162252 bytes_read=1831235 bytes_retransmit=9 bytes_invalid=0 send_seq=19973 receive_seq=19973 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999835 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000015 bytes_write=93358 bytes_read=289451 bytes_retransmit=0 bytes_invalid=0 send_seq=15531 receive_seq=15531 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999497 adj=49999424 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1213 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=58 freq=63999559 adj=63999707 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94486 bytes_read=1703575 bytes_retransmit=9 bytes_invalid=0 send_seq=15609 receive_seq=15609 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999722 Octopus_V1.1_F446: temp=33.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=49.7 heater_bed: target=50 temp=33.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112705 bytes_read=5426729 bytes_retransmit=0 bytes_invalid=0 send_seq=17132 receive_seq=17132 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999951 adj=31999912 coil_temp=28.8 refs=0 mcu_temp=27.56 supply_voltage=3.069 sysload=0.10 cputime=602.811 memavail=344936 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15210.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162258 bytes_read=1831338 bytes_retransmit=9 bytes_invalid=0 send_seq=19974 receive_seq=19974 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999838 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000015 bytes_write=93364 bytes_read=289467 bytes_retransmit=0 bytes_invalid=0 send_seq=15532 receive_seq=15532 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999498 adj=49999465 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1213 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=59 freq=63999559 adj=63999682 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94492 bytes_read=1703703 bytes_retransmit=9 bytes_invalid=0 send_seq=15610 receive_seq=15610 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999620 adj=63999709 Octopus_V1.1_F446: temp=33.8 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.1 heater_bed: target=50 temp=33.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112711 bytes_read=5427085 bytes_retransmit=0 bytes_invalid=0 send_seq=17133 receive_seq=17133 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999950 adj=31999913 coil_temp=28.8 refs=0 mcu_temp=27.59 supply_voltage=3.069 sysload=0.10 cputime=602.849 memavail=344936 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.1 pwm=0.000
Stats 15211.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162264 bytes_read=1831455 bytes_retransmit=9 bytes_invalid=0 send_seq=19975 receive_seq=19975 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999835 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000015 bytes_write=93370 bytes_read=289482 bytes_retransmit=0 bytes_invalid=0 send_seq=15533 receive_seq=15533 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999497 adj=49999486 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1213 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=60 freq=63999559 adj=63999647 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94498 bytes_read=1703817 bytes_retransmit=9 bytes_invalid=0 send_seq=15611 receive_seq=15611 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999622 adj=63999674 Octopus_V1.1_F446: temp=33.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=48.7 heater_bed: target=50 temp=33.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112717 bytes_read=5427441 bytes_retransmit=0 bytes_invalid=0 send_seq=17134 receive_seq=17134 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999948 adj=31999901 coil_temp=28.8 refs=0 mcu_temp=27.61 supply_voltage=3.069 sysload=0.10 cputime=602.887 memavail=344948 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15212.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162270 bytes_read=1831573 bytes_retransmit=9 bytes_invalid=0 send_seq=19976 receive_seq=19976 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999831 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000015 bytes_write=93376 bytes_read=289497 bytes_retransmit=0 bytes_invalid=0 send_seq=15534 receive_seq=15534 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999496 adj=49999504 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1213 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=61 freq=63999559 adj=63999658 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94504 bytes_read=1703917 bytes_retransmit=9 bytes_invalid=0 send_seq=15612 receive_seq=15612 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999719 Octopus_V1.1_F446: temp=34.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=30.0 raspberry_pi: temp=49.2 heater_bed: target=50 temp=33.1 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112723 bytes_read=5427797 bytes_retransmit=0 bytes_invalid=0 send_seq=17135 receive_seq=17135 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999948 adj=31999912 coil_temp=28.8 refs=0 mcu_temp=27.64 supply_voltage=3.069 sysload=0.10 cputime=602.925 memavail=344456 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15213.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162276 bytes_read=1831676 bytes_retransmit=9 bytes_invalid=0 send_seq=19977 receive_seq=19977 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999830 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000015 bytes_write=93382 bytes_read=289512 bytes_retransmit=0 bytes_invalid=0 send_seq=15535 receive_seq=15535 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999495 adj=49999511 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1213 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=62 freq=63999559 adj=63999667 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94510 bytes_read=1704031 bytes_retransmit=9 bytes_invalid=0 send_seq=15613 receive_seq=15613 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999723 Octopus_V1.1_F446: temp=33.8 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=49.2 heater_bed: target=50 temp=33.1 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112729 bytes_read=5428153 bytes_retransmit=0 bytes_invalid=0 send_seq=17136 receive_seq=17136 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999947 adj=31999933 coil_temp=28.9 refs=0 mcu_temp=27.67 supply_voltage=3.069 sysload=0.09 cputime=602.962 memavail=344456 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15214.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162282 bytes_read=1831801 bytes_retransmit=9 bytes_invalid=0 send_seq=19978 receive_seq=19978 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999829 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93388 bytes_read=289540 bytes_retransmit=0 bytes_invalid=0 send_seq=15536 receive_seq=15536 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999494 adj=49999508 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1296 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=63 freq=63999559 adj=63999660 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94516 bytes_read=1704145 bytes_retransmit=9 bytes_invalid=0 send_seq=15614 receive_seq=15614 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999621 adj=63999711 Octopus_V1.1_F446: temp=33.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=47.7 heater_bed: target=50 temp=33.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112735 bytes_read=5428509 bytes_retransmit=0 bytes_invalid=0 send_seq=17137 receive_seq=17137 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999947 adj=31999922 coil_temp=28.9 refs=0 mcu_temp=27.70 supply_voltage=3.069 sysload=0.09 cputime=603.000 memavail=344456 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15215.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162288 bytes_read=1831913 bytes_retransmit=9 bytes_invalid=0 send_seq=19979 receive_seq=19979 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999835 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93394 bytes_read=289555 bytes_retransmit=0 bytes_invalid=0 send_seq=15537 receive_seq=15537 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999490 adj=49999505 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1296 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=64 freq=63999559 adj=63999657 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94522 bytes_read=1704245 bytes_retransmit=9 bytes_invalid=0 send_seq=15615 receive_seq=15615 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999619 adj=63999705 Octopus_V1.1_F446: temp=33.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=49.7 heater_bed: target=50 temp=32.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112741 bytes_read=5428865 bytes_retransmit=0 bytes_invalid=0 send_seq=17138 receive_seq=17138 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999945 adj=31999940 coil_temp=28.9 refs=0 mcu_temp=27.73 supply_voltage=3.069 sysload=0.09 cputime=603.033 memavail=337876 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15216.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162294 bytes_read=1832016 bytes_retransmit=9 bytes_invalid=0 send_seq=19980 receive_seq=19980 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999828 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93400 bytes_read=289570 bytes_retransmit=0 bytes_invalid=0 send_seq=15538 receive_seq=15538 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999487 adj=49999424 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1296 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=65 freq=63999559 adj=63999613 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94528 bytes_read=1704373 bytes_retransmit=9 bytes_invalid=0 send_seq=15616 receive_seq=15616 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999638 Octopus_V1.1_F446: temp=34.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=51.1 heater_bed: target=50 temp=32.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112747 bytes_read=5429221 bytes_retransmit=0 bytes_invalid=0 send_seq=17139 receive_seq=17139 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=31999909 coil_temp=28.9 refs=0 mcu_temp=27.74 supply_voltage=3.069 sysload=0.09 cputime=603.055 memavail=337480 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15217.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162300 bytes_read=1832133 bytes_retransmit=9 bytes_invalid=0 send_seq=19981 receive_seq=19981 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999824 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93406 bytes_read=289586 bytes_retransmit=0 bytes_invalid=0 send_seq=15539 receive_seq=15539 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999483 adj=49999429 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1296 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=66 freq=63999559 adj=63999658 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94534 bytes_read=1704487 bytes_retransmit=9 bytes_invalid=0 send_seq=15617 receive_seq=15617 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999618 adj=63999678 Octopus_V1.1_F446: temp=34.0 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=50.6 heater_bed: target=50 temp=32.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112753 bytes_read=5429577 bytes_retransmit=0 bytes_invalid=0 send_seq=17140 receive_seq=17140 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=31999914 coil_temp=28.9 refs=0 mcu_temp=27.77 supply_voltage=3.069 sysload=0.09 cputime=603.077 memavail=341568 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.4 pwm=0.000
Stats 15218.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162306 bytes_read=1832251 bytes_retransmit=9 bytes_invalid=0 send_seq=19982 receive_seq=19982 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999821 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=93412 bytes_read=289602 bytes_retransmit=0 bytes_invalid=0 send_seq=15540 receive_seq=15540 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999479 adj=49999417 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1296 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=67 freq=63999559 adj=63999669 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94540 bytes_read=1704587 bytes_retransmit=9 bytes_invalid=0 send_seq=15618 receive_seq=15618 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999631 adj=63999703 Octopus_V1.1_F446: temp=34.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=51.6 heater_bed: target=50 temp=32.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112759 bytes_read=5429933 bytes_retransmit=0 bytes_invalid=0 send_seq=17141 receive_seq=17141 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=31999932 coil_temp=28.9 refs=0 mcu_temp=27.80 supply_voltage=3.069 sysload=0.16 cputime=603.098 memavail=344312 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.4 pwm=0.000
Stats 15219.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162312 bytes_read=1832354 bytes_retransmit=9 bytes_invalid=0 send_seq=19983 receive_seq=19983 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999816 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=93418 bytes_read=289631 bytes_retransmit=0 bytes_invalid=0 send_seq=15541 receive_seq=15541 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999476 adj=49999400 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1379 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=68 freq=63999559 adj=63999673 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94546 bytes_read=1704701 bytes_retransmit=9 bytes_invalid=0 send_seq=15619 receive_seq=15619 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999917 Octopus_V1.1_F446: temp=34.0 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=50.6 heater_bed: target=50 temp=32.6 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112765 bytes_read=5430289 bytes_retransmit=0 bytes_invalid=0 send_seq=17142 receive_seq=17142 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999941 adj=31999937 coil_temp=29.0 refs=0 mcu_temp=27.82 supply_voltage=3.069 sysload=0.16 cputime=603.120 memavail=341772 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15220.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162318 bytes_read=1832500 bytes_retransmit=9 bytes_invalid=0 send_seq=19984 receive_seq=19984 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999814 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=93424 bytes_read=289647 bytes_retransmit=0 bytes_invalid=0 send_seq=15542 receive_seq=15542 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999478 adj=49999400 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1379 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=69 freq=63999559 adj=63999690 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94552 bytes_read=1704815 bytes_retransmit=9 bytes_invalid=0 send_seq=15620 receive_seq=15620 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999930 Octopus_V1.1_F446: temp=34.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.1 heater_bed: target=50 temp=32.5 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112771 bytes_read=5430645 bytes_retransmit=0 bytes_invalid=0 send_seq=17143 receive_seq=17143 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=31999944 coil_temp=29.0 refs=0 mcu_temp=27.83 supply_voltage=3.069 sysload=0.16 cputime=603.152 memavail=346324 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15221.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162324 bytes_read=1832603 bytes_retransmit=9 bytes_invalid=0 send_seq=19985 receive_seq=19985 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999811 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=93430 bytes_read=289663 bytes_retransmit=0 bytes_invalid=0 send_seq=15543 receive_seq=15543 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999480 adj=49999468 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1379 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=70 freq=63999559 adj=63999682 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94558 bytes_read=1704929 bytes_retransmit=9 bytes_invalid=0 send_seq=15621 receive_seq=15621 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999626 adj=63999856 Octopus_V1.1_F446: temp=34.2 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=51.1 heater_bed: target=50 temp=32.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112777 bytes_read=5431001 bytes_retransmit=0 bytes_invalid=0 send_seq=17144 receive_seq=17144 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999939 adj=31999940 coil_temp=29.0 refs=0 mcu_temp=27.86 supply_voltage=3.069 sysload=0.16 cputime=603.194 memavail=344952 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.4 pwm=0.000
Stats 15222.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162330 bytes_read=1832706 bytes_retransmit=9 bytes_invalid=0 send_seq=19986 receive_seq=19986 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999815 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=93436 bytes_read=289679 bytes_retransmit=0 bytes_invalid=0 send_seq=15544 receive_seq=15544 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999479 adj=49999524 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1379 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=71 freq=63999559 adj=63999683 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94564 bytes_read=1705043 bytes_retransmit=9 bytes_invalid=0 send_seq=15622 receive_seq=15622 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999812 Octopus_V1.1_F446: temp=34.2 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=51.6 heater_bed: target=50 temp=32.4 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112783 bytes_read=5431357 bytes_retransmit=0 bytes_invalid=0 send_seq=17145 receive_seq=17145 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999945 adj=31999950 coil_temp=29.0 refs=0 mcu_temp=27.87 supply_voltage=3.069 sysload=0.16 cputime=603.234 memavail=343816 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15223.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162336 bytes_read=1832838 bytes_retransmit=9 bytes_invalid=0 send_seq=19987 receive_seq=19987 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999816 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=93442 bytes_read=289695 bytes_retransmit=0 bytes_invalid=0 send_seq=15545 receive_seq=15545 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999481 adj=49999502 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1379 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=72 freq=63999559 adj=63999648 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94570 bytes_read=1705157 bytes_retransmit=9 bytes_invalid=0 send_seq=15623 receive_seq=15623 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999630 adj=63999801 Octopus_V1.1_F446: temp=34.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.8 raspberry_pi: temp=51.1 heater_bed: target=50 temp=32.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112789 bytes_read=5431713 bytes_retransmit=0 bytes_invalid=0 send_seq=17146 receive_seq=17146 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999943 adj=32000033 coil_temp=29.0 refs=0 mcu_temp=27.90 supply_voltage=3.069 sysload=0.15 cputime=603.276 memavail=342720 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.2 pwm=0.000
Stats 15224.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162342 bytes_read=1832941 bytes_retransmit=9 bytes_invalid=0 send_seq=19988 receive_seq=19988 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999816 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=93448 bytes_read=289724 bytes_retransmit=0 bytes_invalid=0 send_seq=15546 receive_seq=15546 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999481 adj=49999537 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1462 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=73 freq=63999559 adj=63999639 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94576 bytes_read=1705257 bytes_retransmit=9 bytes_invalid=0 send_seq=15624 receive_seq=15624 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999629 adj=63999786 Octopus_V1.1_F446: temp=34.2 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.9 raspberry_pi: temp=50.1 heater_bed: target=50 temp=32.3 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112795 bytes_read=5432069 bytes_retransmit=0 bytes_invalid=0 send_seq=17147 receive_seq=17147 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=31999992 coil_temp=29.0 refs=0 mcu_temp=27.91 supply_voltage=3.069 sysload=0.15 cputime=603.319 memavail=341632 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15225.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162348 bytes_read=1833058 bytes_retransmit=9 bytes_invalid=0 send_seq=19989 receive_seq=19989 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999824 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=93454 bytes_read=289740 bytes_retransmit=0 bytes_invalid=0 send_seq=15547 receive_seq=15547 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999481 adj=49999542 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1462 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=74 freq=63999559 adj=63999633 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94582 bytes_read=1705371 bytes_retransmit=9 bytes_invalid=0 send_seq=15625 receive_seq=15625 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999628 adj=63999749 Octopus_V1.1_F446: temp=34.2 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=50.6 heater_bed: target=50 temp=32.2 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112801 bytes_read=5432425 bytes_retransmit=0 bytes_invalid=0 send_seq=17148 receive_seq=17148 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999940 adj=31999966 coil_temp=29.0 refs=0 mcu_temp=27.92 supply_voltage=3.069 sysload=0.15 cputime=603.360 memavail=345780 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.3 pwm=0.000
Stats 15226.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162354 bytes_read=1833190 bytes_retransmit=9 bytes_invalid=0 send_seq=19990 receive_seq=19990 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999822 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=93460 bytes_read=289756 bytes_retransmit=0 bytes_invalid=0 send_seq=15548 receive_seq=15548 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999480 adj=49999497 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1462 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=75 freq=63999559 adj=63999588 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94588 bytes_read=1705499 bytes_retransmit=9 bytes_invalid=0 send_seq=15626 receive_seq=15626 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999676 Octopus_V1.1_F446: temp=34.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.6 raspberry_pi: temp=50.6 heater_bed: target=50 temp=32.1 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112807 bytes_read=5432781 bytes_retransmit=0 bytes_invalid=0 send_seq=17149 receive_seq=17149 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999939 adj=31999918 coil_temp=29.0 refs=0 mcu_temp=27.94 supply_voltage=3.069 sysload=0.15 cputime=603.401 memavail=344212 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.4 pwm=0.000
Stats 15227.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=162360 bytes_read=1833293 bytes_retransmit=9 bytes_invalid=0 send_seq=19991 receive_seq=19991 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999818 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=93466 bytes_read=289772 bytes_retransmit=0 bytes_invalid=0 send_seq=15549 receive_seq=15549 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999479 adj=49999497 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=310363 bytes_read=2047114 bytes_retransmit=1462 bytes_invalid=0 send_seq=31021 receive_seq=31009 retransmit_seq=31021 srtt=0.000 rttvar=0.000 rto=5.000 ready_bytes=0 upcoming_bytes=76 freq=63999559 adj=63999610 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=94594 bytes_read=1705599 bytes_retransmit=9 bytes_invalid=0 send_seq=15627 receive_seq=15627 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999682 Octopus_V1.1_F446: temp=34.3 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=29.7 raspberry_pi: temp=50.1 heater_bed: target=50 temp=32.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=112813 bytes_read=5433137 bytes_retransmit=0 bytes_invalid=0 send_seq=17150 receive_seq=17150 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999938 adj=31999917 coil_temp=29.0 refs=0 mcu_temp=27.95 supply_voltage=3.069 sysload=0.15 cputime=603.439 memavail=343076 print_time=15442.137 buffer_time=0.000 print_stall=0 extruder: target=150 temp=151.5 pwm=0.419 extruder1: target=0 temp=23.4 pwm=0.000
Attempting MCU 'mcu' reset command
Attempting MCU 'rpi' config_reset command
b'Got EOF when reading from device'
Unable to issue reset command on MCU 'toolboard_t0'
Attempting MCU 'toolboard_t1' reset command
Attempting MCU 'beacon' reset command
webhooks client 4103495656: Disconnected
Restarting printer
Start printer at Thu Oct 16 13:20:53 2025 (1760617253.6 15229.2)
===== Config file =====
[mcu rpi]
serial = /tmp/klipper_host_mcu
[board_pins btt-octopus-11]
aliases =
x_step_pin=PF13,
x_dir_pin=PF12,
x_enable_pin=PF14,
x_uart_pin=PC4,
x_diag_pin=PG6,
x_endstop_pin=PG6,
dual_carriage_step_pin=PF9,
dual_carriage_dir_pin=PF10,
dual_carriage_enable_pin=PG2,
dual_carriage_uart_pin=PF2,
dual_carriage_diag_pin=PG12,
dual_carriage_endstop_pin=PG12,
y_step_pin=PG0,
y_dir_pin=PG1,
y_enable_pin=PF15,
y_uart_pin=PD11,
y_diag_pin=PG9,
y_endstop_pin=PG9,
y1_step_pin=PG4,
y1_dir_pin=PC1,
y1_enable_pin=PA0,
y1_uart_pin=PC7,
y1_diag_pin=PG11,
y1_endstop_pin=PG11,
z0_step_pin=PC13,
z0_dir_pin=PF0,
z0_enable_pin=PF1,
z0_uart_pin=PE4,
z0_diag_pin=PG13,
z1_step_pin=PE2,
z1_dir_pin=PE3,
z1_enable_pin=PD4,
z1_uart_pin=PE1,
z1_diag_pin=PG14,
z2_step_pin=PE6,
z2_dir_pin=PA14,
z2_enable_pin=PE0,
z2_uart_pin=PD3,
z2_diag_pin=PG15,
e_step_pin=PF11,
e_dir_pin=PG3,
e_enable_pin=PG5,
e_uart_pin=PC6,
e_heater_pin=PA2,
e_sensor_pin=PF4,
stepper_spi_mosi_pin=PA7,
stepper_spi_miso_pin=PA6,
stepper_spi_sclk_pin=PA5,
adxl345_cs_pin=PA15,
bltouch_sensor_pin=PB7,
bltouch_control_pin=PB6,
probe_pin=PB7,
fan_part_cooling_pin=PA8,
fan_toolhead_cooling_pin=PE5,
fan_controller_board_pin=PD12,
heater_bed_heating_pin=PA1,
heater_bed_sensor_pin=PF3,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu]
serial = /dev/RatOS/btt-octopus-11
[temperature_sensor Octopus_V1.1_F446]
sensor_type = temperature_mcu
[adxl345 controlboard]
cs_pin = PA15
spi_bus = spi3
[board_pins toolboard_t0]
mcu = toolboard_t0
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t0]
serial = /dev/RatOS/btt-ebb42-12-t0
[temperature_sensor EBB42_v1.2_T0]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t0
[adxl345 toolboard_t0]
axes_map = x, z, y
cs_pin = toolboard_t0:PB12
spi_software_mosi_pin = toolboard_t0:PB11
spi_software_miso_pin = toolboard_t0:PB2
spi_software_sclk_pin = toolboard_t0:PB10
[board_pins toolboard_t1]
mcu = toolboard_t1
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t1]
serial = /dev/RatOS/btt-ebb42-12-t1
[temperature_sensor EBB42_v1.2_T1]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t1
[adxl345 toolboard_t1]
axes_map = x, z, y
cs_pin = toolboard_t1:PB12
spi_software_mosi_pin = toolboard_t1:PB11
spi_software_miso_pin = toolboard_t1:PB2
spi_software_sclk_pin = toolboard_t1:PB10
[gcode_macro RatOS]
variable_homing = "endstops"
variable_z_probe = "static"
variable_sensorless_x_current = 0.6
variable_sensorless_y_current = 0.9
variable_safe_home_x = "middle"
variable_safe_home_y = "middle"
variable_driver_type_x = "tmc2209"
variable_driver_type_y = "tmc2209"
variable_stowable_probe_stop_on_error = False
variable_chamber_filter_enable = True
variable_chamber_filter_speed = 0.5
variable_chamber_filter_disable_speed = 1.0
variable_chamber_filter_enable_at = "after_print_start"
variable_chamber_filter_disable_period = 300
variable_chamber_filter_disable_bed_temp = 0
variable_chamber_heater_enable = True
variable_chamber_heater_bed_temp = 115
variable_chamber_heater_preheating_temp = 150
variable_chamber_heater_heating_temp_offset = 25
variable_chamber_heater_control_external_heater = False
variable_chamber_heater_air_circulation_enable = True
variable_chamber_heater_air_circulation_fan_speed = 0.35
variable_chamber_heater_air_circulation_y_pos = 0
variable_chamber_heater_air_circulation_z_pos = 100
variable_chamber_heater_extra_fan_speed = 1.0
variable_chamber_heater_filter_fan_speed = 1.0
variable_led_status_action = 0.0,1.0,1.0
variable_led_status_success = 0.0,1.0,0.0
variable_led_status_error = 1.0,0.0,1.0
variable_led_status_on = 1.0,1.0,1.0
variable_led_status_off = 0.0,0.0,1.0
variable_led_status_standby = 0.1,0.1,0.1
variable_led_status_heating = 1.0,0.0,0.0
variable_led_status_cooling = 0.0,0.0,1.0
variable_calibrate_bed_mesh = True
variable_adaptive_mesh = True
variable_start_print_park_in = "back"
variable_start_print_park_z_height = 50
variable_end_print_park_in = "front"
variable_pause_print_park_in = "front"
variable_end_print_park_z_hop = 20
variable_nozzle_priming = "primeblob"
variable_nozzle_prime_start_x = "max"
variable_nozzle_prime_start_y = "min"
variable_nozzle_prime_direction = "auto"
variable_nozzle_prime_bridge_fan = 102
variable_probe_for_priming_result = None
variable_probe_for_priming_end_result = None
variable_probe_for_priming_result_t1 = None
variable_probe_for_priming_end_result_t1 = None
variable_probe_for_priming_disable_mesh_constraints = False
variable_adaptive_prime_offset_threshold = -1.0
variable_last_z_offset = None
variable_runout_park_in = "front"
variable_enable_unload_tip_forming = False
variable_filament_unload_length = 150
description = RatOS variable storage macro, will echo variables to the console when run.
variable_relative_extrusion = True
variable_force_absolute_position = False
variable_preheat_extruder = True
variable_preheat_extruder_temp = 150
variable_macro_travel_speed = 600
variable_macro_travel_accel = 8000
variable_macro_z_speed = 15
variable_bed_margin_x = [59.8, 59.8]
variable_bed_margin_y = [14.35, 33.65]
variable_printable_x_min = 0
variable_printable_x_max = 0
variable_printable_y_min = 0
variable_printable_y_max = 0
variable_end_print_motors_off = True
variable_status_color_ok = "00FF00"
variable_status_color_error = "FF0000"
variable_status_color_unknown = "FFFF00"
variable_end_print_retract_filament = 10
gcode =
ECHO_RATOS_VARS
variable_auto_center_subject = False
variable_toolchange_zhop = 2.0
variable_toolchange_zspeed = 25
variable_toolchange_sync_fans = False
variable_toolchange_combined_zhop = False
variable_toolchange_travel_speed = 600
variable_toolchange_travel_accel = 8000
variable_toolchange_extrusion = 2.0
variable_toolchange_retraction = 2.0
variable_toolchange_feedrate = 7200
variable_toolchange_prepurging_timer = 0
variable_toolchange_standby_temp = -1
variable_toolchange_purge = 25
variable_toolchange_first_purge = 50
variable_beacon_bed_mesh_scv = 25
variable_beacon_contact_z_homing = False
variable_beacon_contact_start_print_true_zero = True
variable_beacon_contact_wipe_before_true_zero = True
variable_beacon_contact_true_zero_temp = 150
variable_beacon_contact_prime_probing = True
variable_beacon_contact_expansion_compensation = True
variable_beacon_contact_bed_mesh = False
variable_beacon_contact_bed_mesh_samples = 2
variable_beacon_contact_z_tilt_adjust = False
variable_beacon_contact_z_tilt_adjust_samples = 2
variable_beacon_scan_compensation_enable = True
variable_beacon_scan_compensation_profile = "ratos"
variable_beacon_scan_compensation_probe_count = 15,15
variable_beacon_contact_poke_bottom_limit = -1
variable_homing_x = "endstop"
variable_homing_y = "endstop"
variable_default_toolhead = 0
variable_adxl_chip = ["adxl345 toolboard_t0", "adxl345 toolboard_t1"]
variable_shaper_x_freq = [52.8, 49.2, 50.7, 48.8]
variable_shaper_y_freq = [38.2, 37.0, 32.3, 33.1]
variable_shaper_x_type = ["mzv", "mzv", "mzv", "mzv"]
variable_shaper_y_type = ["mzv", "mzv", "mzv", "mzv"]
variable_x_driver_types = ["tmc2209"]
variable_x_axes = ["x"]
variable_y_driver_types = ["tmc2209", "tmc2209"]
variable_y_axes = ["y", "y1"]
variable_z_driver_types = ["tmc2209", "tmc2209", "tmc2209"]
variable_z_axes = ["z", "z1", "z2"]
variable_home_y_first = True
[ratos_homing]
axes = xyz
z_hop = 15
z_hop_speed = 15
gcode =
_LED_ON
{% set prev_stop_on_error = printer["gcode_macro RatOS"].stowable_probe_stop_on_error %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set target_idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE=True
M400
G90
{% set X = true if params.X is defined else false %}
{% set Y = true if params.Y is defined else false %}
{% set Z = true if params.Z is defined else false %}
{% if printer["gcode_macro RatOS"].home_y_first|default(false)|lower == 'true' %}
HOME_Y X={X} Y={Y} Z={Z}
HOME_X X={X} Y={Y} Z={Z}
{% else %}
HOME_X X={X} Y={Y} Z={Z}
HOME_Y X={X} Y={Y} Z={Z}
{% endif %}
HOME_Z X={X} Y={Y} Z={Z}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE={prev_stop_on_error}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[gcode_macro HOME_X]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_x = printer["gcode_macro RatOS"].homing_x|lower %}
{% set homing_x = homing_x if homing_x else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_X" MSG="printable_x_max: {printable_x_max}, safe_home_x: {safe_home_x}, axis_maximum.x: {printer.toolhead.axis_maximum.x}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}"
{% if X or not Y and not Z %}
{% if homing_x == 'endstop' %}
G28 X
{% elif homing_x == 'sensorless' %}
{% if printer["dual_carriage"] is defined %}
{ action_emergency_stop("sensorless homing not supported on IDEX!") }
{% endif %}
HOME_X_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_x to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_x, homing)) }
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1} MODE=PRIMARY
G1 X{parking_position} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% endif %}
{% set x_homed = True %}
G0 X{safe_home_x} F{speed}
M400
{% endif %}
[gcode_macro HOME_Y]
gcode =
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_y = printer["gcode_macro RatOS"].homing_y|lower %}
{% set homing_y = homing_y if homing_y else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Y" MSG="printable_y_max: {printable_y_max}, safe_home_y: {safe_home_y}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}"
{% if Y or not X and not Z %}
{% if homing_y == 'endstop' %}
G28 Y
{% elif homing_y == 'sensorless' %}
HOME_Y_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_y to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_y, homing)) }
{% endif %}
{% set y_homed = True %}
G0 Y{safe_home_y} F{speed}
{% endif %}
[gcode_macro HOME_Z]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set z_probe = printer["gcode_macro RatOS"].z_probe %}
{% set beacon_contact_z_homing = true if printer["gcode_macro RatOS"].beacon_contact_z_homing|default(false)|lower == 'true' else false %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Z" MSG="x_homed: {x_homed}, y_homed: {y_homed}, z_probe: {z_probe}, beacon_contact_z_homing: {beacon_contact_z_homing}"
{% if Z or not Y and not X %}
RATOS_ECHO MSG="Homing Z"
{% if x_homed == False or y_homed == False %}
{ action_emergency_stop("X and Y must be homed before homing Z") }
{% else %}
{% if z_probe == "stowable" %}
DEPLOY_PROBE
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
STOW_PROBE
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
{% endif %}
{% endif %}
{% endif %}
[gcode_macro HOME_X_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
G4 P300
G28 X
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
[gcode_macro HOME_Y_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
G4 P300
G28 Y
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
[gcode_macro _Z_HOP]
description = Move Z axis up by Z_HOP distance at Z_HOP_SPEED. In relative mode it will move Z axis up by Z_HOP distance. In absolute mode it will move Z axis to Z_HOP distance.
gcode =
{% set z_hop = printer.configfile.config.ratos_homing.z_hop|float %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
G0 Z{z_hop} F{z_hop_speed}
[gcode_macro _MOVE_TO_SAFE_Z_HOME]
description = Move to safe home position with optional Z_HOP (pass Z_HOP=True as parameter)
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% if params.Z_HOP is defined %}
_Z_HOP
{% endif %}
DEBUG_ECHO PREFIX="_MOVE_TO_SAFE_Z_HOME" MSG="axis_maximum.x: {printer.toolhead.axis_maximum.x}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}, safe_home_x: {safe_home_x}, safe_home_y: {safe_home_y}, printable_x_max: {printable_x_max}, printable_y_max: {printable_y_max}"
G0 X{safe_home_x} Y{safe_home_y} F{speed}
[gcode_macro MAYBE_HOME]
description = Only home unhomed axis
variable_is_kinematic_position_overriden = False
gcode =
{% if printer["gcode_macro MAYBE_HOME"].is_kinematic_position_overriden|lower == 'true' %}
RATOS_ECHO MSG="SET_CENTER_KINEMATIC_POSITION has been abused. Homing all axes. Please refrain from using SET_CENTER_KINEMATIC_POSITION outside of debugging purposes."
G28
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=False
{% else %}
{% set axes = '' %}
{% set isHomed = true %}
{% set axesToHome = '' %}
{% if params.X is defined %}
{% set axes = axes ~ 'X ' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% endif %}
{% if params.Y is defined %}
{% set axes = axes ~ 'Y ' %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% endif %}
{% if params.Z is defined %}
{% set axes = axes ~ 'Z ' %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if params.X is not defined and params.Y is not defined and params.Z is not defined %}
{% set axes = '' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if isHomed is false %}
RATOS_ECHO MSG="Homing {axesToHome}"
G28 {axesToHome}
{% else %}
RATOS_ECHO MSG="All requested axes already homed, skipping.."
{% endif %}
{% endif %}
[gcode_macro PID_CALIBRATE_HOTEND]
description = Perform a PID calibration test for a given extruder heater.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set temp = params.TEMP|default(220)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_HOTEND" MSG="TEMP={temp}"
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO MSG="PID calibration hotend heater T0 at {temp}°C..."
PID_CALIBRATE HEATER=extruder TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
{% if toolhead==0 or toolhead==1 %}
RATOS_ECHO MSG="PID calibration hotend heater T{toolhead} at {temp}°C..."
PID_CALIBRATE HEATER=extruder{'' if toolhead==0 else toolhead} TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_BED]
description = Perform a PID calibration test for the bed heater.
gcode =
{% set temp = params.TEMP|default(80)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_BED" MSG="TEMP={temp}"
RATOS_ECHO MSG="PID calibration bed heater at {temp}°C..."
PID_CALIBRATE HEATER=heater_bed TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_CHAMBER_HEATER]
description = Perform a PID calibration test for the chamber heater.
gcode =
{% set temp = params.TEMP|default(150)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_CHAMBER_HEATER" MSG="TEMP={temp}"
{% if printer["heater_generic chamber_heater"] is defined %}
RATOS_ECHO MSG="PID calibration chamber heater at {temp}°C..."
PID_CALIBRATE HEATER=chamber_heater TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_heater" %}
{% set link_text = "RatOS Chamber Heater" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber heater found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro INITIALIZE_PA_TUNING]
description = Start a pressure advance tuning tower.
gcode =
{% set start = params.START|default(0.0)|float %}
{% set factor = params.FACTOR|default(0.001)|float %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if is_printing_gcode and layer_number < 2 %}
DEBUG_ECHO PREFIX="START_PA_TOWER" MSG="START: {start}, FACTOR: {factor}"
RATOS_ECHO MSG="Starting presssure advance tuning tower..."
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START={start} FACTOR={factor}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro CHAMBER_FILTER_ON]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro CHAMBER_FILTER_OFF]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Deactivating chamber filter..."
_CHAMBER_FILTER_TURN_OFF
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro _CHAMBER_FILTER_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set chamber_filter_enable_at = printer["gcode_macro RatOS"].chamber_filter_enable_at|default('after_print_start')|lower %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_ON" MSG="at: {at}, chamber_filter_enable: {chamber_filter_enable}, chamber_filter_enable_at: {chamber_filter_enable_at}, chamber_filter_speed: {chamber_filter_speed}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if chamber_filter_enable_at == at %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON AT={at}
{% if chamber_filter_enable_at == "print_end" %}
_LED_CHAMBER_FILTER_ON
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_FILTER_OFF]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF" MSG="chamber_filter_enable: {chamber_filter_enable}, filter_disable_period: {filter_disable_period}, filter_disable_bed_temp: {filter_disable_bed_temp}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_period > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting {filter_disable_period} seconds before turning chamber filter off..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION={filter_disable_period}
{% endif %}
{% if filter_disable_bed_temp > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting for bed temp to cool down to {filter_disable_bed_temp}°C to turn filter off..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=0 MAXIMUM={filter_disable_bed_temp}
_CHAMBER_FILTER_TURN_OFF
_LED_CHAMBER_FILTER_OFF
{% endif %}
{% endif %}
[delayed_gcode _CHAMBER_FILTER_OFF_TIMER]
gcode =
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF_TIMER" MSG="executed"
_CHAMBER_FILTER_TURN_OFF
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Chamber filter turned off!"
_LED_CHAMBER_FILTER_OFF
[gcode_macro _CHAMBER_FILTER_TURN_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_speed|default(0)|float %}
{% if at == "print_end" %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_disable_speed|default(0)|float %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION=0
SET_FAN_SPEED FAN=filter SPEED={chamber_filter_speed}
[gcode_macro _CHAMBER_FILTER_TURN_OFF]
gcode =
SET_FAN_SPEED FAN=filter SPEED=0
[gcode_macro _CHAMBER_FILTER_SANITY_CHECK]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_bed_temp > 0 and filter_disable_period > 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable, not both.")}
{% endif %}
{% if filter_disable_bed_temp == 0 and filter_disable_period == 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable.")}
{% endif %}
{% endif %}
[gcode_macro CHAMBER_HEATER_ON]
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(45)|int %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp} IS_FROM_START_PRINT=False
[gcode_macro CHAMBER_HEATER_OFF]
gcode =
_CHAMBER_HEATER_OFF
[gcode_macro _CHAMBER_HEATER_ON]
variable_chamber_temp = 0
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set is_from_start_print = true if params.IS_FROM_START_PRINT|default(True)|lower == 'true' else false %}
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set chamber_heater_enable = true if printer["gcode_macro RatOS"].chamber_heater_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
{% set chamber_heater_preheating_temp = printer["gcode_macro RatOS"].chamber_heater_preheating_temp|default(150)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set chamber_heater_control_external_heater = true if printer["gcode_macro RatOS"].chamber_heater_control_external_heater|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_enable = true if printer["gcode_macro RatOS"].chamber_heater_air_circulation_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_fan_speed = printer["gcode_macro RatOS"].chamber_heater_air_circulation_fan_speed|default(0.35)|float %}
{% set chamber_heater_air_circulation_y_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_y_pos|default(0)|float %}
{% set chamber_heater_air_circulation_z_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_z_pos|default(100)|float %}
DEBUG_ECHO PREFIX="_CHAMBER_HEATER_ON" MSG="chamber_heater_enable: {chamber_heater_enable}, chamber_heater_preheating_temp: {chamber_heater_preheating_temp}, chamber_heater_heating_temp_offset: {chamber_heater_heating_temp_offset}, bed_temp: {bed_temp}, chamber_temp: {chamber_temp}, start_chamber_temp: {start_chamber_temp}"
{% if chamber_heater_enable and chamber_temp > 0 and chamber_heater_bed_temp > 0 %}
_LED_HEATING
RATOS_ECHO MSG="Preheating chamber to {(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}°C..."
{% set chamber_temp_sensor = "extruder" %}
{% if printer["dual_carriage"] is defined and default_toolhead == 1 %}
{% set chamber_temp_sensor = "extruder1" %}
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% set chamber_temp_sensor = "temperature_sensor chamber" %}
{% endif %}
{% set current_chamber_temp = printer['%s' % chamber_temp_sensor].temperature|int %}
{% set needs_heating = current_chamber_temp < (start_chamber_temp if start_chamber_temp > 0 else chamber_temp) %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_BEFORE_PREHEATING
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
{% if not is_from_start_print %}
MAYBE_HOME
{% endif %}
G0 Z{chamber_heater_air_circulation_z_pos} F{z_speed}
G0 Y{chamber_heater_air_circulation_y_pos} F{speed}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 1 else 0}
{% else %}
M106 S{(255 * chamber_heater_air_circulation_fan_speed)}
{% endif %}
{% else %}
{% if is_from_start_print %}
G0 Z{z} F{z_speed}
{% endif %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE={chamber_temp}
{% if needs_heating %}
M140 S{chamber_heater_bed_temp}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={chamber_heater_preheating_temp}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if needs_heating %}
_CHAMBER_HEATER_EXTRA_FAN_ON
{% endif %}
{% if needs_heating %}
TEMPERATURE_WAIT SENSOR="{chamber_temp_sensor}" MINIMUM={(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% endif %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED=0
_CHAMBER_FILTER_ON AT="before_print_start"
{% endif %}
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
G28 Z
{% endif %}
{% endif %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_AFTER_PREHEATING
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% if printer["heater_generic chamber_heater"] is defined %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined and chamber_heater_control_external_heater %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
_LED_SUCCESS
{% endif %}
[gcode_macro _CHAMBER_HEATER_OFF]
gcode =
RATOS_ECHO MSG="Deactivating chamber heater..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=0
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE=0
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
_CHAMBER_HEATER_EXTRA_FAN_OFF
[delayed_gcode _CHAMBER_HEATER_CONTROL]
initial_duration = 0.
gcode =
{% set chamber_temp = printer["gcode_macro _CHAMBER_HEATER_ON"].chamber_temp|default(0)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set current_chamber_temp = printer['temperature_sensor chamber'].temperature|int %}
{% if current_chamber_temp < chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if current_chamber_temp >= chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_ON]
gcode =
{% set chamber_heater_extra_fan_speed = printer["gcode_macro RatOS"].chamber_heater_extra_fan_speed|default(0.0)|float %}
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
{% if chamber_heater_extra_fan_speed > 0 %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED={chamber_heater_extra_fan_speed}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_OFF]
gcode =
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED=0
{% endif %}
[gcode_macro _USER_CHAMBER_HEATER_BEFORE_PREHEATING]
description = Will be executed before chamber preheating, only if heating is needed.
gcode =
[gcode_macro _USER_CHAMBER_HEATER_AFTER_PREHEATING]
description = Will be executed after chamber preheating, only if heating was needed.
gcode =
[gcode_macro _LED_START_PRINTING]
gcode =
_LED_ACTION
[gcode_macro _LED_START_PRINTING_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_PRINTING]
gcode =
_LED_ON TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_PAUSE]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_ON]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_OFF]
gcode =
_LED_STANDBY
[gcode_macro _LED_LOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_LOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_RUNOUT]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_CLOG]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_UNLOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_UNLOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_DEACTIVATE_TOOLHEAD]
gcode =
_LED_OFF TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_STANDBY]
gcode =
_LED_STANDBY TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_WAKEUP]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_MOTORS_OFF]
gcode =
_LED_STANDBY
_LED_VAOC_OFF
[gcode_macro _LED_INPUT_SHAPER_START]
gcode =
_LED_ACTION
[gcode_macro _LED_INPUT_SHAPER_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_START]
gcode =
_LED_ACTION
[gcode_macro _LED_BEACON_CALIBRATION_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_VAOC_ON]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=1.0 GREEN=1.0 BLUE=1.0
{% endif %}
[gcode_macro _LED_VAOC_OFF]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=0.0 GREEN=0.0 BLUE=0.0
{% endif %}
[gcode_macro _LED_ACTION]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_action %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SUCCESS]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_success %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_HEATING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_heating %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_COOLING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_cooling %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ERROR]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_error %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ON]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_on %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_OFF]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_off %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_STANDBY]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_standby %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
{% if toolhead >= 0 %}
{% if printer['neopixel nozzle_led_t%s' % toolhead] is defined %}
SET_LED LED={'nozzle_led_t%s' % toolhead} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% else %}
{% if printer['neopixel nozzle_led_t0'] is defined %}
SET_LED LED={'nozzle_led_t0'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% if printer['neopixel nozzle_led_t1'] is defined %}
SET_LED LED={'nozzle_led_t1'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% endif %}
_USER_LED_SET { rawparams }
[gcode_macro _USER_LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
[gcode_macro LOAD_FILAMENT]
description = Loads new filament. Note: be careful with PETG, make sure you inspect the tip of your filament before loading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% if filament_name == '' or filament_type == '' %}
{% set filament_name = 'unknown' %}
{% set filament_type = 'unknown' %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_LOAD_FILAMENT TEMP={temp} NAME={filament_name} TYPE={filament_type}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_LOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME={filament_name} TYPE={filament_type}
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _DEFAULT_LOAD_FILAMENT]
description = Load filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_LOAD_FILAMENT" MSG="TEMP={temp}"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=load_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
_LOAD_FILAMENT TOOLHEAD=0
RESTORE_GCODE_STATE NAME=load_state
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD=0
[gcode_macro _IDEX_LOAD_FILAMENT]
description = Load filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_LOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
_LOAD_FILAMENT TOOLHEAD={toolhead} TEMP={temp}
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into hotend.."
G92 E0
G0 E{extruder_gear_to_cooling_position_distance} F{extruder_load_speed}
G92 E0
M400
RATOS_ECHO MSG="Filament loaded into hotend."
[gcode_macro _LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set load_speed = printer["gcode_macro T%s" % toolhead].filament_load_speed|float * 60 %}
{% set filament_loading_nozzle_offset = printer["gcode_macro T%s" % toolhead].filament_loading_nozzle_offset|float %}
{% set cooling_position_to_nozzle_distance = printer["gcode_macro T%s" % toolhead].cooling_position_to_nozzle_distance|float %}
{% set purge_after_load = printer["gcode_macro T%s" % toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into nozzle... Please wait!"
G92 E0
G0 E{cooling_position_to_nozzle_distance + filament_loading_nozzle_offset} F{load_speed}
G92 E0
G4 P1000
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge_after_load}
RATOS_ECHO MSG="Filament loaded into nozzle!"
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
{% set filament_grabbing_length = printer["gcode_macro T%s" % toolhead].filament_grabbing_length|float %}
{% set filament_grabbing_speed = printer["gcode_macro T%s" % toolhead].filament_grabbing_speed|float %}
{% set resume_after_insert = true if printer["gcode_macro T%s" % toolhead].resume_after_insert|default(true)|lower == 'true' else false %}
{% set enable_insert_detection = true if printer["gcode_macro T%s" % toolhead].enable_insert_detection|default(true)|lower == 'true' else false %}
{% set current_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% if enable_insert_detection %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="toolhead: {toolhead}, filament_grabbing_length: {filament_grabbing_length}, filament_grabbing_speed: {filament_grabbing_speed}, current_idex_mode: {current_idex_mode}"
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
FORCE_MOVE STEPPER={'extruder%s' % ('' if toolhead == 0 else toolhead)} DISTANCE={filament_grabbing_length} VELOCITY={filament_grabbing_speed}
M400
{% if printer.pause_resume.is_paused %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% if resume_after_insert %}
RESUME
{% endif %}
{% else %}
{% if not printer.virtual_sdcard.is_active %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
[gcode_macro _PURGE_BEFORE_UNLOAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set purge_before_unload = printer["gcode_macro T%s" % toolhead].purge_before_unload|float %}
DEBUG_ECHO PREFIX="_PURGE_BEFORE_UNLOAD" MSG="TOOLHEAD: {toolhead}"
{% if purge_before_unload > 0 %}
G92 E0
G0 E{purge_before_unload} F300
G92 E0
M400
{% endif %}
[gcode_macro _PURGE_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set e = params.E|int %}
{% set r = params.R|default(0)|int %}
DEBUG_ECHO PREFIX="_PURGE_FILAMENT" MSG="TOOLHEAD: {toolhead}, E: {e}"
{% if e > 0 %}
G92 E0
G0 E{e} F300
G92 E0
M400
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={0.4 if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={0.4 if toolhead == 1 else 0}
{% else %}
M106 S{(255 * 0.4)}
{% endif %}
{% endif %}
G4 P3000
{% if r > 0 %}
G92 E0
G0 E-{r} F300
G92 E0
M400
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_PARKING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_PARKING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_LOADING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_LOADING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if act_t == toolhead %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{loading_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CLEANING_MOVE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined and printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set cleaning_position = loading_position %}
{% if loading_position == parking_position %}
{% if loading_position > 0 %}
{% set cleaning_position = loading_position - 30 %}
{% else %}
{% set cleaning_position = loading_position + 30 %}
{% endif %}
{% endif %}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _START_PRINT_BED_MESH]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
SET_MACRO_TRAVEL_SETTINGS
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set X=[params.X0|default(-1)|float, params.X1|default(-1)|float] %}
{% set Y=[params.Y0|default(-1)|float, params.Y1|default(-1)|float] %}
DEBUG_ECHO PREFIX="_START_PRINT_BED_MESH" MSG="idex_mode: {idex_mode}, X: {X}, Y: {Y}"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set X=[0, printable_x_max] %}
{% endif %}
{% set beacon_bed_mesh_scv = printer["gcode_macro RatOS"].beacon_bed_mesh_scv|default(25)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% if printer.configfile.settings.beacon is defined and not beacon_contact_bed_mesh %}
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={beacon_bed_mesh_scv}
{% endif %}
{% set default_profile = printer["gcode_macro RatOS"].bed_mesh_profile|default('ratos') %}
{% if printer["gcode_macro RatOS"].calibrate_bed_mesh|lower == 'true' %}
BED_MESH_CLEAR
{% if printer["gcode_macro RatOS"].adaptive_mesh|lower == 'true' %}
CALIBRATE_ADAPTIVE_MESH PROFILE={default_profile} X0={X[0]} X1={X[1]} Y0={Y[0]} Y1={Y[1]} T={params.T|int} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={idex_mode}
{% else %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% endif %}
BED_MESH_PROFILE LOAD={default_profile}
{% elif printer["gcode_macro RatOS"].bed_mesh_profile is defined %}
BED_MESH_CLEAR
BED_MESH_PROFILE LOAD={printer["gcode_macro RatOS"].bed_mesh_profile}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
[gcode_macro CALIBRATE_ADAPTIVE_MESH]
gcode =
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set default_profile = params.PROFILE %}
{% set x0 = params.X0|default(-1)|float %}
{% set y0 = params.Y0|default(-1)|float %}
{% set x1 = params.X1|default(-1)|float %}
{% set y1 = params.Y1|default(-1)|float %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Recieved coordinates X0={x0} Y0={y0} X1={x1} Y1={y1}"
{% if x0 >= x1 or y0 >= y1 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Invalid coordinates received. Please check your slicer settings. Falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float %}
{% set mesh_x0 = [[x0, max_x]|min, min_x]|max %}
{% set mesh_y0 = [[y0, max_y]|min, min_y]|max %}
{% set mesh_x1 = [[x1, max_x]|min, min_x]|max %}
{% set mesh_y1 = [[y1, max_y]|min, min_y]|max %}
{% if mesh_x0 == min_x and mesh_y0 == min_y and mesh_x1 == max_x and mesh_y1 == max_y %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Print is using the full bed, falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% set probe_count_x = mesh_config.probe_count.split(",")[0]|int %}
{% if mesh_config.probe_count.split(",")|length == 2 %}
{% set probe_count_y = mesh_config.probe_count.split(",")[1]|int %}
{% else %}
{% set probe_count_y = mesh_config.probe_count.split(",")[0]|int %}
{% endif %}
{% set probe_x_step = (max_x - min_x) / probe_count_x %}
{% set probe_y_step = (max_y - min_y) / probe_count_y %}
{% set mesh_count_x = ([(mesh_x1 - mesh_x0) / probe_x_step, 3]|max)|int %}
{% set mesh_count_y = ([(mesh_y1 - mesh_y0) / probe_y_step, 3]|max)|int %}
{% set min_mesh_count = [mesh_count_x, mesh_count_y]|min %}
{% set max_mesh_count = [mesh_count_x, mesh_count_y]|max %}
{% set algorithm = mesh_config.algorithm %}
{% if algorithm|lower == 'lagrange' and max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="cannot exceed a probe_count of 6 when using lagrange interpolation. Falling back to bicubic interpolation."
{% set algorithm = 'bicubic' %}
{% endif %}
{% if algorithm|lower == 'bicubic' and min_mesh_count < 4 %}
{% if max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="invalid probe_count option when using bicubic interpolation. Combination of 3 points on one axis with more than 6 on another is not permitted. Forcing minimum mesh count to be 4."
{% set min_mesh_count = 4 %}
{% else %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="bicubic interpolation with a probe_count of less than 4 points detected. Forcing lagrange interpolation."
{% set algorithm = 'lagrange' %}
{% endif %}
{% endif %}
{% set mesh_count_x = ([min_mesh_count, mesh_count_x]|max)|int %}
{% set mesh_count_x = ([max_mesh_count, mesh_count_x]|min)|int %}
{% set mesh_count_y = ([min_mesh_count, mesh_count_y]|max)|int %}
{% set mesh_count_y = ([max_mesh_count, mesh_count_y]|min)|int %}
{% set should_prime = printer["gcode_macro RatOS"].nozzle_priming == 'primeblob' %}
{% if printer["dual_carriage"] is not defined %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% else %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% endif %}
{% if printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 != 0 and probe_first %}
{% set probe_first = false %}
{% elif printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 == 0 and not probe_first %}
{% set probe_first = true %}
{% endif %}
{% if should_prime and probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="mesh coordinates X0={mesh_x0} Y0={mesh_y0} X1={mesh_x1} Y1={mesh_y1}"
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% if should_prime and not probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
STOW_PROBE
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M84]
rename_existing = M84.1
gcode =
M84.1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
{% if printer["dual_carriage"] is defined %}
_SET_TOOLHEAD_OFFSET T={printer["gcode_macro RatOS"].default_toolhead|int} MOVE=0
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro _VAOC"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
{% endif %}
SET_GCODE_OFFSET X=0 Y=0 Z=0 MOVE=0
_IDEX_SINGLE INIT=1
{% endif %}
SET_SKEW CLEAR=1
_LED_MOTORS_OFF
[gcode_macro M104]
rename_existing = M104.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
DEBUG_ECHO PREFIX="M104" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set temperature_offset_t0 = printer["gcode_macro T0"].temperature_offset|default(0)|int %}
{% set temperature_offset_t1 = printer["gcode_macro T1"].temperature_offset|default(0)|int %}
{% set s0 = [s + temperature_offset_t0, 0]|max %}
{% set s1 = [s + temperature_offset_t1, 0]|max %}
{% if temperature_offset_t0 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t0}°C added to toolhead T0."
{% endif %}
{% if temperature_offset_t1 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t1}°C added to toolhead T1."
{% endif %}
{% else %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
M104.1 S{s0} T0
M104.1 S{s1} T1
{% else %}
M104.1 S{s} T{t}
{% endif %}
{% endif %}
[gcode_macro M109]
rename_existing = M109.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
DEBUG_ECHO PREFIX="M109" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M109" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
M109.1 S{s} T{t}
{% endif %}
[gcode_macro SET_HEATER_TEMPERATURE]
rename_existing = SET_HEATER_TEMPERATURE_BASE
gcode =
{% set heater = params.HEATER|default("") %}
{% set target = params.TARGET|default(0)|int %}
DEBUG_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="heater: {heater}, target: {target}"
{% if heater|lower == "extruder" or heater|lower == "extruder1" %}
{% set t = 0 if heater|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and target > 0 %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set target = [target + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
SET_HEATER_TEMPERATURE_BASE HEATER="{heater}" TARGET={target}
[gcode_macro TEMPERATURE_WAIT]
rename_existing = TEMPERATURE_WAIT_BASE
gcode =
{% set sensor = params.SENSOR|default("") %}
{% set minimum = params.MINIMUM|default(-1)|int %}
{% set maximum = params.MAXIMUM|default(-1)|int %}
DEBUG_ECHO PREFIX="TEMPERATURE_WAIT" MSG="sensor: {sensor}, minimum: {minimum}, maximum: {maximum}"
{% if sensor|lower == "extruder" or sensor|lower == "extruder1" %}
{% set t = 0 if sensor|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and (minimum > 0 or maximum > 0) %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% if minimum > -1 %}
{% set minimum = [minimum + temperature_offset, 0]|max %}
{% endif %}
{% if maximum > -1 %}
{% set maximum = [maximum + temperature_offset, 0]|max %}
{% endif %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% if minimum > -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum} MAXIMUM={maximum}
{% elif minimum > -1 and maximum == -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum}
{% elif minimum == -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MAXIMUM={maximum}
{% endif %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature for toolhead T{t} reached."
[gcode_macro SET_GCODE_OFFSET]
rename_existing = SET_GCODE_OFFSET_ORG
gcode =
SET_GCODE_OFFSET_ORG { rawparams }
{% if printer.configfile.settings.beacon is defined and (params.Z_ADJUST is defined or params.Z is defined) %}
_BEACON_APPLY_RUNTIME_MULTIPLIER
{% endif %}
[gcode_macro SDCARD_PRINT_FILE]
rename_existing = SDCARD_PRINT_FILE_BASE
gcode =
{% if printer["ratos"] is defined %}
PROCESS_GCODE_FILE { rawparams }
{% else %}
SDCARD_PRINT_FILE_BASE { rawparams }
{% endif %}
[gcode_macro SKEW_PROFILE]
rename_existing = SKEW_PROFILE_BASE
variable_loaded_profile = ""
gcode =
{% if params.LOAD is defined %}
{% if printer.configfile.settings["skew_correction %s" % params.LOAD] is defined %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='"{params.LOAD}"'
{% endif %}
{% endif %}
SKEW_PROFILE_BASE { rawparams }
[gcode_macro SET_SKEW]
rename_existing = SET_SKEW_BASE
gcode =
{% if params.CLEAR is defined %}
{% if params.CLEAR|default(0)|int == 1 %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='""'
{% endif %}
{% endif %}
SET_SKEW_BASE { rawparams }
[gcode_macro SET_VELOCITY_LIMIT]
rename_existing = SET_VELOCITY_LIMIT_BASE
gcode =
{% if params.ACCEL_TO_DECEL is defined %}
{% if params.ACCEL is defined %}
{% set accel = params.ACCEL|float %}
{% else %}
{% set accel = printer.toolhead.max_accel|float %}
{% endif %}
{% if params.VELOCITY is defined %}
{% set velocity = params.VELOCITY|float %}
{% else %}
{% set velocity = printer.toolhead.max_velocity|float %}
{% endif %}
{% if params.SQUARE_CORNER_VELOCITY is defined %}
{% set scv = params.SQUARE_CORNER_VELOCITY|float %}
{% else %}
{% set scv = printer.toolhead.square_corner_velocity|float %}
{% endif %}
{% set mcr = params.ACCEL_TO_DECEL|float / accel %}
DEBUG_ECHO PREFIX="SET_VELOCITY_LIMIT" MSG="ACCEL={accel}, VELOCITY={velocity}, SQUARE_CORNER_VELOCITY={scv}, MINIMUM_CRUISE_RATIO={mcr}"
SET_VELOCITY_LIMIT_BASE ACCEL={accel} VELOCITY={velocity} SQUARE_CORNER_VELOCITY={scv} MINIMUM_CRUISE_RATIO={1-mcr}
{% else %}
SET_VELOCITY_LIMIT_BASE { rawparams }
{% endif %}
[gcode_macro _START_PRINT_PARK]
gcode =
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_x = printer["gcode_macro RatOS"].start_print_park_x %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% endif %}
{% if printer["dual_carriage"] is defined and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
{% if printer["gcode_macro RatOS"].start_print_park_x is defined and printer["gcode_macro RatOS"].start_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="start_print_park_x is ignored for IDEX printers"
{% endif %}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={start_print_park_in} X={start_print_park_x}
G0 Z{z} F{z_speed}
[gcode_macro _END_PRINT_PARK]
gcode =
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro RatOS"].end_print_park_x is defined and printer["gcode_macro RatOS"].end_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="end_print_park_x is ignored for IDEX printers"
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={printer["gcode_macro RatOS"].end_print_park_in} X={printer["gcode_macro RatOS"].end_print_park_x}
[gcode_macro _PARK]
gcode =
{% set x = params.X %}
{% set location = params.LOCATION|default('back')|lower %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set nozzle_priming = printer["gcode_macro RatOS"].nozzle_priming|lower %}
CACHE_TOOLHEAD_SETTINGS KEY="park"
SET_MACRO_TRAVEL_SETTINGS
{% if x != '' %}
{% if x|float >= printer.toolhead.axis_minimum.x + 5 and x|float <= printable_x_max - 5 %}
{% set park_x = x|float %}
{% else %}
{action_respond_info('The requested X co-ordinate is outside the defined axis bounds - using defaults')}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% else %}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% set park_y = printable_y_max - 15 %}
{% if location == 'front' %}
{% set park_y = printer.toolhead.axis_minimum.y + 5 %}
{% elif location == 'center' %}
{% set park_y = printable_y_max / 2 %}
{% elif location == 'primeblob' and printer["dual_carriage"] is defined %}
{% set park_y = printable_y_max - 15 %}
{% endif %}
{% if location == 'primeblob' and printer["dual_carriage"] is not defined %}
{% if (nozzle_priming == 'primeblob' or nozzle_priming == 'primeline') %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set park_x = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set park_x = printable_x_max - 5 %}
{% else %}
{% set park_x = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set park_y = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set park_y = printable_y_max - 5 %}
{% else %}
{% set park_y = nozzle_prime_start_y|float %}
{% endif %}
{% endif %}
{% endif %}
G90
{% if printer["dual_carriage"] is not defined %}
G0 X{park_x} Y{park_y} F{speed}
{% else %}
G0 Y{park_y} F{speed}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="park"
[gcode_macro SAVE_PROBE_RESULT]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
{% set last_z_offset = 9999.9 %}
{% if printer.configfile.settings.beacon is defined %}
{% set current_z = printer.toolhead.position.z|float %}
{% if beacon_contact_prime_probing %}
{% set last_z_offset = printer.beacon.last_z_result %}
{% else %}
{% set last_z_offset = printer.beacon.last_sample.dist - current_z %}
{% endif %}
{% elif printer.configfile.settings.bltouch is defined %}
{% set config_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% elif printer.configfile.settings.probe is defined %}
{% set config_offset = printer.configfile.settings.probe.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Saving offset adjustment of {last_z_offset} in {params.VARIABLE|default('last_z_offset')}"
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE={params.VARIABLE|default('last_z_offset')} VALUE={last_z_offset}
[gcode_macro PROBE_FOR_PRIMING]
gcode =
{% set probe_for_priming_disable_mesh_constraints = true if printer["gcode_macro RatOS"].probe_for_priming_disable_mesh_constraints|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower != 'false' %}
SAVE_GCODE_STATE NAME=probe_for_priming_state
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the prime location.."
CACHE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
SET_MACRO_TRAVEL_SETTINGS
{% set t = params.TOOLHEAD|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% if idex_mode == '' %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% if t == 0 %}
{% set x_start = 5 %}
{% else %}
{% set x_start = printable_x_max - 5 %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% endif %}
{% endif %}
{% set z = printer.configfile.settings.bed_mesh.horizontal_move_z|float %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% if printer.configfile.settings.bltouch is defined %}
{% set x_offset = printer.configfile.settings.bltouch.x_offset|float %}
{% set y_offset = printer.configfile.settings.bltouch.y_offset|float %}
{% set z_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% elif printer.configfile.settings.probe is defined %}
{% set x_offset = printer.configfile.settings.probe.x_offset|float %}
{% set y_offset = printer.configfile.settings.probe.y_offset|float %}
{% set z_offset = printer.configfile.settings.probe.z_offset|float %}
{% elif printer.configfile.settings.beacon is defined %}
{% set x_offset = printer.configfile.settings.beacon.x_offset|float %}
{% set y_offset = printer.configfile.settings.beacon.y_offset|float %}
{% set z_offset = printer.configfile.settings.beacon.trigger_distance|float %}
{% else %}
{ action_raise_error("No probe, beacon or bltouch section found. Adaptive priming only works with a [probe], [beacon] or [bltouch] section defined.") }
{% endif %}
{% if z < z_offset %}
{ action_raise_error("Horizontal move Z ({z}) is below your probe's Z offset ({z_offset}). Please adjust your horizontal_move_z setting in [bed_mesh] to be above {z}.") }
{% endif %}
{% if not probe_for_priming_disable_mesh_constraints %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float - x_offset %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float - y_offset %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float - x_offset %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float - y_offset %}
{% set x_start = [[x_start, max_x]|min, min_x]|max %}
{% set y_start = [[y_start, max_y]|min, min_y]|max %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the start of the prime location at {x_start}, {y_start}"
G90
M83
G0 Z{z} F{z_speed}
G1 X{x_start} Y{y_start} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result
{% endif %}
{% if idex_mode == '' %}
{% set x_end = x_start %}
{% set y_end = y_start + 45 %}
{% else %}
{% if t==1 %}
{% set x_end = x_start - 45 %}
{% else %}
{% set x_end = x_start + 45 %}
{% endif %}
{% set y_end = y_start %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the end of the prime location at {x_end}, {y_end}"
G1 X{x_end} Y{y_end} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result
{% endif %}
RESTORE_GCODE_STATE NAME=probe_for_priming_state
RESTORE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
{% endif %}
[gcode_macro RESET_PRIME_PROBE_STATE]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result VALUE=None
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result_t1 VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result_t1 VALUE=None
{% endif %}
[gcode_macro PROBE_CURRENT_POSITION]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
SAVE_GCODE_STATE NAME=probe_current_position_state
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
ASSERT_PROBE_DEPLOYED
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_prime_probing %}
PROBE PROBE_METHOD=contact SAMPLES=1
{% else %}
PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
BEACON_QUERY
{% else %}
RESTORE_GCODE_STATE NAME=probe_current_position_state MOVE=1 MOVE_SPEED={printer["gcode_macro RatOS"].macro_z_speed|float}
{% endif %}
[gcode_macro PRIME_BLOB]
description = Prints a primeblob, used internally, if configured, as part of the START_PRINT macro.
variable_x_offset = 5
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="prime_blob"
SET_MACRO_TRAVEL_SETTINGS
RATOS_ECHO PREFIX="Priming" MSG="Priming nozzle with prime blob.."
{% set current_toolhead = 0 %}
{% set target_idex_mode = '' %}
{% set extruder = 'extruder' %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE is defined %}
{% set target_idex_mode = params.IDEX_MODE|default('')|lower %}
{% else %}
{ action_raise_error("IDEX_MODE parameter not found for PRIME_BLOB macro. This is likely a bug.") }
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Priming in IDEX {target_idex_mode} mode.."
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set current_toolhead = 1 if current_idex_mode=='primary' else 0 %}
{% set extruder = 'extruder1' if current_toolhead == 1 else 'extruder' %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
SAVE_GCODE_STATE NAME=prime_blob_state
{% endif %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set fan_speed = printer["gcode_macro RatOS"].nozzle_prime_bridge_fan|float %}
{% set nozzle_diameter = printer.configfile.settings[extruder].nozzle_diameter|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set has_start_offset_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) != 9999.9 %}
{% if printer["dual_carriage"] is defined %}
{% set has_start_offset_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) != 9999.9 %}
{% endif %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_z_height = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set nozzle_prime_direction = printer["gcode_macro RatOS"].nozzle_prime_direction|lower %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% if target_idex_mode == '' %}
{% set x_factor = 0 %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% set y_factor = 1 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% set y_factor = -1 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% if nozzle_prime_start_y|float < printable_y_max / 2 %}
{% set y_factor = 1 %}
{% else %}
{% set y_factor = -1 %}
{% endif %}
{% endif %}
{% if nozzle_prime_direction == 'forwards' %}
{% set y_factor = 1 %}
{% elif nozzle_prime_direction == 'backwards' %}
{% set y_factor = -1 %}
{% endif %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% else %}
{% set z = start_print_park_z_height %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% set y_factor = 0 %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set x_start = center_x / 2 + 5 %}
{% set x_factor = 1 %}
{% else %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% if current_toolhead == 0 %}
{% set x_start = 55 %}
{% set x_factor = -1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 55 %}
{% set x_factor = 1 %}
{% endif %}
{% else %}
{% if current_toolhead == 0 %}
{% set x_start = 5 %}
{% set x_factor = 1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 5 %}
{% set x_factor = -1 %}
{% endif %}
{% endif %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_x_max - 5 %}
{% endif %}
{% set z = 10 %}
{% endif %}
{% set start_z_offset = 0 %}
{% set end_z_offset = 0 %}
{% if has_start_offset_t0 %}
{% set start_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) %}
{% set end_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_end_result|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t0) ) }
{% endif %}
{% if end_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t0) ) }
{% endif %}
{% set start_z_offset = start_z_probe_result_t0 %}
{% set end_z_offset = end_z_probe_result_t0 %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if current_toolhead == 1 or both_toolheads or target_idex_mode == "copy" or target_idex_mode == "mirror" %}
{% if has_start_offset_t1 %}
{% set start_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) %}
{% set end_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_end_result_t1|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t1) ) }
{% endif %}
{% if end_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t1) ) }
{% endif %}
{% set start_z_offset = [start_z_offset, start_z_probe_result_t1]|max %}
{% set end_z_offset = [end_z_offset, start_z_probe_result_t1]|max %}
{% endif %}
{% endif %}
{% if target_idex_mode != 'copy' and target_idex_mode != 'mirror' %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% set original_start_z_offset = start_z_offset %}
{% set original_end_z_offset = end_z_offset %}
{% set start_z_offset = original_end_z_offset %}
{% set end_z_offset = original_start_z_offset %}
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={current_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="PRIME_BLOB" MSG="x_start: {x_start}, y_start: {y_start}, x_factor: {x_factor}, y_factor: {y_factor}, z: {z}, start_z_offset: {start_z_offset}, end_z_offset: {end_z_offset}"
G90
M83
RATOS_ECHO PREFIX="Priming" MSG="Lifting Z to {z}.."
G0 Z{z} F{z_speed}
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% if start_print_park_in != 'primeblob' %}
G1 X{x_start} F{speed}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% endif %}
{% else %}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% if target_idex_mode=="copy" or target_idex_mode=="mirror" %}
RATOS_ECHO PREFIX="Priming" MSG="Mirroring move to {x_start}, {y_start} along the edge of the print area.."
_IDEX_MIRROR PRIMING=1
{% else %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% endif %}
G1 X{x_start} F{speed}
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Starting prime blob.."
G1 Z{0.5 + start_z_offset} F{z_speed}
G1 Y{y_start} F{speed}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
M106 S{fan_speed}
G1 Z5 F100 E5
G92 E0
RATOS_ECHO PREFIX="Priming" MSG="Bridging with {((fan_speed/255) * 100)|int}% fan speed.."
G1 F3000 X{x_start + (15 * x_factor)} Y{y_start + (15 * y_factor)} E{1 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (20 * x_factor)} Y{y_start + (20 * y_factor)} Z{3.8 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (34 * x_factor)} Y{y_start + (34 * y_factor)} Z{2.6 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (38 * x_factor)} Y{y_start + (38 * y_factor)} Z{1.4 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (42 * x_factor)} Y{y_start + (42 * y_factor)} Z{0.2 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
M106 S0
G1 F3000 X{x_start + (46 * x_factor)} Y{y_start + (46 * y_factor)} Z{0.2 + end_z_offset} E0.6
G1 F{speed} X{x_start + (50 * x_factor)} Y{y_start + (50 * y_factor)}
{% if target_idex_mode == "copy" or target_idex_mode == "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if target_idex_mode == "copy" %}
{% if first_y >= 0 %}
_IDEX_COPY DANCE=0 Y={first_y}
{% else %}
_IDEX_COPY DANCE=0 Y={params.Y1}
{% endif %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
RESTORE_GCODE_STATE NAME=prime_blob_state
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="prime_blob"
G92 E0
[gcode_macro UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% set temp = params.TEMP|default(220)|int %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_UNLOAD_FILAMENT TEMP={temp} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _LEGACY_UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set unload_speed = 5 * 60 %}
{% set unload_length = printer["gcode_macro RatOS"].filament_unload_length|float %}
M117 Unloading filament...
G0 E10 F300
G0 E-5 F3600
G4 P3000
G0 E5 F6000
G0 E-15 F6000
G0 E-{unload_length} F{unload_speed}
_CLEANING_MOVE TOOLHEAD={toolhead}
M117 Filament unloaded!
RESPOND MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _DEFAULT_UNLOAD_FILAMENT]
description = Unload filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_UNLOAD_FILAMENT" MSG="TEMP: {temp}"
_LED_UNLOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=unload_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD=0 NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TOOLHEAD=0
{% endif %}
RESTORE_GCODE_STATE NAME=unload_state
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD=0
[gcode_macro _IDEX_UNLOAD_FILAMENT]
description = Unload filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_UNLOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead}
{% endif %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Unloading filament from nozzle to cooling zone... Please wait!"
_PURGE_BEFORE_UNLOAD TOOLHEAD={toolhead}
{% if printer["gcode_macro _UNLOAD_WITHOUT_TIP_FORMING"] is defined %}
_UNLOAD_WITHOUT_TIP_FORMING TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_UNLOAD_WITH_TIP_FORMING NAME='{filament_name}' TYPE='{filament_type}'
{% endif %}
G4 P3000
[gcode_macro _UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
{% set tooolhead_sensor_to_extruder_gear_distance = printer["gcode_macro T%s" % toolhead].tooolhead_sensor_to_extruder_gear_distance|float %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER" MSG="TOOLHEAD: {toolhead}"
G0 E-{extruder_gear_to_cooling_position_distance + tooolhead_sensor_to_extruder_gear_distance + 50} F{extruder_load_speed}
RATOS_ECHO MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _UNLOAD_WITH_TIP_FORMING]
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% if filament_name != '' and filament_type != '' %}
_UNLOAD_KNOWN_FILAMENT NAME={filament_name} TYPE={filament_type}
{% else %}
_UNLOAD_UNKNOWN_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _UNLOAD_KNOWN_FILAMENT]
description = User overrideable tip forming macro if slicer filament profiles are known
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
RATOS_ECHO PREFIX="FILAMENT TYPE" MSG='{filament_type}'
RATOS_ECHO PREFIX="FILAMENT PROFILE" MSG='{filament_name}'
{% if filament_name == "Prusament PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% elif filament_name == "Nobufil PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% else %}
RATOS_ECHO PREFIX="_UNLOAD_KNOWN_FILAMENT" MSG="Filament profile not found!"
_UNLOAD_UNKNOWN_FILAMENT
{% endif %}
[gcode_macro _UNLOAD_UNKNOWN_FILAMENT]
description = User overrideable standard tip forming macro
gcode =
DEBUG_ECHO PREFIX="_UNLOAD_UNKNOWN_FILAMENT" MSG="Using standard tip forming macro!"
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
[gcode_macro _TIP_FORMING]
gcode =
{% set cooling_moves = params.COOLING_MOVES|default(4)|int %}
{% set cooling_move_length = params.COOLING_MOVE_LENGTH|default(10)|float %}
{% set start_cooling_speed = params.START_COOLING_SPEED|default(10)|float * 60 %}
{% set end_cooling_speed = params.END_COOLING_SPEED|default(50)|float * 60 %}
{% if cooling_moves == 0 %}
{% set cooling_move_length = 0 %}
{% endif %}
{% set dip = true if params.DIP|default(false)|lower == "true" else false %}
{% set dip_length = params.DIP_LENGTH|default(22)|float %}
{% set dip_speed = params.DIP_SPEED|default(30)|float * 60 %}
{% set dip_retract_speed = params.DIP_RETRACT_SPEED|default(70)|float * 60 %}
{% set retract_length = params.RETRACT_LENGTH|default(18)|float %}
{% set start_retract_speed = params.START_RETRACT_SPEED|default(120)|float * 60 %}
{% set end_retract_speed = params.END_RETRACT_SPEED|default(20)|float * 60 %}
DEBUG_ECHO PREFIX="_TIP_FORMING" MSG="cooling_moves: {cooling_moves}, cooling_move_length: {cooling_move_length}, start_cooling_speed: {start_cooling_speed}, end_cooling_speed: {end_cooling_speed}, dip: {dip}, dip_length: {dip_length}, dip_speed: {dip_speed}, dip_retract_speed: {dip_retract_speed}, retract_length: {retract_length}, start_retract_speed: {start_retract_speed}, end_retract_speed: {end_retract_speed}"
M220 S100
G92 E0
{% set retract = retract_length + cooling_move_length / 2 - 15 %}
G1 E-15 F{start_retract_speed}
G1 E-{0.7 * retract} F{1.0 * end_retract_speed}
G1 E-{0.2 * retract} F{0.5 * end_retract_speed}
G1 E-{0.1 * retract} F{0.3 * end_retract_speed}
G92 E0
{% if cooling_moves > 0 %}
{% set i = (end_cooling_speed - start_cooling_speed) / (2 * cooling_moves - 1) %}
{% for m in range(cooling_moves) %}
G1 E{cooling_move_length} F{(start_cooling_speed + i * m * 2)}
G1 E-{cooling_move_length} F{(start_cooling_speed + i * (m * 2 + 1))}
{% endfor %}
{% endif %}
G92 E0
{% if dip %}
G1 E{dip_length} F{dip_speed}
G4 P100
G1 E-{dip_length} F{dip_retract_speed}
{% endif %}
G92 E0
M400
[gcode_macro _ON_FILAMENT_SENSOR_BUTTON_PRESSED]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_SENSOR_BUTTON_PRESSED" MSG="TOOLHEAD: {toolhead}"
{% if not printer.virtual_sdcard.is_active %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_FILAMENT_END]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set clogged = true if params.CLOGGED|default(false)|lower == 'true' else false %}
{% set unload_after_runout = printer["gcode_macro T%s" % toolhead].unload_after_runout|float %}
{% if clogged %}
_LED_FILAMENT_CLOG TOOLHEAD={toolhead}
{% else %}
_LED_FILAMENT_RUNOUT TOOLHEAD={toolhead}
{% endif %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_END" MSG="TOOLHEAD: {toolhead}"
{% if printer.virtual_sdcard.is_active %}
{% if not printer.pause_resume.is_paused %}
PAUSE RUNOUT=True
{% endif %}
{% if not clogged and unload_after_runout %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% if not clogged and printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true'%}
_JOIN_SPOOL TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M600]
description = Executes a color change by pausing the printer an unloading the filament.
gcode =
PAUSE
UNLOAD_FILAMENT
RATOS_ECHO MSG="Please load new filament and resume"
[gcode_macro COLD_PULL]
description = Automated hotend cold pull.
gcode =
{% set extrusion_temp = params.EXTRUSION_TEMP|default(220)|int %}
{% set cold_pull_temp = params.COLD_PULL_TEMP|default(80)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% if printer["dual_carriage"] is not defined %}
{% set toolhead = 0 %}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead != 0 and toolhead != 1 %}
{action_raise_error("Please select toolhead! 0 = left, 1 = right toolhead")}
{% endif %}
{% endif %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
SAVE_GCODE_STATE NAME=cold_pull_state
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
RATOS_ECHO MSG="Heating T{toolhead} to {extrusion_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={extrusion_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={extrusion_temp} MAXIMUM={extrusion_temp + 2}
G4 P3000
RATOS_ECHO MSG="extruding..."
G92 E0
G1 E30 F300
G92 E0
RATOS_ECHO MSG="Heating T{toolhead} to {cold_pull_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={cold_pull_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={cold_pull_temp} MAXIMUM={cold_pull_temp + 2}
G4 P10000
RATOS_ECHO MSG="cold pull..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-40 VELOCITY=5 ACCEL=100
RATOS_ECHO MSG="eject filament..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-200 VELOCITY=20 ACCEL=500
RATOS_ECHO MSG="cooling down extruder..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
RESTORE_GCODE_STATE NAME=cold_pull_state
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
CONSOLE_ECHO TITLE="Cold pull finished!" MSG="Please remove the filament from the PTFE tube and cut the end off. Do NOT try to load it again." TYPE="warning"
[gcode_macro _USER_START_PRINT_BEFORE_HOMING]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_BED]
gcode =
[gcode_macro _USER_START_PRINT_BED_MESH]
gcode =
[gcode_macro _USER_START_PRINT_PARK]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
[gcode_macro _USER_START_PRINT_HEAT_CHAMBER]
description = Uses the extruder sensor to wait for chamber temp. Override the _START_PRINT_HEAT_CHAMBER macro to implement heated chamber handling.
gcode =
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
[gcode_macro _USER_END_PRINT_BEFORE_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_AFTER_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_PARK]
gcode =
[gcode_macro _USER_END_PRINT_FINISHED]
description = User hook for when the print is finished after gcode state has been restored.
gcode =
[gcode_macro _USER_START_PRINT]
gcode =
[gcode_macro _USER_END_START_PRINT]
gcode =
[gcode_macro _USER_START_FEATURE]
gcode =
[gcode_macro _USER_END_FEATURE]
gcode =
[gcode_macro ECHO_T_VARS]
description = Echo Toolhead variables to the console.
gcode =
{% set t = params.T|default(0) %}
RATOS_ECHO MSG="T{t} Variables"
{% for var, value in printer["gcode_macro T%s" % t].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro ECHO_RATOS_VARS]
description = Echo RatOS variables to the console.
gcode =
{% for var, value in printer["gcode_macro RatOS"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[delayed_gcode RATOS_INIT]
initial_duration = 0.1
gcode =
_LED_STANDBY
CALCULATE_PRINTABLE_AREA
INITIAL_FRONTEND_UPDATE
_CHAMBER_FILTER_SANITY_CHECK
[delayed_gcode RATOS_LOGO]
initial_duration = 2
gcode =
HELLO_RATOS
[gcode_macro INITIAL_FRONTEND_UPDATE]
gcode =
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_error = printer["gcode_macro RatOS"].status_color_error|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_unknown}"'
{% endif %}
{% set t0_sensor = "undefined" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
{% set t0_sensor = "detected" %}
{% else %}
{% set t0_sensor = "empty" %}
{% endif %}
{% else %}
{% set t0_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set t1_sensor = "undefined" %}
{% if printer["dual_carriage"] is defined and printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
{% set t1_sensor = "detected" %}
{% else %}
{% set t1_sensor = "empty" %}
{% endif %}
{% else %}
{% set t1_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set svv = printer.save_variables.variables %}
{% if svv.t0_filament is defined and printer["gcode_macro T0"] is defined %}
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
{% if t0_sensor != "empty" %}
{% set t0_filament_type = svv.t0_filament[0]|default('')|string %}
{% set t0_filament_name = svv.t0_filament[1]|default('')|string %}
{% set t0_filament_temp = svv.t0_filament[2]|default(0)|float %}
{% if t0_filament_name != '' and t0_filament_type != '' and t0_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{t0_filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{t0_filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={t0_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
{% if svv.t1_filament is defined and printer["gcode_macro T1"] is defined %}
{% if printer["gcode_macro T1"].filament_name is defined and printer["gcode_macro T1"].filament_type is defined and printer["gcode_macro T1"].filament_temp is defined %}
{% if t1_sensor != "empty" %}
{% set t1_filament_type = svv.t1_filament[0]|default('')|string %}
{% set t1_filament_name = svv.t1_filament[1]|default('')|string %}
{% set t1_filament_temp = svv.t1_filament[2]|default(0)|float %}
{% if t1_filament_name != '' and t1_filament_type != '' and t1_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='"{t1_filament_name}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='"{t1_filament_type}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE={t1_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t1_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro CALCULATE_PRINTABLE_AREA]
gcode =
{% set bed_margin_x = printer["gcode_macro RatOS"].bed_margin_x %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set tool = 0 if printer["gcode_macro T0"] is not defined or printer["gcode_macro T0"].active else 1 %}
{% set max_x = printer.toolhead.axis_maximum.x if printer["dual_carriage"] is defined and tool == 0 else printer.toolhead.axis_maximum.x - bed_margin_x[1] %}
{% if printer["dual_carriage"] is defined %}
{% set max_x = printer.toolhead.axis_maximum.x %}
{% endif %}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="printer.toolhead.axis_maximum.x {printer.toolhead.axis_maximum.x}"
{% set max_y = printer.toolhead.axis_maximum.y - bed_margin_y[1]%}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_x_max VALUE={max_x}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_y_max VALUE={max_y}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="Printable area calculated: X: 0,{max_x} Y: 0,{max_y}"
[gcode_macro CACHE_TOOLHEAD_SETTINGS]
variable_cache = {"global": {"accel": 1000, "ratio": 0.5, "speed": 50, "scv": 5}}
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set dummy = cache.__setitem__(key, {"accel": printer.toolhead.max_accel, "ratio": printer.toolhead.minimum_cruise_ratio, "speed": printer.toolhead.max_velocity, "scv": printer.toolhead.square_corner_velocity}) %}
SET_GCODE_VARIABLE MACRO=CACHE_TOOLHEAD_SETTINGS VARIABLE=cache VALUE="{cache | pprint | replace("\n", "") | replace("\"", "\\\"")}"
DEBUG_ECHO PREFIX="CACHE_TOOLHEAD_SETTINGS" MSG="Toolhead settings cached for {key}. {printer.toolhead.max_accel} accel, {printer.toolhead.minimum_cruise_ratio} ratio, {printer.toolhead.max_velocity} velocity, {printer.toolhead.square_corner_velocity} scv."
[gcode_macro RESTORE_TOOLHEAD_SETTINGS]
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set values = printer["gcode_macro CACHE_TOOLHEAD_SETTINGS"].cache.__getitem__(key) %}
{% if values is not defined or values == 'None' %}
{ action_raise_error("RESTORE_TOOLHEAD_SETTINGS: Toolhead settings not cached for key '" ~ key ~ "'.") }
{% endif %}
SET_VELOCITY_LIMIT ACCEL={values.accel} MINIMUM_CRUISE_RATIO={values.ratio} VELOCITY={values.speed} SQUARE_CORNER_VELOCITY={values.scv}
DEBUG_ECHO PREFIX="RESTORE_TOOLHEAD_SETTINGS" MSG="Toolhead settings restored. {values.accel} accel, {values.ratio} ratio, {values.speed} velocity, {values.scv} scv."
[gcode_macro SET_MACRO_TRAVEL_SETTINGS]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set accel = printer["gcode_macro RatOS"].macro_travel_accel %}
SET_VELOCITY_LIMIT ACCEL={accel} MINIMUM_CRUISE_RATIO=0.5 VELOCITY={speed} SQUARE_CORNER_VELOCITY={5}
DEBUG_ECHO PREFIX="SET_MACRO_TRAVEL_SETTINGS" MSG="Macro travel settings set. {accel} accel, {speed} velocity"
[gcode_macro SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% if printer["dual_carriage"] is not defined %}
SET_KINEMATIC_POSITION X={printable_x_max / 2} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
{% else %}
IDEX_SET_CENTER_KINEMATIC_POSITION
{% endif %}
[gcode_macro IDEX_SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x - (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x + (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
[gcode_macro VERIFY_HYBRID_INVERTED]
gcode =
{% set inverted = False %}
{% if printer.configfile.settings.ratos_hybrid_corexy is defined and printer.configfile.settings.ratos_hybrid_corexy.inverted is defined %}
{% if printer.configfile.settings.ratos_hybrid_corexy.inverted|lower == 'true' %}
{% set inverted = True %}
{% endif %}
{% endif %}
{% if inverted == False %}
{ action_emergency_stop("ratos_hybrid_corexy NOT INVERTED! Inverted hybrid core-xy bugfix not detected.") }
{% endif %}
[gcode_macro RATOS_ECHO]
gcode =
{% set prefix = "RatOS" %}
{% set debug = params.DEBUG|default(0)|int %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " | " ~ params.PREFIX %}
{% endif %}
{% set prefix = prefix ~ ":" %}
{% set msg = "" %}
{% if params.MSG is defined %}
{% set msg = params.MSG %}
{% else %}
{% set msg = "No msg parameter provided (this is a bug or unintended use)." %}
{% endif %}
{% if not debug %}
M117 {prefix} {msg}
{% endif %}
RATOS_LOG PREFIX="{prefix}" MSG="{msg}"
{% if not debug %}
RESPOND PREFIX="{prefix}" MSG="{msg}"
{% else %}
CONSOLE_ECHO TITLE="{prefix}" TYPE="debug" MSG="{msg}"
{% endif %}
[gcode_macro ENABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=True
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=prefix_filter VALUE="'{params.FILTER|default('')|lower}'"
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging enabled."
[gcode_macro DISABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=False
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging disabled."
[gcode_macro DEBUG_ECHO]
variable_enabled = False
variable_prefix_filter = ''
gcode =
{% set prefix = "DEBUG" %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " - " ~ params.PREFIX %}
{% endif %}
{% if enabled and (prefix_filter|lower == '' or prefix_filter|lower in params.PREFIX|lower) %}
RATOS_ECHO PREFIX="{prefix}" MSG="{params.MSG}" DEBUG=1
{% endif %}
[gcode_macro START_FEATURE]
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="Start {params.FEATURE} feature gcode"
{% set scv = printer.toolhead.square_corner_velocity|int|default(5) %}
{% set accel = printer.toolhead.max_accel|int|default(10000) %}
{% set ratio = printer.toolhead.minimum_cruise_ratio|float|default(0.5) %}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="scv" VALUE={scv}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="accel" VALUE={accel}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="ratio" VALUE={ratio}
_USER_START_FEATURE FEATURE="{params.FEATURE}"
[gcode_macro END_FEATURE]
variable_scv = 5
variable_accel = 10000
variable_ratio = 0.5
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="End {params.FEATURE} feature gcode"
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={scv} ACCEL={accel} MINIMUM_CRUISE_RATIO={ratio}
_USER_END_FEATURE FEATURE="{params.FEATURE}" SCV={scv} ACCEL={accel} RATIO={ratio}
[gcode_macro _ON_LAYER_CHANGE]
variable_layer_number = 0
description = INTERNAL USE ONLY. Call it from the slicers after layer change custom gcode
gcode =
{% set layer = params.LAYER|int %}
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE={layer}
SET_PRINT_STATS_INFO CURRENT_LAYER={layer}
[gcode_macro _LEARN_MORE_CALIBRATION]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/calibration" %}
{% set link_text = "RatOS Calibration Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_CHAMBER_FILTER]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter Control" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_FILAMENT]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/filaments" %}
{% set link_text = "RatOS Filament Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _CONSOLE_SAVE_CONFIG]
gcode =
M118 Click SAVE_CONFIG to save the settings to your printer.cfg.
[gcode_macro SAVE_Z_OFFSET]
gcode =
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SAVE_MULTIPLIER
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _LOAD_RATOS_SKEW_PROFILE]
gcode =
{% set ratos_skew_profile = printer["gcode_macro RatOS"].skew_profile|default("") %}
{% if ratos_skew_profile != "" %}
{% if printer.configfile.config["skew_correction %s" % ratos_skew_profile] is defined %}
SKEW_PROFILE LOAD={ratos_skew_profile}
GET_CURRENT_SKEW
{% else %}
{% set line_1 = '"Could not find skew profile %s!_N_Clearing skew correction."' % ratos_skew_profile %}
CONSOLE_ECHO TITLE="Missing skew profile!" TYPE="warning" MSG={line_1}
SET_SKEW CLEAR=1
{% endif %}
{% endif %}
[gcode_macro M601]
gcode =
PAUSE
[gcode_macro PAUSE]
description = Pauses the print
rename_existing = PAUSE_BASE
variable_extrude = 1.5
variable_retract = 1.5
variable_fan_speed = 0
variable_idex_mode = ""
variable_idex_toolhead = 0
variable_idex_toolhead_x = 0.0
variable_idex_toolhead_y = 0.0
variable_idex_toolhead_z = 0.0
gcode =
{% set runout_detected = true if params.RUNOUT|default(false)|lower == 'true' else false %}
_LED_PAUSE
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set idex_toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
SAVE_GCODE_STATE NAME=PAUSE_state
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_mode VALUE='"{idex_mode}"'
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={idex_toolhead}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_x VALUE={printer.gcode_move.gcode_position.x|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_y VALUE={printer.gcode_move.gcode_position.y|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_z VALUE={printer.gcode_move.gcode_position.z|float}
DEBUG_ECHO PREFIX="PAUSE" MSG="idex_mode: {idex_mode}, idex_toolhead: {idex_toolhead}, idex_toolhead_x: {idex_toolhead_x}, idex_toolhead_y: {idex_toolhead_y}, idex_toolhead_z: {idex_toolhead_z}"
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
CACHE_TOOLHEAD_SETTINGS KEY="pause"
SET_MACRO_TRAVEL_SETTINGS
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% if current_z < (max_z - 20.0) %}
{% set z_safe = 20.0 %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
PAUSE_BASE
{% if printer["dual_carriage"] is not defined %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan"].speed|float}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
{% if idex_toolhead == 0 %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t1"].speed|float}
{% endif %}
{% endif %}
{% endif %}
M106 S0
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if idex_mode != '' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set R = printer["gcode_macro PAUSE"].retract|float %}
{% if can_extrude %}
G91
G1 E-{R} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].pause_print_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].pause_print_park_in %}
{% if runout_detected %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].runout_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].runout_park_in %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
DEBUG_ECHO PREFIX="PAUSE" MSG="z_speed: {z_speed}, pause_print_park_x: {pause_print_park_x}, pause_print_park_in: {pause_print_park_in}, default_toolhead: {default_toolhead}"
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F{z_speed}
G90
{% if printer["dual_carriage"] is not defined %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% else %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
_IDEX_SINGLE X={parking_position}
{% else %}
PARK_TOOLHEAD
{% endif %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="pause"
[gcode_macro RESUME]
description = Resumes the print if the printer is paused.
rename_existing = RESUME_BASE
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set target_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set target_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% endif %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if target_idex_mode != '' %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set fan_speed = printer["gcode_macro PAUSE"].fan_speed|float %}
{% if printer["dual_carriage"] is not defined %}
M106 S{(fan_speed * 255)}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% else %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% else %}
{% if printer["gcode_macro PAUSE"].idex_toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% endif %}
{% endif %}
M106.1 S{fan_speed}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY DANCE=0
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR DANCE=0
{% else %}
{% if params.TOOLHEAD is defined %}
_SELECT_TOOL T={params.TOOLHEAD} X=-1 Y=-1 TOOLSHIFT=false
{% else %}
_SELECT_TOOL T={printer["gcode_macro PAUSE"].idex_toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% endif %}
{% set x = printer["gcode_macro PAUSE"].idex_toolhead_x|float %}
{% set y = printer["gcode_macro PAUSE"].idex_toolhead_y|float %}
{% set z = printer["gcode_macro PAUSE"].idex_toolhead_z|float %}
G1 X{x} Y{y} Z{z} F{speed}
{% if params.TOOLHEAD is defined %}
SAVE_GCODE_STATE NAME=PAUSE_STATE
{% endif %}
{% endif %}
{% if params.TOOLHEAD is not defined %}
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
{% if can_extrude %}
G91
G1 E{E} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 MOVE_SPEED={speed}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
RESUME_BASE
_LED_PRINTING
[gcode_macro CANCEL_PRINT]
description = Cancels the printer
rename_existing = CANCEL_PRINT_BASE
gcode =
END_PRINT
TURN_OFF_HEATERS
CLEAR_PAUSE
CANCEL_PRINT_BASE
[gcode_macro START_PRINT]
description = Start print procedure, use this in your Slicer.
variable_post_processor_version = 2
variable_is_printing_gcode = False
variable_both_toolheads = True
variable_object_xoffset = 0
variable_first_x = -1
variable_first_y = -1
variable_total_toolshifts = 0
variable_initial_tool = 0
variable_extruder_first_layer_temp = ""
variable_extruder_other_layer_temp = ""
gcode =
{% if "xyz" in printer.toolhead.homed_axes and printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% if printer["gcode_macro _VAOC"].is_started|default(true)|lower == 'true' %}
_VAOC_END
{% endif %}
{% endif %}
_LED_START_PRINTING
CACHE_TOOLHEAD_SETTINGS KEY="start_print"
_USER_START_PRINT { rawparams }
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set z_probe_stowable = printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set X0 = params.X0|default(-1)|float %}
{% set X1 = params.X1|default(-1)|float %}
{% set Y0 = params.Y0|default(-1)|float %}
{% set Y1 = params.Y1|default(-1)|float %}
{% if first_x == -1 or first_y == -1 %}
{% set first_x = params.FIRST_X|default(-1)|float %}
{% set first_y = params.FIRST_Y|default(-1)|float %}
{% endif %}
{% set total_toolshifts = params.TOTAL_TOOLSHIFTS|default(0)|int %}
{% set initial_tool = params.INITIAL_TOOL|default(default_toolhead)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(printer.heater_bed.target, true)|float %}
{% set total_layer_count = params.TOTAL_LAYER_COUNT|default(0)|int %}
{% set extruder_first_layer_temp = (params.EXTRUDER_TEMP|default("")).split(",") %}
RATOS_ECHO MSG="First print coordinates X:{first_x} Y:{first_y}"
{% if params.TOTAL_LAYER_COUNT is not defined %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Configuration" %}
{% set line_1 = '"Your slicer gcode settings are not up to date._N_Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Incomplete Slicer Configuration detected" TYPE="warning" MSG={line_1}
{% endif %}
SET_PRINT_STATS_INFO CURRENT_LAYER=1
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE=1
{% if total_layer_count > 0 %}
SET_PRINT_STATS_INFO TOTAL_LAYER={total_layer_count}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads %}
{% set initial_tool = 0 if initial_tool == 1 else 1 %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% set both_toolheads = true %}
{% if total_toolshifts == 0 %}
{% set both_toolheads = false %}
{% endif %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
{% endif %}
{% if both_toolheads and (idex_mode == "copy" or idex_mode == "mirror") %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Gcode tool changes found. Copy and mirror mode do not support toolchanges.")}
{% endif %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set both_toolheads = true %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=initial_tool VALUE={initial_tool}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_x VALUE={first_x}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_y VALUE={first_y}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=total_toolshifts VALUE={total_toolshifts}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=both_toolheads VALUE={both_toolheads}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_first_layer_temp VALUE="'{params.EXTRUDER_TEMP}'"
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_other_layer_temp VALUE="'{params.EXTRUDER_OTHER_LAYER_TEMP}'"
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE=0
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set stepper_x_position_min = printer.configfile.settings.stepper_x.position_min|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set x_parking_space = parking_position_t0 - (stepper_x_position_endstop , stepper_x_position_min)|max %}
{% set dc_parking_space = (dual_carriage_position_endstop , dual_carriage_position_max)|min - parking_position_t1 %}
{% if svv.idex_xoffset|abs >= (x_parking_space - 0.5) or svv.idex_xoffset|abs >= (dc_parking_space - 0.5) %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Toolhead x-offset is too high for the available parking space. Calibrate your X and DC endstop positions and make sure you stay below 1mm." % (copy_mode_max_width)) }
{% endif %}
{% endif %}
{% if (idex_mode == "copy" or idex_mode == "mirror") and printer.configfile.settings.ratos.enable_gcode_transform %}
{% if params.MIN_X is not defined or params.MAX_X is not defined %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Something went wrong! Missing important post processor start print parameter!") }
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE=0
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set boundary_box_min_x = params.MIN_X|default(0)|float %}
{% set boundary_box_max_x = params.MAX_X|default(printable_x_max)|float %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
{% set boundary_box_max_x = boundary_box_max_x + svv.idex_xoffset %}
{% else %}
{% set boundary_box_min_x = boundary_box_min_x - svv.idex_xoffset %}
{% endif %}
{% set center_x = printable_x_max / 2.0 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set object_width = boundary_box_max_x - boundary_box_min_x %}
{% set copy_mode_max_width = center_x %}
{% set mirror_mode_max_width = center_x - safe_distance / 2.0 %}
DEBUG_ECHO PREFIX="START_PRINT" MSG="OBJECT_WIDTH: {object_width} BOUNDARY_BOX_MIN_X: {boundary_box_min_x} BOUNDARY_BOX_MAX_X: {boundary_box_max_x} CENTER_X: {center_x} SAFE_DISTANCE: {safe_distance}"
{% if idex_mode == "copy" and object_width > copy_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for copy mode! Max supported width is %s mm" % (copy_mode_max_width)) }
{% endif %}
{% if idex_mode == "mirror" and object_width > mirror_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for mirror mode! Max supported width is %s mm" % (mirror_mode_max_width)) }
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = (printable_x_max - boundary_box_max_x - boundary_box_min_x) / 2 %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE={object_xoffset}
{% endif %}
{% endif %}
{% set has_initial_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_initial_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined and both_toolheads %}
{% set has_secondary_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_secondary_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
_CHAMBER_FILTER_ON AT="before_print_start"
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true' %}
{% if both_toolheads %}
RATOS_ECHO MSG="Spool join is not possible if both toolheads are in use!"
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == '' %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
{% endif %}
{% endif %}
CLEAR_PAUSE
{% if printer["gcode_macro RatOS"].force_absolute_position|lower == 'true' %}
G90
{% endif %}
SAVE_GCODE_STATE NAME=start_print_state
G21
G90
M82
_USER_START_PRINT_BEFORE_HOMING { rawparams }
{% if z_probe_stowable == true %}
STOWABLE_PROBE_BEGIN_BATCH
{% endif %}
MAYBE_HOME
_Z_HOP
{% if idex_mode != '' and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
PARK_TOOLHEAD
{% endif %}
{% if chamber_temp > 0 %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED={printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float}
{% endif %}
{% endif %}
_CHAMBER_HEATER_ON START_CHAMBER_TEMP={start_chamber_temp} CHAMBER_TEMP={chamber_temp}
_USER_START_PRINT_HEAT_CHAMBER { rawparams } CHAMBER_TEMP={chamber_temp}
{% endif %}
_START_PRINT_BEFORE_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
RATOS_ECHO MSG="Heating bed..."
M190 S{bed_temp}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_BED { rawparams }
_START_PRINT_AFTER_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
_USER_START_PRINT_BED_MESH { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_BED_MESH X0={X0} X1={X1} Y0={Y0} Y1={Y1} T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if z_probe_stowable == true %}
STOWABLE_PROBE_END_BATCH
{% endif %}
{% if idex_mode == '' %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={extruder_first_layer_temp[1]|float}
{% endif %}
{% endif %}
_USER_START_PRINT_PARK { rawparams }
_START_PRINT_PARK
RATOS_ECHO MSG="Heating Extruder..."
{% if idex_mode == '' %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder1" MINIMUM={extruder_first_layer_temp[1]|float} MAXIMUM={extruder_first_layer_temp[1]|float + 5}
{% endif %}
{% endif %}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
{% if idex_mode == '' %}
_LED_PRINTING
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
_LED_PRINTING
{% else %}
{% if both_toolheads %}
_LED_PRINTING TOOLHEAD={initial_tool}
{% if toolchange_standby_temp > -1 %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={0 if initial_tool == 1 else 1}
{% else %}
_LED_PRINTING TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% else %}
_LED_PRINTING TOOLHEAD={initial_tool}
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% endif %}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_EXTRUDER { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_AFTER_HEATING_EXTRUDER X0={X0} X1={X1} Y0={Y0} Y1={Y1} INITIAL_TOOLHEAD={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if idex_mode != '' %}
{% if not both_toolheads %}
{% if initial_tool != default_toolhead %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if initial_tool == 1 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% set x_offset = printer.toolhead.position.x|float - printer.gcode_move.gcode_position.x|float %}
{% endif %}
RESTORE_GCODE_STATE NAME=start_print_state
{% if idex_mode != '' %}
{% set act_idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% if act_idex_mode == "copy" or act_idex_mode == "mirror" %}
SET_GCODE_OFFSET X={x_offset} MOVE=0
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% if idex_mode == "copy" and idex_mode != act_idex_mode %}
_IDEX_COPY DANCE=0
{% elif idex_mode == "mirror" and idex_mode != act_idex_mode %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
RATOS_ECHO MSG="Adjusting object x-offset by {(object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={object_xoffset} MOVE=0
{% endif %}
{% else %}
_SELECT_TOOL T={initial_tool} TOOLSHIFT=false
{% if initial_tool != default_toolhead %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_SET_TOOLHEAD_OFFSET T={initial_tool} MOVE=0
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={initial_tool}
{% endif %}
_SET_EXTRUSION_MODE
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={printer["print_stats"].print_duration}
{% endif %}
_USER_END_START_PRINT { rawparams }
G92 E0
_CHAMBER_FILTER_ON AT="after_print_start"
RATOS_ECHO MSG="Printing..."
[gcode_macro _START_PRINT_BEFORE_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set is_stowable_probe = true if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Pre-heating extruder..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={min_temp}
{% else %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET={min_temp}
{% endif %}
{% else %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
{% endif %}
{% endif %}
{% if not is_stowable_probe %}
{% if printer["dual_carriage"] is defined and act_t != default_toolhead %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
{% endif %}
RATOS_ECHO MSG="Heat soaking z probe..."
{% if auto_z_offset_calibration %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% if default_toolhead == 0 %}
_SELECT_TOOL T=0 TOOLSHIFT=false
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% elif default_toolhead == 1 %}
_SELECT_TOOL T=1 TOOLSHIFT=false
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% endif %}
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% endif %}
G0 Z2 F{z_speed}
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Waiting for extruder to be preheated..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
{% if default_toolhead == 0 %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_Z_HOP
{% endif %}
{% if auto_z_offset_calibration %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={default_toolhead}
_SELECT_TOOL T={0 if default_toolhead == 1 else 1} X={parking_position_t0 if default_toolhead == 1 else parking_position_t1} Y=0 TOOLSHIFT=false
_CLEANING_MOVE TOOLHEAD={0 if default_toolhead == 1 else 1}
_VAOC_CALIBRATE_Z_OFFSET AUTO_Z_OFFSET=True
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=false
{% endif %}
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
{% if needs_rehoming %}
G28 Z
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% if beacon_contact_wipe_before_true_zero %}
_START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE
{% endif %}
_START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
G0 Z5 F{z_speed}
G0 X50 Y10 F{speed}
PROBE PROBE_METHOD=contact SAMPLES=1
BEACON_QUERY
[gcode_macro _START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_true_zero_location = printer["gcode_macro RatOS"].beacon_contact_true_zero_location|default("front")|lower %}
{% set beacon_contact_true_zero_margin_x = printer["gcode_macro RatOS"].beacon_contact_true_zero_margin_x|default(30)|int %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_wipe_before_true_zero %}
{% if printer.beacon.last_probe_result|lower == "ok" %}
{% set last_z_offset = printer.beacon.last_z_result %}
RATOS_ECHO MSG="Auto calibration nozzle wipe with probe result {last_z_offset}..."
G0 Z{(0.2 + last_z_offset)} F{z_speed}
G0 X70 F300
{% else %}
RATOS_ECHO MSG="Skipping auto calibration nozzle wipe because probing failed!"
{% endif %}
{% endif %}
G0 Z5 F{z_speed}
_MOVE_TO_SAFE_Z_HOME
RATOS_ECHO MSG="Heating extruder to probing temperature..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={beacon_contact_true_zero_temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={beacon_contact_true_zero_temp} MAXIMUM={beacon_contact_true_zero_temp + 5}
RATOS_ECHO MSG="Beacon contact auto calibration..."
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
G0 Z5 F{z_speed}
[gcode_macro _START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set first_x = printer["gcode_macro START_PRINT"].first_x|default(-1)|float %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2.0 %}
{% set center_y = printable_y_max / 2.0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% if printer["dual_carriage"] is defined %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% endif %}
{% set X0 = params.X0|default(-1)|int %}
{% set X1 = params.X1|default(-1)|int %}
{% set Y0 = params.Y0|default(-1)|int %}
{% set Y1 = params.Y1|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% if idex_mode == '' %}
_PRIME
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
RATOS_ECHO PREFIX="IDEX" MSG="using combined prime offset for IDEX {idex_mode} mode"
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
{% if both_toolheads %}
{% if initial_toolhead == 0 %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T{initial_toolhead}"
_SELECT_TOOL T={initial_toolhead} TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% endif %}
{% endif %}
CACHE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
SET_MACRO_TRAVEL_SETTINGS
{% if (X0 > -1 and Y1 > -1) or (first_x > 0 and first_y > 0) %}
{% if printer["dual_carriage"] is defined %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
{% set first_z = 1 %}
{% else %}
{% set first_z = 3 %}
{% endif %}
{% if idex_mode == "mirror" %}
{% if first_y >= 0 %}
G0 Y{first_y} F{speed}
{% else %}
G0 Y{Y1} F{speed}
{% endif %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={initial_toolhead}
_PURGE_FILAMENT TOOLHEAD={initial_toolhead} E={printer["gcode_macro RatOS"].toolchange_first_purge|default(50)|float}
_CLEANING_MOVE TOOLHEAD={initial_toolhead}
{% endif %}
{% if first_x >= 0 and first_y >= 0 %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% else %}
{% set first_x = X0 %}
{% set first_y = Y0 %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'min' %}
{% set first_x = X0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'max' %}
{% set first_x = X1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|float <= center_x %}
{% set first_x = X0 %}
{% else %}
{% set first_x = X1 %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'min' %}
{% set first_y = Y0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'max' %}
{% set first_y = Y1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|float <= center_y %}
{% set first_y = Y0 %}
{% else %}
{% set first_y = Y1 %}
{% endif %}
{% endif %}
{% endif %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% endif %}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
_LOAD_RATOS_SKEW_PROFILE
[gcode_macro _PRIME]
gcode =
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
PRIME_BLOB INITIAL_TOOLHEAD={params.INITIAL_TOOLHEAD} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={params.IDEX_MODE} Y1={params.Y1}
{% else %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE == "copy" %}
_IDEX_COPY DANCE=0
{% elif params.IDEX_MODE == "mirror" %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro END_PRINT]
description = End print procedure, use this in your Slicer.
gcode =
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SAVE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = printer["gcode_macro START_PRINT"].object_xoffset|default(0)|float %}
RATOS_ECHO MSG="Adjusting object x-offset by {(0-object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={(0-object_xoffset)}
{% endif %}
{% endif %}
_USER_END_PRINT_BEFORE_HEATERS_OFF { rawparams }
_END_PRINT_BEFORE_HEATERS_OFF
TURN_OFF_HEATERS
_USER_END_PRINT_AFTER_HEATERS_OFF { rawparams }
_END_PRINT_AFTER_HEATERS_OFF
_USER_END_PRINT_PARK { rawparams }
_END_PRINT_PARK
{% if printer["gcode_macro RatOS"].skew_profile is defined %}
SET_SKEW CLEAR=1
{% endif %}
{% if printer["dual_carriage"] is not defined and printer["gcode_macro RatOS"].end_print_motors_off|lower != 'false' %}
M84
{% endif %}
M107
BED_MESH_CLEAR
RATOS_ECHO MSG="Done :)"
RESTORE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
M84
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
{% if printer["dual_carriage"] is not defined %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SET_GCODE_OFFSET Z=0 MOVE=0
{% endif %}
{% endif %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print"
_CHAMBER_FILTER_ON AT="print_end"
_CHAMBER_FILTER_OFF
_CHAMBER_HEATER_OFF
_USER_END_PRINT_FINISHED { rawparams }
[gcode_macro _END_PRINT_BEFORE_HEATERS_OFF]
gcode =
RATOS_ECHO MSG="Cleaning up..."
[gcode_macro _END_PRINT_AFTER_HEATERS_OFF]
gcode =
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% set z_hop = printer["gcode_macro RatOS"].end_print_park_z_hop|float %}
{% set r = printer["gcode_macro RatOS"].end_print_retract_filament|default(4)|float %}
{% if current_z < (max_z - z_hop) %}
{% set z_safe = z_hop %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
G91
G1 E-2 F3600
G0 Z{z_safe} F3600
G1 E-{(r-2)} F3600
G90
[gcode_macro _SET_EXTRUSION_MODE]
gcode =
{% if printer["gcode_macro RatOS"].relative_extrusion|lower == 'true' %}
M83
{% else %}
M82
{% endif %}
[gcode_macro GENERATE_SHAPER_GRAPHS]
description = Genarates input shaper resonances graphs for analysis. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set hz_per_sec = params.HZ_PER_SEC|default(1)|float %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set copy_mode_offset = printable_x_max / 4.0 %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% else %}
_IDEX_SINGLE
{% endif %}
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
{% if idex_mode != 'copy' and idex_mode != 'mirror' %}
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
{% endif %}
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Shaper graph"
[gcode_shell_command generate_shaper_graph_x]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-x.sh
timeout = 60.
verbose = True
[gcode_shell_command generate_shaper_graph_y]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-y.sh
timeout = 60.
verbose = True
[gcode_macro MEASURE_COREXY_BELT_TENSION]
description = Generates resonance graph used to ensure belts are equally tensioned. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
_IDEX_SINGLE
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if measure_t1 == false or measure_t0 == false %}
{action_raise_error("Axis specified. Not supported for belt tension on Y.")}
{% else %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
G4 P5000
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
PARK_TOOLHEAD
{% endif %}
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if params.TOOLHEAD is not defined %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
G1 X{parking_position_t1} F{speed}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
{% if params.TOOLHEAD is not defined %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Belt Tension Graph"
[gcode_shell_command generate_belt_tension_graph]
command = /home/pi/printer_data/config/RatOS/scripts/generate-belt-tension-graph.sh
timeout = 90.
verbose = True
[idle_timeout]
gcode =
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused|lower == 'false' %}
RATOS_ECHO PREFIX="IDLE" MSG="2 hours since last activity. Powering off heaters and motors.."
TURN_OFF_HEATERS
M84
{% endif %}
{% endif %}
timeout = 7200
[temperature_sensor raspberry_pi]
sensor_type = temperature_host
[skew_correction]
[input_shaper]
[virtual_sdcard]
path = ~/printer_data/gcodes
[display_status]
[pause_resume]
[force_move]
enable_force_move = True
[respond]
[resonance_generator]
[ratos]
allow_unknown_gcode_generator = True
enable_gcode_transform = True
allow_unsupported_slicer_versions = True
[exclude_object]
[heater_bed]
heater_pin = heater_bed_heating_pin
sensor_pin = heater_bed_sensor_pin
sensor_type = Generic 3950
min_temp = 0
max_temp = 140
pwm_cycle_time = 0.02
control = pid
pid_kp = 65.045
pid_ki = 1.953
pid_kd = 541.497
[fan]
pin = rpi:gpio4
shutdown_speed = 1.0
[heater_fan toolhead_cooling_fan]
pin = toolboard_t0:PA1
fan_speed = 1
heater = extruder
[printer]
kinematics = ratos_hybrid_corexy
max_velocity = 800
max_accel = 10000
minimum_cruise_ratio = 0.5
max_z_velocity = 50
max_z_accel = 600
square_corner_velocity = 5
[ratos_hybrid_corexy]
inverted = true
[dual_carriage]
axis = x
safe_distance = 55
position_max = 558.971
position_endstop = 558.971
position_min = 0
step_pin = PF9
dir_pin = dual_carriage_dir_pin
enable_pin = !PG2
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t1:PB6
[gcode_macro IDEX_SINGLE]
gcode =
_IDEX_REMAP_TOOLHEADS ENABLE=False
_IDEX_SINGLE
[gcode_macro _IDEX_SINGLE]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_single"
SET_MACRO_TRAVEL_SETTINGS
{% set init = params.INIT|default(0)|int %}
{% set new_x = params.X|default(-1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_act_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_default_t = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="init: {init}, new_x: {new_x}, idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, act_t: {act_t}"
{% if idex_mode == "copy" or idex_mode == "mirror" or init == 1 %}
{% if 'x' in printer.toolhead.homed_axes %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="reset gcode offset"
G1 X{center_x} F{(speed)}
SET_GCODE_OFFSET X_ADJUST={center_x / 2} MOVE=0
{% endif %}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="activate default carriage"
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% if 'x' in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolheads"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
G90
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position."
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1}
G1 X{parking_position_default_t} F{speed}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move default toolhead to its new position."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% if new_x == -1 %}
{% set new_x = center_x %}
{% endif %}
G1 X{new_x} F{speed}
M400
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="X Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set extruder motion queue."
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if default_toolhead==0 else default_toolhead}
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolhead offset."
_SET_TOOLHEAD_OFFSET T={default_toolhead}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set input shaper."
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[default_toolhead]|float)} SHAPER_FREQ_Y={(shaper_y_freq[default_toolhead]|float)} SHAPER_TYPE_X={(shaper_x_type[default_toolhead]|lower)} SHAPER_TYPE_Y={(shaper_y_type[default_toolhead]|lower)}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="update Frontend."
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if default_toolhead==0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if default_toolhead==1 else False}
{% else %}
{% if "xyz" in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_single"
[gcode_macro IDEX_COPY]
gcode =
_IDEX_COPY
[gcode_macro _IDEX_COPY]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_copy"
SET_MACRO_TRAVEL_SETTINGS
{% set y = params.Y|default(-1)|int %}
{% set dance = params.DANCE|default(1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_COPY" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}, y: {y}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "copy" %}
{% if idex_mode == "mirror" %}
{% if y>=0 %}
G1 X{center_x} Y{y} F{(speed)}
{% else %}
G1 X{center_x} F{(speed)}
{% endif %}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
{% if idex_mode != "mirror" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "mirror" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance == 1 %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[2]|float)} SHAPER_FREQ_Y={(shaper_y_freq[2]|float)} SHAPER_TYPE_X={(shaper_x_type[2]|lower)} SHAPER_TYPE_Y={(shaper_y_type[2]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_copy"
[gcode_macro IDEX_MIRROR]
gcode =
_IDEX_MIRROR
[gcode_macro _IDEX_MIRROR]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_mirror"
SET_MACRO_TRAVEL_SETTINGS
{% set dance = params.DANCE|default(1)|int %}
{% set priming = params.PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_MIRROR" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "mirror" %}
{% if idex_mode == "copy" %}
G1 X{center_x} F{(speed)}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS MIRROR_PRIMING={params.PRIMING}
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
{% if idex_mode != "copy" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "copy" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance and not priming %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[3]|float)} SHAPER_FREQ_Y={(shaper_y_freq[3]|float)} SHAPER_TYPE_X={(shaper_x_type[3]|lower)} SHAPER_TYPE_Y={(shaper_y_type[3]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_mirror"
[gcode_macro _IDEX_SET_TOOLHEADS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
SET_MACRO_TRAVEL_SETTINGS
{% set mirror_priming = params.MIRROR_PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position_inactive_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="_IDEX_SET_TOOLHEADS" MSG="idex_mode: {idex_mode}, act_t: {act_t}, center_x: {center_x}, mirror_priming: {mirror_priming}"
{% if act_t != default_toolhead %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE=1
{% endif %}
{% if mirror_priming %}
{% if parking_position_t0|abs < parking_position_t1 - printable_x_max %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{printable_x_max + parking_position_t0|abs} F{(speed)}
{% else %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{0 - (parking_position_t1 - printable_x_max)} F{(speed)}
{% endif %}
{% else %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1} MODE=PRIMARY
G1 X{parking_position_inactive_t} F{(speed)}
{% if act_t==1 %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{center_x / 2} F{(speed)}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
[gcode_macro IDEX_PARK]
gcode =
PARK_TOOLHEAD
[gcode_macro PARK_TOOLHEAD]
gcode =
{% set idex_mode = 'none' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode=='primary' else 0 %}
DEBUG_ECHO PREFIX="PARK_TOOLHEAD" MSG="Parking T{act_t}.."
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set parking_position_inact_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set printable_y_min = printer["gcode_macro RatOS"].printable_y_min|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% if idex_mode != "copy" and idex_mode != "mirror" and 'xy' in printer.toolhead.homed_axes %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% elif printer.toolhead.position.y|float < printable_y_min %}
G1 Y{printable_y_min} F{speed}
{% endif %}
SAVE_GCODE_STATE NAME=_PARK_TOOLHEAD
G90
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0.5
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_inact_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
SET_VELOCITY_LIMIT ACCEL={printer.toolhead.max_accel} MINIMUM_CRUISE_RATIO=0.5
M400
RESTORE_GCODE_STATE NAME=_PARK_TOOLHEAD
{% endif %}
[gcode_macro JOIN_SPOOLS]
gcode =
{% set spools = params.SPOOLS|default("") %}
{% if spools == "" %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{% if spools != "0,1" and spools != "1,0" %}
RATOS_ECHO MSG="Wrong spool configuration!"
RATOS_ECHO MSG="Join Spools = JOIN_SPOOLS SPOOLS=0,1"
RATOS_ECHO MSG="Deactivate = JOIN_SPOOLS SPOOLS="
{% else %}
{% if spools == "0,1" or spools == "1,0" %}
_IDEX_JOIN_SPOOLS ENABLE=true
{% else %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_JOIN_SPOOLS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if enable %}
{% set has_t0_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t1_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t0_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined else false %}
{% set has_t1_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined else false %}
{% if (has_t0_toolhead_filament_sensor and has_t1_toolhead_filament_sensor) or (has_t0_bowden_filament_sensor and has_t1_bowden_filament_sensor) %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=True
RATOS_ECHO MSG="Spool joining enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Can not enable spool joining! No filament sensors found."
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining deactivated!"
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining is not possible in copy and mirror mode!"
{% endif %}
[gcode_macro _JOIN_SPOOL]
gcode =
{% set old_toolhead = params.TOOLHEAD|int %}
{% set new_toolhead = 0 if old_toolhead == 1 else 1 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set purge_after_load = printer["gcode_macro T%s" % new_toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_JOIN_SPOOL" MSG="toolhead: {new_toolhead}"
{% set has_filament = true %}
{% set has_new_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% set has_new_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% if has_new_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_new_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_filament %}
RATOS_ECHO MSG="Joining spools! Please wait for extruder to heat up...."
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={new_toolhead}
_DEACTIVATE_TOOLHEAD TOOLHEAD={old_toolhead}
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set extruder_temp = extruder_first_layer_temp[new_toolhead]|float %}
{% else %}
{% set extruder_temp = extruder_other_layer_temp[new_toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if new_toolhead == 0 else 'extruder1'} TARGET={extruder_temp}
TEMPERATURE_WAIT SENSOR={'extruder' if new_toolhead == 0 else 'extruder1'} MINIMUM={extruder_temp} MAXIMUM={extruder_temp + 5}
{% if purge_after_load > 0 %}
SET_DUAL_CARRIAGE CARRIAGE={new_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_toolhead == 0 else new_toolhead}
_MOVE_TO_LOADING_POSITION TOOLHEAD={new_toolhead}
_PURGE_FILAMENT TOOLHEAD={new_toolhead} E={purge_after_load}
_CLEANING_MOVE TOOLHEAD={new_toolhead}
SET_DUAL_CARRIAGE CARRIAGE={old_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if old_toolhead == 0 else old_toolhead}
{% endif %}
RESUME TOOLHEAD={new_toolhead}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{ action_raise_error("Spool join failed! No filament found or filament sensor is disabled.") }
{% endif %}
[gcode_macro REMAP_TOOLHEADS]
gcode =
{% set toolheads = params.TOOLHEADS|default("") %}
{% if toolheads == "" %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% else %}
{% if toolheads != "0,1" and toolheads != "1,0" %}
RATOS_ECHO MSG="Wrong toolhead configuration!"
RATOS_ECHO MSG="Remap = REMAP_TOOLHEADS TOOLHEADS=0,1"
RATOS_ECHO MSG="Deactivate = REMAP_TOOLHEADS TOOLHEADS="
{% else %}
{% if toolheads == "0,1" or toolheads == "1,0" %}
_IDEX_REMAP_TOOLHEADS ENABLE=true
_IDEX_SINGLE
{% else %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_REMAP_TOOLHEADS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if not enable or (idex_mode != "copy" and idex_mode != "mirror") %}
{% if enable %}
RATOS_ECHO MSG="Toolhead remapping enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Toolhead remapping deactivated!"
{% endif %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE={enable}
{% else %}
RATOS_ECHO MSG="Toolhead remapping not possible in copy and mirror mode!"
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
{% endif %}
[gcode_macro SHAPER_CALIBRATE]
rename_existing = SHAPER_CALIBRATE_ORG
gcode =
RATOS_ECHO PREFIX="IDEX" MSG="SHAPER_CALIBRATE is useless on IDEX machines. Please use the GENERATE_SHAPER_GRAPHS macro and type the values into `variable_shaper_*_freq` and `variable_shaper_*_type manually`."
[gcode_shell_command generate_shaper_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-shaper-graph.sh
timeout = 120.
verbose = True
[gcode_shell_command generate_tension_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-belt-tension-graph.sh
timeout = 120.
verbose = True
[gcode_macro SET_PRESSURE_ADVANCE]
variable_snyc_toolheads = False
rename_existing = SET_PRESSURE_ADVANCE_BASE
gcode =
{% if params.SYNC_TOOLHEADS is defined %}
{% set snyc_toolheads = true if params.SYNC_TOOLHEADS|default(false)|lower == 'true' else false %}
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=True
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="Syncing toolheads..."
{% else %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' or snyc_toolheads %}
{% set advance = params.ADVANCE|default(printer['extruder'].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['extruder'].smooth_time|float)|float %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T0"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder' ADVANCE={advance} SMOOTH_TIME={smooth_time}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T1"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder1' ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% else %}
{% set extruder = 'extruder' if act_t == 0 else 'extruder1' %}
{% if params.EXTRUDER is defined %}
{% set extruder = params.EXTRUDER %}
{% endif %}
{% if extruder == 'extruder' or extruder == 'extruder1' %}
{% set advance = params.ADVANCE|default(printer['%s' % extruder].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['%s' % extruder].smooth_time|float)|float %}
SET_PRESSURE_ADVANCE_BASE EXTRUDER={extruder} ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% if params.EXTRUDER is not defined %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG={"T%s" % act_t}
{% endif %}
{% else %}
SET_PRESSURE_ADVANCE_BASE { rawparams }
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M106]
rename_existing = M106.1
variable_swap_speed = -1
gcode =
{% set s = [[params.S|default(255)|int, 255]|min, 0]|max %}
{% set p = params.P|default(-1)|int %}
{% set speed = s / 255 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set t = 1 if idex_mode=='primary' else 0 %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(0)|int == 1 else false %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set sync_fans = true %}
{% endif %}
{% if sync_fans and idex_mode != "copy" and idex_mode != "mirror" %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int %}
{% if toolshift_count > total_toolshifts %}
{% set sync_fans = false %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE=-1
{% if p == -1 %}
{% if speed == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed}
{% else %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE={speed}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={(speed if (t == 0 or sync_fans) else 0)}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={(speed if (t == 1 or sync_fans) else 0)}
{% endif %}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed if t == p else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed if t == p else 0}
{% endif %}
M106.1 S{s}
[gcode_macro M107]
rename_existing = M107.1
gcode =
{% set p = params.P|default(-1)|int %}
M106 S0 P{p}
[gcode_macro _SELECT_TOOL]
variable_last_timestamp = 0
gcode =
{% if params.T is defined %}
{% set idex_mode = '' %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if "xyz" not in printer.toolhead.homed_axes and (idex_mode == "copy" or idex_mode == "mirror") %}
_IDEX_SINGLE
{% set idex_mode = 'reset' %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set new_t = params.T|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads and is_printing_gcode %}
{% set new_t = 0 if new_t == 1 else 1 %}
{% endif %}
{% set toolchange_prepurging_timer = printer["gcode_macro RatOS"].toolchange_prepurging_timer|default(0)|int %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
DEBUG_ECHO PREFIX="_SELECT_TOOL" MSG="act_t: {act_t}, new_t: {new_t}, is_printing_gcode: {is_printing_gcode}, swap_toolheads: {swap_toolheads}, toolchange_standby_temp: {toolchange_standby_temp}"
{% set act_extruder = 'extruder%s' % ('' if new_t == 0 else new_t) %}
{% if new_t != act_t or printer.toolhead.extruder != act_extruder or idex_mode == 'reset' %}
RATOS_ECHO PREFIX="IDEX" MSG="Selecting T{new_t}.."
M220 S100
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(1)|int == 1 else false %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set toolshift = false %}
{% endif %}
{% set fan_speed = printer["fan_generic part_fan_t%s" % act_t].speed %}
{% set deactivate_toolhead = false %}
{% if is_printing_gcode %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int + 1 %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE={toolshift_count}
{% if toolshift_count == total_toolshifts %}
{% set deactivate_toolhead = true %}
{% endif %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % new_t].standby|default(false)|lower == 'true' else false %}
{% set needs_purging = false %}
{% set wake_up_purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% if is_printing_gcode and toolchange_prepurging_timer > 0 and wake_up_purge > 0 %}
{% set new_timestamp = printer["print_stats"].print_duration %}
{% set elapsed_time = new_timestamp - last_timestamp %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={new_timestamp}
{% if elapsed_time > toolchange_prepurging_timer %}
{% set needs_purging = true %}
{% endif %}
{% endif %}
{% set first_use_purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% if toolshift_count == 1 and first_use_purge > 0 %}
{% set needs_purging = true %}
{% endif %}
{% if is_printing_gcode and (toolchange_standby_temp > -1 or needs_purging or needs_wakeup) %}
_TOOLHEAD_STANDBY TOOLHEAD={act_t}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
_TOOLHEAD_WAKEUP TOOLHEAD={new_t} X={new_x} Y={new_y} Z={new_z} FAN_SPEED={fan_speed} TOOLSHIFT_COUNT={toolshift_count}
{% else %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(false)|lower == 'true' else false %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if (new_t == 0 or sync_fans) else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if (new_t == 1 or sync_fans) else 0}
M106.1 S{fan_speed}
{% endif %}
_TOOLCHANGE T={new_t} X={new_x} Y={new_y} Z={new_z} PARK_T0={park_t0} PARK_T1={park_t1} TOOLSHIFT={toolshift}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[new_t]|float)} SHAPER_FREQ_Y={(shaper_y_freq[new_t]|float)} SHAPER_TYPE_X={(shaper_x_type[new_t]|lower)} SHAPER_TYPE_Y={(shaper_y_type[new_t]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if new_t == 0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if new_t == 1 else False}
{% if 'x' in printer.toolhead.homed_axes %}
{% set sanity_check_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if new_t == 0 %}
{% if printer.toolhead.extruder == 'extruder' %}
{% if sanity_check_idex_mode == 'primary' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% elif new_t == 1 %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% if sanity_check_idex_mode == 'inactive' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
G90
G92 E0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _TOOLHEAD_STANDBY]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
RATOS_ECHO PREFIX="IDEX" MSG="Putting toolhead T{toolhead} into standby mode."
DEBUG_ECHO PREFIX="_TOOLHEAD_STANDBY" MSG="toolhead: {toolhead}, config_z_hop: {config_z_hop}, toolchange_standby_temp: {toolchange_standby_temp}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={toolhead} SYNC=0
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={toolhead}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% if toolchange_standby_temp > -1 %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=True
{% endif %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={toolhead}
[gcode_macro _TOOLHEAD_WAKEUP]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set fan_speed = params.FAN_SPEED|float %}
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift_count = params.TOOLSHIFT_COUNT|default(0)|int %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% if toolshift_count == 1 %}
{% set purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % toolhead].standby|default(false)|lower == 'true' else false %}
RATOS_ECHO PREFIX="IDEX" MSG="Waking up toolhead T{toolhead}. Please wait for extruder to heat up..."
DEBUG_ECHO PREFIX="_TOOLHEAD_WAKEUP" MSG="toolhead: {toolhead}, fan_speed: {fan_speed}, new_x: {new_x}, new_y: {new_y}, new_z: {new_z}, config_z_hop: {config_z_hop}"
_LED_TOOLHEAD_WAKEUP TOOLHEAD={toolhead}
SET_DUAL_CARRIAGE CARRIAGE={toolhead} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={toolhead} MOVE=1
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if toolhead == 0 else toolhead}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if needs_wakeup %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set temp = extruder_first_layer_temp[toolhead]|float %}
{% else %}
{% set temp = extruder_other_layer_temp[toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
TEMPERATURE_WAIT SENSOR={'extruder' if toolhead == 0 else 'extruder1'} MINIMUM={temp} MAXIMUM={temp + 5}
{% endif %}
_LED_PRINTING TOOLHEAD={toolhead}
{% if purge > 0 %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge}
_CLEANING_MOVE TOOLHEAD={toolhead}
{% endif %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if toolhead == 1 else 0}
M106.1 S{fan_speed}
{% endif %}
G92 E0
G1 E-{e} F{feedrate}
G92 E0
{% if new_x >= 0 and new_y >= 0 %}
G1 X{new_x} Y{new_y} F{speed}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={config_z_hop} T={toolhead} SYNC=0
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=False
[gcode_macro _TOOLCHANGE]
variable_toolshift_count = 0
gcode =
{% set new_t = params.T|default(-1)|int %}
{% set new_x = params.X|default(-1.0)|float %}
{% set new_y = params.Y|default(-1.0)|float %}
{% set new_z = params.Z|default(-1.0)|float %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(true)|lower == 'true' else false %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T: {new_t}, X: {new_x}, Y: {new_y}, Z: {new_z}, PARK_T0: {park_t0}, PARK_T1: {park_t1}, IS_PRINTING_GCODE: {is_printing_gcode}, TOOLSHIFT: {toolshift}"
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% if park_t0 >= 0 and park_t1 >= 0 %}
{% set parking_position_t0 = park_t0 %}
{% set parking_position_t1 = park_t1 %}
{% set parking_position_act_t = park_t0 if act_t == 0 else park_t1 %}
{% endif %}
{% if not is_printing_gcode and not toolshift %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Changing tool to T{new_t} without retracting/extruding or moving the toolheads except for parking."
{% if "xyz" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
G90
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% if not is_printing_gcode and toolshift and new_x < 0 and new_y < 0 %}
{% set new_x = center_x %}
{% set new_y = printer.gcode_move.gcode_position.y|float %}
{% endif %}
{% if new_x < 0 or new_y < 0 %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="No new X or Y position given, parking the active toolhead and activating the new toolhead without moving it."
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={new_t}
{% if "x" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
{% if is_printing_gcode %}
_EXTRUDE T={new_t}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% if "xyz" not in printer.toolhead.homed_axes %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% set svv = printer.save_variables.variables %}
{% if new_t == default_toolhead %}
{% set xoffset = svv.idex_xoffset %}
{% set yoffset = svv.idex_yoffset %}
{% set zoffset = svv.idex_zoffset %}
{% else %}
{% set xoffset = 0 - svv.idex_xoffset %}
{% set yoffset = 0 - svv.idex_yoffset %}
{% set zoffset = 0 - svv.idex_zoffset %}
{% endif %}
{% if svv.idex_applied_offset == new_t %}
{% set xoffset = 0 %}
{% set yoffset = 0 %}
{% set zoffset = 0 %}
{% endif %}
{% set gcode_z = printer.gcode_move.gcode_position.z|float %}
{% set toolhead_z = printer.toolhead.position.z|float %}
{% if new_t == 0 %}
{% set t0_act_x = parking_position_t0 %}
{% set t1_act_x = printer.toolhead.position.x|float %}
{% set t0_new_x = new_x %}
{% set t1_new_x = parking_position_t1 %}
{% set t0_distance = t0_new_x - t0_act_x %}
{% set t1_distance = t1_new_x - t1_act_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T0."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x + (t1_new_x - t1_act_x)} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t0_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=0
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T0: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% elif new_t == 1 %}
{% set t0_act_x = printer.toolhead.position.x|float %}
{% set t1_act_x = parking_position_t1 %}
{% set t0_new_x = parking_position_t0 %}
{% set t1_new_x = new_x %}
{% set t0_distance = t0_act_x - t0_new_x %}
{% set t1_distance = t1_act_x - t1_new_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T1."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x - t1_distance + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t1_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=1
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T1: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% endif %}
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
{% endif %}
[gcode_macro _ZHOP_BEFORE_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_hop = params.Z_HOP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_HOP: {z_hop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="COMBINED_ZHOP G1 Z+{z_hop} E-{e} F{speed * 60}"
G1 Z+{z_hop} E-{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="ZHOP G1 Z+{z_hop} F{speed * 60}"
G1 Z+{z_hop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="RETRACT G1 E-{e} F{feedrate}"
G1 E-{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _ZDROP_AFTER_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_drop = params.Z_DROP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_DROP: {z_drop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="COMBINED_ZDROP G1 Z-{z_drop} E{e} F{speed * 60}"
G1 Z-{z_drop} E{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="ZDROP G1 Z-{z_drop} F{speed * 60}"
G1 Z-{z_drop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="EXTRUDE G1 E{e} F{feedrate}"
G1 E{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _EXTRUDE]
gcode =
{% set t = params.T|int %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
DEBUG_ECHO PREFIX="_EXTRUDE" MSG="G1 E{e} F{feedrate * 60}"
G91
M82
G92 E0
G1 E{e} F{feedrate * 60}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _DEACTIVATE_TOOLHEAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_DEACTIVATE_TOOLHEAD" MSG="TOOLHEAD {toolhead}"
{% if toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% endif %}
M106.1 S0
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={toolhead}
[delayed_gcode _INIT_TOOLHEADS]
initial_duration = 0.1
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_IDEX_SINGLE INIT=1
{% if printer.configfile.settings.dual_carriage.safe_distance is defined %}
{% if printer.configfile.settings.dual_carriage.safe_distance|float < 50 %}
{ action_emergency_stop("Dual carriage safe_distance seems to be too low!") }
{% endif %}
{% else %}
{ action_emergency_stop("Dual carriage safe_distance not defined!") }
{% endif %}
[gcode_macro _SET_TOOLHEAD_OFFSET]
gcode =
{% set t = params.T|int %}
{% set move = params.MOVE|default(0)|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="T: {t}, MOVE: {move}"
{% set svv = printer.save_variables.variables %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set move = 0 %}
{% endif %}
{% if svv.idex_applied_offset != t %}
{% if t != printer["gcode_macro RatOS"].default_toolhead|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET X_ADJUST: {(-svv.idex_xoffset)} Y_ADJUST: {(-svv.idex_yoffset)} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={(-svv.idex_xoffset)} Y_ADJUST={(-svv.idex_yoffset)} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {(-svv.idex_zoffset)} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={(-svv.idex_zoffset)} MOVE={move} SPEED={z_speed}
{% else %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_ X_ADJUST: {svv.idex_xoffset} Y_ADJUST: {svv.idex_yoffset} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={svv.idex_xoffset} Y_ADJUST={svv.idex_yoffset} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {svv.idex_zoffset} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE={move} SPEED={z_speed}
{% endif %}
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T{t}"
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={t}
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={t}
{% endif %}
{% endif %}
[gcode_macro TOOLSHIFT_CONFIG]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={params.SPEED|default(300)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={params.ACCEL|default(5000)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_retraction VALUE={params.RETRACT|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_extrusion VALUE={params.EXTRUDE|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_feedrate VALUE={params.FEEDRATE|default(7200)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={params.Z_HOP|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zspeed VALUE={params.Z_SPEED|default(25)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_combined_zhop VALUE={true if params.COMBINED_ZHOP|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_sync_fans VALUE={true if params.SYNC_FANS|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_prepurging_timer VALUE={params.AUTO_PURGE_TIME|default(0)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_purge VALUE={params.PURGE|default(25)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_standby_temp VALUE={params.STANDBY_TEMP|default(-1)|float}
[gcode_macro CALCULATE_DC_ENDSTOP]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% set idex_xoffset = svv.idex_xoffset|float %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|float %}
{% set stepper_x_position_max = printer.configfile.settings.stepper_x.position_max|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set line_1 = "_N_[dual_carriage]" %}
{% set line_2 = "position_max: %.3f" % (dual_carriage_position_max + idex_xoffset) %}
{% set line_3 = "position_endstop: %.3f" % (dual_carriage_position_endstop + idex_xoffset) %}
{% set line_4 = "_N_[gcode_macro RatOS]" %}
{% set line_5 = "variable_bed_margin_x: [%.3f, %.3f]" % (stepper_x_position_endstop|abs, dual_carriage_position_max - stepper_x_position_max + idex_xoffset) %}
{% set line_6 = "_N_[gcode_macro _VAOC]" %}
{% set line_7 = "variable_expected_camera_x_position: %.3f" % idex_xcontrolpoint %}
{% set line_8 = "variable_expected_camera_y_position: %.3f" % idex_ycontrolpoint %}
{% set line_9 = "_N_[gcode_macro T0]" %}
{% set line_10 = "variable_parking_position: %.3f" % (stepper_x_position_endstop + 2) %}
{% set line_11 = "_N_[gcode_macro T1]" %}
{% set line_12 = "variable_parking_position: %.3f" % (dual_carriage_position_endstop + idex_xoffset - 2) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8, line_9, line_10, line_11, line_12)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro INCREASE_Y_MAX]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set stepper_y_position_max = printer.configfile.settings.stepper_y.position_max|float %}
{% set stepper_y_position_endstop = printer.configfile.settings.stepper_y.position_endstop|float %}
{% set line_1 = "_N_[stepper_y]" %}
{% set line_2 = "position_max: %.3f" % (stepper_y_position_max + 1) %}
{% set line_3 = "_N_[gcode_macro RatOS]" %}
{% set line_4 = "variable_bed_margin_y: [%.3f, %.3f]" % (stepper_y_position_endstop|abs, (bed_margin_y[1] + 1)) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro _VAOC]
variable_is_fixed = True
variable_is_started = False
variable_is_started_at_temp = False
variable_additional_safe_distance = 50
variable_safe_z = 30
variable_auto_z_offset_calibration = True
variable_enable_camera_cooling = True
variable_camera_cooling_fan_speed = 0.3
variable_camera_cooling_temperature = 50
variable_toolchange_travel_speed = 300
variable_toolchange_travel_accel = 5000
variable_cache_toolchange_travel_speed = 300
variable_cache_toolchange_travel_accel = 5000
variable_cache_toolchange_zhop = 1.0
variable_t0_toolhead_sensor_enabled = 0
variable_t1_toolhead_sensor_enabled = 0
variable_t0_bowden_sensor_enabled = 0
variable_t1_bowden_sensor_enabled = 0
variable_loaded_skew_profile = ""
gcode =
_ECHO_VAOC_VARS
variable_expected_camera_x_position = 211.854
variable_expected_camera_y_position = 528.378
[gcode_macro _VAOC_START]
description = Called from the front end. If T0_TEMP, T1_TEMP and BED_TEMP parameter are specified, VAOC calibration will start under real conditions at printing temp.
gcode =
{% set t0_temp = params.T0_TEMP|default(0)|int %}
{% set t1_temp = params.T1_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set loaded_skew_profile = printer["gcode_macro SKEW_PROFILE"].loaded_profile|default("") %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=loaded_skew_profile VALUE='"{loaded_skew_profile}"'
{% if t0_temp > 0 and t1_temp > 0 and bed_temp > 0 %}
{% if not is_fixed %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("VAOC calibration at temp works only with a fixed installed VAOC device.") }
{% endif %}
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE=0
{% endif %}
START_PRINT EXTRUDER_TEMP={t0_temp},{t1_temp} EXTRUDER_OTHER_LAYER_TEMP={t0_temp},{t1_temp} BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp} INITIAL_TOOL=0 TOTAL_LAYER_COUNT=1 X0={(printable_x_max / 2 - 10)} Y0={(printable_y_max / 2 - 10)} X1={(printable_x_max / 2 + 10)} Y1={(printable_y_max / 2 + 10)} TOTAL_TOOLSHIFTS=1 FIRST_X={printable_x_max / 2} FIRST_Y={printable_y_max / 2} MIN_X={(printable_x_max / 2 - 10)} MAX_X={(printable_x_max / 2 + 10)} USED_TOOLS=0,1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=True
{% endif %}
_START_VAOC
[gcode_macro _START_VAOC]
description = Called from _VAOC_START. Do not call it manually.
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(printable_x_max/2)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(printable_y_max/2)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
DEBUG_ECHO PREFIX="VAOC_START" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, zcontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, expected_camera_x_position, expected_camera_y_position)}
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_SAFE_Z_HEIGHT
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_speed VALUE={printer["gcode_macro RatOS"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_accel VALUE={printer["gcode_macro RatOS"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_zhop VALUE={printer["gcode_macro RatOS"].toolchange_zhop|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE=0
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"START X_REFERENCE:%.6f Y_REFERENCE:%.6f Z_REFERENCE:%.6f PARK_T0:%.6f PARK_T1:%.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, parking_position_t0, parking_position_t1)}
_LED_VAOC_ON
MAYBE_HOME
M400
_LOAD_RATOS_SKEW_PROFILE
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
IDEX_SINGLE
{% endif %}
{% if is_fixed %}
_SELECT_TOOL T=0 TOOLSHIFT=false
{% if default_toolhead == 0 %}
G1 X{idex_xcontrolpoint} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint + safe_distance + additional_safe_distance} F{speed}
{% else %}
G1 X{idex_xcontrolpoint - safe_distance - additional_safe_distance} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% else %}
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
G1 X{idex_xcontrolpoint} F{speed}
G1 Y{idex_ycontrolpoint} F{speed}
G1 Z{idex_zcontrolpoint} F{z_speed}
_SELECT_TOOL T={default_toolhead} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
{% if not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={default_toolhead}
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=True
[gcode_macro _VAOC_END]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_y = printable_y_max / 2 %}
DEBUG_ECHO PREFIX="_VAOC_END" MSG="printable_y_max: {printable_y_max}, center_y: {center_y}, safe_z: {safe_z}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
G1 Y{center_y} F{speed}
_IDEX_SINGLE INIT=1
_LED_VAOC_OFF
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={printer["gcode_macro _VAOC"].cache_toolchange_zhop|float}
{% if printer["gcode_macro _VAOC"].is_started_at_temp|default(true)|lower == 'true' %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_bowden_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_bowden_sensor_enabled|int}
{% endif %}
{% endif %}
{% set loaded_skew_profile = printer["gcode_macro _VAOC"].loaded_skew_profile|default("") %}
{% if loaded_skew_profile != "" %}
SKEW_PROFILE LOAD={loaded_skew_profile}
{% else %}
SET_SKEW CLEAR=1
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
[gcode_macro _VAOC_LOAD_TOOL]
gcode =
{% set t = params.T|default(0)|int %}
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set auto_temp_offset = true if params.AUTO_TEMP_OFFSET|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set toolhead_zoffset = svv.idex_zoffset|default(0)|float %}
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move T%s to control point: X%.6f Y%.6f Z%.6f IS_FIXED=%s"' % (t, idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, is_fixed)}
{% if not auto_temp_offset and not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={t}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
{% set current_z = printer.toolhead.position.z|float %}
{% set lowest_toolhead_z = [current_z, current_z - toolhead_zoffset]|min %}
{% if lowest_toolhead_z < safe_z %}
G1 Z{[safe_z, safe_z + toolhead_zoffset]|max} F{z_speed}
{% else %}
G1 Z{idex_zcontrolpoint} F{z_speed}
{% endif %}
_SELECT_TOOL T={t} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
G1 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_SET_CAMERA_COOLING]
gcode =
{% set t = params.T|default(0)|int %}
{% set enable_camera_cooling = true if printer["gcode_macro _VAOC"].enable_camera_cooling|default(true)|lower == 'true' else false %}
{% set camera_cooling_temperature = printer["gcode_macro _VAOC"].camera_cooling_temperature|float %}
{% set camera_cooling_fan_speed = printer["gcode_macro _VAOC"].camera_cooling_fan_speed|float %}
{% if printer.heater_bed.temperature >= camera_cooling_temperature and enable_camera_cooling %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={camera_cooling_fan_speed if t == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={camera_cooling_fan_speed if t == 1 else 0}
M106.1 S{camera_cooling_fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% endif %}
[gcode_macro _VAOC_SET_TOOL]
gcode =
{% set svv = printer.save_variables.variables %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set x = printer.gcode_move.gcode_position.x|float %}
{% set y = printer.gcode_move.gcode_position.y|float %}
{% set z = printer.gcode_move.gcode_position.z|float %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={x}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={y}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Control point was set: X%.6f Y%.6f Z%.6f"' % (x, y, z)}
{% else %}
{% set move_diff_x = printer.gcode_move.gcode_position.x|float - svv.idex_xcontrolpoint|float %}
{% set move_diff_y = printer.gcode_move.gcode_position.y|float - svv.idex_ycontrolpoint|float %}
{% set move_diff_z = printer.gcode_move.gcode_position.z|float - svv.idex_zcontrolpoint|float %}
SET_GCODE_OFFSET X_ADJUST={move_diff_x} Y_ADJUST={move_diff_y} Z_ADJUST={move_diff_z} MOVE=0
{% set new_x_offset = svv.idex_xoffset - move_diff_x %}
{% set new_y_offset = svv.idex_yoffset - move_diff_y %}
{% set new_z_offset = svv.idex_zoffset - move_diff_z %}
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE={new_x_offset}
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE={new_y_offset}
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={new_z_offset}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset was set: X%.6f Y%.6f Z%.6f"' % (toolhead, new_x_offset, new_y_offset, new_z_offset)}
{% endif %}
[gcode_macro _VAOC_MOVE]
gcode =
{% set x = params.X|default(0)|float %}
{% set y = params.Y|default(0)|float %}
{% set z = params.Z|default(0)|float %}
G91
{% if z != 0 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 Z%.6f F300"' % (z)}
G1 Z{z} F300
{% else %}
{% if x <=2 and y <=2 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 X%.6f Y%.6f F18000"' % (x, y)}
G1 X{x} Y{y} F18000
{% endif %}
{% endif %}
G90
[gcode_macro _VAOC_CALIBRATE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% if printer["z_offset_probe"] is defined and is_started %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
{% if auto_z_offset %}
_START_VAOC AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_END
{% else %}
_VAOC_LOAD_TOOL T={default_toolhead}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
{% endif %}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_Z_OFFSET
{% endif %}
[gcode_macro _VAOC_PROBE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
{% if not auto_z_offset %}
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
{% endif %}
M400
_VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT
[gcode_macro _VAOC_Z_OFFSET_PROBE_CURRENT_POSITION]
gcode =
Z_OFFSET_PROBE PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_DROP=1 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
[gcode_macro _VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT]
gcode =
{% if printer["z_offset_probe"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE={last_z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Z-offset control point set:: %.6f"' % last_z}
{% else %}
{% set z = svv.idex_zoffsetcontrolpoint|float - last_z %}
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE=0
G0 Z{svv.idex_zcontrolpoint|float} F{z_speed}
SET_GCODE_OFFSET Z_ADJUST={(0 - z)} MOVE=1
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset set: Z %.6f"' % (t, z)}
{% endif %}
{% endif %}
[gcode_macro _VAOC_ECHO_Z_OFFSET]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s toolhead z-offset %.6f"' % (1 if default_toolhead == 0 else 0, svv.idex_zoffset)}
{% if svv.idex_zoffset|abs < 0.02 %}
CONSOLE_ECHO TITLE={'"Perfect toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="You have a perfect toolhead z-offset!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.02 and svv.idex_zoffset|abs < 0.05 %}
CONSOLE_ECHO TITLE={'"Good toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is good!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.05 and svv.idex_zoffset|abs < 0.1 %}
CONSOLE_ECHO TITLE={'"High toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset could be better._N_Use minimum 0.3mm first layer height for copy and mirror mode prints." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.1 and svv.idex_zoffset|abs < 0.2 %}
CONSOLE_ECHO TITLE={'"Bad toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is bad._N_Copy and mirror mode prints are not recommended with it." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.2 %}
CONSOLE_ECHO TITLE={'"Unacceptable toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is unacceptable._N_Do not print in copy and mirror mode with it." TYPE="alert"
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG="Toolhead z-offset calibration done!"
[gcode_macro _VAOC_CALIBRATE_TEMP_OFFSET]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if is_fixed and is_started and printer["z_offset_probe"] is defined and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
_VAOC_LOAD_TOOL T={default_toolhead} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
[gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET=0
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
M400
[gcode_macro _VAOC_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for thermal expansion..."
G4 P240000
RATOS_ECHO PREFIX="VAOC" MSG="Probing with nozzle temperature {temp}°C..."
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _VAOC_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set svv = printer.save_variables.variables %}
{% set msg = '"T0 expansion coefficient %.6fmm_N_T1 expansion coefficient %.6fmm"' % (svv.nozzle_expansion_coefficient_t0, svv.nozzle_expansion_coefficient_t1) %}
CONSOLE_ECHO TITLE="Nozzle expansion coefficients:" MSG={msg} TYPE="success"
[gcode_macro _VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, expected_camera_x_position, expected_camera_y_position)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - expected_camera_x_position)|abs > 5 %}
M84
{ action_raise_error("VAOC x-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_xcontrolpoint, expected_camera_x_position)) }
{% endif %}
{% if (idex_ycontrolpoint - expected_camera_y_position)|abs > 5 %}
M84
{ action_raise_error("VAOC y-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_ycontrolpoint, expected_camera_y_position)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - printer.gcode_move.gcode_position.x|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected y-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_xcontrolpoint, printer.gcode_move.gcode_position.x|float)) }
{% endif %}
{% if (idex_ycontrolpoint - printer.gcode_move.gcode_position.y|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected x-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_ycontrolpoint, printer.gcode_move.gcode_position.y|float)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_SAFE_Z_HEIGHT]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set idex_zoffsetcontrolpoint = svv.idex_zoffsetcontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_SAFE_Z_HEIGHT" MSG={'"idex_zcontrolpoint: %.6f, idex_zoffsetcontrolpoint: %.6f"' % (idex_zcontrolpoint, idex_zoffsetcontrolpoint)}
{% if safe_z < idex_zcontrolpoint + 2 or safe_z < idex_zoffsetcontrolpoint + 2 %}
{action_raise_error("VAOC safe_z value (%.3f) is too low, it must be higher than %.3f" % (safe_z, [idex_zoffsetcontrolpoint + 2, idex_zcontrolpoint + 2]|max))}
{% endif %}
[gcode_macro _VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED]
gcode =
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T0. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T1. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
[gcode_macro _VAOC_RESET]
gcode =
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={expected_camera_x_position}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={expected_camera_y_position}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE=5.0
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE=0.0
RATOS_ECHO PREFIX="VAOC" MSG="VAOC configuration resetted. Please calibrate it before using the printer."
[gcode_macro _ECHO_VAOC_VARS]
description = Echo VAOC variables to the console.
gcode =
{% for var, value in printer["gcode_macro _VAOC"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro _VAOC_SWITCH_LED]
gcode =
{% if params.STATE|default(0)|int == 1 %}
_LED_VAOC_ON
{% else %}
_LED_VAOC_OFF
{% endif %}
[gcode_macro Z_PROBE_TEST_T0]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T0
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST_T1]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T1
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro _VAOC_Z_PROBE_LOOP]
gcode =
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_SHAKE_IT
_VAOC_START
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if primary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T0. Retried {primary_retries} time(s)."
{% endif %}
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
{% if (primary_range - secondary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 is drifting significantly more than T1."
{% endif %}
{% if (secondary_range - primary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 is drifting significantly more than T0."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T0]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T1]
gcode =
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _SHAKE_IT]
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
_Z_HOP
{% for i in range(3) %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 + 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 + 1}
{% endfor %}
{% for i in range(2) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 + 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 + 50}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 1}
{% endfor %}
{% endfor %}
[gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 retries updated: {new_retries}"
[gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 retries updated: {new_retries}"
[gcode_macro _CLEAR_PRIMARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 result set"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 retries"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _CLEAR_SECONDARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 result set"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 retries"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _VAOC_TEST_Z_OFFSET]
gcode =
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[delayed_gcode _IDEX_INIT]
initial_duration = 0.1
gcode =
VERIFY_HYBRID_INVERTED
[gcode_macro Z_TILT_ADJUST]
rename_existing = Z_TILT_ADJUST_ORIG
gcode =
{% set beacon_contact_z_tilt_adjust_samples = printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust_samples|default(2)|int %}
{% set beacon_contact_z_tilt_adjust = true if printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust|default(true)|lower == 'true' else false %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={printer["gcode_macro RatOS"].default_toolhead|default(0)|int} TOOLSHIFT=false
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_tilt_adjust %}
Z_TILT_ADJUST_ORIG PROBE_METHOD=contact SAMPLES={beacon_contact_z_tilt_adjust_samples}
{% else %}
Z_TILT_ADJUST_ORIG
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
STOW_PROBE
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == "copy" %}
_IDEX_COPY
{% elif idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[stepper_x]
position_max = 500
position_endstop = -59.8
position_min = -59.8
step_pin = PF13
dir_pin = x_dir_pin
enable_pin = !PF14
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t0:PB6
[stepper_y]
position_max = 533.65
position_min = -14.35
position_endstop = -14.35
step_pin = PG0
dir_pin = !y_dir_pin
enable_pin = !PF15
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = PG9
[stepper_z]
position_max = 500
position_min = -7
step_pin = PC13
dir_pin = !z0_dir_pin
enable_pin = !PF1
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
homing_speed = 10
endstop_pin = probe:z_virtual_endstop
[bed_mesh]
horizontal_move_z = 2
mesh_min = 20,30
mesh_max = 470,462.5
probe_count = 40,40
fade_start = 1.0
fade_end = 10.0
mesh_pps = 2,2
algorithm = bicubic
bicubic_tension = .2
speed = 600
[z_tilt]
z_positions =
0,0
250,500
500,0
points =
20,10
250,440
480,10
horizontal_move_z = 20
retries = 10
retry_tolerance = 0.02
speed = 600
[extruder]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t0:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t0:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.049
step_pin = toolboard_t0:PD0
dir_pin = toolboard_t0:e_dir_pin
enable_pin = !toolboard_t0:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[firmware_retraction]
retract_speed = 60
unretract_extra_length = 0
unretract_speed = 60
retract_length = 0.5
[extruder1]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t1:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t1:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.03
step_pin = toolboard_t1:PD0
dir_pin = toolboard_t1:e_dir_pin
enable_pin = !toolboard_t1:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[resonance_tester]
accel_chip_x = adxl345 toolboard_t0
accel_chip_y = adxl345 toolboard_t0
probe_points =
250,250,20
[tmc2209 stepper_x]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 dual_carriage]
stealthchop_threshold = 0
interpolate = False
uart_pin = PF2
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD11
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC7
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_y1]
step_pin = PG4
dir_pin = y1_dir_pin
enable_pin = !PA0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
[tmc2209 stepper_z]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_z1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE1
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z1]
step_pin = PE2
dir_pin = !z1_dir_pin
enable_pin = !PD4
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 stepper_z2]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD3
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z2]
step_pin = PE6
dir_pin = !z2_dir_pin
enable_pin = !PE0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 extruder]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t0:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[tmc2209 extruder1]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t1:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[beacon]
serial = /dev/beacon
x_offset = 0
y_offset = 22.5
mesh_main_direction = x
mesh_runs = 1
speed = 15.
lift_speed = 80.
contact_max_hotend_temperature = 275
[delayed_gcode _BEACON_INIT]
initial_duration = 1
gcode =
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(0)|float %}
{% if nozzle_expansion_coefficient_multiplier == 0 %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is not defined %}
{% set nozzle_expansion_coefficient_multiplier = 1.0 %}
{% else %}
{% set nozzle_expansion_coefficient_multiplier = printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier|default(1.0)|float %}
{% endif %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={nozzle_expansion_coefficient_multiplier}
{% endif %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is defined %}
CONSOLE_ECHO TITLE="Deprecated gcode variable" TYPE="warning" MSG={'"Please remove the variable beacon_contact_expansion_multiplier from your config file."'}
{% endif %}
[gcode_macro BEACON_RATOS_CALIBRATION]
gcode =
RATOS_ECHO MSG="Did you mean BEACON_RATOS_CALIBRATE?"
[gcode_macro BEACON_RATOS_CALIBRATE]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
BEACON_INITIAL_CALIBRATION _AUTOMATED=True
{% if beacon_contact_start_print_true_zero %}
BEACON_POKE_TEST _AUTOMATED=True
_BEACON_CHECK_POKE
{% if printer["dual_carriage"] is not defined %}
BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET _AUTOMATED=True
{% endif %}
{% endif %}
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
BEACON_FINAL_CALIBRATION _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% if beacon_contact_start_print_true_zero %}
BEACON_MEASURE_GANTRY_TWIST
_BEACON_MAYBE_SCAN_COMPENSATION
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_OFF
{% endif %}
{% if beacon_contact_start_print_true_zero %}
{% if printer["dual_carriage"] is not defined %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
_BEACON_ECHO_POKE
{% endif %}
RATOS_ECHO MSG="Beacon calibration finished!"
_LED_BEACON_CALIBRATION_END
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
[gcode_macro BEACON_INITIAL_CALIBRATION]
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
MAYBE_HOME X=True Y=True
_LED_BEACON_CALIBRATION_START
G90
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE
_Z_HOP
RATOS_ECHO MSG="Initial beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_FINAL_CALIBRATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
_BEACON_HOME_AND_ABL
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
_LED_BEACON_CALIBRATION_START
G90
G0 Z2 F{z_hop_speed}
RATOS_ECHO MSG="Waiting for calibration temperature..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_Z_HOP
BEACON_AUTO_CALIBRATE
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
_Z_HOP
RATOS_ECHO MSG="Final beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_POKE_TEST]
variable_poke_result_1 = -1
variable_poke_result_2 = -1
variable_poke_result_3 = -1
variable_poke_result_4 = -1
variable_poke_result_5 = -1
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_1 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_2 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_3 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_4 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_5 VALUE=-1
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
G0 Z5 F{z_hop_speed}
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=1
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=2
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=3
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=4
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=5
_Z_HOP
RATOS_ECHO MSG="Beacon poke test finished!"
{% if not automated %}
_BEACON_ECHO_POKE
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_POKE]
gcode =
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
BEACON_POKE speed=3 top=5 bottom={poke_bottom}
BEACON_QUERY
[gcode_macro _BEACON_STORE_POKE]
gcode =
{% set i = params.I|default(1)|int %}
{% set last_z = printer.beacon.last_poke_result|default(0)|float %}
{% if printer.beacon.last_poke_result|lower != "none" %}
{% if printer.beacon.last_poke_result.error == 0 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE={"poke_result_%s" % i} VALUE={printer.beacon.last_poke_result.latency}
{% endif %}
{% endif %}
[gcode_macro _BEACON_CHECK_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% if p1 == -1 or p2 == -1 or p3 == -1 or p4 == -1 or p5 == -1 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test error!") }
{% endif %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg > 6 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test failed!") }
{% endif %}
[gcode_macro _BEACON_ECHO_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg <= 1 %}
{% set type = "success" %}
{% set note = "Extremely low noise, rarely achieved" %}
{% elif avg > 1 and avg <= 4 %}
{% set type = "info" %}
{% set note = "Excellent performance for a typical printer" %}
{% elif avg > 4 and avg <= 8 %}
{% set type = "warning" %}
{% set note = "Acceptable performance, machine may have considerable cyclic axis noise" %}
{% elif avg > 8 and avg <= 11 %}
{% set type = "alert" %}
{% set note = "Not ideal, may want to verify proper mounting or use thinner stackups" %}
{% elif avg > 11 %}
{% set type = "alert" %}
{% set note = "Reason for concern, present setup may be risky to continue with" %}
{% endif %}
CONSOLE_ECHO TITLE="Beacon poke test result:" TYPE={type} MSG={'"Average latency: %.2f_N_%s"' % (avg, note)}
[gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set test_margin = 30 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Nozzle temperature offset calibration..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET=0
{% if not automated %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
{% endif %}
[gcode_macro _BEACON_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="BEACON" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
RATOS_ECHO PREFIX="BEACON" MSG="Probing with nozzle temperature {temp}°C..."
PROBE PROBE_METHOD=contact PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
BEACON_QUERY
G0 Z5 F{z_speed}
[gcode_macro _BEACON_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer.beacon.last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{default_toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
CONSOLE_ECHO TYPE="info" MSG={'"T0 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t0}
{% else %}
CONSOLE_ECHO TYPE="info" MSG={'"T1 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t1}
{% endif %}
[gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET]
variable_runtime_temp = 0
gcode =
{% set toolhead = params.TOOLHEAD|default(0)|int %}
{% set reset = true if params.RESET|default(false)|lower == 'true' else false %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% if reset %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE=0
{% else %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set nozzle_expansion_coefficient_t0 = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if printer["dual_carriage"] is defined %}
{% set nozzle_expansion_coefficient_t1 = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set applied_offset = svv.nozzle_expansion_applied_offset|default(0)|float %}
{% set temp = printer['extruder' if toolhead == 0 else 'extruder1'].target|float %}
{% set temp_offset = temp - beacon_contact_true_zero_temp %}
{% set expansion_coefficient = nozzle_expansion_coefficient_t0 if toolhead == 0 else nozzle_expansion_coefficient_t1 %}
{% set expansion_offset = nozzle_expansion_coefficient_multiplier * (temp_offset * (expansion_coefficient / 100)) %}
{% set new_offset = ((-applied_offset) + expansion_offset) %}
SET_GCODE_OFFSET Z_ADJUST={new_offset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE={expansion_offset}
SET_GCODE_VARIABLE MACRO=_BEACON_SET_NOZZLE_TEMP_OFFSET VARIABLE=runtime_temp VALUE={temp}
RATOS_ECHO PREFIX="BEACON" MSG={'"Nozzle expansion offset of %.6fmm applied to T%s"' % (expansion_offset, toolhead)}
DEBUG_ECHO PREFIX="_BEACON_SET_NOZZLE_TEMP_OFFSET" MSG="multiplier: {nozzle_expansion_coefficient_multiplier}, coefficient: {expansion_coefficient}, temp_offset: {temp_offset}, expansion_offset: {expansion_offset}, applied_offset: {applied_offset}, new_offset: {new_offset}"
{% endif %}
{% endif %}
[gcode_macro BEACON_MEASURE_GANTRY_TWIST]
variable_needs_compensation = False
variable_reference_z = 0.0
variable_front = 0.0
variable_front_left = 0.0
variable_front_right = 0.0
variable_back = 0.0
variable_back_left = 0.0
variable_back_right = 0.0
variable_right = 0.0
variable_left = 0.0
variable_margin_x = 40
variable_margin_y = 40
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=False
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Measure gantry twist..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="center"
G0 X{margin_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_left"
G0 X{safe_home_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front"
G0 X{(printable_x_max - margin_x)} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_right"
G0 X{(printable_x_max - margin_x)} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="right"
G0 X{(printable_x_max - margin_x)} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_right"
G0 X{safe_home_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back"
G0 X{margin_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_left"
G0 X{margin_x} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="left"
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
_BEACON_ECHO_GANTRY_TWIST
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_GANTRY_TWIST]
gcode =
RATOS_ECHO PREFIX="BEACON" MSG="Probing..."
BEACON_OFFSET_COMPARE
BEACON_QUERY
[gcode_macro _BEACON_STORE_GANTRY_TWIST]
gcode =
{% set location = params.LOCATION|lower %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set last_z = printer.beacon.last_offset_result["delta"]|default(0)|float %}
{% if location == "center" %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE={location} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_GANTRY_TWIST]
gcode =
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float * 1000 %}
{% set front_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_left|default(0)|float * 1000 %}
{% set front = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front|default(0)|float * 1000 %}
{% set front_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_right|default(0)|float * 1000 %}
{% set right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].right|default(0)|float * 1000 %}
{% set back_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_right|default(0)|float * 1000 %}
{% set back = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back|default(0)|float * 1000 %}
{% set back_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_left|default(0)|float * 1000 %}
{% set left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].left|default(0)|float * 1000 %}
{% set line_1 = "Front left: %.6fμm" % (front_left) %}
{% set line_2 = "Front center: %.6fμm" % (front) %}
{% set line_3 = "Front right: %.6fμm" % (front_right) %}
{% set line_4 = "Left center: %.6fμm" % (left) %}
{% set line_5 = "Right center: %.6fμm" % (right) %}
{% set line_6 = "Back left: %.6fμm" % (back_left) %}
{% set line_7 = "Back center: %.6fμm" % (back) %}
{% set line_8 = "Back right: %.6fμm" % (back_right) %}
{% set max_value = [(front_left|abs), (front|abs), (front_right|abs), (left|abs), (right|abs), (back_left|abs), (back|abs), (back_right|abs)]|max %}
{% if max_value <= 50 %}
{% set type = "success" %}
{% set recommendation = "Very low gantry twist: %.6fμm._N_No beacon scan compensation needed." % max_value %}
{% elif max_value > 50 and max_value <= 100 %}
{% set type = "info" %}
{% set recommendation = "Low gantry twist: %.6fμm._N_You may experience first layer inconsistensies, consider beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 100 and max_value <= 150 %}
{% set type = "warning" %}
{% set recommendation = "High gantry twist: %.6fμm._N_High chance of first layer problems, beacon scan compensation is highly encouraged." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 150 and max_value <= 200 %}
{% set type = "alert" %}
{% set recommendation = "Very High gantry twist: %.6fμm._N_You will encounter first layer problems on large prints unless you activate beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 200 %}
{% set type = "alert" %}
{% set recommendation = "Extremely high gantry twist: %.6fμm._N_You have significant scan/contact inconsistency which is indicative of mechanical problems, please investigate before resorting to software compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% endif %}
CONSOLE_ECHO TITLE="Gantry twist relative to the center" TYPE={type} MSG={'"_N_%s_N__N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s"' % (recommendation, line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8)}
[gcode_macro BEACON_CREATE_SCAN_COMPENSATION_MESH]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set profile = params.PROFILE|default("Contact")|string %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
{% set probe_count = printer["gcode_macro RatOS"].beacon_scan_compensation_probe_count %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% if not beacon_scan_compensation_enable %}
RATOS_ECHO MSG="Beacon scan compensation is disabled!"
{% else %}
MAYBE_HOME
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_LED_BEACON_CALIBRATION_START
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
RATOS_ECHO MSG="Please wait..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% endif %}
{% if not automated %}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
{% endif %}
{% if printer.z_tilt is defined %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% endif %}
{% if printer.quad_gantry_level is defined %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES=2 SAMPLES_DROP=1 SAMPLES_TOLERANCE_RETRIES=10 PROBE_COUNT={probe_count[0]},{probe_count[1]} PROFILE={profile}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
RATOS_ECHO MSG="Beacon scan compensation mesh created!"
{% if not automated %}
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
{% endif %}
{% endif %}
[gcode_macro _BEACON_APPLY_SCAN_COMPENSATION]
gcode =
{% set beacon_scan_compensation_profile = printer["gcode_macro RatOS"].beacon_scan_compensation_profile %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_SCAN_COMPENSATION" MSG="beacon_scan_compensation_profile {beacon_scan_compensation_profile}, beacon_scan_compensation_enable {beacon_scan_compensation_enable}"
{% if beacon_scan_compensation_enable %}
BEACON_APPLY_SCAN_COMPENSATION PROFILE={beacon_scan_compensation_profile}
{% endif %}
[gcode_macro _BEACON_MAYBE_SCAN_COMPENSATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set needs_scan_compensation = true if printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].needs_compensation|default(false)|lower == 'true' else false %}
{% if needs_scan_compensation %}
BEACON_CREATE_SCAN_COMPENSATION_MESH _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% endif %}
[gcode_macro _BEACON_HOME_AND_ABL]
gcode =
MAYBE_HOME X=True Y=True
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% if needs_rehoming %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% endif %}
[gcode_macro _BEACON_SAVE_MULTIPLIER]
gcode =
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set multiplier = printer["gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER"].runtime_multiplier|default(-1.0)|float %}
DEBUG_ECHO PREFIX="_BEACON_SAVE_MULTIPLIER" MSG="multiplier: {multiplier}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if multiplier > 0 and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={multiplier}
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE=-1.0
CONSOLE_ECHO TITLE="Hotend thermal expansion compensation" TYPE="success" MSG={'"New value is: %.6f_N_The new multiplier value has been saved to the configuration."' % multiplier}
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER]
variable_runtime_multiplier = -1.0
gcode =
{% set toolhead = 0 %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if layer_number == 0 and is_printing_gcode %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Documentation" %}
{% set line_1 = '"Your slicer is not correctly reporting layer information. See the layer change custom g-code in the %s".' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Missing layer information" TYPE="warning" MSG={line_1}
{% endif %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="layer_number: {layer_number}, is_printing_gcode: {is_printing_gcode}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if layer_number == 1 and is_printing_gcode and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if toolhead == 1 %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set beacon_contact_expansion_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set print_temp = printer["gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET"].runtime_temp|default(0)|int %}
{% if print_temp > 0 %}
{% set z_offset = printer.gcode_move.homing_origin.z|float %}
{% set temp_delta = print_temp - beacon_contact_true_zero_temp %}
{% set coefficient_per_degree = nozzle_expansion_coefficient / 100 %}
{% set z_offset_per_degree = z_offset / temp_delta %}
{% set new_multiplier = z_offset_per_degree / coefficient_per_degree %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="print_temp: {print_temp}, z_offset: {z_offset}, temp_delta: {temp_delta}, nozzle_expansion_coefficient: {nozzle_expansion_coefficient}, coefficient_per_degree: {coefficient_per_degree}, z_offset_per_degree: {z_offset_per_degree}, old_multiplier: {beacon_contact_expansion_multiplier}, new_multiplier: {new_multiplier}"
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE={new_multiplier}
{% endif %}
{% endif %}
[fan_generic part_fan_t0]
pin = !toolboard_t0:PA0
cycle_time = 0.00004
[fan_generic part_fan_t1]
pin = !toolboard_t1:PA0
cycle_time = 0.00004
[heater_fan toolhead_cooling_fan_t1]
heater = extruder1
pin = toolboard_t1:PA1
[controller_fan controller_fan]
pin = PD12
[gcode_macro T0]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = True
variable_color = "7bff33"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = -32.8
variable_parking_position = -57.800
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=0 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[gcode_macro T1]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = False
variable_color = "0ea5e9"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = 532.8
variable_parking_position = 556.971
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=1 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[save_variables]
filename = /home/pi/printer_data/config/ratos-variables.cfg
[z_offset_probe]
pin = ^PG10
z_offset = -7
y_offset = 0
x_offset = 37.5
speed = 10
samples = 3
sample_retract_dist = 5
lift_speed = 10.0
samples_result = median
samples_tolerance = 0.2
samples_tolerance_retries = 5
[neopixel vaoc_led]
pin = PB0
chain_count = 6
color_order = GRB
[heater_fan vaoc_fan]
pin = PD13
heater = heater_bed
fan_speed = 1.0
heater_temp = 50
[filament_switch_sensor toolhead_filament_sensor_t0]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t0:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=0
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=0
[gcode_button toolhead_filament_sensor_button_t0]
pin = ^!toolboard_t0:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=0
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=0
{% endif %}
press_gcode =
[filament_switch_sensor toolhead_filament_sensor_t1]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t1:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=1
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=1
[gcode_button toolhead_filament_sensor_button_t1]
pin = ^!toolboard_t1:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=1
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=1
{% endif %}
press_gcode =
[beacon model default]
model_coef = 1.5216898007481126,
1.8902129794265508,
0.831820228817575,
0.3593149586958484,
0.23269392145129414,
0.19533062331679613,
-0.1632586565325532,
-0.17574982456618962,
0.17702053002792054,
0.13435326641891854
model_domain = 1.851328082849494e-07,1.9354184656086437e-07
model_range = 0.200000,5.000000
model_temp = 43.655936
model_offset = -0.05394
[bed_mesh Preparation]
version = 1
points =
-0.123065, -0.129249, -0.137728, -0.143346, -0.146108, -0.151560, -0.155215, -0.159040, -0.159958, -0.164177, -0.166491, -0.171752, -0.176450, -0.180710, -0.184686, -0.190246, -0.195775, -0.202238, -0.207460, -0.213022, -0.218225, -0.220510, -0.220567, -0.219225, -0.217630, -0.212552, -0.206331, -0.200070, -0.194573, -0.188334, -0.180118, -0.172176, -0.168038, -0.164374, -0.159375, -0.153073, -0.146940, -0.141521, -0.135166, -0.127086
-0.088754, -0.096605, -0.102126, -0.105995, -0.109969, -0.114049, -0.118511, -0.121889, -0.124322, -0.126883, -0.131213, -0.135417, -0.139505, -0.143071, -0.147057, -0.152929, -0.157956, -0.164833, -0.170577, -0.176167, -0.181394, -0.184379, -0.183957, -0.184723, -0.181740, -0.178752, -0.172233, -0.167393, -0.161225, -0.155149, -0.148851, -0.144256, -0.140355, -0.137883, -0.132371, -0.128553, -0.122059, -0.115777, -0.111817, -0.103433
-0.059703, -0.065141, -0.068894, -0.072534, -0.074652, -0.078732, -0.083449, -0.087482, -0.090032, -0.093010, -0.095624, -0.100951, -0.104058, -0.107939, -0.110295, -0.114845, -0.122184, -0.128323, -0.134619, -0.141129, -0.146735, -0.150526, -0.151921, -0.151703, -0.149648, -0.145697, -0.140806, -0.136280, -0.130497, -0.125540, -0.120070, -0.115730, -0.115253, -0.113816, -0.111683, -0.107485, -0.102833, -0.098964, -0.092084, -0.083493
-0.035146, -0.038887, -0.040630, -0.042918, -0.045822, -0.048863, -0.053602, -0.057912, -0.061422, -0.063969, -0.067771, -0.070734, -0.074263, -0.077254, -0.079459, -0.084177, -0.089247, -0.097608, -0.105291, -0.111173, -0.118299, -0.123146, -0.124957, -0.125483, -0.121116, -0.117566, -0.112065, -0.108311, -0.103527, -0.098034, -0.093794, -0.092694, -0.092279, -0.092993, -0.091409, -0.090502, -0.087302, -0.082043, -0.077730, -0.068983
-0.014429, -0.015436, -0.015024, -0.015867, -0.016594, -0.019643, -0.023524, -0.028230, -0.032698, -0.035277, -0.037866, -0.041326, -0.042863, -0.045187, -0.048169, -0.051460, -0.057369, -0.064702, -0.072998, -0.082472, -0.088649, -0.094871, -0.098359, -0.099789, -0.097374, -0.090473, -0.085585, -0.080722, -0.076818, -0.073349, -0.069668, -0.068340, -0.069674, -0.071996, -0.071434, -0.069706, -0.067260, -0.064747, -0.060147, -0.051867
0.001800, 0.004209, 0.006295, 0.006641, 0.006498, 0.003907, 0.000374, -0.004775, -0.008574, -0.012033, -0.015343, -0.017616, -0.020077, -0.021090, -0.023071, -0.026600, -0.031917, -0.039089, -0.048471, -0.057699, -0.066738, -0.073148, -0.075881, -0.078085, -0.074661, -0.071015, -0.062931, -0.057662, -0.054662, -0.049156, -0.046409, -0.047290, -0.049401, -0.052189, -0.052468, -0.052381, -0.048999, -0.045375, -0.042758, -0.036124
0.014578, 0.018249, 0.024038, 0.026382, 0.027249, 0.026050, 0.022467, 0.017577, 0.013010, 0.010887, 0.006983, 0.004054, 0.002721, 0.001326, -0.000218, -0.003487, -0.007851, -0.014883, -0.023207, -0.033846, -0.042392, -0.050957, -0.055968, -0.056765, -0.055272, -0.049752, -0.043583, -0.037460, -0.031652, -0.028299, -0.026023, -0.024866, -0.027110, -0.030476, -0.033084, -0.034078, -0.031246, -0.029362, -0.025190, -0.019151
0.024410, 0.030484, 0.035193, 0.039485, 0.041745, 0.040083, 0.037331, 0.032763, 0.028232, 0.025326, 0.021729, 0.020069, 0.017930, 0.018061, 0.015847, 0.013482, 0.008905, 0.001823, -0.007356, -0.016569, -0.026170, -0.033571, -0.037941, -0.040096, -0.038153, -0.033153, -0.025879, -0.019168, -0.014733, -0.010497, -0.008672, -0.007561, -0.010567, -0.014787, -0.015661, -0.017707, -0.017691, -0.014205, -0.012676, -0.006032
0.030350, 0.037321, 0.045452, 0.050793, 0.053375, 0.054499, 0.051059, 0.046846, 0.042496, 0.039367, 0.035643, 0.033919, 0.033912, 0.033623, 0.032081, 0.030054, 0.024662, 0.019256, 0.010309, -0.000351, -0.009383, -0.017529, -0.022320, -0.022585, -0.022214, -0.017406, -0.012453, -0.004461, 0.001580, 0.003945, 0.005930, 0.006089, 0.003042, -0.000316, -0.002673, -0.003751, -0.003717, -0.002638, 0.000226, 0.005144
0.035173, 0.044246, 0.052100, 0.057619, 0.061427, 0.062646, 0.059768, 0.057094, 0.052969, 0.049696, 0.046221, 0.044853, 0.044616, 0.045243, 0.045236, 0.041880, 0.037458, 0.030193, 0.021980, 0.013232, 0.002262, -0.005043, -0.010706, -0.011683, -0.008394, -0.003728, 0.001908, 0.006662, 0.011662, 0.016663, 0.018832, 0.016640, 0.013833, 0.008164, 0.007799, 0.005419, 0.005328, 0.009190, 0.008467, 0.015441
0.037108, 0.045666, 0.056458, 0.063149, 0.067499, 0.069070, 0.068454, 0.065539, 0.062239, 0.059947, 0.057580, 0.054794, 0.056387, 0.057237, 0.057484, 0.055314, 0.050020, 0.043846, 0.035280, 0.025122, 0.016671, 0.008013, 0.002311, 0.000737, 0.001896, 0.008203, 0.014297, 0.020006, 0.024262, 0.026669, 0.029339, 0.030551, 0.026033, 0.021667, 0.017948, 0.016993, 0.017491, 0.017914, 0.020540, 0.025522
0.036352, 0.047193, 0.056745, 0.064612, 0.068634, 0.070738, 0.069708, 0.067799, 0.066444, 0.064284, 0.063129, 0.061805, 0.060988, 0.062269, 0.063716, 0.060863, 0.057021, 0.049768, 0.040718, 0.032150, 0.020744, 0.014030, 0.009615, 0.006588, 0.008979, 0.012564, 0.020268, 0.025138, 0.030238, 0.034561, 0.036879, 0.034610, 0.032263, 0.027581, 0.024798, 0.023672, 0.023321, 0.026978, 0.024620, 0.027896
0.031904, 0.041999, 0.053526, 0.061780, 0.068626, 0.071467, 0.069588, 0.070855, 0.067652, 0.067081, 0.066260, 0.065427, 0.067567, 0.067660, 0.066819, 0.066532, 0.062096, 0.056381, 0.047624, 0.037620, 0.028342, 0.019370, 0.013689, 0.013032, 0.014071, 0.018558, 0.024375, 0.029309, 0.035040, 0.038931, 0.042663, 0.042886, 0.037831, 0.034178, 0.030240, 0.030073, 0.030481, 0.030514, 0.032425, 0.035200
0.027182, 0.039232, 0.050723, 0.059936, 0.065685, 0.068762, 0.069802, 0.067959, 0.067866, 0.067327, 0.067183, 0.067449, 0.068351, 0.070500, 0.070804, 0.066856, 0.063180, 0.057359, 0.048570, 0.041217, 0.030261, 0.023075, 0.018834, 0.015316, 0.018939, 0.022756, 0.029306, 0.034018, 0.038670, 0.043164, 0.045084, 0.044050, 0.042856, 0.037331, 0.034978, 0.032203, 0.031843, 0.034428, 0.032762, 0.037273
0.021053, 0.033448, 0.046106, 0.055345, 0.064261, 0.068907, 0.069228, 0.069829, 0.068287, 0.068723, 0.069343, 0.068829, 0.071972, 0.073165, 0.073793, 0.072091, 0.066945, 0.060901, 0.053179, 0.043877, 0.036784, 0.028377, 0.023620, 0.022244, 0.021968, 0.027336, 0.032852, 0.037884, 0.042949, 0.044947, 0.048544, 0.049110, 0.045085, 0.042044, 0.039134, 0.036728, 0.035119, 0.034480, 0.035005, 0.040348
0.012798, 0.026215, 0.038175, 0.049823, 0.056616, 0.061959, 0.063431, 0.063875, 0.064311, 0.064278, 0.065429, 0.067402, 0.068134, 0.070311, 0.071612, 0.068720, 0.065355, 0.058476, 0.049821, 0.043365, 0.033745, 0.028649, 0.024126, 0.021884, 0.024781, 0.027504, 0.032892, 0.037274, 0.041428, 0.045995, 0.047404, 0.045205, 0.044657, 0.039586, 0.038947, 0.035435, 0.034980, 0.037579, 0.032889, 0.037251
0.002599, 0.016742, 0.028454, 0.039856, 0.050630, 0.057205, 0.057988, 0.060542, 0.060803, 0.062833, 0.063316, 0.063458, 0.067483, 0.068629, 0.069600, 0.068774, 0.065105, 0.060486, 0.053074, 0.043536, 0.036203, 0.030149, 0.025306, 0.023637, 0.024745, 0.030017, 0.034726, 0.038220, 0.042707, 0.043750, 0.047446, 0.047304, 0.044249, 0.040629, 0.037643, 0.037322, 0.036376, 0.036060, 0.034983, 0.039259
-0.009299, 0.003358, 0.016587, 0.028772, 0.037637, 0.045522, 0.048419, 0.050740, 0.052845, 0.054601, 0.054222, 0.056341, 0.057287, 0.060815, 0.062225, 0.059457, 0.058540, 0.052712, 0.045650, 0.039369, 0.029281, 0.023853, 0.020326, 0.017158, 0.020475, 0.024038, 0.029159, 0.033918, 0.035785, 0.040239, 0.040813, 0.040406, 0.039684, 0.033949, 0.033181, 0.032565, 0.029348, 0.033315, 0.026965, 0.030583
-0.026918, -0.010726, 0.002999, 0.014433, 0.026463, 0.034997, 0.038263, 0.042755, 0.042939, 0.045824, 0.048341, 0.048364, 0.051534, 0.052744, 0.054094, 0.054604, 0.051491, 0.048552, 0.042327, 0.033918, 0.027486, 0.020894, 0.015739, 0.013238, 0.014280, 0.018615, 0.022786, 0.027006, 0.032407, 0.034888, 0.037864, 0.036858, 0.033948, 0.030834, 0.029128, 0.027105, 0.027313, 0.024774, 0.024613, 0.027069
-0.040027, -0.025131, -0.010601, 0.002523, 0.013123, 0.021425, 0.026915, 0.029297, 0.032819, 0.034947, 0.036059, 0.038480, 0.039604, 0.041848, 0.043952, 0.042987, 0.042589, 0.037420, 0.031622, 0.024770, 0.017692, 0.011391, 0.007445, 0.004353, 0.006436, 0.009431, 0.015809, 0.020322, 0.022741, 0.028265, 0.028380, 0.028365, 0.028435, 0.021376, 0.020191, 0.019534, 0.016283, 0.019006, 0.011746, 0.014708
-0.056684, -0.040558, -0.026026, -0.013077, 0.001136, 0.010197, 0.014126, 0.019524, 0.020289, 0.024250, 0.027205, 0.027040, 0.032136, 0.032733, 0.036150, 0.035729, 0.033818, 0.032633, 0.025943, 0.018154, 0.011096, 0.004347, 0.000182, -0.001587, -0.000674, 0.003150, 0.008718, 0.014003, 0.019522, 0.021413, 0.024493, 0.023669, 0.021443, 0.017697, 0.014271, 0.011648, 0.010124, 0.007028, 0.008391, 0.011548
-0.070688, -0.054708, -0.038988, -0.022400, -0.012838, -0.002722, 0.002683, 0.005530, 0.009069, 0.011945, 0.013369, 0.016565, 0.019252, 0.022612, 0.026435, 0.026276, 0.025811, 0.021076, 0.014586, 0.009648, 0.000497, -0.005110, -0.010032, -0.013120, -0.009419, -0.005850, 0.001196, 0.007562, 0.011003, 0.016293, 0.018088, 0.015279, 0.015117, 0.005636, 0.004038, 0.002755, -0.002018, 0.003098, -0.003080, -0.000159
-0.089093, -0.069024, -0.051576, -0.039140, -0.023761, -0.014054, -0.008637, -0.004206, -0.002925, 0.000628, 0.004294, 0.005180, 0.012082, 0.014985, 0.018446, 0.019703, 0.018943, 0.015701, 0.008415, 0.001132, -0.005341, -0.012240, -0.017255, -0.018934, -0.018344, -0.013165, -0.006037, 0.001223, 0.007618, 0.009453, 0.012580, 0.011127, 0.007477, 0.001830, -0.001810, -0.004428, -0.005625, -0.007326, -0.005016, -0.000600
-0.099704, -0.080527, -0.064504, -0.047065, -0.036227, -0.025986, -0.020027, -0.016586, -0.013094, -0.010398, -0.007205, -0.002616, 0.000734, 0.006380, 0.011519, 0.011174, 0.009740, 0.006345, 0.000545, -0.006125, -0.015283, -0.021250, -0.024104, -0.027854, -0.024622, -0.019636, -0.011858, -0.003915, 0.000667, 0.007300, 0.007642, 0.003905, 0.002899, -0.006441, -0.009109, -0.009676, -0.012463, -0.007014, -0.012570, -0.007146
-0.114714, -0.093148, -0.075353, -0.061754, -0.045386, -0.035447, -0.029339, -0.024022, -0.022394, -0.017008, -0.013168, -0.011385, -0.002852, 0.000333, 0.005220, 0.006668, 0.006239, 0.003185, -0.002733, -0.010821, -0.017979, -0.026075, -0.029651, -0.031781, -0.028478, -0.022137, -0.015652, -0.008127, -0.002024, 0.000627, 0.005143, 0.004125, -0.000697, -0.005698, -0.011038, -0.012025, -0.011996, -0.012589, -0.010022, -0.005017
-0.122903, -0.103635, -0.085984, -0.068299, -0.055409, -0.045262, -0.039103, -0.034155, -0.030447, -0.026675, -0.022523, -0.017787, -0.012967, -0.006671, -0.001667, -0.001944, -0.001690, -0.006190, -0.012321, -0.018992, -0.026396, -0.032518, -0.035515, -0.038670, -0.034660, -0.028220, -0.021430, -0.013595, -0.009650, -0.004742, -0.002199, -0.005392, -0.005290, -0.012575, -0.015890, -0.016404, -0.019504, -0.013782, -0.018582, -0.014276
-0.134579, -0.113485, -0.095284, -0.079518, -0.062659, -0.052056, -0.046305, -0.039009, -0.037823, -0.031848, -0.027185, -0.024069, -0.016064, -0.013428, -0.007718, -0.004529, -0.006462, -0.009628, -0.015448, -0.022543, -0.030829, -0.037569, -0.039995, -0.040648, -0.038926, -0.033288, -0.025343, -0.019131, -0.012345, -0.009802, -0.006212, -0.006248, -0.010552, -0.013167, -0.017225, -0.018029, -0.017813, -0.019312, -0.017588, -0.012622
-0.141623, -0.121670, -0.102186, -0.085896, -0.071216, -0.060247, -0.053842, -0.047188, -0.042746, -0.037427, -0.034976, -0.028961, -0.023709, -0.016692, -0.012858, -0.012134, -0.011163, -0.015775, -0.023443, -0.028172, -0.036157, -0.042440, -0.044826, -0.047997, -0.043392, -0.036551, -0.030720, -0.023607, -0.017635, -0.012732, -0.009913, -0.014198, -0.013203, -0.020762, -0.021628, -0.022211, -0.024141, -0.018562, -0.021550, -0.018843
-0.153558, -0.131254, -0.112812, -0.097483, -0.078966, -0.067860, -0.060926, -0.053977, -0.052300, -0.044006, -0.039839, -0.035812, -0.028838, -0.024006, -0.019004, -0.016593, -0.019021, -0.020131, -0.025883, -0.034599, -0.040980, -0.047799, -0.051352, -0.052014, -0.049759, -0.042428, -0.034779, -0.027594, -0.022224, -0.019623, -0.014617, -0.015462, -0.018895, -0.023314, -0.026383, -0.027395, -0.026422, -0.027225, -0.024109, -0.018187
-0.161908, -0.140002, -0.120655, -0.102888, -0.087870, -0.077667, -0.069724, -0.063534, -0.057774, -0.052057, -0.047301, -0.041207, -0.036047, -0.031176, -0.024730, -0.024522, -0.023785, -0.027288, -0.033143, -0.038931, -0.048404, -0.054383, -0.057185, -0.059173, -0.055642, -0.049257, -0.042398, -0.033901, -0.029000, -0.023467, -0.020749, -0.023617, -0.023141, -0.030864, -0.033138, -0.032954, -0.034538, -0.029482, -0.033082, -0.028314
-0.174826, -0.151443, -0.130396, -0.116540, -0.098721, -0.086440, -0.078811, -0.071608, -0.069023, -0.060435, -0.055560, -0.050716, -0.042712, -0.037661, -0.034517, -0.031178, -0.032055, -0.033793, -0.038671, -0.045928, -0.052841, -0.060492, -0.063749, -0.063988, -0.062643, -0.056771, -0.049569, -0.041294, -0.034726, -0.031908, -0.028202, -0.029544, -0.031862, -0.035321, -0.038379, -0.038996, -0.038819, -0.039354, -0.037656, -0.031082
-0.183238, -0.161592, -0.141835, -0.122259, -0.107820, -0.096198, -0.087266, -0.081174, -0.074490, -0.069838, -0.064393, -0.057107, -0.050762, -0.045327, -0.038202, -0.038855, -0.038407, -0.041566, -0.047140, -0.051945, -0.061233, -0.066409, -0.069864, -0.071910, -0.067210, -0.062565, -0.055432, -0.048278, -0.044331, -0.038455, -0.036269, -0.038273, -0.038014, -0.045766, -0.046782, -0.045843, -0.049612, -0.044485, -0.046549, -0.043773
-0.193766, -0.171381, -0.150622, -0.136571, -0.116007, -0.105103, -0.095303, -0.087977, -0.084827, -0.076628, -0.071043, -0.067079, -0.058807, -0.053256, -0.047233, -0.043607, -0.045450, -0.047128, -0.052927, -0.059961, -0.065522, -0.072239, -0.075898, -0.075835, -0.075111, -0.067972, -0.061979, -0.053963, -0.049569, -0.047796, -0.043883, -0.043617, -0.047656, -0.050661, -0.053231, -0.054403, -0.054461, -0.055549, -0.052266, -0.047746
-0.201314, -0.179345, -0.161359, -0.141661, -0.125534, -0.113803, -0.104605, -0.097577, -0.091460, -0.084584, -0.081618, -0.073351, -0.066639, -0.060233, -0.053844, -0.052016, -0.050399, -0.053801, -0.060298, -0.064515, -0.073415, -0.079082, -0.082485, -0.085173, -0.080732, -0.075519, -0.069232, -0.061446, -0.057882, -0.054204, -0.050503, -0.055575, -0.054341, -0.063491, -0.062954, -0.061692, -0.063367, -0.060560, -0.063682, -0.062945
-0.210699, -0.186568, -0.169980, -0.155576, -0.134580, -0.123486, -0.114304, -0.104424, -0.101420, -0.092798, -0.086708, -0.083121, -0.072735, -0.068592, -0.062863, -0.059082, -0.060053, -0.060206, -0.063958, -0.071063, -0.077559, -0.085187, -0.086687, -0.088869, -0.087870, -0.081655, -0.074488, -0.068268, -0.062429, -0.060979, -0.056752, -0.057920, -0.060916, -0.066499, -0.069739, -0.070931, -0.070913, -0.070755, -0.068799, -0.063772
-0.219515, -0.197554, -0.177657, -0.160158, -0.145459, -0.131642, -0.122712, -0.114730, -0.108205, -0.102209, -0.096258, -0.088791, -0.081533, -0.074260, -0.066793, -0.066614, -0.064792, -0.068370, -0.072488, -0.076295, -0.085080, -0.090724, -0.095074, -0.097575, -0.093448, -0.090253, -0.083279, -0.075362, -0.072746, -0.067366, -0.066279, -0.070410, -0.069398, -0.077609, -0.078058, -0.078135, -0.084604, -0.079149, -0.080611, -0.079800
-0.230805, -0.207528, -0.186481, -0.172408, -0.153776, -0.143194, -0.132521, -0.122732, -0.119724, -0.111161, -0.104757, -0.098336, -0.089800, -0.085237, -0.079503, -0.074701, -0.074730, -0.077056, -0.080999, -0.087250, -0.090878, -0.098745, -0.100539, -0.104508, -0.101283, -0.096607, -0.088982, -0.085559, -0.079754, -0.079122, -0.075177, -0.075963, -0.081290, -0.085296, -0.088572, -0.088783, -0.090303, -0.090612, -0.089416, -0.085933
-0.237804, -0.216625, -0.196099, -0.177369, -0.162298, -0.151235, -0.142740, -0.134419, -0.126793, -0.120617, -0.114293, -0.107315, -0.098104, -0.090157, -0.083399, -0.082639, -0.080974, -0.083252, -0.088626, -0.094519, -0.101179, -0.107558, -0.109548, -0.114106, -0.110311, -0.106939, -0.099894, -0.093051, -0.091536, -0.087351, -0.087053, -0.090645, -0.091250, -0.099822, -0.100443, -0.101896, -0.103601, -0.100931, -0.103353, -0.101983
-0.247583, -0.224449, -0.204610, -0.192000, -0.171035, -0.160649, -0.151982, -0.142274, -0.139230, -0.129743, -0.123914, -0.119027, -0.108169, -0.102443, -0.095205, -0.091306, -0.092205, -0.092345, -0.096259, -0.103217, -0.108755, -0.115722, -0.119030, -0.120152, -0.118763, -0.111891, -0.108093, -0.102743, -0.098191, -0.095813, -0.095324, -0.097542, -0.103908, -0.108247, -0.112667, -0.113407, -0.114053, -0.115255, -0.113592, -0.108895
-0.258858, -0.235997, -0.216740, -0.198116, -0.183378, -0.171186, -0.161217, -0.155748, -0.147888, -0.142165, -0.135823, -0.126753, -0.118377, -0.109580, -0.102398, -0.099259, -0.097063, -0.101252, -0.106440, -0.110945, -0.118590, -0.125773, -0.130331, -0.133380, -0.130510, -0.125840, -0.121346, -0.113584, -0.112154, -0.108462, -0.107451, -0.111338, -0.113454, -0.123539, -0.127029, -0.125848, -0.131621, -0.126772, -0.129161, -0.126885
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh ratos]
version = 1
points =
0.252421, 0.239918, 0.235079, 0.233044, 0.229596, 0.212449, 0.189631, 0.177265, 0.169883, 0.164401, 0.162956, 0.163382, 0.166705, 0.179165, 0.193577
0.271966, 0.259877, 0.254582, 0.251196, 0.246518, 0.227398, 0.201969, 0.187328, 0.176683, 0.168773, 0.169957, 0.176639, 0.182214, 0.189877, 0.198461
0.276289, 0.267046, 0.261350, 0.255007, 0.248230, 0.229009, 0.203988, 0.191305, 0.185623, 0.181806, 0.180978, 0.181667, 0.184263, 0.193155, 0.203690
0.278889, 0.273241, 0.267160, 0.257355, 0.248146, 0.229016, 0.204779, 0.194759, 0.195556, 0.197049, 0.193377, 0.185856, 0.184502, 0.195611, 0.209394
0.278746, 0.275629, 0.269870, 0.258938, 0.248858, 0.229500, 0.205165, 0.195780, 0.198458, 0.201461, 0.196561, 0.185904, 0.183158, 0.195579, 0.211088
0.276375, 0.276236, 0.271549, 0.260815, 0.250692, 0.230737, 0.205548, 0.195534, 0.197468, 0.199796, 0.194343, 0.182983, 0.180177, 0.193876, 0.210799
0.273524, 0.273458, 0.269603, 0.260653, 0.251723, 0.231624, 0.206002, 0.195409, 0.196267, 0.197753, 0.192971, 0.183368, 0.181615, 0.195760, 0.212938
0.267660, 0.262256, 0.259405, 0.256574, 0.252066, 0.232597, 0.207063, 0.195713, 0.194465, 0.194512, 0.193170, 0.191017, 0.193092, 0.206555, 0.222135
0.261978, 0.251389, 0.249510, 0.252617, 0.252419, 0.233692, 0.208414, 0.196366, 0.192974, 0.191518, 0.193443, 0.198433, 0.204171, 0.216936, 0.230946
0.259175, 0.248781, 0.247703, 0.252469, 0.253528, 0.235805, 0.211588, 0.199323, 0.194060, 0.190904, 0.192775, 0.198523, 0.204714, 0.217544, 0.231592
0.256917, 0.248898, 0.248775, 0.253971, 0.255438, 0.239147, 0.216672, 0.204382, 0.196942, 0.191618, 0.192082, 0.196190, 0.201684, 0.215074, 0.230002
0.258878, 0.252498, 0.252461, 0.256670, 0.257493, 0.241767, 0.220173, 0.208520, 0.201784, 0.196903, 0.196216, 0.197892, 0.202508, 0.217707, 0.234843
0.266676, 0.262097, 0.261261, 0.262395, 0.261081, 0.245358, 0.224295, 0.214415, 0.211973, 0.210659, 0.208388, 0.205266, 0.208274, 0.227810, 0.250023
0.272369, 0.268928, 0.267532, 0.266607, 0.263893, 0.248373, 0.227935, 0.219380, 0.219876, 0.220951, 0.217279, 0.210276, 0.211840, 0.234232, 0.259847
0.272470, 0.268521, 0.267342, 0.267309, 0.265457, 0.251692, 0.233409, 0.225272, 0.224341, 0.223802, 0.218119, 0.207943, 0.207465, 0.228239, 0.252402
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 164.129
max_x = 335.871
min_y = 164.129
max_y = 335.871
[bed_mesh default_01]
version = 1
points =
-0.212352, -0.205004, -0.205688, -0.213947, -0.211584, -0.200827, -0.196079, -0.201497, -0.201616, -0.208425, -0.209947, -0.207257, -0.208137, -0.210397, -0.217396, -0.222770, -0.220129, -0.218163, -0.221850, -0.237017, -0.247459, -0.242211, -0.231428, -0.233658, -0.238247, -0.236157, -0.227367, -0.215174, -0.214324, -0.216396, -0.215984, -0.211921, -0.203751, -0.202477, -0.212640, -0.222181, -0.219244, -0.211084, -0.209151, -0.209082
-0.174162, -0.176047, -0.170487, -0.170548, -0.170736, -0.164118, -0.157555, -0.153439, -0.160425, -0.170282, -0.172797, -0.167139, -0.166458, -0.175026, -0.179929, -0.178620, -0.177640, -0.179906, -0.184836, -0.197635, -0.207979, -0.205003, -0.197052, -0.197250, -0.203982, -0.199476, -0.190324, -0.186099, -0.187066, -0.186672, -0.187746, -0.181171, -0.185153, -0.187589, -0.187063, -0.200665, -0.201051, -0.202709, -0.193542, -0.191586
-0.137100, -0.139551, -0.156952, -0.140436, -0.132315, -0.117612, -0.126367, -0.127171, -0.117222, -0.126918, -0.136512, -0.136358, -0.132073, -0.130702, -0.140103, -0.142380, -0.138235, -0.138905, -0.144252, -0.155403, -0.167395, -0.168131, -0.163644, -0.167313, -0.170169, -0.167668, -0.163673, -0.153559, -0.151257, -0.156368, -0.162458, -0.158603, -0.153421, -0.159541, -0.173014, -0.183822, -0.179305, -0.173713, -0.177083, -0.178655
-0.119638, -0.118582, -0.112676, -0.107016, -0.101057, -0.097609, -0.090568, -0.088846, -0.094353, -0.105808, -0.108640, -0.099508, -0.097061, -0.104063, -0.108925, -0.106601, -0.108711, -0.108244, -0.112043, -0.120678, -0.130435, -0.136258, -0.136819, -0.140693, -0.145176, -0.140418, -0.133156, -0.127840, -0.122126, -0.121636, -0.126438, -0.130351, -0.139794, -0.144111, -0.146054, -0.158204, -0.161518, -0.167826, -0.159598, -0.158650
-0.096835, -0.087718, -0.104672, -0.082461, -0.076224, -0.060838, -0.069516, -0.072615, -0.062211, -0.077871, -0.084714, -0.077026, -0.072760, -0.070095, -0.080251, -0.081571, -0.077742, -0.079221, -0.083101, -0.090649, -0.099299, -0.104793, -0.110080, -0.115975, -0.119470, -0.118751, -0.111056, -0.099818, -0.088329, -0.086065, -0.095142, -0.105657, -0.108794, -0.116773, -0.128079, -0.136836, -0.137575, -0.140247, -0.145489, -0.148040
-0.083209, -0.079868, -0.067185, -0.063731, -0.058642, -0.053051, -0.047765, -0.045331, -0.050266, -0.066491, -0.066941, -0.056015, -0.048217, -0.054259, -0.060356, -0.057978, -0.058606, -0.058994, -0.066141, -0.074500, -0.082524, -0.087903, -0.089955, -0.094768, -0.104398, -0.099852, -0.090725, -0.079565, -0.067033, -0.062767, -0.070707, -0.083459, -0.101043, -0.101848, -0.100333, -0.109638, -0.123028, -0.141217, -0.130959, -0.131217
-0.069730, -0.056597, -0.069495, -0.045018, -0.042152, -0.026485, -0.032235, -0.034557, -0.024843, -0.038262, -0.047943, -0.040534, -0.031409, -0.031423, -0.038290, -0.042184, -0.036914, -0.036003, -0.044482, -0.056018, -0.065785, -0.068729, -0.067646, -0.075299, -0.082594, -0.082415, -0.073119, -0.059632, -0.051532, -0.053502, -0.062114, -0.070318, -0.073796, -0.079949, -0.088985, -0.099045, -0.106334, -0.115317, -0.118710, -0.121606
-0.063230, -0.056601, -0.041980, -0.034523, -0.029628, -0.022591, -0.015527, -0.011458, -0.016579, -0.029089, -0.032697, -0.020075, -0.012276, -0.017379, -0.024206, -0.024615, -0.021741, -0.020420, -0.029944, -0.044031, -0.057771, -0.058946, -0.055658, -0.060140, -0.067052, -0.068268, -0.059032, -0.046807, -0.044834, -0.051708, -0.055075, -0.061517, -0.071357, -0.076336, -0.080810, -0.088325, -0.104141, -0.122163, -0.110924, -0.110569
-0.060174, -0.039395, -0.050614, -0.025623, -0.014566, -0.007533, -0.001840, -0.007895, 0.000069, -0.005943, -0.019542, -0.011396, 0.001031, -0.002683, -0.007624, -0.009318, -0.006436, -0.001552, -0.011221, -0.028696, -0.041084, -0.042016, -0.040203, -0.044466, -0.051808, -0.052518, -0.043417, -0.032423, -0.032810, -0.041661, -0.050081, -0.052858, -0.052876, -0.063332, -0.079570, -0.089959, -0.096716, -0.101982, -0.105016, -0.107001
-0.053710, -0.043327, -0.028031, -0.017850, -0.009484, -0.001637, 0.005673, 0.010586, 0.005636, -0.003814, -0.005362, 0.006161, 0.013608, 0.008057, 0.002322, 0.003612, 0.004110, 0.008068, 0.002083, -0.015465, -0.030949, -0.030547, -0.029409, -0.033287, -0.038682, -0.039024, -0.031263, -0.021618, -0.026750, -0.032994, -0.035691, -0.044157, -0.052114, -0.060215, -0.075515, -0.083466, -0.095327, -0.106548, -0.095535, -0.098521
-0.047254, -0.030528, -0.031638, -0.012849, 0.004841, 0.006983, 0.013694, 0.012846, 0.016138, 0.014432, 0.006226, 0.010452, 0.024727, 0.021013, 0.019524, 0.018961, 0.019665, 0.023419, 0.017911, -0.000232, -0.014022, -0.014730, -0.014596, -0.019038, -0.025992, -0.025129, -0.014481, -0.007814, -0.009829, -0.019165, -0.028011, -0.031947, -0.032988, -0.045983, -0.065714, -0.081242, -0.085685, -0.086933, -0.087880, -0.095017
-0.048876, -0.037640, -0.020639, -0.011257, -0.002252, 0.003293, 0.011320, 0.018432, 0.016599, 0.008416, 0.008857, 0.020046, 0.028597, 0.025368, 0.020894, 0.020093, 0.024371, 0.025767, 0.019986, 0.005394, -0.011722, -0.013006, -0.011459, -0.016446, -0.020481, -0.020572, -0.009700, -0.002004, -0.006115, -0.014821, -0.020690, -0.029257, -0.037335, -0.048699, -0.063009, -0.072149, -0.084081, -0.094853, -0.088026, -0.093326
-0.045599, -0.032489, -0.031909, -0.015132, 0.004367, 0.005761, 0.009753, 0.013737, 0.019610, 0.017209, 0.010670, 0.018033, 0.034446, 0.032759, 0.027419, 0.026150, 0.030680, 0.031041, 0.025393, 0.009631, -0.004301, -0.004888, -0.004235, -0.009507, -0.016274, -0.014927, -0.004799, 0.003089, 0.000024, -0.010745, -0.022641, -0.023781, -0.026245, -0.039501, -0.059650, -0.077316, -0.081899, -0.082664, -0.085848, -0.095630
-0.051719, -0.042516, -0.024727, -0.014881, -0.007962, -0.002778, 0.007253, 0.018564, 0.020549, 0.010749, 0.010767, 0.025842, 0.036605, 0.033660, 0.027884, 0.026999, 0.031138, 0.033807, 0.026322, 0.010483, -0.004168, -0.004458, -0.003391, -0.006828, -0.010159, -0.008629, -0.003788, 0.001726, -0.001831, -0.008376, -0.017421, -0.022119, -0.030860, -0.043583, -0.059511, -0.070434, -0.082378, -0.090458, -0.089146, -0.096370
-0.057793, -0.042621, -0.038750, -0.024348, -0.005081, -0.005268, 0.003206, 0.010779, 0.022189, 0.019209, 0.011044, 0.020911, 0.036400, 0.034032, 0.028483, 0.028491, 0.032888, 0.035226, 0.029869, 0.013138, -0.000218, -0.000329, 0.001627, -0.003569, -0.009235, -0.007042, -0.000417, 0.003729, 0.000901, -0.010109, -0.017801, -0.018479, -0.021562, -0.036566, -0.057392, -0.075915, -0.079832, -0.081904, -0.088661, -0.100886
-0.067526, -0.055309, -0.036025, -0.024537, -0.017287, -0.011391, 0.002241, 0.016031, 0.017569, 0.008104, 0.006919, 0.022812, 0.035649, 0.030569, 0.025295, 0.026158, 0.028120, 0.032186, 0.028803, 0.014355, -0.001453, -0.003540, 0.000052, -0.001443, -0.003511, -0.005267, -0.001147, 0.000925, -0.004403, -0.009193, -0.012170, -0.019738, -0.029104, -0.044019, -0.060224, -0.070235, -0.081397, -0.094197, -0.096617, -0.101341
-0.075428, -0.058510, -0.049621, -0.037169, -0.011246, -0.010479, -0.006396, 0.006504, 0.015749, 0.012822, 0.006671, 0.016924, 0.032039, 0.031328, 0.026985, 0.027980, 0.030920, 0.032808, 0.031615, 0.018644, 0.001923, 0.000053, 0.003103, -0.001638, -0.003420, -0.005222, -0.000500, 0.001731, -0.003233, -0.012132, -0.017811, -0.019364, -0.021427, -0.036729, -0.058064, -0.075307, -0.078393, -0.086764, -0.096422, -0.104641
-0.092209, -0.073958, -0.053538, -0.041213, -0.031588, -0.024989, -0.011064, 0.002184, 0.004486, -0.004082, -0.003293, 0.012688, 0.024729, 0.023376, 0.016493, 0.016586, 0.021829, 0.027456, 0.025131, 0.008832, -0.008327, -0.010361, -0.007077, -0.007777, -0.007766, -0.011707, -0.013024, -0.007518, -0.012126, -0.020229, -0.024097, -0.030067, -0.037289, -0.049421, -0.062891, -0.078169, -0.090757, -0.105824, -0.111811, -0.117777
-0.106289, -0.086122, -0.074620, -0.056172, -0.033359, -0.034200, -0.027585, -0.014357, -0.003523, -0.003173, -0.008568, 0.004560, 0.019812, 0.016370, 0.013293, 0.013211, 0.017172, 0.021237, 0.018588, 0.001698, -0.012144, -0.012347, -0.010917, -0.015273, -0.018952, -0.021509, -0.017029, -0.011164, -0.014443, -0.027155, -0.036630, -0.037423, -0.036926, -0.049532, -0.067352, -0.090672, -0.098946, -0.105902, -0.117845, -0.128940
-0.119843, -0.099551, -0.077375, -0.061466, -0.050643, -0.047894, -0.033252, -0.019023, -0.014146, -0.020387, -0.016146, -0.000891, 0.012049, 0.008154, 0.002012, 0.003114, 0.007794, 0.012077, 0.007700, -0.011028, -0.026025, -0.024384, -0.020351, -0.023849, -0.027654, -0.030259, -0.025713, -0.018766, -0.022065, -0.032647, -0.040511, -0.047076, -0.052786, -0.064445, -0.079572, -0.097204, -0.110174, -0.127382, -0.136959, -0.142453
-0.135881, -0.113617, -0.095958, -0.075519, -0.053636, -0.051158, -0.045442, -0.035110, -0.023830, -0.022073, -0.025648, -0.012523, 0.002373, 0.000009, -0.002147, -0.001985, 0.000331, 0.003723, -0.002529, -0.020264, -0.031099, -0.030751, -0.027355, -0.031960, -0.040301, -0.040107, -0.030883, -0.023717, -0.024764, -0.038626, -0.049844, -0.052232, -0.052227, -0.068758, -0.088853, -0.110131, -0.118940, -0.125623, -0.139267, -0.150404
-0.147234, -0.122517, -0.096928, -0.081168, -0.067667, -0.057299, -0.044252, -0.032443, -0.030321, -0.037537, -0.034091, -0.017946, -0.003430, -0.003912, -0.009807, -0.011897, -0.008144, -0.003054, -0.009226, -0.026037, -0.039774, -0.038967, -0.034867, -0.037244, -0.043301, -0.045683, -0.040373, -0.031648, -0.032516, -0.041435, -0.049670, -0.058216, -0.068111, -0.083771, -0.099720, -0.113914, -0.127152, -0.147164, -0.154335, -0.160429
-0.158273, -0.133270, -0.115417, -0.091514, -0.067230, -0.058936, -0.052044, -0.044265, -0.035939, -0.036139, -0.040261, -0.027272, -0.013186, -0.013542, -0.013861, -0.013039, -0.008873, -0.007381, -0.013661, -0.028296, -0.039834, -0.040777, -0.038878, -0.043689, -0.052118, -0.049598, -0.040967, -0.033006, -0.034674, -0.046396, -0.055599, -0.059550, -0.064319, -0.081374, -0.102252, -0.123352, -0.133457, -0.141361, -0.153732, -0.162842
-0.163985, -0.137959, -0.112560, -0.096319, -0.080136, -0.066032, -0.055239, -0.045154, -0.040025, -0.045969, -0.043949, -0.027366, -0.013946, -0.015938, -0.020205, -0.020363, -0.015098, -0.009180, -0.014372, -0.029472, -0.043361, -0.047060, -0.044514, -0.046874, -0.049002, -0.048900, -0.044376, -0.038649, -0.038640, -0.044392, -0.051377, -0.063703, -0.075619, -0.090800, -0.106410, -0.117386, -0.134056, -0.156076, -0.161317, -0.164352
-0.169328, -0.145232, -0.130536, -0.106804, -0.079563, -0.069719, -0.064499, -0.057419, -0.044854, -0.043388, -0.046350, -0.033538, -0.019578, -0.019911, -0.022262, -0.020217, -0.013577, -0.011777, -0.018283, -0.032001, -0.041685, -0.042622, -0.043564, -0.047741, -0.053702, -0.051118, -0.042753, -0.035469, -0.036813, -0.048548, -0.057071, -0.062776, -0.066666, -0.081272, -0.102125, -0.120857, -0.133965, -0.144835, -0.155386, -0.162296
-0.174195, -0.147149, -0.124193, -0.107844, -0.092439, -0.079965, -0.067838, -0.054727, -0.047991, -0.051406, -0.048628, -0.034037, -0.018244, -0.018863, -0.023209, -0.024508, -0.018643, -0.012967, -0.019073, -0.034525, -0.047431, -0.049212, -0.046173, -0.045697, -0.047429, -0.048119, -0.044775, -0.039874, -0.039932, -0.045759, -0.051624, -0.065144, -0.076265, -0.090425, -0.103435, -0.113760, -0.131897, -0.154919, -0.160239, -0.165805
-0.182561, -0.157658, -0.140669, -0.116638, -0.091799, -0.084003, -0.077296, -0.067061, -0.054018, -0.051473, -0.055342, -0.041953, -0.026010, -0.024838, -0.024730, -0.024400, -0.020117, -0.017292, -0.025480, -0.038031, -0.045972, -0.049371, -0.048599, -0.050784, -0.053543, -0.049795, -0.041647, -0.037489, -0.040859, -0.050387, -0.059536, -0.064606, -0.070159, -0.084596, -0.102330, -0.120388, -0.134318, -0.147666, -0.158329, -0.169645
-0.185359, -0.157558, -0.131731, -0.117546, -0.100084, -0.089652, -0.077197, -0.060971, -0.055224, -0.060475, -0.059241, -0.041946, -0.025511, -0.023695, -0.026481, -0.028896, -0.022794, -0.017925, -0.027362, -0.038360, -0.051689, -0.054773, -0.050138, -0.050791, -0.051434, -0.051241, -0.049361, -0.044589, -0.044599, -0.049575, -0.058380, -0.071201, -0.081492, -0.095400, -0.106904, -0.120585, -0.141445, -0.162992, -0.166815, -0.176471
-0.196082, -0.166958, -0.148924, -0.124362, -0.099268, -0.089224, -0.083847, -0.072393, -0.059968, -0.060778, -0.063197, -0.051714, -0.035522, -0.031973, -0.029103, -0.027414, -0.026238, -0.025612, -0.033610, -0.043246, -0.051063, -0.053604, -0.050845, -0.057947, -0.064302, -0.060114, -0.051503, -0.046237, -0.047593, -0.058820, -0.068816, -0.072418, -0.075854, -0.092028, -0.110957, -0.130835, -0.142765, -0.155778, -0.168639, -0.177908
-0.200300, -0.171321, -0.144331, -0.127095, -0.109905, -0.096309, -0.083512, -0.071281, -0.065010, -0.070142, -0.069848, -0.053726, -0.036597, -0.033447, -0.035503, -0.035330, -0.034016, -0.029435, -0.034186, -0.045152, -0.058465, -0.061283, -0.059673, -0.061314, -0.065187, -0.066523, -0.062808, -0.057136, -0.057148, -0.061304, -0.068774, -0.081868, -0.092308, -0.105321, -0.119247, -0.130699, -0.148070, -0.174184, -0.181326, -0.188999
-0.210978, -0.184754, -0.163399, -0.136324, -0.110831, -0.098993, -0.092695, -0.082435, -0.072148, -0.071655, -0.075002, -0.062925, -0.046288, -0.044239, -0.043506, -0.039959, -0.039265, -0.038697, -0.042598, -0.053324, -0.062799, -0.062659, -0.060035, -0.067710, -0.075688, -0.075506, -0.069265, -0.060182, -0.061386, -0.069283, -0.078029, -0.085454, -0.089592, -0.101379, -0.120476, -0.138711, -0.151708, -0.165282, -0.178453, -0.189651
-0.213823, -0.186222, -0.158513, -0.140422, -0.121378, -0.106957, -0.093131, -0.083539, -0.078151, -0.080226, -0.076733, -0.061965, -0.045421, -0.045943, -0.050881, -0.051294, -0.046266, -0.040289, -0.043641, -0.058750, -0.072077, -0.071710, -0.069723, -0.071302, -0.076957, -0.083019, -0.080095, -0.069503, -0.067251, -0.073316, -0.080551, -0.094333, -0.104093, -0.113464, -0.122254, -0.135871, -0.157887, -0.184133, -0.193983, -0.202171
-0.223648, -0.196956, -0.172755, -0.145972, -0.124713, -0.111993, -0.104786, -0.095984, -0.083477, -0.078793, -0.079990, -0.068091, -0.052115, -0.051193, -0.053526, -0.053014, -0.049966, -0.044288, -0.049525, -0.062762, -0.073232, -0.072006, -0.071171, -0.076765, -0.083899, -0.085304, -0.076928, -0.068839, -0.070375, -0.080444, -0.089973, -0.095778, -0.098567, -0.110535, -0.127832, -0.145316, -0.162515, -0.178885, -0.192816, -0.203364
-0.224755, -0.195540, -0.167739, -0.151826, -0.137850, -0.123829, -0.108701, -0.096483, -0.087211, -0.086128, -0.083904, -0.067125, -0.051459, -0.049813, -0.056470, -0.059854, -0.054588, -0.045736, -0.050423, -0.065929, -0.080947, -0.080407, -0.076883, -0.079984, -0.087131, -0.090107, -0.086714, -0.078370, -0.078387, -0.087787, -0.093730, -0.106154, -0.117145, -0.127281, -0.135589, -0.151872, -0.173965, -0.198997, -0.208778, -0.217297
-0.236412, -0.208303, -0.185907, -0.160665, -0.142679, -0.134650, -0.122917, -0.108172, -0.091731, -0.088118, -0.090214, -0.076740, -0.061674, -0.059377, -0.060620, -0.061344, -0.058130, -0.051690, -0.057795, -0.072844, -0.082404, -0.083815, -0.080383, -0.085699, -0.094873, -0.094414, -0.088375, -0.083196, -0.083701, -0.096367, -0.106204, -0.112475, -0.116630, -0.129931, -0.148242, -0.168045, -0.183552, -0.192899, -0.207597, -0.218212
-0.237287, -0.206152, -0.179789, -0.165392, -0.153328, -0.141575, -0.124247, -0.107707, -0.098006, -0.098279, -0.094075, -0.076129, -0.058939, -0.055824, -0.061223, -0.066850, -0.061029, -0.050364, -0.056406, -0.073349, -0.088519, -0.089802, -0.085554, -0.090894, -0.095761, -0.097451, -0.097298, -0.091280, -0.091221, -0.098982, -0.105068, -0.120914, -0.134946, -0.148633, -0.161257, -0.175263, -0.191837, -0.210962, -0.224154, -0.234785
-0.244892, -0.219822, -0.198629, -0.172720, -0.154475, -0.144890, -0.135139, -0.120020, -0.105250, -0.101039, -0.101008, -0.087588, -0.070567, -0.067107, -0.067615, -0.068201, -0.064559, -0.058672, -0.066341, -0.081607, -0.091026, -0.090784, -0.089355, -0.097357, -0.106002, -0.103992, -0.096717, -0.090707, -0.094152, -0.111377, -0.122097, -0.130857, -0.139237, -0.152123, -0.171285, -0.193055, -0.212451, -0.227079, -0.238595, -0.241892
-0.241288, -0.214481, -0.186985, -0.170045, -0.155410, -0.144508, -0.132037, -0.117802, -0.107757, -0.109608, -0.103491, -0.082870, -0.064308, -0.064005, -0.065106, -0.068039, -0.062985, -0.058956, -0.066495, -0.080766, -0.096005, -0.100514, -0.097092, -0.099911, -0.107930, -0.111969, -0.109479, -0.106917, -0.110140, -0.116409, -0.122318, -0.136523, -0.153991, -0.173235, -0.191881, -0.208770, -0.224630, -0.242501, -0.255860, -0.270545
-0.252568, -0.229471, -0.209208, -0.181703, -0.157178, -0.147318, -0.139416, -0.127420, -0.115907, -0.114291, -0.108872, -0.094413, -0.078117, -0.077561, -0.077469, -0.075725, -0.069815, -0.065316, -0.075619, -0.092149, -0.101235, -0.103101, -0.098071, -0.104493, -0.118503, -0.122364, -0.117171, -0.112725, -0.112465, -0.124729, -0.137475, -0.146765, -0.160303, -0.178019, -0.202943, -0.226301, -0.241417, -0.253458, -0.270105, -0.279430
-0.253365, -0.231416, -0.201769, -0.183800, -0.168858, -0.155590, -0.141248, -0.127344, -0.119347, -0.120530, -0.110964, -0.091796, -0.076677, -0.075151, -0.079195, -0.078767, -0.071936, -0.065997, -0.076345, -0.093900, -0.108021, -0.111656, -0.108413, -0.112178, -0.123620, -0.133219, -0.132920, -0.129961, -0.128081, -0.139346, -0.152586, -0.163616, -0.178862, -0.199189, -0.219177, -0.237676, -0.256572, -0.280020, -0.289513, -0.302499
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh Contact]
version = 1
points =
0.083125, 0.029844, -0.025938, -0.024844, -0.070313, -0.093906, -0.093750, -0.177969, -0.125938, -0.174688, -0.115000, -0.088125, -0.057031, -0.029219, 0.016406
0.191562, 0.169219, 0.124687, 0.104531, 0.061250, 0.037344, 0.016250, -0.051250, -0.045313, -0.053906, -0.015000, -0.011250, 0.020156, 0.066875, 0.076250
0.248281, 0.228437, 0.177344, 0.169062, 0.133125, 0.132656, 0.094844, 0.047187, 0.042500, 0.049062, 0.067187, 0.088281, 0.092344, 0.122812, 0.146875
0.290469, 0.291562, 0.258281, 0.235625, 0.212344, 0.180469, 0.161562, 0.108125, 0.091719, 0.075469, 0.149219, 0.109219, 0.142969, 0.142969, 0.164844
0.290312, 0.320469, 0.270156, 0.252969, 0.236562, 0.205156, 0.201719, 0.160469, 0.156406, 0.136875, 0.192500, 0.184219, 0.200312, 0.202812, 0.206562
0.298125, 0.361250, 0.322031, 0.290469, 0.285937, 0.256562, 0.247031, 0.191250, 0.167500, 0.181094, 0.201406, 0.212812, 0.185469, 0.206875, 0.215781
0.283281, 0.311562, 0.287500, 0.294062, 0.284375, 0.273437, 0.248594, 0.195469, 0.201719, 0.182812, 0.216094, 0.234062, 0.230781, 0.238125, 0.244062
0.254844, 0.279375, 0.269531, 0.291406, 0.273594, 0.275469, 0.252187, 0.195625, 0.198594, 0.177656, 0.217187, 0.225469, 0.217187, 0.229531, 0.220000
0.231406, 0.249531, 0.260312, 0.286094, 0.275000, 0.247031, 0.252969, 0.198281, 0.190937, 0.203750, 0.236406, 0.223437, 0.237812, 0.226250, 0.222031
0.208125, 0.259219, 0.252812, 0.262031, 0.264844, 0.247656, 0.256719, 0.209531, 0.191562, 0.198750, 0.235000, 0.229219, 0.216094, 0.240781, 0.243281
0.183125, 0.238594, 0.252500, 0.269687, 0.275937, 0.267969, 0.264219, 0.219375, 0.220937, 0.208906, 0.268281, 0.239375, 0.233594, 0.251719, 0.245469
0.184531, 0.232031, 0.261719, 0.258437, 0.276875, 0.265781, 0.269375, 0.234375, 0.226094, 0.198906, 0.249219, 0.236562, 0.243750, 0.228906, 0.249219
0.164531, 0.239687, 0.261250, 0.266094, 0.281250, 0.270937, 0.308906, 0.236094, 0.236719, 0.215000, 0.294219, 0.258906, 0.241406, 0.256719, 0.261562
0.184062, 0.245625, 0.241562, 0.264062, 0.299062, 0.306406, 0.291562, 0.251250, 0.262969, 0.226875, 0.290625, 0.265781, 0.252500, 0.267187, 0.260625
0.164844, 0.251875, 0.245000, 0.258281, 0.279219, 0.279062, 0.298750, 0.259219, 0.248906, 0.240156, 0.293125, 0.273750, 0.255312, 0.246406, 0.255156
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 469.96000000000004
min_y = 30.0
max_y = 439.91999999999985
=======================
Extruder max_extrude_ratio=0.598682
Extruder max_extrude_ratio=0.598682
mcu 'mcu': Starting serial connect
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
webhooks client 4125917272: New connection
webhooks client 4125917272: Client info {'program': 'Moonraker', 'version': 'v0.9.3-0-g71f9e67'}
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
MCU error during connect
Traceback (most recent call last):
File "/home/pi/klipper/klippy/mcu.py", line 793, in _mcu_identify
self._serial.connect_uart(self._serialport, self._baud, rts)
File "/home/pi/klipper/klippy/serialhdl.py", line 183, in connect_uart
self._error("Unable to connect")
File "/home/pi/klipper/klippy/serialhdl.py", line 61, in _error
raise error(self.warn_prefix + (msg % params))
serialhdl.error: mcu 'mcu': Unable to connect
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/klipper/klippy/klippy.py", line 131, in _connect
self.send_event("klippy:mcu_identify")
File "/home/pi/klipper/klippy/klippy.py", line 223, in send_event
return [cb(*params) for cb in self.event_handlers.get(event, [])]
File "/home/pi/klipper/klippy/klippy.py", line 223, in
return [cb(*params) for cb in self.event_handlers.get(event, [])]
File "/home/pi/klipper/klippy/mcu.py", line 798, in _mcu_identify
raise error(str(e))
mcu.error: mcu 'mcu': Unable to connect
mcu 'mcu': Unable to connect
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Error configuring printer
No build file /home/pi/klipper/klippy/../.config
No build file /home/pi/klipper/klippy/../out/klipper.dict
No build file /home/pi/klipper/klippy/../out/klipper.elf
Starting Klippy...
Args: ['/home/pi/klipper/klippy/klippy.py', '/home/pi/printer_data/config/printer.cfg', '-l', '/home/pi/printer_data/logs/klippy.log', '-I', '/home/pi/printer_data/comms/klippy.serial', '-a', '/home/pi/printer_data/comms/klippy.sock']
Git version: 'v0.12.0-396-gb7233d11-dirty'
Untracked files: klippy/extras/beacon.py, klippy/extras/gcode_shell_command.py, klippy/extras/linear_movement_vibrations.py, klippy/extras/ratos.py, klippy/extras/ratos_homing.py, klippy/extras/resonance_generator.py, klippy/extras/z_offset_probe.py, klippy/kinematics/ratos_hybrid_corexy.py
Branch: master
Remote: origin
Tracked URL: https://github.com/Klipper3d/klipper.git
CPU: 4 core ?
Python: '3.9.2 (default, Mar 20 2025, 22:21:41) \n[GCC 10.2.1 20210110]'
Start printer at Thu Oct 16 15:22:54 2025 (1760624574.6 20.7)
===== Config file =====
[mcu rpi]
serial = /tmp/klipper_host_mcu
[board_pins btt-octopus-11]
aliases =
x_step_pin=PF13,
x_dir_pin=PF12,
x_enable_pin=PF14,
x_uart_pin=PC4,
x_diag_pin=PG6,
x_endstop_pin=PG6,
dual_carriage_step_pin=PF9,
dual_carriage_dir_pin=PF10,
dual_carriage_enable_pin=PG2,
dual_carriage_uart_pin=PF2,
dual_carriage_diag_pin=PG12,
dual_carriage_endstop_pin=PG12,
y_step_pin=PG0,
y_dir_pin=PG1,
y_enable_pin=PF15,
y_uart_pin=PD11,
y_diag_pin=PG9,
y_endstop_pin=PG9,
y1_step_pin=PG4,
y1_dir_pin=PC1,
y1_enable_pin=PA0,
y1_uart_pin=PC7,
y1_diag_pin=PG11,
y1_endstop_pin=PG11,
z0_step_pin=PC13,
z0_dir_pin=PF0,
z0_enable_pin=PF1,
z0_uart_pin=PE4,
z0_diag_pin=PG13,
z1_step_pin=PE2,
z1_dir_pin=PE3,
z1_enable_pin=PD4,
z1_uart_pin=PE1,
z1_diag_pin=PG14,
z2_step_pin=PE6,
z2_dir_pin=PA14,
z2_enable_pin=PE0,
z2_uart_pin=PD3,
z2_diag_pin=PG15,
e_step_pin=PF11,
e_dir_pin=PG3,
e_enable_pin=PG5,
e_uart_pin=PC6,
e_heater_pin=PA2,
e_sensor_pin=PF4,
stepper_spi_mosi_pin=PA7,
stepper_spi_miso_pin=PA6,
stepper_spi_sclk_pin=PA5,
adxl345_cs_pin=PA15,
bltouch_sensor_pin=PB7,
bltouch_control_pin=PB6,
probe_pin=PB7,
fan_part_cooling_pin=PA8,
fan_toolhead_cooling_pin=PE5,
fan_controller_board_pin=PD12,
heater_bed_heating_pin=PA1,
heater_bed_sensor_pin=PF3,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu]
serial = /dev/RatOS/btt-octopus-11
[temperature_sensor Octopus_V1.1_F446]
sensor_type = temperature_mcu
[adxl345 controlboard]
cs_pin = PA15
spi_bus = spi3
[board_pins toolboard_t0]
mcu = toolboard_t0
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t0]
serial = /dev/RatOS/btt-ebb42-12-t0
[temperature_sensor EBB42_v1.2_T0]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t0
[adxl345 toolboard_t0]
axes_map = x, z, y
cs_pin = toolboard_t0:PB12
spi_software_mosi_pin = toolboard_t0:PB11
spi_software_miso_pin = toolboard_t0:PB2
spi_software_sclk_pin = toolboard_t0:PB10
[board_pins toolboard_t1]
mcu = toolboard_t1
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t1]
serial = /dev/RatOS/btt-ebb42-12-t1
[temperature_sensor EBB42_v1.2_T1]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t1
[adxl345 toolboard_t1]
axes_map = x, z, y
cs_pin = toolboard_t1:PB12
spi_software_mosi_pin = toolboard_t1:PB11
spi_software_miso_pin = toolboard_t1:PB2
spi_software_sclk_pin = toolboard_t1:PB10
[gcode_macro RatOS]
variable_homing = "endstops"
variable_z_probe = "static"
variable_sensorless_x_current = 0.6
variable_sensorless_y_current = 0.9
variable_safe_home_x = "middle"
variable_safe_home_y = "middle"
variable_driver_type_x = "tmc2209"
variable_driver_type_y = "tmc2209"
variable_stowable_probe_stop_on_error = False
variable_chamber_filter_enable = True
variable_chamber_filter_speed = 0.5
variable_chamber_filter_disable_speed = 1.0
variable_chamber_filter_enable_at = "after_print_start"
variable_chamber_filter_disable_period = 300
variable_chamber_filter_disable_bed_temp = 0
variable_chamber_heater_enable = True
variable_chamber_heater_bed_temp = 115
variable_chamber_heater_preheating_temp = 150
variable_chamber_heater_heating_temp_offset = 25
variable_chamber_heater_control_external_heater = False
variable_chamber_heater_air_circulation_enable = True
variable_chamber_heater_air_circulation_fan_speed = 0.35
variable_chamber_heater_air_circulation_y_pos = 0
variable_chamber_heater_air_circulation_z_pos = 100
variable_chamber_heater_extra_fan_speed = 1.0
variable_chamber_heater_filter_fan_speed = 1.0
variable_led_status_action = 0.0,1.0,1.0
variable_led_status_success = 0.0,1.0,0.0
variable_led_status_error = 1.0,0.0,1.0
variable_led_status_on = 1.0,1.0,1.0
variable_led_status_off = 0.0,0.0,1.0
variable_led_status_standby = 0.1,0.1,0.1
variable_led_status_heating = 1.0,0.0,0.0
variable_led_status_cooling = 0.0,0.0,1.0
variable_calibrate_bed_mesh = True
variable_adaptive_mesh = True
variable_start_print_park_in = "back"
variable_start_print_park_z_height = 50
variable_end_print_park_in = "front"
variable_pause_print_park_in = "front"
variable_end_print_park_z_hop = 20
variable_nozzle_priming = "primeblob"
variable_nozzle_prime_start_x = "max"
variable_nozzle_prime_start_y = "min"
variable_nozzle_prime_direction = "auto"
variable_nozzle_prime_bridge_fan = 102
variable_probe_for_priming_result = None
variable_probe_for_priming_end_result = None
variable_probe_for_priming_result_t1 = None
variable_probe_for_priming_end_result_t1 = None
variable_probe_for_priming_disable_mesh_constraints = False
variable_adaptive_prime_offset_threshold = -1.0
variable_last_z_offset = None
variable_runout_park_in = "front"
variable_enable_unload_tip_forming = False
variable_filament_unload_length = 150
description = RatOS variable storage macro, will echo variables to the console when run.
variable_relative_extrusion = True
variable_force_absolute_position = False
variable_preheat_extruder = True
variable_preheat_extruder_temp = 150
variable_macro_travel_speed = 600
variable_macro_travel_accel = 8000
variable_macro_z_speed = 15
variable_bed_margin_x = [59.8, 59.8]
variable_bed_margin_y = [14.35, 33.65]
variable_printable_x_min = 0
variable_printable_x_max = 0
variable_printable_y_min = 0
variable_printable_y_max = 0
variable_end_print_motors_off = True
variable_status_color_ok = "00FF00"
variable_status_color_error = "FF0000"
variable_status_color_unknown = "FFFF00"
variable_end_print_retract_filament = 10
gcode =
ECHO_RATOS_VARS
variable_auto_center_subject = False
variable_toolchange_zhop = 2.0
variable_toolchange_zspeed = 25
variable_toolchange_sync_fans = False
variable_toolchange_combined_zhop = False
variable_toolchange_travel_speed = 600
variable_toolchange_travel_accel = 8000
variable_toolchange_extrusion = 2.0
variable_toolchange_retraction = 2.0
variable_toolchange_feedrate = 7200
variable_toolchange_prepurging_timer = 0
variable_toolchange_standby_temp = -1
variable_toolchange_purge = 25
variable_toolchange_first_purge = 50
variable_beacon_bed_mesh_scv = 25
variable_beacon_contact_z_homing = False
variable_beacon_contact_start_print_true_zero = True
variable_beacon_contact_wipe_before_true_zero = True
variable_beacon_contact_true_zero_temp = 150
variable_beacon_contact_prime_probing = True
variable_beacon_contact_expansion_compensation = True
variable_beacon_contact_bed_mesh = False
variable_beacon_contact_bed_mesh_samples = 2
variable_beacon_contact_z_tilt_adjust = False
variable_beacon_contact_z_tilt_adjust_samples = 2
variable_beacon_scan_compensation_enable = True
variable_beacon_scan_compensation_profile = "ratos"
variable_beacon_scan_compensation_probe_count = 15,15
variable_beacon_contact_poke_bottom_limit = -1
variable_homing_x = "endstop"
variable_homing_y = "endstop"
variable_default_toolhead = 0
variable_adxl_chip = ["adxl345 toolboard_t0", "adxl345 toolboard_t1"]
variable_shaper_x_freq = [52.8, 49.2, 50.7, 48.8]
variable_shaper_y_freq = [38.2, 37.0, 32.3, 33.1]
variable_shaper_x_type = ["mzv", "mzv", "mzv", "mzv"]
variable_shaper_y_type = ["mzv", "mzv", "mzv", "mzv"]
variable_x_driver_types = ["tmc2209"]
variable_x_axes = ["x"]
variable_y_driver_types = ["tmc2209", "tmc2209"]
variable_y_axes = ["y", "y1"]
variable_z_driver_types = ["tmc2209", "tmc2209", "tmc2209"]
variable_z_axes = ["z", "z1", "z2"]
variable_home_y_first = True
[ratos_homing]
axes = xyz
z_hop = 15
z_hop_speed = 15
gcode =
_LED_ON
{% set prev_stop_on_error = printer["gcode_macro RatOS"].stowable_probe_stop_on_error %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set target_idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE=True
M400
G90
{% set X = true if params.X is defined else false %}
{% set Y = true if params.Y is defined else false %}
{% set Z = true if params.Z is defined else false %}
{% if printer["gcode_macro RatOS"].home_y_first|default(false)|lower == 'true' %}
HOME_Y X={X} Y={Y} Z={Z}
HOME_X X={X} Y={Y} Z={Z}
{% else %}
HOME_X X={X} Y={Y} Z={Z}
HOME_Y X={X} Y={Y} Z={Z}
{% endif %}
HOME_Z X={X} Y={Y} Z={Z}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE={prev_stop_on_error}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[gcode_macro HOME_X]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_x = printer["gcode_macro RatOS"].homing_x|lower %}
{% set homing_x = homing_x if homing_x else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_X" MSG="printable_x_max: {printable_x_max}, safe_home_x: {safe_home_x}, axis_maximum.x: {printer.toolhead.axis_maximum.x}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}"
{% if X or not Y and not Z %}
{% if homing_x == 'endstop' %}
G28 X
{% elif homing_x == 'sensorless' %}
{% if printer["dual_carriage"] is defined %}
{ action_emergency_stop("sensorless homing not supported on IDEX!") }
{% endif %}
HOME_X_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_x to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_x, homing)) }
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1} MODE=PRIMARY
G1 X{parking_position} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% endif %}
{% set x_homed = True %}
G0 X{safe_home_x} F{speed}
M400
{% endif %}
[gcode_macro HOME_Y]
gcode =
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_y = printer["gcode_macro RatOS"].homing_y|lower %}
{% set homing_y = homing_y if homing_y else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Y" MSG="printable_y_max: {printable_y_max}, safe_home_y: {safe_home_y}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}"
{% if Y or not X and not Z %}
{% if homing_y == 'endstop' %}
G28 Y
{% elif homing_y == 'sensorless' %}
HOME_Y_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_y to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_y, homing)) }
{% endif %}
{% set y_homed = True %}
G0 Y{safe_home_y} F{speed}
{% endif %}
[gcode_macro HOME_Z]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set z_probe = printer["gcode_macro RatOS"].z_probe %}
{% set beacon_contact_z_homing = true if printer["gcode_macro RatOS"].beacon_contact_z_homing|default(false)|lower == 'true' else false %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Z" MSG="x_homed: {x_homed}, y_homed: {y_homed}, z_probe: {z_probe}, beacon_contact_z_homing: {beacon_contact_z_homing}"
{% if Z or not Y and not X %}
RATOS_ECHO MSG="Homing Z"
{% if x_homed == False or y_homed == False %}
{ action_emergency_stop("X and Y must be homed before homing Z") }
{% else %}
{% if z_probe == "stowable" %}
DEPLOY_PROBE
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
STOW_PROBE
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
{% endif %}
{% endif %}
{% endif %}
[gcode_macro HOME_X_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
G4 P300
G28 X
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
[gcode_macro HOME_Y_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
G4 P300
G28 Y
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
[gcode_macro _Z_HOP]
description = Move Z axis up by Z_HOP distance at Z_HOP_SPEED. In relative mode it will move Z axis up by Z_HOP distance. In absolute mode it will move Z axis to Z_HOP distance.
gcode =
{% set z_hop = printer.configfile.config.ratos_homing.z_hop|float %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
G0 Z{z_hop} F{z_hop_speed}
[gcode_macro _MOVE_TO_SAFE_Z_HOME]
description = Move to safe home position with optional Z_HOP (pass Z_HOP=True as parameter)
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% if params.Z_HOP is defined %}
_Z_HOP
{% endif %}
DEBUG_ECHO PREFIX="_MOVE_TO_SAFE_Z_HOME" MSG="axis_maximum.x: {printer.toolhead.axis_maximum.x}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}, safe_home_x: {safe_home_x}, safe_home_y: {safe_home_y}, printable_x_max: {printable_x_max}, printable_y_max: {printable_y_max}"
G0 X{safe_home_x} Y{safe_home_y} F{speed}
[gcode_macro MAYBE_HOME]
description = Only home unhomed axis
variable_is_kinematic_position_overriden = False
gcode =
{% if printer["gcode_macro MAYBE_HOME"].is_kinematic_position_overriden|lower == 'true' %}
RATOS_ECHO MSG="SET_CENTER_KINEMATIC_POSITION has been abused. Homing all axes. Please refrain from using SET_CENTER_KINEMATIC_POSITION outside of debugging purposes."
G28
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=False
{% else %}
{% set axes = '' %}
{% set isHomed = true %}
{% set axesToHome = '' %}
{% if params.X is defined %}
{% set axes = axes ~ 'X ' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% endif %}
{% if params.Y is defined %}
{% set axes = axes ~ 'Y ' %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% endif %}
{% if params.Z is defined %}
{% set axes = axes ~ 'Z ' %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if params.X is not defined and params.Y is not defined and params.Z is not defined %}
{% set axes = '' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if isHomed is false %}
RATOS_ECHO MSG="Homing {axesToHome}"
G28 {axesToHome}
{% else %}
RATOS_ECHO MSG="All requested axes already homed, skipping.."
{% endif %}
{% endif %}
[gcode_macro PID_CALIBRATE_HOTEND]
description = Perform a PID calibration test for a given extruder heater.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set temp = params.TEMP|default(220)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_HOTEND" MSG="TEMP={temp}"
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO MSG="PID calibration hotend heater T0 at {temp}°C..."
PID_CALIBRATE HEATER=extruder TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
{% if toolhead==0 or toolhead==1 %}
RATOS_ECHO MSG="PID calibration hotend heater T{toolhead} at {temp}°C..."
PID_CALIBRATE HEATER=extruder{'' if toolhead==0 else toolhead} TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_BED]
description = Perform a PID calibration test for the bed heater.
gcode =
{% set temp = params.TEMP|default(80)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_BED" MSG="TEMP={temp}"
RATOS_ECHO MSG="PID calibration bed heater at {temp}°C..."
PID_CALIBRATE HEATER=heater_bed TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_CHAMBER_HEATER]
description = Perform a PID calibration test for the chamber heater.
gcode =
{% set temp = params.TEMP|default(150)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_CHAMBER_HEATER" MSG="TEMP={temp}"
{% if printer["heater_generic chamber_heater"] is defined %}
RATOS_ECHO MSG="PID calibration chamber heater at {temp}°C..."
PID_CALIBRATE HEATER=chamber_heater TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_heater" %}
{% set link_text = "RatOS Chamber Heater" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber heater found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro INITIALIZE_PA_TUNING]
description = Start a pressure advance tuning tower.
gcode =
{% set start = params.START|default(0.0)|float %}
{% set factor = params.FACTOR|default(0.001)|float %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if is_printing_gcode and layer_number < 2 %}
DEBUG_ECHO PREFIX="START_PA_TOWER" MSG="START: {start}, FACTOR: {factor}"
RATOS_ECHO MSG="Starting presssure advance tuning tower..."
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START={start} FACTOR={factor}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro CHAMBER_FILTER_ON]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro CHAMBER_FILTER_OFF]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Deactivating chamber filter..."
_CHAMBER_FILTER_TURN_OFF
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro _CHAMBER_FILTER_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set chamber_filter_enable_at = printer["gcode_macro RatOS"].chamber_filter_enable_at|default('after_print_start')|lower %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_ON" MSG="at: {at}, chamber_filter_enable: {chamber_filter_enable}, chamber_filter_enable_at: {chamber_filter_enable_at}, chamber_filter_speed: {chamber_filter_speed}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if chamber_filter_enable_at == at %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON AT={at}
{% if chamber_filter_enable_at == "print_end" %}
_LED_CHAMBER_FILTER_ON
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_FILTER_OFF]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF" MSG="chamber_filter_enable: {chamber_filter_enable}, filter_disable_period: {filter_disable_period}, filter_disable_bed_temp: {filter_disable_bed_temp}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_period > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting {filter_disable_period} seconds before turning chamber filter off..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION={filter_disable_period}
{% endif %}
{% if filter_disable_bed_temp > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting for bed temp to cool down to {filter_disable_bed_temp}°C to turn filter off..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=0 MAXIMUM={filter_disable_bed_temp}
_CHAMBER_FILTER_TURN_OFF
_LED_CHAMBER_FILTER_OFF
{% endif %}
{% endif %}
[delayed_gcode _CHAMBER_FILTER_OFF_TIMER]
gcode =
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF_TIMER" MSG="executed"
_CHAMBER_FILTER_TURN_OFF
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Chamber filter turned off!"
_LED_CHAMBER_FILTER_OFF
[gcode_macro _CHAMBER_FILTER_TURN_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_speed|default(0)|float %}
{% if at == "print_end" %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_disable_speed|default(0)|float %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION=0
SET_FAN_SPEED FAN=filter SPEED={chamber_filter_speed}
[gcode_macro _CHAMBER_FILTER_TURN_OFF]
gcode =
SET_FAN_SPEED FAN=filter SPEED=0
[gcode_macro _CHAMBER_FILTER_SANITY_CHECK]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_bed_temp > 0 and filter_disable_period > 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable, not both.")}
{% endif %}
{% if filter_disable_bed_temp == 0 and filter_disable_period == 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable.")}
{% endif %}
{% endif %}
[gcode_macro CHAMBER_HEATER_ON]
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(45)|int %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp} IS_FROM_START_PRINT=False
[gcode_macro CHAMBER_HEATER_OFF]
gcode =
_CHAMBER_HEATER_OFF
[gcode_macro _CHAMBER_HEATER_ON]
variable_chamber_temp = 0
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set is_from_start_print = true if params.IS_FROM_START_PRINT|default(True)|lower == 'true' else false %}
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set chamber_heater_enable = true if printer["gcode_macro RatOS"].chamber_heater_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
{% set chamber_heater_preheating_temp = printer["gcode_macro RatOS"].chamber_heater_preheating_temp|default(150)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set chamber_heater_control_external_heater = true if printer["gcode_macro RatOS"].chamber_heater_control_external_heater|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_enable = true if printer["gcode_macro RatOS"].chamber_heater_air_circulation_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_fan_speed = printer["gcode_macro RatOS"].chamber_heater_air_circulation_fan_speed|default(0.35)|float %}
{% set chamber_heater_air_circulation_y_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_y_pos|default(0)|float %}
{% set chamber_heater_air_circulation_z_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_z_pos|default(100)|float %}
DEBUG_ECHO PREFIX="_CHAMBER_HEATER_ON" MSG="chamber_heater_enable: {chamber_heater_enable}, chamber_heater_preheating_temp: {chamber_heater_preheating_temp}, chamber_heater_heating_temp_offset: {chamber_heater_heating_temp_offset}, bed_temp: {bed_temp}, chamber_temp: {chamber_temp}, start_chamber_temp: {start_chamber_temp}"
{% if chamber_heater_enable and chamber_temp > 0 and chamber_heater_bed_temp > 0 %}
_LED_HEATING
RATOS_ECHO MSG="Preheating chamber to {(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}°C..."
{% set chamber_temp_sensor = "extruder" %}
{% if printer["dual_carriage"] is defined and default_toolhead == 1 %}
{% set chamber_temp_sensor = "extruder1" %}
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% set chamber_temp_sensor = "temperature_sensor chamber" %}
{% endif %}
{% set current_chamber_temp = printer['%s' % chamber_temp_sensor].temperature|int %}
{% set needs_heating = current_chamber_temp < (start_chamber_temp if start_chamber_temp > 0 else chamber_temp) %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_BEFORE_PREHEATING
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
{% if not is_from_start_print %}
MAYBE_HOME
{% endif %}
G0 Z{chamber_heater_air_circulation_z_pos} F{z_speed}
G0 Y{chamber_heater_air_circulation_y_pos} F{speed}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 1 else 0}
{% else %}
M106 S{(255 * chamber_heater_air_circulation_fan_speed)}
{% endif %}
{% else %}
{% if is_from_start_print %}
G0 Z{z} F{z_speed}
{% endif %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE={chamber_temp}
{% if needs_heating %}
M140 S{chamber_heater_bed_temp}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={chamber_heater_preheating_temp}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if needs_heating %}
_CHAMBER_HEATER_EXTRA_FAN_ON
{% endif %}
{% if needs_heating %}
TEMPERATURE_WAIT SENSOR="{chamber_temp_sensor}" MINIMUM={(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% endif %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED=0
_CHAMBER_FILTER_ON AT="before_print_start"
{% endif %}
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
G28 Z
{% endif %}
{% endif %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_AFTER_PREHEATING
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% if printer["heater_generic chamber_heater"] is defined %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined and chamber_heater_control_external_heater %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
_LED_SUCCESS
{% endif %}
[gcode_macro _CHAMBER_HEATER_OFF]
gcode =
RATOS_ECHO MSG="Deactivating chamber heater..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=0
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE=0
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
_CHAMBER_HEATER_EXTRA_FAN_OFF
[delayed_gcode _CHAMBER_HEATER_CONTROL]
initial_duration = 0.
gcode =
{% set chamber_temp = printer["gcode_macro _CHAMBER_HEATER_ON"].chamber_temp|default(0)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set current_chamber_temp = printer['temperature_sensor chamber'].temperature|int %}
{% if current_chamber_temp < chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if current_chamber_temp >= chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_ON]
gcode =
{% set chamber_heater_extra_fan_speed = printer["gcode_macro RatOS"].chamber_heater_extra_fan_speed|default(0.0)|float %}
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
{% if chamber_heater_extra_fan_speed > 0 %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED={chamber_heater_extra_fan_speed}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_OFF]
gcode =
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED=0
{% endif %}
[gcode_macro _USER_CHAMBER_HEATER_BEFORE_PREHEATING]
description = Will be executed before chamber preheating, only if heating is needed.
gcode =
[gcode_macro _USER_CHAMBER_HEATER_AFTER_PREHEATING]
description = Will be executed after chamber preheating, only if heating was needed.
gcode =
[gcode_macro _LED_START_PRINTING]
gcode =
_LED_ACTION
[gcode_macro _LED_START_PRINTING_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_PRINTING]
gcode =
_LED_ON TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_PAUSE]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_ON]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_OFF]
gcode =
_LED_STANDBY
[gcode_macro _LED_LOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_LOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_RUNOUT]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_CLOG]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_UNLOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_UNLOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_DEACTIVATE_TOOLHEAD]
gcode =
_LED_OFF TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_STANDBY]
gcode =
_LED_STANDBY TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_WAKEUP]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_MOTORS_OFF]
gcode =
_LED_STANDBY
_LED_VAOC_OFF
[gcode_macro _LED_INPUT_SHAPER_START]
gcode =
_LED_ACTION
[gcode_macro _LED_INPUT_SHAPER_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_START]
gcode =
_LED_ACTION
[gcode_macro _LED_BEACON_CALIBRATION_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_VAOC_ON]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=1.0 GREEN=1.0 BLUE=1.0
{% endif %}
[gcode_macro _LED_VAOC_OFF]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=0.0 GREEN=0.0 BLUE=0.0
{% endif %}
[gcode_macro _LED_ACTION]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_action %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SUCCESS]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_success %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_HEATING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_heating %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_COOLING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_cooling %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ERROR]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_error %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ON]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_on %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_OFF]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_off %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_STANDBY]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_standby %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
{% if toolhead >= 0 %}
{% if printer['neopixel nozzle_led_t%s' % toolhead] is defined %}
SET_LED LED={'nozzle_led_t%s' % toolhead} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% else %}
{% if printer['neopixel nozzle_led_t0'] is defined %}
SET_LED LED={'nozzle_led_t0'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% if printer['neopixel nozzle_led_t1'] is defined %}
SET_LED LED={'nozzle_led_t1'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% endif %}
_USER_LED_SET { rawparams }
[gcode_macro _USER_LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
[gcode_macro LOAD_FILAMENT]
description = Loads new filament. Note: be careful with PETG, make sure you inspect the tip of your filament before loading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% if filament_name == '' or filament_type == '' %}
{% set filament_name = 'unknown' %}
{% set filament_type = 'unknown' %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_LOAD_FILAMENT TEMP={temp} NAME={filament_name} TYPE={filament_type}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_LOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME={filament_name} TYPE={filament_type}
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _DEFAULT_LOAD_FILAMENT]
description = Load filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_LOAD_FILAMENT" MSG="TEMP={temp}"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=load_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
_LOAD_FILAMENT TOOLHEAD=0
RESTORE_GCODE_STATE NAME=load_state
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD=0
[gcode_macro _IDEX_LOAD_FILAMENT]
description = Load filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_LOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
_LOAD_FILAMENT TOOLHEAD={toolhead} TEMP={temp}
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into hotend.."
G92 E0
G0 E{extruder_gear_to_cooling_position_distance} F{extruder_load_speed}
G92 E0
M400
RATOS_ECHO MSG="Filament loaded into hotend."
[gcode_macro _LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set load_speed = printer["gcode_macro T%s" % toolhead].filament_load_speed|float * 60 %}
{% set filament_loading_nozzle_offset = printer["gcode_macro T%s" % toolhead].filament_loading_nozzle_offset|float %}
{% set cooling_position_to_nozzle_distance = printer["gcode_macro T%s" % toolhead].cooling_position_to_nozzle_distance|float %}
{% set purge_after_load = printer["gcode_macro T%s" % toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into nozzle... Please wait!"
G92 E0
G0 E{cooling_position_to_nozzle_distance + filament_loading_nozzle_offset} F{load_speed}
G92 E0
G4 P1000
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge_after_load}
RATOS_ECHO MSG="Filament loaded into nozzle!"
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
{% set filament_grabbing_length = printer["gcode_macro T%s" % toolhead].filament_grabbing_length|float %}
{% set filament_grabbing_speed = printer["gcode_macro T%s" % toolhead].filament_grabbing_speed|float %}
{% set resume_after_insert = true if printer["gcode_macro T%s" % toolhead].resume_after_insert|default(true)|lower == 'true' else false %}
{% set enable_insert_detection = true if printer["gcode_macro T%s" % toolhead].enable_insert_detection|default(true)|lower == 'true' else false %}
{% set current_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% if enable_insert_detection %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="toolhead: {toolhead}, filament_grabbing_length: {filament_grabbing_length}, filament_grabbing_speed: {filament_grabbing_speed}, current_idex_mode: {current_idex_mode}"
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
FORCE_MOVE STEPPER={'extruder%s' % ('' if toolhead == 0 else toolhead)} DISTANCE={filament_grabbing_length} VELOCITY={filament_grabbing_speed}
M400
{% if printer.pause_resume.is_paused %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% if resume_after_insert %}
RESUME
{% endif %}
{% else %}
{% if not printer.virtual_sdcard.is_active %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
[gcode_macro _PURGE_BEFORE_UNLOAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set purge_before_unload = printer["gcode_macro T%s" % toolhead].purge_before_unload|float %}
DEBUG_ECHO PREFIX="_PURGE_BEFORE_UNLOAD" MSG="TOOLHEAD: {toolhead}"
{% if purge_before_unload > 0 %}
G92 E0
G0 E{purge_before_unload} F300
G92 E0
M400
{% endif %}
[gcode_macro _PURGE_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set e = params.E|int %}
{% set r = params.R|default(0)|int %}
DEBUG_ECHO PREFIX="_PURGE_FILAMENT" MSG="TOOLHEAD: {toolhead}, E: {e}"
{% if e > 0 %}
G92 E0
G0 E{e} F300
G92 E0
M400
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={0.4 if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={0.4 if toolhead == 1 else 0}
{% else %}
M106 S{(255 * 0.4)}
{% endif %}
{% endif %}
G4 P3000
{% if r > 0 %}
G92 E0
G0 E-{r} F300
G92 E0
M400
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_PARKING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_PARKING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_LOADING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_LOADING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if act_t == toolhead %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{loading_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CLEANING_MOVE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined and printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set cleaning_position = loading_position %}
{% if loading_position == parking_position %}
{% if loading_position > 0 %}
{% set cleaning_position = loading_position - 30 %}
{% else %}
{% set cleaning_position = loading_position + 30 %}
{% endif %}
{% endif %}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _START_PRINT_BED_MESH]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
SET_MACRO_TRAVEL_SETTINGS
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set X=[params.X0|default(-1)|float, params.X1|default(-1)|float] %}
{% set Y=[params.Y0|default(-1)|float, params.Y1|default(-1)|float] %}
DEBUG_ECHO PREFIX="_START_PRINT_BED_MESH" MSG="idex_mode: {idex_mode}, X: {X}, Y: {Y}"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set X=[0, printable_x_max] %}
{% endif %}
{% set beacon_bed_mesh_scv = printer["gcode_macro RatOS"].beacon_bed_mesh_scv|default(25)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% if printer.configfile.settings.beacon is defined and not beacon_contact_bed_mesh %}
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={beacon_bed_mesh_scv}
{% endif %}
{% set default_profile = printer["gcode_macro RatOS"].bed_mesh_profile|default('ratos') %}
{% if printer["gcode_macro RatOS"].calibrate_bed_mesh|lower == 'true' %}
BED_MESH_CLEAR
{% if printer["gcode_macro RatOS"].adaptive_mesh|lower == 'true' %}
CALIBRATE_ADAPTIVE_MESH PROFILE={default_profile} X0={X[0]} X1={X[1]} Y0={Y[0]} Y1={Y[1]} T={params.T|int} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={idex_mode}
{% else %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% endif %}
BED_MESH_PROFILE LOAD={default_profile}
{% elif printer["gcode_macro RatOS"].bed_mesh_profile is defined %}
BED_MESH_CLEAR
BED_MESH_PROFILE LOAD={printer["gcode_macro RatOS"].bed_mesh_profile}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
[gcode_macro CALIBRATE_ADAPTIVE_MESH]
gcode =
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set default_profile = params.PROFILE %}
{% set x0 = params.X0|default(-1)|float %}
{% set y0 = params.Y0|default(-1)|float %}
{% set x1 = params.X1|default(-1)|float %}
{% set y1 = params.Y1|default(-1)|float %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Recieved coordinates X0={x0} Y0={y0} X1={x1} Y1={y1}"
{% if x0 >= x1 or y0 >= y1 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Invalid coordinates received. Please check your slicer settings. Falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float %}
{% set mesh_x0 = [[x0, max_x]|min, min_x]|max %}
{% set mesh_y0 = [[y0, max_y]|min, min_y]|max %}
{% set mesh_x1 = [[x1, max_x]|min, min_x]|max %}
{% set mesh_y1 = [[y1, max_y]|min, min_y]|max %}
{% if mesh_x0 == min_x and mesh_y0 == min_y and mesh_x1 == max_x and mesh_y1 == max_y %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Print is using the full bed, falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% set probe_count_x = mesh_config.probe_count.split(",")[0]|int %}
{% if mesh_config.probe_count.split(",")|length == 2 %}
{% set probe_count_y = mesh_config.probe_count.split(",")[1]|int %}
{% else %}
{% set probe_count_y = mesh_config.probe_count.split(",")[0]|int %}
{% endif %}
{% set probe_x_step = (max_x - min_x) / probe_count_x %}
{% set probe_y_step = (max_y - min_y) / probe_count_y %}
{% set mesh_count_x = ([(mesh_x1 - mesh_x0) / probe_x_step, 3]|max)|int %}
{% set mesh_count_y = ([(mesh_y1 - mesh_y0) / probe_y_step, 3]|max)|int %}
{% set min_mesh_count = [mesh_count_x, mesh_count_y]|min %}
{% set max_mesh_count = [mesh_count_x, mesh_count_y]|max %}
{% set algorithm = mesh_config.algorithm %}
{% if algorithm|lower == 'lagrange' and max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="cannot exceed a probe_count of 6 when using lagrange interpolation. Falling back to bicubic interpolation."
{% set algorithm = 'bicubic' %}
{% endif %}
{% if algorithm|lower == 'bicubic' and min_mesh_count < 4 %}
{% if max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="invalid probe_count option when using bicubic interpolation. Combination of 3 points on one axis with more than 6 on another is not permitted. Forcing minimum mesh count to be 4."
{% set min_mesh_count = 4 %}
{% else %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="bicubic interpolation with a probe_count of less than 4 points detected. Forcing lagrange interpolation."
{% set algorithm = 'lagrange' %}
{% endif %}
{% endif %}
{% set mesh_count_x = ([min_mesh_count, mesh_count_x]|max)|int %}
{% set mesh_count_x = ([max_mesh_count, mesh_count_x]|min)|int %}
{% set mesh_count_y = ([min_mesh_count, mesh_count_y]|max)|int %}
{% set mesh_count_y = ([max_mesh_count, mesh_count_y]|min)|int %}
{% set should_prime = printer["gcode_macro RatOS"].nozzle_priming == 'primeblob' %}
{% if printer["dual_carriage"] is not defined %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% else %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% endif %}
{% if printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 != 0 and probe_first %}
{% set probe_first = false %}
{% elif printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 == 0 and not probe_first %}
{% set probe_first = true %}
{% endif %}
{% if should_prime and probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="mesh coordinates X0={mesh_x0} Y0={mesh_y0} X1={mesh_x1} Y1={mesh_y1}"
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% if should_prime and not probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
STOW_PROBE
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M84]
rename_existing = M84.1
gcode =
M84.1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
{% if printer["dual_carriage"] is defined %}
_SET_TOOLHEAD_OFFSET T={printer["gcode_macro RatOS"].default_toolhead|int} MOVE=0
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro _VAOC"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
{% endif %}
SET_GCODE_OFFSET X=0 Y=0 Z=0 MOVE=0
_IDEX_SINGLE INIT=1
{% endif %}
SET_SKEW CLEAR=1
_LED_MOTORS_OFF
[gcode_macro M104]
rename_existing = M104.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
DEBUG_ECHO PREFIX="M104" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set temperature_offset_t0 = printer["gcode_macro T0"].temperature_offset|default(0)|int %}
{% set temperature_offset_t1 = printer["gcode_macro T1"].temperature_offset|default(0)|int %}
{% set s0 = [s + temperature_offset_t0, 0]|max %}
{% set s1 = [s + temperature_offset_t1, 0]|max %}
{% if temperature_offset_t0 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t0}°C added to toolhead T0."
{% endif %}
{% if temperature_offset_t1 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t1}°C added to toolhead T1."
{% endif %}
{% else %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
M104.1 S{s0} T0
M104.1 S{s1} T1
{% else %}
M104.1 S{s} T{t}
{% endif %}
{% endif %}
[gcode_macro M109]
rename_existing = M109.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
DEBUG_ECHO PREFIX="M109" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M109" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
M109.1 S{s} T{t}
{% endif %}
[gcode_macro SET_HEATER_TEMPERATURE]
rename_existing = SET_HEATER_TEMPERATURE_BASE
gcode =
{% set heater = params.HEATER|default("") %}
{% set target = params.TARGET|default(0)|int %}
DEBUG_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="heater: {heater}, target: {target}"
{% if heater|lower == "extruder" or heater|lower == "extruder1" %}
{% set t = 0 if heater|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and target > 0 %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set target = [target + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
SET_HEATER_TEMPERATURE_BASE HEATER="{heater}" TARGET={target}
[gcode_macro TEMPERATURE_WAIT]
rename_existing = TEMPERATURE_WAIT_BASE
gcode =
{% set sensor = params.SENSOR|default("") %}
{% set minimum = params.MINIMUM|default(-1)|int %}
{% set maximum = params.MAXIMUM|default(-1)|int %}
DEBUG_ECHO PREFIX="TEMPERATURE_WAIT" MSG="sensor: {sensor}, minimum: {minimum}, maximum: {maximum}"
{% if sensor|lower == "extruder" or sensor|lower == "extruder1" %}
{% set t = 0 if sensor|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and (minimum > 0 or maximum > 0) %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% if minimum > -1 %}
{% set minimum = [minimum + temperature_offset, 0]|max %}
{% endif %}
{% if maximum > -1 %}
{% set maximum = [maximum + temperature_offset, 0]|max %}
{% endif %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% if minimum > -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum} MAXIMUM={maximum}
{% elif minimum > -1 and maximum == -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum}
{% elif minimum == -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MAXIMUM={maximum}
{% endif %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature for toolhead T{t} reached."
[gcode_macro SET_GCODE_OFFSET]
rename_existing = SET_GCODE_OFFSET_ORG
gcode =
SET_GCODE_OFFSET_ORG { rawparams }
{% if printer.configfile.settings.beacon is defined and (params.Z_ADJUST is defined or params.Z is defined) %}
_BEACON_APPLY_RUNTIME_MULTIPLIER
{% endif %}
[gcode_macro SDCARD_PRINT_FILE]
rename_existing = SDCARD_PRINT_FILE_BASE
gcode =
{% if printer["ratos"] is defined %}
PROCESS_GCODE_FILE { rawparams }
{% else %}
SDCARD_PRINT_FILE_BASE { rawparams }
{% endif %}
[gcode_macro SKEW_PROFILE]
rename_existing = SKEW_PROFILE_BASE
variable_loaded_profile = ""
gcode =
{% if params.LOAD is defined %}
{% if printer.configfile.settings["skew_correction %s" % params.LOAD] is defined %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='"{params.LOAD}"'
{% endif %}
{% endif %}
SKEW_PROFILE_BASE { rawparams }
[gcode_macro SET_SKEW]
rename_existing = SET_SKEW_BASE
gcode =
{% if params.CLEAR is defined %}
{% if params.CLEAR|default(0)|int == 1 %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='""'
{% endif %}
{% endif %}
SET_SKEW_BASE { rawparams }
[gcode_macro SET_VELOCITY_LIMIT]
rename_existing = SET_VELOCITY_LIMIT_BASE
gcode =
{% if params.ACCEL_TO_DECEL is defined %}
{% if params.ACCEL is defined %}
{% set accel = params.ACCEL|float %}
{% else %}
{% set accel = printer.toolhead.max_accel|float %}
{% endif %}
{% if params.VELOCITY is defined %}
{% set velocity = params.VELOCITY|float %}
{% else %}
{% set velocity = printer.toolhead.max_velocity|float %}
{% endif %}
{% if params.SQUARE_CORNER_VELOCITY is defined %}
{% set scv = params.SQUARE_CORNER_VELOCITY|float %}
{% else %}
{% set scv = printer.toolhead.square_corner_velocity|float %}
{% endif %}
{% set mcr = params.ACCEL_TO_DECEL|float / accel %}
DEBUG_ECHO PREFIX="SET_VELOCITY_LIMIT" MSG="ACCEL={accel}, VELOCITY={velocity}, SQUARE_CORNER_VELOCITY={scv}, MINIMUM_CRUISE_RATIO={mcr}"
SET_VELOCITY_LIMIT_BASE ACCEL={accel} VELOCITY={velocity} SQUARE_CORNER_VELOCITY={scv} MINIMUM_CRUISE_RATIO={1-mcr}
{% else %}
SET_VELOCITY_LIMIT_BASE { rawparams }
{% endif %}
[gcode_macro _START_PRINT_PARK]
gcode =
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_x = printer["gcode_macro RatOS"].start_print_park_x %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% endif %}
{% if printer["dual_carriage"] is defined and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
{% if printer["gcode_macro RatOS"].start_print_park_x is defined and printer["gcode_macro RatOS"].start_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="start_print_park_x is ignored for IDEX printers"
{% endif %}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={start_print_park_in} X={start_print_park_x}
G0 Z{z} F{z_speed}
[gcode_macro _END_PRINT_PARK]
gcode =
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro RatOS"].end_print_park_x is defined and printer["gcode_macro RatOS"].end_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="end_print_park_x is ignored for IDEX printers"
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={printer["gcode_macro RatOS"].end_print_park_in} X={printer["gcode_macro RatOS"].end_print_park_x}
[gcode_macro _PARK]
gcode =
{% set x = params.X %}
{% set location = params.LOCATION|default('back')|lower %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set nozzle_priming = printer["gcode_macro RatOS"].nozzle_priming|lower %}
CACHE_TOOLHEAD_SETTINGS KEY="park"
SET_MACRO_TRAVEL_SETTINGS
{% if x != '' %}
{% if x|float >= printer.toolhead.axis_minimum.x + 5 and x|float <= printable_x_max - 5 %}
{% set park_x = x|float %}
{% else %}
{action_respond_info('The requested X co-ordinate is outside the defined axis bounds - using defaults')}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% else %}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% set park_y = printable_y_max - 15 %}
{% if location == 'front' %}
{% set park_y = printer.toolhead.axis_minimum.y + 5 %}
{% elif location == 'center' %}
{% set park_y = printable_y_max / 2 %}
{% elif location == 'primeblob' and printer["dual_carriage"] is defined %}
{% set park_y = printable_y_max - 15 %}
{% endif %}
{% if location == 'primeblob' and printer["dual_carriage"] is not defined %}
{% if (nozzle_priming == 'primeblob' or nozzle_priming == 'primeline') %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set park_x = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set park_x = printable_x_max - 5 %}
{% else %}
{% set park_x = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set park_y = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set park_y = printable_y_max - 5 %}
{% else %}
{% set park_y = nozzle_prime_start_y|float %}
{% endif %}
{% endif %}
{% endif %}
G90
{% if printer["dual_carriage"] is not defined %}
G0 X{park_x} Y{park_y} F{speed}
{% else %}
G0 Y{park_y} F{speed}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="park"
[gcode_macro SAVE_PROBE_RESULT]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
{% set last_z_offset = 9999.9 %}
{% if printer.configfile.settings.beacon is defined %}
{% set current_z = printer.toolhead.position.z|float %}
{% if beacon_contact_prime_probing %}
{% set last_z_offset = printer.beacon.last_z_result %}
{% else %}
{% set last_z_offset = printer.beacon.last_sample.dist - current_z %}
{% endif %}
{% elif printer.configfile.settings.bltouch is defined %}
{% set config_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% elif printer.configfile.settings.probe is defined %}
{% set config_offset = printer.configfile.settings.probe.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Saving offset adjustment of {last_z_offset} in {params.VARIABLE|default('last_z_offset')}"
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE={params.VARIABLE|default('last_z_offset')} VALUE={last_z_offset}
[gcode_macro PROBE_FOR_PRIMING]
gcode =
{% set probe_for_priming_disable_mesh_constraints = true if printer["gcode_macro RatOS"].probe_for_priming_disable_mesh_constraints|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower != 'false' %}
SAVE_GCODE_STATE NAME=probe_for_priming_state
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the prime location.."
CACHE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
SET_MACRO_TRAVEL_SETTINGS
{% set t = params.TOOLHEAD|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% if idex_mode == '' %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% if t == 0 %}
{% set x_start = 5 %}
{% else %}
{% set x_start = printable_x_max - 5 %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% endif %}
{% endif %}
{% set z = printer.configfile.settings.bed_mesh.horizontal_move_z|float %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% if printer.configfile.settings.bltouch is defined %}
{% set x_offset = printer.configfile.settings.bltouch.x_offset|float %}
{% set y_offset = printer.configfile.settings.bltouch.y_offset|float %}
{% set z_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% elif printer.configfile.settings.probe is defined %}
{% set x_offset = printer.configfile.settings.probe.x_offset|float %}
{% set y_offset = printer.configfile.settings.probe.y_offset|float %}
{% set z_offset = printer.configfile.settings.probe.z_offset|float %}
{% elif printer.configfile.settings.beacon is defined %}
{% set x_offset = printer.configfile.settings.beacon.x_offset|float %}
{% set y_offset = printer.configfile.settings.beacon.y_offset|float %}
{% set z_offset = printer.configfile.settings.beacon.trigger_distance|float %}
{% else %}
{ action_raise_error("No probe, beacon or bltouch section found. Adaptive priming only works with a [probe], [beacon] or [bltouch] section defined.") }
{% endif %}
{% if z < z_offset %}
{ action_raise_error("Horizontal move Z ({z}) is below your probe's Z offset ({z_offset}). Please adjust your horizontal_move_z setting in [bed_mesh] to be above {z}.") }
{% endif %}
{% if not probe_for_priming_disable_mesh_constraints %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float - x_offset %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float - y_offset %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float - x_offset %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float - y_offset %}
{% set x_start = [[x_start, max_x]|min, min_x]|max %}
{% set y_start = [[y_start, max_y]|min, min_y]|max %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the start of the prime location at {x_start}, {y_start}"
G90
M83
G0 Z{z} F{z_speed}
G1 X{x_start} Y{y_start} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result
{% endif %}
{% if idex_mode == '' %}
{% set x_end = x_start %}
{% set y_end = y_start + 45 %}
{% else %}
{% if t==1 %}
{% set x_end = x_start - 45 %}
{% else %}
{% set x_end = x_start + 45 %}
{% endif %}
{% set y_end = y_start %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the end of the prime location at {x_end}, {y_end}"
G1 X{x_end} Y{y_end} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result
{% endif %}
RESTORE_GCODE_STATE NAME=probe_for_priming_state
RESTORE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
{% endif %}
[gcode_macro RESET_PRIME_PROBE_STATE]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result VALUE=None
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result_t1 VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result_t1 VALUE=None
{% endif %}
[gcode_macro PROBE_CURRENT_POSITION]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
SAVE_GCODE_STATE NAME=probe_current_position_state
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
ASSERT_PROBE_DEPLOYED
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_prime_probing %}
PROBE PROBE_METHOD=contact SAMPLES=1
{% else %}
PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
BEACON_QUERY
{% else %}
RESTORE_GCODE_STATE NAME=probe_current_position_state MOVE=1 MOVE_SPEED={printer["gcode_macro RatOS"].macro_z_speed|float}
{% endif %}
[gcode_macro PRIME_BLOB]
description = Prints a primeblob, used internally, if configured, as part of the START_PRINT macro.
variable_x_offset = 5
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="prime_blob"
SET_MACRO_TRAVEL_SETTINGS
RATOS_ECHO PREFIX="Priming" MSG="Priming nozzle with prime blob.."
{% set current_toolhead = 0 %}
{% set target_idex_mode = '' %}
{% set extruder = 'extruder' %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE is defined %}
{% set target_idex_mode = params.IDEX_MODE|default('')|lower %}
{% else %}
{ action_raise_error("IDEX_MODE parameter not found for PRIME_BLOB macro. This is likely a bug.") }
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Priming in IDEX {target_idex_mode} mode.."
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set current_toolhead = 1 if current_idex_mode=='primary' else 0 %}
{% set extruder = 'extruder1' if current_toolhead == 1 else 'extruder' %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
SAVE_GCODE_STATE NAME=prime_blob_state
{% endif %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set fan_speed = printer["gcode_macro RatOS"].nozzle_prime_bridge_fan|float %}
{% set nozzle_diameter = printer.configfile.settings[extruder].nozzle_diameter|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set has_start_offset_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) != 9999.9 %}
{% if printer["dual_carriage"] is defined %}
{% set has_start_offset_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) != 9999.9 %}
{% endif %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_z_height = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set nozzle_prime_direction = printer["gcode_macro RatOS"].nozzle_prime_direction|lower %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% if target_idex_mode == '' %}
{% set x_factor = 0 %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% set y_factor = 1 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% set y_factor = -1 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% if nozzle_prime_start_y|float < printable_y_max / 2 %}
{% set y_factor = 1 %}
{% else %}
{% set y_factor = -1 %}
{% endif %}
{% endif %}
{% if nozzle_prime_direction == 'forwards' %}
{% set y_factor = 1 %}
{% elif nozzle_prime_direction == 'backwards' %}
{% set y_factor = -1 %}
{% endif %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% else %}
{% set z = start_print_park_z_height %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% set y_factor = 0 %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set x_start = center_x / 2 + 5 %}
{% set x_factor = 1 %}
{% else %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% if current_toolhead == 0 %}
{% set x_start = 55 %}
{% set x_factor = -1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 55 %}
{% set x_factor = 1 %}
{% endif %}
{% else %}
{% if current_toolhead == 0 %}
{% set x_start = 5 %}
{% set x_factor = 1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 5 %}
{% set x_factor = -1 %}
{% endif %}
{% endif %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_x_max - 5 %}
{% endif %}
{% set z = 10 %}
{% endif %}
{% set start_z_offset = 0 %}
{% set end_z_offset = 0 %}
{% if has_start_offset_t0 %}
{% set start_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) %}
{% set end_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_end_result|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t0) ) }
{% endif %}
{% if end_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t0) ) }
{% endif %}
{% set start_z_offset = start_z_probe_result_t0 %}
{% set end_z_offset = end_z_probe_result_t0 %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if current_toolhead == 1 or both_toolheads or target_idex_mode == "copy" or target_idex_mode == "mirror" %}
{% if has_start_offset_t1 %}
{% set start_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) %}
{% set end_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_end_result_t1|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t1) ) }
{% endif %}
{% if end_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t1) ) }
{% endif %}
{% set start_z_offset = [start_z_offset, start_z_probe_result_t1]|max %}
{% set end_z_offset = [end_z_offset, start_z_probe_result_t1]|max %}
{% endif %}
{% endif %}
{% if target_idex_mode != 'copy' and target_idex_mode != 'mirror' %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% set original_start_z_offset = start_z_offset %}
{% set original_end_z_offset = end_z_offset %}
{% set start_z_offset = original_end_z_offset %}
{% set end_z_offset = original_start_z_offset %}
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={current_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="PRIME_BLOB" MSG="x_start: {x_start}, y_start: {y_start}, x_factor: {x_factor}, y_factor: {y_factor}, z: {z}, start_z_offset: {start_z_offset}, end_z_offset: {end_z_offset}"
G90
M83
RATOS_ECHO PREFIX="Priming" MSG="Lifting Z to {z}.."
G0 Z{z} F{z_speed}
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% if start_print_park_in != 'primeblob' %}
G1 X{x_start} F{speed}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% endif %}
{% else %}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% if target_idex_mode=="copy" or target_idex_mode=="mirror" %}
RATOS_ECHO PREFIX="Priming" MSG="Mirroring move to {x_start}, {y_start} along the edge of the print area.."
_IDEX_MIRROR PRIMING=1
{% else %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% endif %}
G1 X{x_start} F{speed}
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Starting prime blob.."
G1 Z{0.5 + start_z_offset} F{z_speed}
G1 Y{y_start} F{speed}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
M106 S{fan_speed}
G1 Z5 F100 E5
G92 E0
RATOS_ECHO PREFIX="Priming" MSG="Bridging with {((fan_speed/255) * 100)|int}% fan speed.."
G1 F3000 X{x_start + (15 * x_factor)} Y{y_start + (15 * y_factor)} E{1 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (20 * x_factor)} Y{y_start + (20 * y_factor)} Z{3.8 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (34 * x_factor)} Y{y_start + (34 * y_factor)} Z{2.6 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (38 * x_factor)} Y{y_start + (38 * y_factor)} Z{1.4 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (42 * x_factor)} Y{y_start + (42 * y_factor)} Z{0.2 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
M106 S0
G1 F3000 X{x_start + (46 * x_factor)} Y{y_start + (46 * y_factor)} Z{0.2 + end_z_offset} E0.6
G1 F{speed} X{x_start + (50 * x_factor)} Y{y_start + (50 * y_factor)}
{% if target_idex_mode == "copy" or target_idex_mode == "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if target_idex_mode == "copy" %}
{% if first_y >= 0 %}
_IDEX_COPY DANCE=0 Y={first_y}
{% else %}
_IDEX_COPY DANCE=0 Y={params.Y1}
{% endif %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
RESTORE_GCODE_STATE NAME=prime_blob_state
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="prime_blob"
G92 E0
[gcode_macro UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% set temp = params.TEMP|default(220)|int %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_UNLOAD_FILAMENT TEMP={temp} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _LEGACY_UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set unload_speed = 5 * 60 %}
{% set unload_length = printer["gcode_macro RatOS"].filament_unload_length|float %}
M117 Unloading filament...
G0 E10 F300
G0 E-5 F3600
G4 P3000
G0 E5 F6000
G0 E-15 F6000
G0 E-{unload_length} F{unload_speed}
_CLEANING_MOVE TOOLHEAD={toolhead}
M117 Filament unloaded!
RESPOND MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _DEFAULT_UNLOAD_FILAMENT]
description = Unload filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_UNLOAD_FILAMENT" MSG="TEMP: {temp}"
_LED_UNLOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=unload_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD=0 NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TOOLHEAD=0
{% endif %}
RESTORE_GCODE_STATE NAME=unload_state
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD=0
[gcode_macro _IDEX_UNLOAD_FILAMENT]
description = Unload filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_UNLOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead}
{% endif %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Unloading filament from nozzle to cooling zone... Please wait!"
_PURGE_BEFORE_UNLOAD TOOLHEAD={toolhead}
{% if printer["gcode_macro _UNLOAD_WITHOUT_TIP_FORMING"] is defined %}
_UNLOAD_WITHOUT_TIP_FORMING TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_UNLOAD_WITH_TIP_FORMING NAME='{filament_name}' TYPE='{filament_type}'
{% endif %}
G4 P3000
[gcode_macro _UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
{% set tooolhead_sensor_to_extruder_gear_distance = printer["gcode_macro T%s" % toolhead].tooolhead_sensor_to_extruder_gear_distance|float %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER" MSG="TOOLHEAD: {toolhead}"
G0 E-{extruder_gear_to_cooling_position_distance + tooolhead_sensor_to_extruder_gear_distance + 50} F{extruder_load_speed}
RATOS_ECHO MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _UNLOAD_WITH_TIP_FORMING]
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% if filament_name != '' and filament_type != '' %}
_UNLOAD_KNOWN_FILAMENT NAME={filament_name} TYPE={filament_type}
{% else %}
_UNLOAD_UNKNOWN_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _UNLOAD_KNOWN_FILAMENT]
description = User overrideable tip forming macro if slicer filament profiles are known
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
RATOS_ECHO PREFIX="FILAMENT TYPE" MSG='{filament_type}'
RATOS_ECHO PREFIX="FILAMENT PROFILE" MSG='{filament_name}'
{% if filament_name == "Prusament PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% elif filament_name == "Nobufil PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% else %}
RATOS_ECHO PREFIX="_UNLOAD_KNOWN_FILAMENT" MSG="Filament profile not found!"
_UNLOAD_UNKNOWN_FILAMENT
{% endif %}
[gcode_macro _UNLOAD_UNKNOWN_FILAMENT]
description = User overrideable standard tip forming macro
gcode =
DEBUG_ECHO PREFIX="_UNLOAD_UNKNOWN_FILAMENT" MSG="Using standard tip forming macro!"
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
[gcode_macro _TIP_FORMING]
gcode =
{% set cooling_moves = params.COOLING_MOVES|default(4)|int %}
{% set cooling_move_length = params.COOLING_MOVE_LENGTH|default(10)|float %}
{% set start_cooling_speed = params.START_COOLING_SPEED|default(10)|float * 60 %}
{% set end_cooling_speed = params.END_COOLING_SPEED|default(50)|float * 60 %}
{% if cooling_moves == 0 %}
{% set cooling_move_length = 0 %}
{% endif %}
{% set dip = true if params.DIP|default(false)|lower == "true" else false %}
{% set dip_length = params.DIP_LENGTH|default(22)|float %}
{% set dip_speed = params.DIP_SPEED|default(30)|float * 60 %}
{% set dip_retract_speed = params.DIP_RETRACT_SPEED|default(70)|float * 60 %}
{% set retract_length = params.RETRACT_LENGTH|default(18)|float %}
{% set start_retract_speed = params.START_RETRACT_SPEED|default(120)|float * 60 %}
{% set end_retract_speed = params.END_RETRACT_SPEED|default(20)|float * 60 %}
DEBUG_ECHO PREFIX="_TIP_FORMING" MSG="cooling_moves: {cooling_moves}, cooling_move_length: {cooling_move_length}, start_cooling_speed: {start_cooling_speed}, end_cooling_speed: {end_cooling_speed}, dip: {dip}, dip_length: {dip_length}, dip_speed: {dip_speed}, dip_retract_speed: {dip_retract_speed}, retract_length: {retract_length}, start_retract_speed: {start_retract_speed}, end_retract_speed: {end_retract_speed}"
M220 S100
G92 E0
{% set retract = retract_length + cooling_move_length / 2 - 15 %}
G1 E-15 F{start_retract_speed}
G1 E-{0.7 * retract} F{1.0 * end_retract_speed}
G1 E-{0.2 * retract} F{0.5 * end_retract_speed}
G1 E-{0.1 * retract} F{0.3 * end_retract_speed}
G92 E0
{% if cooling_moves > 0 %}
{% set i = (end_cooling_speed - start_cooling_speed) / (2 * cooling_moves - 1) %}
{% for m in range(cooling_moves) %}
G1 E{cooling_move_length} F{(start_cooling_speed + i * m * 2)}
G1 E-{cooling_move_length} F{(start_cooling_speed + i * (m * 2 + 1))}
{% endfor %}
{% endif %}
G92 E0
{% if dip %}
G1 E{dip_length} F{dip_speed}
G4 P100
G1 E-{dip_length} F{dip_retract_speed}
{% endif %}
G92 E0
M400
[gcode_macro _ON_FILAMENT_SENSOR_BUTTON_PRESSED]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_SENSOR_BUTTON_PRESSED" MSG="TOOLHEAD: {toolhead}"
{% if not printer.virtual_sdcard.is_active %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_FILAMENT_END]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set clogged = true if params.CLOGGED|default(false)|lower == 'true' else false %}
{% set unload_after_runout = printer["gcode_macro T%s" % toolhead].unload_after_runout|float %}
{% if clogged %}
_LED_FILAMENT_CLOG TOOLHEAD={toolhead}
{% else %}
_LED_FILAMENT_RUNOUT TOOLHEAD={toolhead}
{% endif %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_END" MSG="TOOLHEAD: {toolhead}"
{% if printer.virtual_sdcard.is_active %}
{% if not printer.pause_resume.is_paused %}
PAUSE RUNOUT=True
{% endif %}
{% if not clogged and unload_after_runout %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% if not clogged and printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true'%}
_JOIN_SPOOL TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M600]
description = Executes a color change by pausing the printer an unloading the filament.
gcode =
PAUSE
UNLOAD_FILAMENT
RATOS_ECHO MSG="Please load new filament and resume"
[gcode_macro COLD_PULL]
description = Automated hotend cold pull.
gcode =
{% set extrusion_temp = params.EXTRUSION_TEMP|default(220)|int %}
{% set cold_pull_temp = params.COLD_PULL_TEMP|default(80)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% if printer["dual_carriage"] is not defined %}
{% set toolhead = 0 %}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead != 0 and toolhead != 1 %}
{action_raise_error("Please select toolhead! 0 = left, 1 = right toolhead")}
{% endif %}
{% endif %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
SAVE_GCODE_STATE NAME=cold_pull_state
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
RATOS_ECHO MSG="Heating T{toolhead} to {extrusion_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={extrusion_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={extrusion_temp} MAXIMUM={extrusion_temp + 2}
G4 P3000
RATOS_ECHO MSG="extruding..."
G92 E0
G1 E30 F300
G92 E0
RATOS_ECHO MSG="Heating T{toolhead} to {cold_pull_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={cold_pull_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={cold_pull_temp} MAXIMUM={cold_pull_temp + 2}
G4 P10000
RATOS_ECHO MSG="cold pull..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-40 VELOCITY=5 ACCEL=100
RATOS_ECHO MSG="eject filament..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-200 VELOCITY=20 ACCEL=500
RATOS_ECHO MSG="cooling down extruder..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
RESTORE_GCODE_STATE NAME=cold_pull_state
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
CONSOLE_ECHO TITLE="Cold pull finished!" MSG="Please remove the filament from the PTFE tube and cut the end off. Do NOT try to load it again." TYPE="warning"
[gcode_macro _USER_START_PRINT_BEFORE_HOMING]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_BED]
gcode =
[gcode_macro _USER_START_PRINT_BED_MESH]
gcode =
[gcode_macro _USER_START_PRINT_PARK]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
[gcode_macro _USER_START_PRINT_HEAT_CHAMBER]
description = Uses the extruder sensor to wait for chamber temp. Override the _START_PRINT_HEAT_CHAMBER macro to implement heated chamber handling.
gcode =
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
[gcode_macro _USER_END_PRINT_BEFORE_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_AFTER_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_PARK]
gcode =
[gcode_macro _USER_END_PRINT_FINISHED]
description = User hook for when the print is finished after gcode state has been restored.
gcode =
[gcode_macro _USER_START_PRINT]
gcode =
[gcode_macro _USER_END_START_PRINT]
gcode =
[gcode_macro _USER_START_FEATURE]
gcode =
[gcode_macro _USER_END_FEATURE]
gcode =
[gcode_macro ECHO_T_VARS]
description = Echo Toolhead variables to the console.
gcode =
{% set t = params.T|default(0) %}
RATOS_ECHO MSG="T{t} Variables"
{% for var, value in printer["gcode_macro T%s" % t].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro ECHO_RATOS_VARS]
description = Echo RatOS variables to the console.
gcode =
{% for var, value in printer["gcode_macro RatOS"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[delayed_gcode RATOS_INIT]
initial_duration = 0.1
gcode =
_LED_STANDBY
CALCULATE_PRINTABLE_AREA
INITIAL_FRONTEND_UPDATE
_CHAMBER_FILTER_SANITY_CHECK
[delayed_gcode RATOS_LOGO]
initial_duration = 2
gcode =
HELLO_RATOS
[gcode_macro INITIAL_FRONTEND_UPDATE]
gcode =
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_error = printer["gcode_macro RatOS"].status_color_error|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_unknown}"'
{% endif %}
{% set t0_sensor = "undefined" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
{% set t0_sensor = "detected" %}
{% else %}
{% set t0_sensor = "empty" %}
{% endif %}
{% else %}
{% set t0_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set t1_sensor = "undefined" %}
{% if printer["dual_carriage"] is defined and printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
{% set t1_sensor = "detected" %}
{% else %}
{% set t1_sensor = "empty" %}
{% endif %}
{% else %}
{% set t1_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set svv = printer.save_variables.variables %}
{% if svv.t0_filament is defined and printer["gcode_macro T0"] is defined %}
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
{% if t0_sensor != "empty" %}
{% set t0_filament_type = svv.t0_filament[0]|default('')|string %}
{% set t0_filament_name = svv.t0_filament[1]|default('')|string %}
{% set t0_filament_temp = svv.t0_filament[2]|default(0)|float %}
{% if t0_filament_name != '' and t0_filament_type != '' and t0_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{t0_filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{t0_filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={t0_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
{% if svv.t1_filament is defined and printer["gcode_macro T1"] is defined %}
{% if printer["gcode_macro T1"].filament_name is defined and printer["gcode_macro T1"].filament_type is defined and printer["gcode_macro T1"].filament_temp is defined %}
{% if t1_sensor != "empty" %}
{% set t1_filament_type = svv.t1_filament[0]|default('')|string %}
{% set t1_filament_name = svv.t1_filament[1]|default('')|string %}
{% set t1_filament_temp = svv.t1_filament[2]|default(0)|float %}
{% if t1_filament_name != '' and t1_filament_type != '' and t1_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='"{t1_filament_name}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='"{t1_filament_type}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE={t1_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t1_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro CALCULATE_PRINTABLE_AREA]
gcode =
{% set bed_margin_x = printer["gcode_macro RatOS"].bed_margin_x %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set tool = 0 if printer["gcode_macro T0"] is not defined or printer["gcode_macro T0"].active else 1 %}
{% set max_x = printer.toolhead.axis_maximum.x if printer["dual_carriage"] is defined and tool == 0 else printer.toolhead.axis_maximum.x - bed_margin_x[1] %}
{% if printer["dual_carriage"] is defined %}
{% set max_x = printer.toolhead.axis_maximum.x %}
{% endif %}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="printer.toolhead.axis_maximum.x {printer.toolhead.axis_maximum.x}"
{% set max_y = printer.toolhead.axis_maximum.y - bed_margin_y[1]%}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_x_max VALUE={max_x}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_y_max VALUE={max_y}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="Printable area calculated: X: 0,{max_x} Y: 0,{max_y}"
[gcode_macro CACHE_TOOLHEAD_SETTINGS]
variable_cache = {"global": {"accel": 1000, "ratio": 0.5, "speed": 50, "scv": 5}}
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set dummy = cache.__setitem__(key, {"accel": printer.toolhead.max_accel, "ratio": printer.toolhead.minimum_cruise_ratio, "speed": printer.toolhead.max_velocity, "scv": printer.toolhead.square_corner_velocity}) %}
SET_GCODE_VARIABLE MACRO=CACHE_TOOLHEAD_SETTINGS VARIABLE=cache VALUE="{cache | pprint | replace("\n", "") | replace("\"", "\\\"")}"
DEBUG_ECHO PREFIX="CACHE_TOOLHEAD_SETTINGS" MSG="Toolhead settings cached for {key}. {printer.toolhead.max_accel} accel, {printer.toolhead.minimum_cruise_ratio} ratio, {printer.toolhead.max_velocity} velocity, {printer.toolhead.square_corner_velocity} scv."
[gcode_macro RESTORE_TOOLHEAD_SETTINGS]
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set values = printer["gcode_macro CACHE_TOOLHEAD_SETTINGS"].cache.__getitem__(key) %}
{% if values is not defined or values == 'None' %}
{ action_raise_error("RESTORE_TOOLHEAD_SETTINGS: Toolhead settings not cached for key '" ~ key ~ "'.") }
{% endif %}
SET_VELOCITY_LIMIT ACCEL={values.accel} MINIMUM_CRUISE_RATIO={values.ratio} VELOCITY={values.speed} SQUARE_CORNER_VELOCITY={values.scv}
DEBUG_ECHO PREFIX="RESTORE_TOOLHEAD_SETTINGS" MSG="Toolhead settings restored. {values.accel} accel, {values.ratio} ratio, {values.speed} velocity, {values.scv} scv."
[gcode_macro SET_MACRO_TRAVEL_SETTINGS]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set accel = printer["gcode_macro RatOS"].macro_travel_accel %}
SET_VELOCITY_LIMIT ACCEL={accel} MINIMUM_CRUISE_RATIO=0.5 VELOCITY={speed} SQUARE_CORNER_VELOCITY={5}
DEBUG_ECHO PREFIX="SET_MACRO_TRAVEL_SETTINGS" MSG="Macro travel settings set. {accel} accel, {speed} velocity"
[gcode_macro SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% if printer["dual_carriage"] is not defined %}
SET_KINEMATIC_POSITION X={printable_x_max / 2} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
{% else %}
IDEX_SET_CENTER_KINEMATIC_POSITION
{% endif %}
[gcode_macro IDEX_SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x - (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x + (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
[gcode_macro VERIFY_HYBRID_INVERTED]
gcode =
{% set inverted = False %}
{% if printer.configfile.settings.ratos_hybrid_corexy is defined and printer.configfile.settings.ratos_hybrid_corexy.inverted is defined %}
{% if printer.configfile.settings.ratos_hybrid_corexy.inverted|lower == 'true' %}
{% set inverted = True %}
{% endif %}
{% endif %}
{% if inverted == False %}
{ action_emergency_stop("ratos_hybrid_corexy NOT INVERTED! Inverted hybrid core-xy bugfix not detected.") }
{% endif %}
[gcode_macro RATOS_ECHO]
gcode =
{% set prefix = "RatOS" %}
{% set debug = params.DEBUG|default(0)|int %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " | " ~ params.PREFIX %}
{% endif %}
{% set prefix = prefix ~ ":" %}
{% set msg = "" %}
{% if params.MSG is defined %}
{% set msg = params.MSG %}
{% else %}
{% set msg = "No msg parameter provided (this is a bug or unintended use)." %}
{% endif %}
{% if not debug %}
M117 {prefix} {msg}
{% endif %}
RATOS_LOG PREFIX="{prefix}" MSG="{msg}"
{% if not debug %}
RESPOND PREFIX="{prefix}" MSG="{msg}"
{% else %}
CONSOLE_ECHO TITLE="{prefix}" TYPE="debug" MSG="{msg}"
{% endif %}
[gcode_macro ENABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=True
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=prefix_filter VALUE="'{params.FILTER|default('')|lower}'"
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging enabled."
[gcode_macro DISABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=False
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging disabled."
[gcode_macro DEBUG_ECHO]
variable_enabled = False
variable_prefix_filter = ''
gcode =
{% set prefix = "DEBUG" %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " - " ~ params.PREFIX %}
{% endif %}
{% if enabled and (prefix_filter|lower == '' or prefix_filter|lower in params.PREFIX|lower) %}
RATOS_ECHO PREFIX="{prefix}" MSG="{params.MSG}" DEBUG=1
{% endif %}
[gcode_macro START_FEATURE]
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="Start {params.FEATURE} feature gcode"
{% set scv = printer.toolhead.square_corner_velocity|int|default(5) %}
{% set accel = printer.toolhead.max_accel|int|default(10000) %}
{% set ratio = printer.toolhead.minimum_cruise_ratio|float|default(0.5) %}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="scv" VALUE={scv}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="accel" VALUE={accel}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="ratio" VALUE={ratio}
_USER_START_FEATURE FEATURE="{params.FEATURE}"
[gcode_macro END_FEATURE]
variable_scv = 5
variable_accel = 10000
variable_ratio = 0.5
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="End {params.FEATURE} feature gcode"
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={scv} ACCEL={accel} MINIMUM_CRUISE_RATIO={ratio}
_USER_END_FEATURE FEATURE="{params.FEATURE}" SCV={scv} ACCEL={accel} RATIO={ratio}
[gcode_macro _ON_LAYER_CHANGE]
variable_layer_number = 0
description = INTERNAL USE ONLY. Call it from the slicers after layer change custom gcode
gcode =
{% set layer = params.LAYER|int %}
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE={layer}
SET_PRINT_STATS_INFO CURRENT_LAYER={layer}
[gcode_macro _LEARN_MORE_CALIBRATION]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/calibration" %}
{% set link_text = "RatOS Calibration Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_CHAMBER_FILTER]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter Control" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_FILAMENT]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/filaments" %}
{% set link_text = "RatOS Filament Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _CONSOLE_SAVE_CONFIG]
gcode =
M118 Click SAVE_CONFIG to save the settings to your printer.cfg.
[gcode_macro SAVE_Z_OFFSET]
gcode =
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SAVE_MULTIPLIER
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _LOAD_RATOS_SKEW_PROFILE]
gcode =
{% set ratos_skew_profile = printer["gcode_macro RatOS"].skew_profile|default("") %}
{% if ratos_skew_profile != "" %}
{% if printer.configfile.config["skew_correction %s" % ratos_skew_profile] is defined %}
SKEW_PROFILE LOAD={ratos_skew_profile}
GET_CURRENT_SKEW
{% else %}
{% set line_1 = '"Could not find skew profile %s!_N_Clearing skew correction."' % ratos_skew_profile %}
CONSOLE_ECHO TITLE="Missing skew profile!" TYPE="warning" MSG={line_1}
SET_SKEW CLEAR=1
{% endif %}
{% endif %}
[gcode_macro M601]
gcode =
PAUSE
[gcode_macro PAUSE]
description = Pauses the print
rename_existing = PAUSE_BASE
variable_extrude = 1.5
variable_retract = 1.5
variable_fan_speed = 0
variable_idex_mode = ""
variable_idex_toolhead = 0
variable_idex_toolhead_x = 0.0
variable_idex_toolhead_y = 0.0
variable_idex_toolhead_z = 0.0
gcode =
{% set runout_detected = true if params.RUNOUT|default(false)|lower == 'true' else false %}
_LED_PAUSE
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set idex_toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
SAVE_GCODE_STATE NAME=PAUSE_state
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_mode VALUE='"{idex_mode}"'
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={idex_toolhead}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_x VALUE={printer.gcode_move.gcode_position.x|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_y VALUE={printer.gcode_move.gcode_position.y|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_z VALUE={printer.gcode_move.gcode_position.z|float}
DEBUG_ECHO PREFIX="PAUSE" MSG="idex_mode: {idex_mode}, idex_toolhead: {idex_toolhead}, idex_toolhead_x: {idex_toolhead_x}, idex_toolhead_y: {idex_toolhead_y}, idex_toolhead_z: {idex_toolhead_z}"
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
CACHE_TOOLHEAD_SETTINGS KEY="pause"
SET_MACRO_TRAVEL_SETTINGS
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% if current_z < (max_z - 20.0) %}
{% set z_safe = 20.0 %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
PAUSE_BASE
{% if printer["dual_carriage"] is not defined %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan"].speed|float}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
{% if idex_toolhead == 0 %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t1"].speed|float}
{% endif %}
{% endif %}
{% endif %}
M106 S0
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if idex_mode != '' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set R = printer["gcode_macro PAUSE"].retract|float %}
{% if can_extrude %}
G91
G1 E-{R} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].pause_print_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].pause_print_park_in %}
{% if runout_detected %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].runout_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].runout_park_in %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
DEBUG_ECHO PREFIX="PAUSE" MSG="z_speed: {z_speed}, pause_print_park_x: {pause_print_park_x}, pause_print_park_in: {pause_print_park_in}, default_toolhead: {default_toolhead}"
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F{z_speed}
G90
{% if printer["dual_carriage"] is not defined %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% else %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
_IDEX_SINGLE X={parking_position}
{% else %}
PARK_TOOLHEAD
{% endif %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="pause"
[gcode_macro RESUME]
description = Resumes the print if the printer is paused.
rename_existing = RESUME_BASE
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set target_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set target_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% endif %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if target_idex_mode != '' %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set fan_speed = printer["gcode_macro PAUSE"].fan_speed|float %}
{% if printer["dual_carriage"] is not defined %}
M106 S{(fan_speed * 255)}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% else %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% else %}
{% if printer["gcode_macro PAUSE"].idex_toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% endif %}
{% endif %}
M106.1 S{fan_speed}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY DANCE=0
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR DANCE=0
{% else %}
{% if params.TOOLHEAD is defined %}
_SELECT_TOOL T={params.TOOLHEAD} X=-1 Y=-1 TOOLSHIFT=false
{% else %}
_SELECT_TOOL T={printer["gcode_macro PAUSE"].idex_toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% endif %}
{% set x = printer["gcode_macro PAUSE"].idex_toolhead_x|float %}
{% set y = printer["gcode_macro PAUSE"].idex_toolhead_y|float %}
{% set z = printer["gcode_macro PAUSE"].idex_toolhead_z|float %}
G1 X{x} Y{y} Z{z} F{speed}
{% if params.TOOLHEAD is defined %}
SAVE_GCODE_STATE NAME=PAUSE_STATE
{% endif %}
{% endif %}
{% if params.TOOLHEAD is not defined %}
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
{% if can_extrude %}
G91
G1 E{E} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 MOVE_SPEED={speed}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
RESUME_BASE
_LED_PRINTING
[gcode_macro CANCEL_PRINT]
description = Cancels the printer
rename_existing = CANCEL_PRINT_BASE
gcode =
END_PRINT
TURN_OFF_HEATERS
CLEAR_PAUSE
CANCEL_PRINT_BASE
[gcode_macro START_PRINT]
description = Start print procedure, use this in your Slicer.
variable_post_processor_version = 2
variable_is_printing_gcode = False
variable_both_toolheads = True
variable_object_xoffset = 0
variable_first_x = -1
variable_first_y = -1
variable_total_toolshifts = 0
variable_initial_tool = 0
variable_extruder_first_layer_temp = ""
variable_extruder_other_layer_temp = ""
gcode =
{% if "xyz" in printer.toolhead.homed_axes and printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% if printer["gcode_macro _VAOC"].is_started|default(true)|lower == 'true' %}
_VAOC_END
{% endif %}
{% endif %}
_LED_START_PRINTING
CACHE_TOOLHEAD_SETTINGS KEY="start_print"
_USER_START_PRINT { rawparams }
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set z_probe_stowable = printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set X0 = params.X0|default(-1)|float %}
{% set X1 = params.X1|default(-1)|float %}
{% set Y0 = params.Y0|default(-1)|float %}
{% set Y1 = params.Y1|default(-1)|float %}
{% if first_x == -1 or first_y == -1 %}
{% set first_x = params.FIRST_X|default(-1)|float %}
{% set first_y = params.FIRST_Y|default(-1)|float %}
{% endif %}
{% set total_toolshifts = params.TOTAL_TOOLSHIFTS|default(0)|int %}
{% set initial_tool = params.INITIAL_TOOL|default(default_toolhead)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(printer.heater_bed.target, true)|float %}
{% set total_layer_count = params.TOTAL_LAYER_COUNT|default(0)|int %}
{% set extruder_first_layer_temp = (params.EXTRUDER_TEMP|default("")).split(",") %}
RATOS_ECHO MSG="First print coordinates X:{first_x} Y:{first_y}"
{% if params.TOTAL_LAYER_COUNT is not defined %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Configuration" %}
{% set line_1 = '"Your slicer gcode settings are not up to date._N_Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Incomplete Slicer Configuration detected" TYPE="warning" MSG={line_1}
{% endif %}
SET_PRINT_STATS_INFO CURRENT_LAYER=1
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE=1
{% if total_layer_count > 0 %}
SET_PRINT_STATS_INFO TOTAL_LAYER={total_layer_count}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads %}
{% set initial_tool = 0 if initial_tool == 1 else 1 %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% set both_toolheads = true %}
{% if total_toolshifts == 0 %}
{% set both_toolheads = false %}
{% endif %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
{% endif %}
{% if both_toolheads and (idex_mode == "copy" or idex_mode == "mirror") %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Gcode tool changes found. Copy and mirror mode do not support toolchanges.")}
{% endif %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set both_toolheads = true %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=initial_tool VALUE={initial_tool}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_x VALUE={first_x}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_y VALUE={first_y}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=total_toolshifts VALUE={total_toolshifts}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=both_toolheads VALUE={both_toolheads}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_first_layer_temp VALUE="'{params.EXTRUDER_TEMP}'"
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_other_layer_temp VALUE="'{params.EXTRUDER_OTHER_LAYER_TEMP}'"
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE=0
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set stepper_x_position_min = printer.configfile.settings.stepper_x.position_min|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set x_parking_space = parking_position_t0 - (stepper_x_position_endstop , stepper_x_position_min)|max %}
{% set dc_parking_space = (dual_carriage_position_endstop , dual_carriage_position_max)|min - parking_position_t1 %}
{% if svv.idex_xoffset|abs >= (x_parking_space - 0.5) or svv.idex_xoffset|abs >= (dc_parking_space - 0.5) %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Toolhead x-offset is too high for the available parking space. Calibrate your X and DC endstop positions and make sure you stay below 1mm." % (copy_mode_max_width)) }
{% endif %}
{% endif %}
{% if (idex_mode == "copy" or idex_mode == "mirror") and printer.configfile.settings.ratos.enable_gcode_transform %}
{% if params.MIN_X is not defined or params.MAX_X is not defined %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Something went wrong! Missing important post processor start print parameter!") }
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE=0
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set boundary_box_min_x = params.MIN_X|default(0)|float %}
{% set boundary_box_max_x = params.MAX_X|default(printable_x_max)|float %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
{% set boundary_box_max_x = boundary_box_max_x + svv.idex_xoffset %}
{% else %}
{% set boundary_box_min_x = boundary_box_min_x - svv.idex_xoffset %}
{% endif %}
{% set center_x = printable_x_max / 2.0 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set object_width = boundary_box_max_x - boundary_box_min_x %}
{% set copy_mode_max_width = center_x %}
{% set mirror_mode_max_width = center_x - safe_distance / 2.0 %}
DEBUG_ECHO PREFIX="START_PRINT" MSG="OBJECT_WIDTH: {object_width} BOUNDARY_BOX_MIN_X: {boundary_box_min_x} BOUNDARY_BOX_MAX_X: {boundary_box_max_x} CENTER_X: {center_x} SAFE_DISTANCE: {safe_distance}"
{% if idex_mode == "copy" and object_width > copy_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for copy mode! Max supported width is %s mm" % (copy_mode_max_width)) }
{% endif %}
{% if idex_mode == "mirror" and object_width > mirror_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for mirror mode! Max supported width is %s mm" % (mirror_mode_max_width)) }
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = (printable_x_max - boundary_box_max_x - boundary_box_min_x) / 2 %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE={object_xoffset}
{% endif %}
{% endif %}
{% set has_initial_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_initial_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined and both_toolheads %}
{% set has_secondary_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_secondary_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
_CHAMBER_FILTER_ON AT="before_print_start"
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true' %}
{% if both_toolheads %}
RATOS_ECHO MSG="Spool join is not possible if both toolheads are in use!"
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == '' %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
{% endif %}
{% endif %}
CLEAR_PAUSE
{% if printer["gcode_macro RatOS"].force_absolute_position|lower == 'true' %}
G90
{% endif %}
SAVE_GCODE_STATE NAME=start_print_state
G21
G90
M82
_USER_START_PRINT_BEFORE_HOMING { rawparams }
{% if z_probe_stowable == true %}
STOWABLE_PROBE_BEGIN_BATCH
{% endif %}
MAYBE_HOME
_Z_HOP
{% if idex_mode != '' and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
PARK_TOOLHEAD
{% endif %}
{% if chamber_temp > 0 %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED={printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float}
{% endif %}
{% endif %}
_CHAMBER_HEATER_ON START_CHAMBER_TEMP={start_chamber_temp} CHAMBER_TEMP={chamber_temp}
_USER_START_PRINT_HEAT_CHAMBER { rawparams } CHAMBER_TEMP={chamber_temp}
{% endif %}
_START_PRINT_BEFORE_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
RATOS_ECHO MSG="Heating bed..."
M190 S{bed_temp}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_BED { rawparams }
_START_PRINT_AFTER_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
_USER_START_PRINT_BED_MESH { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_BED_MESH X0={X0} X1={X1} Y0={Y0} Y1={Y1} T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if z_probe_stowable == true %}
STOWABLE_PROBE_END_BATCH
{% endif %}
{% if idex_mode == '' %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={extruder_first_layer_temp[1]|float}
{% endif %}
{% endif %}
_USER_START_PRINT_PARK { rawparams }
_START_PRINT_PARK
RATOS_ECHO MSG="Heating Extruder..."
{% if idex_mode == '' %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder1" MINIMUM={extruder_first_layer_temp[1]|float} MAXIMUM={extruder_first_layer_temp[1]|float + 5}
{% endif %}
{% endif %}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
{% if idex_mode == '' %}
_LED_PRINTING
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
_LED_PRINTING
{% else %}
{% if both_toolheads %}
_LED_PRINTING TOOLHEAD={initial_tool}
{% if toolchange_standby_temp > -1 %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={0 if initial_tool == 1 else 1}
{% else %}
_LED_PRINTING TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% else %}
_LED_PRINTING TOOLHEAD={initial_tool}
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% endif %}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_EXTRUDER { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_AFTER_HEATING_EXTRUDER X0={X0} X1={X1} Y0={Y0} Y1={Y1} INITIAL_TOOLHEAD={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if idex_mode != '' %}
{% if not both_toolheads %}
{% if initial_tool != default_toolhead %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if initial_tool == 1 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% set x_offset = printer.toolhead.position.x|float - printer.gcode_move.gcode_position.x|float %}
{% endif %}
RESTORE_GCODE_STATE NAME=start_print_state
{% if idex_mode != '' %}
{% set act_idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% if act_idex_mode == "copy" or act_idex_mode == "mirror" %}
SET_GCODE_OFFSET X={x_offset} MOVE=0
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% if idex_mode == "copy" and idex_mode != act_idex_mode %}
_IDEX_COPY DANCE=0
{% elif idex_mode == "mirror" and idex_mode != act_idex_mode %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
RATOS_ECHO MSG="Adjusting object x-offset by {(object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={object_xoffset} MOVE=0
{% endif %}
{% else %}
_SELECT_TOOL T={initial_tool} TOOLSHIFT=false
{% if initial_tool != default_toolhead %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_SET_TOOLHEAD_OFFSET T={initial_tool} MOVE=0
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={initial_tool}
{% endif %}
_SET_EXTRUSION_MODE
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={printer["print_stats"].print_duration}
{% endif %}
_USER_END_START_PRINT { rawparams }
G92 E0
_CHAMBER_FILTER_ON AT="after_print_start"
RATOS_ECHO MSG="Printing..."
[gcode_macro _START_PRINT_BEFORE_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set is_stowable_probe = true if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Pre-heating extruder..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={min_temp}
{% else %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET={min_temp}
{% endif %}
{% else %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
{% endif %}
{% endif %}
{% if not is_stowable_probe %}
{% if printer["dual_carriage"] is defined and act_t != default_toolhead %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
{% endif %}
RATOS_ECHO MSG="Heat soaking z probe..."
{% if auto_z_offset_calibration %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% if default_toolhead == 0 %}
_SELECT_TOOL T=0 TOOLSHIFT=false
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% elif default_toolhead == 1 %}
_SELECT_TOOL T=1 TOOLSHIFT=false
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% endif %}
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% endif %}
G0 Z2 F{z_speed}
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Waiting for extruder to be preheated..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
{% if default_toolhead == 0 %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_Z_HOP
{% endif %}
{% if auto_z_offset_calibration %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={default_toolhead}
_SELECT_TOOL T={0 if default_toolhead == 1 else 1} X={parking_position_t0 if default_toolhead == 1 else parking_position_t1} Y=0 TOOLSHIFT=false
_CLEANING_MOVE TOOLHEAD={0 if default_toolhead == 1 else 1}
_VAOC_CALIBRATE_Z_OFFSET AUTO_Z_OFFSET=True
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=false
{% endif %}
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
{% if needs_rehoming %}
G28 Z
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% if beacon_contact_wipe_before_true_zero %}
_START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE
{% endif %}
_START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
G0 Z5 F{z_speed}
G0 X50 Y10 F{speed}
PROBE PROBE_METHOD=contact SAMPLES=1
BEACON_QUERY
[gcode_macro _START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_true_zero_location = printer["gcode_macro RatOS"].beacon_contact_true_zero_location|default("front")|lower %}
{% set beacon_contact_true_zero_margin_x = printer["gcode_macro RatOS"].beacon_contact_true_zero_margin_x|default(30)|int %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_wipe_before_true_zero %}
{% if printer.beacon.last_probe_result|lower == "ok" %}
{% set last_z_offset = printer.beacon.last_z_result %}
RATOS_ECHO MSG="Auto calibration nozzle wipe with probe result {last_z_offset}..."
G0 Z{(0.2 + last_z_offset)} F{z_speed}
G0 X70 F300
{% else %}
RATOS_ECHO MSG="Skipping auto calibration nozzle wipe because probing failed!"
{% endif %}
{% endif %}
G0 Z5 F{z_speed}
_MOVE_TO_SAFE_Z_HOME
RATOS_ECHO MSG="Heating extruder to probing temperature..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={beacon_contact_true_zero_temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={beacon_contact_true_zero_temp} MAXIMUM={beacon_contact_true_zero_temp + 5}
RATOS_ECHO MSG="Beacon contact auto calibration..."
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
G0 Z5 F{z_speed}
[gcode_macro _START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set first_x = printer["gcode_macro START_PRINT"].first_x|default(-1)|float %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2.0 %}
{% set center_y = printable_y_max / 2.0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% if printer["dual_carriage"] is defined %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% endif %}
{% set X0 = params.X0|default(-1)|int %}
{% set X1 = params.X1|default(-1)|int %}
{% set Y0 = params.Y0|default(-1)|int %}
{% set Y1 = params.Y1|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% if idex_mode == '' %}
_PRIME
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
RATOS_ECHO PREFIX="IDEX" MSG="using combined prime offset for IDEX {idex_mode} mode"
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
{% if both_toolheads %}
{% if initial_toolhead == 0 %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T{initial_toolhead}"
_SELECT_TOOL T={initial_toolhead} TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% endif %}
{% endif %}
CACHE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
SET_MACRO_TRAVEL_SETTINGS
{% if (X0 > -1 and Y1 > -1) or (first_x > 0 and first_y > 0) %}
{% if printer["dual_carriage"] is defined %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
{% set first_z = 1 %}
{% else %}
{% set first_z = 3 %}
{% endif %}
{% if idex_mode == "mirror" %}
{% if first_y >= 0 %}
G0 Y{first_y} F{speed}
{% else %}
G0 Y{Y1} F{speed}
{% endif %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={initial_toolhead}
_PURGE_FILAMENT TOOLHEAD={initial_toolhead} E={printer["gcode_macro RatOS"].toolchange_first_purge|default(50)|float}
_CLEANING_MOVE TOOLHEAD={initial_toolhead}
{% endif %}
{% if first_x >= 0 and first_y >= 0 %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% else %}
{% set first_x = X0 %}
{% set first_y = Y0 %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'min' %}
{% set first_x = X0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'max' %}
{% set first_x = X1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|float <= center_x %}
{% set first_x = X0 %}
{% else %}
{% set first_x = X1 %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'min' %}
{% set first_y = Y0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'max' %}
{% set first_y = Y1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|float <= center_y %}
{% set first_y = Y0 %}
{% else %}
{% set first_y = Y1 %}
{% endif %}
{% endif %}
{% endif %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% endif %}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
_LOAD_RATOS_SKEW_PROFILE
[gcode_macro _PRIME]
gcode =
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
PRIME_BLOB INITIAL_TOOLHEAD={params.INITIAL_TOOLHEAD} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={params.IDEX_MODE} Y1={params.Y1}
{% else %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE == "copy" %}
_IDEX_COPY DANCE=0
{% elif params.IDEX_MODE == "mirror" %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro END_PRINT]
description = End print procedure, use this in your Slicer.
gcode =
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SAVE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = printer["gcode_macro START_PRINT"].object_xoffset|default(0)|float %}
RATOS_ECHO MSG="Adjusting object x-offset by {(0-object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={(0-object_xoffset)}
{% endif %}
{% endif %}
_USER_END_PRINT_BEFORE_HEATERS_OFF { rawparams }
_END_PRINT_BEFORE_HEATERS_OFF
TURN_OFF_HEATERS
_USER_END_PRINT_AFTER_HEATERS_OFF { rawparams }
_END_PRINT_AFTER_HEATERS_OFF
_USER_END_PRINT_PARK { rawparams }
_END_PRINT_PARK
{% if printer["gcode_macro RatOS"].skew_profile is defined %}
SET_SKEW CLEAR=1
{% endif %}
{% if printer["dual_carriage"] is not defined and printer["gcode_macro RatOS"].end_print_motors_off|lower != 'false' %}
M84
{% endif %}
M107
BED_MESH_CLEAR
RATOS_ECHO MSG="Done :)"
RESTORE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
M84
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
{% if printer["dual_carriage"] is not defined %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SET_GCODE_OFFSET Z=0 MOVE=0
{% endif %}
{% endif %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print"
_CHAMBER_FILTER_ON AT="print_end"
_CHAMBER_FILTER_OFF
_CHAMBER_HEATER_OFF
_USER_END_PRINT_FINISHED { rawparams }
[gcode_macro _END_PRINT_BEFORE_HEATERS_OFF]
gcode =
RATOS_ECHO MSG="Cleaning up..."
[gcode_macro _END_PRINT_AFTER_HEATERS_OFF]
gcode =
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% set z_hop = printer["gcode_macro RatOS"].end_print_park_z_hop|float %}
{% set r = printer["gcode_macro RatOS"].end_print_retract_filament|default(4)|float %}
{% if current_z < (max_z - z_hop) %}
{% set z_safe = z_hop %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
G91
G1 E-2 F3600
G0 Z{z_safe} F3600
G1 E-{(r-2)} F3600
G90
[gcode_macro _SET_EXTRUSION_MODE]
gcode =
{% if printer["gcode_macro RatOS"].relative_extrusion|lower == 'true' %}
M83
{% else %}
M82
{% endif %}
[gcode_macro GENERATE_SHAPER_GRAPHS]
description = Genarates input shaper resonances graphs for analysis. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set hz_per_sec = params.HZ_PER_SEC|default(1)|float %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set copy_mode_offset = printable_x_max / 4.0 %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% else %}
_IDEX_SINGLE
{% endif %}
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
{% if idex_mode != 'copy' and idex_mode != 'mirror' %}
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
{% endif %}
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Shaper graph"
[gcode_shell_command generate_shaper_graph_x]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-x.sh
timeout = 60.
verbose = True
[gcode_shell_command generate_shaper_graph_y]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-y.sh
timeout = 60.
verbose = True
[gcode_macro MEASURE_COREXY_BELT_TENSION]
description = Generates resonance graph used to ensure belts are equally tensioned. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
_IDEX_SINGLE
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if measure_t1 == false or measure_t0 == false %}
{action_raise_error("Axis specified. Not supported for belt tension on Y.")}
{% else %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
G4 P5000
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
PARK_TOOLHEAD
{% endif %}
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if params.TOOLHEAD is not defined %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
G1 X{parking_position_t1} F{speed}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
{% if params.TOOLHEAD is not defined %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Belt Tension Graph"
[gcode_shell_command generate_belt_tension_graph]
command = /home/pi/printer_data/config/RatOS/scripts/generate-belt-tension-graph.sh
timeout = 90.
verbose = True
[idle_timeout]
gcode =
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused|lower == 'false' %}
RATOS_ECHO PREFIX="IDLE" MSG="2 hours since last activity. Powering off heaters and motors.."
TURN_OFF_HEATERS
M84
{% endif %}
{% endif %}
timeout = 7200
[temperature_sensor raspberry_pi]
sensor_type = temperature_host
[skew_correction]
[input_shaper]
[virtual_sdcard]
path = ~/printer_data/gcodes
[display_status]
[pause_resume]
[force_move]
enable_force_move = True
[respond]
[resonance_generator]
[ratos]
allow_unknown_gcode_generator = True
enable_gcode_transform = True
allow_unsupported_slicer_versions = True
[exclude_object]
[heater_bed]
heater_pin = heater_bed_heating_pin
sensor_pin = heater_bed_sensor_pin
sensor_type = Generic 3950
min_temp = 0
max_temp = 140
pwm_cycle_time = 0.02
control = pid
pid_kp = 65.045
pid_ki = 1.953
pid_kd = 541.497
[fan]
pin = rpi:gpio4
shutdown_speed = 1.0
[heater_fan toolhead_cooling_fan]
pin = toolboard_t0:PA1
fan_speed = 1
heater = extruder
[printer]
kinematics = ratos_hybrid_corexy
max_velocity = 800
max_accel = 10000
minimum_cruise_ratio = 0.5
max_z_velocity = 50
max_z_accel = 600
square_corner_velocity = 5
[ratos_hybrid_corexy]
inverted = true
[dual_carriage]
axis = x
safe_distance = 55
position_max = 558.971
position_endstop = 558.971
position_min = 0
step_pin = PF9
dir_pin = dual_carriage_dir_pin
enable_pin = !PG2
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t1:PB6
[gcode_macro IDEX_SINGLE]
gcode =
_IDEX_REMAP_TOOLHEADS ENABLE=False
_IDEX_SINGLE
[gcode_macro _IDEX_SINGLE]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_single"
SET_MACRO_TRAVEL_SETTINGS
{% set init = params.INIT|default(0)|int %}
{% set new_x = params.X|default(-1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_act_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_default_t = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="init: {init}, new_x: {new_x}, idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, act_t: {act_t}"
{% if idex_mode == "copy" or idex_mode == "mirror" or init == 1 %}
{% if 'x' in printer.toolhead.homed_axes %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="reset gcode offset"
G1 X{center_x} F{(speed)}
SET_GCODE_OFFSET X_ADJUST={center_x / 2} MOVE=0
{% endif %}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="activate default carriage"
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% if 'x' in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolheads"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
G90
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position."
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1}
G1 X{parking_position_default_t} F{speed}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move default toolhead to its new position."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% if new_x == -1 %}
{% set new_x = center_x %}
{% endif %}
G1 X{new_x} F{speed}
M400
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="X Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set extruder motion queue."
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if default_toolhead==0 else default_toolhead}
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolhead offset."
_SET_TOOLHEAD_OFFSET T={default_toolhead}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set input shaper."
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[default_toolhead]|float)} SHAPER_FREQ_Y={(shaper_y_freq[default_toolhead]|float)} SHAPER_TYPE_X={(shaper_x_type[default_toolhead]|lower)} SHAPER_TYPE_Y={(shaper_y_type[default_toolhead]|lower)}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="update Frontend."
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if default_toolhead==0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if default_toolhead==1 else False}
{% else %}
{% if "xyz" in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_single"
[gcode_macro IDEX_COPY]
gcode =
_IDEX_COPY
[gcode_macro _IDEX_COPY]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_copy"
SET_MACRO_TRAVEL_SETTINGS
{% set y = params.Y|default(-1)|int %}
{% set dance = params.DANCE|default(1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_COPY" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}, y: {y}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "copy" %}
{% if idex_mode == "mirror" %}
{% if y>=0 %}
G1 X{center_x} Y{y} F{(speed)}
{% else %}
G1 X{center_x} F{(speed)}
{% endif %}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
{% if idex_mode != "mirror" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "mirror" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance == 1 %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[2]|float)} SHAPER_FREQ_Y={(shaper_y_freq[2]|float)} SHAPER_TYPE_X={(shaper_x_type[2]|lower)} SHAPER_TYPE_Y={(shaper_y_type[2]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_copy"
[gcode_macro IDEX_MIRROR]
gcode =
_IDEX_MIRROR
[gcode_macro _IDEX_MIRROR]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_mirror"
SET_MACRO_TRAVEL_SETTINGS
{% set dance = params.DANCE|default(1)|int %}
{% set priming = params.PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_MIRROR" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "mirror" %}
{% if idex_mode == "copy" %}
G1 X{center_x} F{(speed)}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS MIRROR_PRIMING={params.PRIMING}
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
{% if idex_mode != "copy" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "copy" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance and not priming %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[3]|float)} SHAPER_FREQ_Y={(shaper_y_freq[3]|float)} SHAPER_TYPE_X={(shaper_x_type[3]|lower)} SHAPER_TYPE_Y={(shaper_y_type[3]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_mirror"
[gcode_macro _IDEX_SET_TOOLHEADS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
SET_MACRO_TRAVEL_SETTINGS
{% set mirror_priming = params.MIRROR_PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position_inactive_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="_IDEX_SET_TOOLHEADS" MSG="idex_mode: {idex_mode}, act_t: {act_t}, center_x: {center_x}, mirror_priming: {mirror_priming}"
{% if act_t != default_toolhead %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE=1
{% endif %}
{% if mirror_priming %}
{% if parking_position_t0|abs < parking_position_t1 - printable_x_max %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{printable_x_max + parking_position_t0|abs} F{(speed)}
{% else %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{0 - (parking_position_t1 - printable_x_max)} F{(speed)}
{% endif %}
{% else %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1} MODE=PRIMARY
G1 X{parking_position_inactive_t} F{(speed)}
{% if act_t==1 %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{center_x / 2} F{(speed)}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
[gcode_macro IDEX_PARK]
gcode =
PARK_TOOLHEAD
[gcode_macro PARK_TOOLHEAD]
gcode =
{% set idex_mode = 'none' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode=='primary' else 0 %}
DEBUG_ECHO PREFIX="PARK_TOOLHEAD" MSG="Parking T{act_t}.."
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set parking_position_inact_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set printable_y_min = printer["gcode_macro RatOS"].printable_y_min|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% if idex_mode != "copy" and idex_mode != "mirror" and 'xy' in printer.toolhead.homed_axes %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% elif printer.toolhead.position.y|float < printable_y_min %}
G1 Y{printable_y_min} F{speed}
{% endif %}
SAVE_GCODE_STATE NAME=_PARK_TOOLHEAD
G90
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0.5
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_inact_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
SET_VELOCITY_LIMIT ACCEL={printer.toolhead.max_accel} MINIMUM_CRUISE_RATIO=0.5
M400
RESTORE_GCODE_STATE NAME=_PARK_TOOLHEAD
{% endif %}
[gcode_macro JOIN_SPOOLS]
gcode =
{% set spools = params.SPOOLS|default("") %}
{% if spools == "" %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{% if spools != "0,1" and spools != "1,0" %}
RATOS_ECHO MSG="Wrong spool configuration!"
RATOS_ECHO MSG="Join Spools = JOIN_SPOOLS SPOOLS=0,1"
RATOS_ECHO MSG="Deactivate = JOIN_SPOOLS SPOOLS="
{% else %}
{% if spools == "0,1" or spools == "1,0" %}
_IDEX_JOIN_SPOOLS ENABLE=true
{% else %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_JOIN_SPOOLS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if enable %}
{% set has_t0_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t1_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t0_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined else false %}
{% set has_t1_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined else false %}
{% if (has_t0_toolhead_filament_sensor and has_t1_toolhead_filament_sensor) or (has_t0_bowden_filament_sensor and has_t1_bowden_filament_sensor) %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=True
RATOS_ECHO MSG="Spool joining enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Can not enable spool joining! No filament sensors found."
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining deactivated!"
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining is not possible in copy and mirror mode!"
{% endif %}
[gcode_macro _JOIN_SPOOL]
gcode =
{% set old_toolhead = params.TOOLHEAD|int %}
{% set new_toolhead = 0 if old_toolhead == 1 else 1 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set purge_after_load = printer["gcode_macro T%s" % new_toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_JOIN_SPOOL" MSG="toolhead: {new_toolhead}"
{% set has_filament = true %}
{% set has_new_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% set has_new_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% if has_new_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_new_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_filament %}
RATOS_ECHO MSG="Joining spools! Please wait for extruder to heat up...."
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={new_toolhead}
_DEACTIVATE_TOOLHEAD TOOLHEAD={old_toolhead}
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set extruder_temp = extruder_first_layer_temp[new_toolhead]|float %}
{% else %}
{% set extruder_temp = extruder_other_layer_temp[new_toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if new_toolhead == 0 else 'extruder1'} TARGET={extruder_temp}
TEMPERATURE_WAIT SENSOR={'extruder' if new_toolhead == 0 else 'extruder1'} MINIMUM={extruder_temp} MAXIMUM={extruder_temp + 5}
{% if purge_after_load > 0 %}
SET_DUAL_CARRIAGE CARRIAGE={new_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_toolhead == 0 else new_toolhead}
_MOVE_TO_LOADING_POSITION TOOLHEAD={new_toolhead}
_PURGE_FILAMENT TOOLHEAD={new_toolhead} E={purge_after_load}
_CLEANING_MOVE TOOLHEAD={new_toolhead}
SET_DUAL_CARRIAGE CARRIAGE={old_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if old_toolhead == 0 else old_toolhead}
{% endif %}
RESUME TOOLHEAD={new_toolhead}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{ action_raise_error("Spool join failed! No filament found or filament sensor is disabled.") }
{% endif %}
[gcode_macro REMAP_TOOLHEADS]
gcode =
{% set toolheads = params.TOOLHEADS|default("") %}
{% if toolheads == "" %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% else %}
{% if toolheads != "0,1" and toolheads != "1,0" %}
RATOS_ECHO MSG="Wrong toolhead configuration!"
RATOS_ECHO MSG="Remap = REMAP_TOOLHEADS TOOLHEADS=0,1"
RATOS_ECHO MSG="Deactivate = REMAP_TOOLHEADS TOOLHEADS="
{% else %}
{% if toolheads == "0,1" or toolheads == "1,0" %}
_IDEX_REMAP_TOOLHEADS ENABLE=true
_IDEX_SINGLE
{% else %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_REMAP_TOOLHEADS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if not enable or (idex_mode != "copy" and idex_mode != "mirror") %}
{% if enable %}
RATOS_ECHO MSG="Toolhead remapping enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Toolhead remapping deactivated!"
{% endif %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE={enable}
{% else %}
RATOS_ECHO MSG="Toolhead remapping not possible in copy and mirror mode!"
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
{% endif %}
[gcode_macro SHAPER_CALIBRATE]
rename_existing = SHAPER_CALIBRATE_ORG
gcode =
RATOS_ECHO PREFIX="IDEX" MSG="SHAPER_CALIBRATE is useless on IDEX machines. Please use the GENERATE_SHAPER_GRAPHS macro and type the values into `variable_shaper_*_freq` and `variable_shaper_*_type manually`."
[gcode_shell_command generate_shaper_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-shaper-graph.sh
timeout = 120.
verbose = True
[gcode_shell_command generate_tension_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-belt-tension-graph.sh
timeout = 120.
verbose = True
[gcode_macro SET_PRESSURE_ADVANCE]
variable_snyc_toolheads = False
rename_existing = SET_PRESSURE_ADVANCE_BASE
gcode =
{% if params.SYNC_TOOLHEADS is defined %}
{% set snyc_toolheads = true if params.SYNC_TOOLHEADS|default(false)|lower == 'true' else false %}
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=True
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="Syncing toolheads..."
{% else %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' or snyc_toolheads %}
{% set advance = params.ADVANCE|default(printer['extruder'].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['extruder'].smooth_time|float)|float %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T0"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder' ADVANCE={advance} SMOOTH_TIME={smooth_time}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T1"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder1' ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% else %}
{% set extruder = 'extruder' if act_t == 0 else 'extruder1' %}
{% if params.EXTRUDER is defined %}
{% set extruder = params.EXTRUDER %}
{% endif %}
{% if extruder == 'extruder' or extruder == 'extruder1' %}
{% set advance = params.ADVANCE|default(printer['%s' % extruder].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['%s' % extruder].smooth_time|float)|float %}
SET_PRESSURE_ADVANCE_BASE EXTRUDER={extruder} ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% if params.EXTRUDER is not defined %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG={"T%s" % act_t}
{% endif %}
{% else %}
SET_PRESSURE_ADVANCE_BASE { rawparams }
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M106]
rename_existing = M106.1
variable_swap_speed = -1
gcode =
{% set s = [[params.S|default(255)|int, 255]|min, 0]|max %}
{% set p = params.P|default(-1)|int %}
{% set speed = s / 255 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set t = 1 if idex_mode=='primary' else 0 %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(0)|int == 1 else false %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set sync_fans = true %}
{% endif %}
{% if sync_fans and idex_mode != "copy" and idex_mode != "mirror" %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int %}
{% if toolshift_count > total_toolshifts %}
{% set sync_fans = false %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE=-1
{% if p == -1 %}
{% if speed == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed}
{% else %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE={speed}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={(speed if (t == 0 or sync_fans) else 0)}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={(speed if (t == 1 or sync_fans) else 0)}
{% endif %}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed if t == p else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed if t == p else 0}
{% endif %}
M106.1 S{s}
[gcode_macro M107]
rename_existing = M107.1
gcode =
{% set p = params.P|default(-1)|int %}
M106 S0 P{p}
[gcode_macro _SELECT_TOOL]
variable_last_timestamp = 0
gcode =
{% if params.T is defined %}
{% set idex_mode = '' %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if "xyz" not in printer.toolhead.homed_axes and (idex_mode == "copy" or idex_mode == "mirror") %}
_IDEX_SINGLE
{% set idex_mode = 'reset' %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set new_t = params.T|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads and is_printing_gcode %}
{% set new_t = 0 if new_t == 1 else 1 %}
{% endif %}
{% set toolchange_prepurging_timer = printer["gcode_macro RatOS"].toolchange_prepurging_timer|default(0)|int %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
DEBUG_ECHO PREFIX="_SELECT_TOOL" MSG="act_t: {act_t}, new_t: {new_t}, is_printing_gcode: {is_printing_gcode}, swap_toolheads: {swap_toolheads}, toolchange_standby_temp: {toolchange_standby_temp}"
{% set act_extruder = 'extruder%s' % ('' if new_t == 0 else new_t) %}
{% if new_t != act_t or printer.toolhead.extruder != act_extruder or idex_mode == 'reset' %}
RATOS_ECHO PREFIX="IDEX" MSG="Selecting T{new_t}.."
M220 S100
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(1)|int == 1 else false %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set toolshift = false %}
{% endif %}
{% set fan_speed = printer["fan_generic part_fan_t%s" % act_t].speed %}
{% set deactivate_toolhead = false %}
{% if is_printing_gcode %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int + 1 %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE={toolshift_count}
{% if toolshift_count == total_toolshifts %}
{% set deactivate_toolhead = true %}
{% endif %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % new_t].standby|default(false)|lower == 'true' else false %}
{% set needs_purging = false %}
{% set wake_up_purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% if is_printing_gcode and toolchange_prepurging_timer > 0 and wake_up_purge > 0 %}
{% set new_timestamp = printer["print_stats"].print_duration %}
{% set elapsed_time = new_timestamp - last_timestamp %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={new_timestamp}
{% if elapsed_time > toolchange_prepurging_timer %}
{% set needs_purging = true %}
{% endif %}
{% endif %}
{% set first_use_purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% if toolshift_count == 1 and first_use_purge > 0 %}
{% set needs_purging = true %}
{% endif %}
{% if is_printing_gcode and (toolchange_standby_temp > -1 or needs_purging or needs_wakeup) %}
_TOOLHEAD_STANDBY TOOLHEAD={act_t}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
_TOOLHEAD_WAKEUP TOOLHEAD={new_t} X={new_x} Y={new_y} Z={new_z} FAN_SPEED={fan_speed} TOOLSHIFT_COUNT={toolshift_count}
{% else %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(false)|lower == 'true' else false %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if (new_t == 0 or sync_fans) else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if (new_t == 1 or sync_fans) else 0}
M106.1 S{fan_speed}
{% endif %}
_TOOLCHANGE T={new_t} X={new_x} Y={new_y} Z={new_z} PARK_T0={park_t0} PARK_T1={park_t1} TOOLSHIFT={toolshift}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[new_t]|float)} SHAPER_FREQ_Y={(shaper_y_freq[new_t]|float)} SHAPER_TYPE_X={(shaper_x_type[new_t]|lower)} SHAPER_TYPE_Y={(shaper_y_type[new_t]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if new_t == 0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if new_t == 1 else False}
{% if 'x' in printer.toolhead.homed_axes %}
{% set sanity_check_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if new_t == 0 %}
{% if printer.toolhead.extruder == 'extruder' %}
{% if sanity_check_idex_mode == 'primary' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% elif new_t == 1 %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% if sanity_check_idex_mode == 'inactive' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
G90
G92 E0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _TOOLHEAD_STANDBY]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
RATOS_ECHO PREFIX="IDEX" MSG="Putting toolhead T{toolhead} into standby mode."
DEBUG_ECHO PREFIX="_TOOLHEAD_STANDBY" MSG="toolhead: {toolhead}, config_z_hop: {config_z_hop}, toolchange_standby_temp: {toolchange_standby_temp}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={toolhead} SYNC=0
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={toolhead}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% if toolchange_standby_temp > -1 %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=True
{% endif %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={toolhead}
[gcode_macro _TOOLHEAD_WAKEUP]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set fan_speed = params.FAN_SPEED|float %}
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift_count = params.TOOLSHIFT_COUNT|default(0)|int %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% if toolshift_count == 1 %}
{% set purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % toolhead].standby|default(false)|lower == 'true' else false %}
RATOS_ECHO PREFIX="IDEX" MSG="Waking up toolhead T{toolhead}. Please wait for extruder to heat up..."
DEBUG_ECHO PREFIX="_TOOLHEAD_WAKEUP" MSG="toolhead: {toolhead}, fan_speed: {fan_speed}, new_x: {new_x}, new_y: {new_y}, new_z: {new_z}, config_z_hop: {config_z_hop}"
_LED_TOOLHEAD_WAKEUP TOOLHEAD={toolhead}
SET_DUAL_CARRIAGE CARRIAGE={toolhead} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={toolhead} MOVE=1
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if toolhead == 0 else toolhead}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if needs_wakeup %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set temp = extruder_first_layer_temp[toolhead]|float %}
{% else %}
{% set temp = extruder_other_layer_temp[toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
TEMPERATURE_WAIT SENSOR={'extruder' if toolhead == 0 else 'extruder1'} MINIMUM={temp} MAXIMUM={temp + 5}
{% endif %}
_LED_PRINTING TOOLHEAD={toolhead}
{% if purge > 0 %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge}
_CLEANING_MOVE TOOLHEAD={toolhead}
{% endif %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if toolhead == 1 else 0}
M106.1 S{fan_speed}
{% endif %}
G92 E0
G1 E-{e} F{feedrate}
G92 E0
{% if new_x >= 0 and new_y >= 0 %}
G1 X{new_x} Y{new_y} F{speed}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={config_z_hop} T={toolhead} SYNC=0
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=False
[gcode_macro _TOOLCHANGE]
variable_toolshift_count = 0
gcode =
{% set new_t = params.T|default(-1)|int %}
{% set new_x = params.X|default(-1.0)|float %}
{% set new_y = params.Y|default(-1.0)|float %}
{% set new_z = params.Z|default(-1.0)|float %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(true)|lower == 'true' else false %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T: {new_t}, X: {new_x}, Y: {new_y}, Z: {new_z}, PARK_T0: {park_t0}, PARK_T1: {park_t1}, IS_PRINTING_GCODE: {is_printing_gcode}, TOOLSHIFT: {toolshift}"
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% if park_t0 >= 0 and park_t1 >= 0 %}
{% set parking_position_t0 = park_t0 %}
{% set parking_position_t1 = park_t1 %}
{% set parking_position_act_t = park_t0 if act_t == 0 else park_t1 %}
{% endif %}
{% if not is_printing_gcode and not toolshift %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Changing tool to T{new_t} without retracting/extruding or moving the toolheads except for parking."
{% if "xyz" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
G90
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% if not is_printing_gcode and toolshift and new_x < 0 and new_y < 0 %}
{% set new_x = center_x %}
{% set new_y = printer.gcode_move.gcode_position.y|float %}
{% endif %}
{% if new_x < 0 or new_y < 0 %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="No new X or Y position given, parking the active toolhead and activating the new toolhead without moving it."
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={new_t}
{% if "x" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
{% if is_printing_gcode %}
_EXTRUDE T={new_t}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% if "xyz" not in printer.toolhead.homed_axes %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% set svv = printer.save_variables.variables %}
{% if new_t == default_toolhead %}
{% set xoffset = svv.idex_xoffset %}
{% set yoffset = svv.idex_yoffset %}
{% set zoffset = svv.idex_zoffset %}
{% else %}
{% set xoffset = 0 - svv.idex_xoffset %}
{% set yoffset = 0 - svv.idex_yoffset %}
{% set zoffset = 0 - svv.idex_zoffset %}
{% endif %}
{% if svv.idex_applied_offset == new_t %}
{% set xoffset = 0 %}
{% set yoffset = 0 %}
{% set zoffset = 0 %}
{% endif %}
{% set gcode_z = printer.gcode_move.gcode_position.z|float %}
{% set toolhead_z = printer.toolhead.position.z|float %}
{% if new_t == 0 %}
{% set t0_act_x = parking_position_t0 %}
{% set t1_act_x = printer.toolhead.position.x|float %}
{% set t0_new_x = new_x %}
{% set t1_new_x = parking_position_t1 %}
{% set t0_distance = t0_new_x - t0_act_x %}
{% set t1_distance = t1_new_x - t1_act_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T0."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x + (t1_new_x - t1_act_x)} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t0_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=0
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T0: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% elif new_t == 1 %}
{% set t0_act_x = printer.toolhead.position.x|float %}
{% set t1_act_x = parking_position_t1 %}
{% set t0_new_x = parking_position_t0 %}
{% set t1_new_x = new_x %}
{% set t0_distance = t0_act_x - t0_new_x %}
{% set t1_distance = t1_act_x - t1_new_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T1."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x - t1_distance + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t1_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=1
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T1: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% endif %}
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
{% endif %}
[gcode_macro _ZHOP_BEFORE_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_hop = params.Z_HOP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_HOP: {z_hop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="COMBINED_ZHOP G1 Z+{z_hop} E-{e} F{speed * 60}"
G1 Z+{z_hop} E-{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="ZHOP G1 Z+{z_hop} F{speed * 60}"
G1 Z+{z_hop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="RETRACT G1 E-{e} F{feedrate}"
G1 E-{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _ZDROP_AFTER_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_drop = params.Z_DROP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_DROP: {z_drop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="COMBINED_ZDROP G1 Z-{z_drop} E{e} F{speed * 60}"
G1 Z-{z_drop} E{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="ZDROP G1 Z-{z_drop} F{speed * 60}"
G1 Z-{z_drop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="EXTRUDE G1 E{e} F{feedrate}"
G1 E{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _EXTRUDE]
gcode =
{% set t = params.T|int %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
DEBUG_ECHO PREFIX="_EXTRUDE" MSG="G1 E{e} F{feedrate * 60}"
G91
M82
G92 E0
G1 E{e} F{feedrate * 60}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _DEACTIVATE_TOOLHEAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_DEACTIVATE_TOOLHEAD" MSG="TOOLHEAD {toolhead}"
{% if toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% endif %}
M106.1 S0
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={toolhead}
[delayed_gcode _INIT_TOOLHEADS]
initial_duration = 0.1
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_IDEX_SINGLE INIT=1
{% if printer.configfile.settings.dual_carriage.safe_distance is defined %}
{% if printer.configfile.settings.dual_carriage.safe_distance|float < 50 %}
{ action_emergency_stop("Dual carriage safe_distance seems to be too low!") }
{% endif %}
{% else %}
{ action_emergency_stop("Dual carriage safe_distance not defined!") }
{% endif %}
[gcode_macro _SET_TOOLHEAD_OFFSET]
gcode =
{% set t = params.T|int %}
{% set move = params.MOVE|default(0)|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="T: {t}, MOVE: {move}"
{% set svv = printer.save_variables.variables %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set move = 0 %}
{% endif %}
{% if svv.idex_applied_offset != t %}
{% if t != printer["gcode_macro RatOS"].default_toolhead|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET X_ADJUST: {(-svv.idex_xoffset)} Y_ADJUST: {(-svv.idex_yoffset)} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={(-svv.idex_xoffset)} Y_ADJUST={(-svv.idex_yoffset)} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {(-svv.idex_zoffset)} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={(-svv.idex_zoffset)} MOVE={move} SPEED={z_speed}
{% else %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_ X_ADJUST: {svv.idex_xoffset} Y_ADJUST: {svv.idex_yoffset} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={svv.idex_xoffset} Y_ADJUST={svv.idex_yoffset} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {svv.idex_zoffset} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE={move} SPEED={z_speed}
{% endif %}
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T{t}"
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={t}
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={t}
{% endif %}
{% endif %}
[gcode_macro TOOLSHIFT_CONFIG]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={params.SPEED|default(300)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={params.ACCEL|default(5000)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_retraction VALUE={params.RETRACT|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_extrusion VALUE={params.EXTRUDE|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_feedrate VALUE={params.FEEDRATE|default(7200)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={params.Z_HOP|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zspeed VALUE={params.Z_SPEED|default(25)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_combined_zhop VALUE={true if params.COMBINED_ZHOP|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_sync_fans VALUE={true if params.SYNC_FANS|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_prepurging_timer VALUE={params.AUTO_PURGE_TIME|default(0)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_purge VALUE={params.PURGE|default(25)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_standby_temp VALUE={params.STANDBY_TEMP|default(-1)|float}
[gcode_macro CALCULATE_DC_ENDSTOP]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% set idex_xoffset = svv.idex_xoffset|float %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|float %}
{% set stepper_x_position_max = printer.configfile.settings.stepper_x.position_max|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set line_1 = "_N_[dual_carriage]" %}
{% set line_2 = "position_max: %.3f" % (dual_carriage_position_max + idex_xoffset) %}
{% set line_3 = "position_endstop: %.3f" % (dual_carriage_position_endstop + idex_xoffset) %}
{% set line_4 = "_N_[gcode_macro RatOS]" %}
{% set line_5 = "variable_bed_margin_x: [%.3f, %.3f]" % (stepper_x_position_endstop|abs, dual_carriage_position_max - stepper_x_position_max + idex_xoffset) %}
{% set line_6 = "_N_[gcode_macro _VAOC]" %}
{% set line_7 = "variable_expected_camera_x_position: %.3f" % idex_xcontrolpoint %}
{% set line_8 = "variable_expected_camera_y_position: %.3f" % idex_ycontrolpoint %}
{% set line_9 = "_N_[gcode_macro T0]" %}
{% set line_10 = "variable_parking_position: %.3f" % (stepper_x_position_endstop + 2) %}
{% set line_11 = "_N_[gcode_macro T1]" %}
{% set line_12 = "variable_parking_position: %.3f" % (dual_carriage_position_endstop + idex_xoffset - 2) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8, line_9, line_10, line_11, line_12)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro INCREASE_Y_MAX]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set stepper_y_position_max = printer.configfile.settings.stepper_y.position_max|float %}
{% set stepper_y_position_endstop = printer.configfile.settings.stepper_y.position_endstop|float %}
{% set line_1 = "_N_[stepper_y]" %}
{% set line_2 = "position_max: %.3f" % (stepper_y_position_max + 1) %}
{% set line_3 = "_N_[gcode_macro RatOS]" %}
{% set line_4 = "variable_bed_margin_y: [%.3f, %.3f]" % (stepper_y_position_endstop|abs, (bed_margin_y[1] + 1)) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro _VAOC]
variable_is_fixed = True
variable_is_started = False
variable_is_started_at_temp = False
variable_additional_safe_distance = 50
variable_safe_z = 30
variable_auto_z_offset_calibration = True
variable_enable_camera_cooling = True
variable_camera_cooling_fan_speed = 0.3
variable_camera_cooling_temperature = 50
variable_toolchange_travel_speed = 300
variable_toolchange_travel_accel = 5000
variable_cache_toolchange_travel_speed = 300
variable_cache_toolchange_travel_accel = 5000
variable_cache_toolchange_zhop = 1.0
variable_t0_toolhead_sensor_enabled = 0
variable_t1_toolhead_sensor_enabled = 0
variable_t0_bowden_sensor_enabled = 0
variable_t1_bowden_sensor_enabled = 0
variable_loaded_skew_profile = ""
gcode =
_ECHO_VAOC_VARS
variable_expected_camera_x_position = 211.854
variable_expected_camera_y_position = 528.378
[gcode_macro _VAOC_START]
description = Called from the front end. If T0_TEMP, T1_TEMP and BED_TEMP parameter are specified, VAOC calibration will start under real conditions at printing temp.
gcode =
{% set t0_temp = params.T0_TEMP|default(0)|int %}
{% set t1_temp = params.T1_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set loaded_skew_profile = printer["gcode_macro SKEW_PROFILE"].loaded_profile|default("") %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=loaded_skew_profile VALUE='"{loaded_skew_profile}"'
{% if t0_temp > 0 and t1_temp > 0 and bed_temp > 0 %}
{% if not is_fixed %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("VAOC calibration at temp works only with a fixed installed VAOC device.") }
{% endif %}
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE=0
{% endif %}
START_PRINT EXTRUDER_TEMP={t0_temp},{t1_temp} EXTRUDER_OTHER_LAYER_TEMP={t0_temp},{t1_temp} BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp} INITIAL_TOOL=0 TOTAL_LAYER_COUNT=1 X0={(printable_x_max / 2 - 10)} Y0={(printable_y_max / 2 - 10)} X1={(printable_x_max / 2 + 10)} Y1={(printable_y_max / 2 + 10)} TOTAL_TOOLSHIFTS=1 FIRST_X={printable_x_max / 2} FIRST_Y={printable_y_max / 2} MIN_X={(printable_x_max / 2 - 10)} MAX_X={(printable_x_max / 2 + 10)} USED_TOOLS=0,1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=True
{% endif %}
_START_VAOC
[gcode_macro _START_VAOC]
description = Called from _VAOC_START. Do not call it manually.
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(printable_x_max/2)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(printable_y_max/2)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
DEBUG_ECHO PREFIX="VAOC_START" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, zcontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, expected_camera_x_position, expected_camera_y_position)}
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_SAFE_Z_HEIGHT
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_speed VALUE={printer["gcode_macro RatOS"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_accel VALUE={printer["gcode_macro RatOS"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_zhop VALUE={printer["gcode_macro RatOS"].toolchange_zhop|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE=0
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"START X_REFERENCE:%.6f Y_REFERENCE:%.6f Z_REFERENCE:%.6f PARK_T0:%.6f PARK_T1:%.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, parking_position_t0, parking_position_t1)}
_LED_VAOC_ON
MAYBE_HOME
M400
_LOAD_RATOS_SKEW_PROFILE
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
IDEX_SINGLE
{% endif %}
{% if is_fixed %}
_SELECT_TOOL T=0 TOOLSHIFT=false
{% if default_toolhead == 0 %}
G1 X{idex_xcontrolpoint} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint + safe_distance + additional_safe_distance} F{speed}
{% else %}
G1 X{idex_xcontrolpoint - safe_distance - additional_safe_distance} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% else %}
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
G1 X{idex_xcontrolpoint} F{speed}
G1 Y{idex_ycontrolpoint} F{speed}
G1 Z{idex_zcontrolpoint} F{z_speed}
_SELECT_TOOL T={default_toolhead} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
{% if not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={default_toolhead}
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=True
[gcode_macro _VAOC_END]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_y = printable_y_max / 2 %}
DEBUG_ECHO PREFIX="_VAOC_END" MSG="printable_y_max: {printable_y_max}, center_y: {center_y}, safe_z: {safe_z}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
G1 Y{center_y} F{speed}
_IDEX_SINGLE INIT=1
_LED_VAOC_OFF
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={printer["gcode_macro _VAOC"].cache_toolchange_zhop|float}
{% if printer["gcode_macro _VAOC"].is_started_at_temp|default(true)|lower == 'true' %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_bowden_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_bowden_sensor_enabled|int}
{% endif %}
{% endif %}
{% set loaded_skew_profile = printer["gcode_macro _VAOC"].loaded_skew_profile|default("") %}
{% if loaded_skew_profile != "" %}
SKEW_PROFILE LOAD={loaded_skew_profile}
{% else %}
SET_SKEW CLEAR=1
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
[gcode_macro _VAOC_LOAD_TOOL]
gcode =
{% set t = params.T|default(0)|int %}
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set auto_temp_offset = true if params.AUTO_TEMP_OFFSET|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set toolhead_zoffset = svv.idex_zoffset|default(0)|float %}
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move T%s to control point: X%.6f Y%.6f Z%.6f IS_FIXED=%s"' % (t, idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, is_fixed)}
{% if not auto_temp_offset and not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={t}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
{% set current_z = printer.toolhead.position.z|float %}
{% set lowest_toolhead_z = [current_z, current_z - toolhead_zoffset]|min %}
{% if lowest_toolhead_z < safe_z %}
G1 Z{[safe_z, safe_z + toolhead_zoffset]|max} F{z_speed}
{% else %}
G1 Z{idex_zcontrolpoint} F{z_speed}
{% endif %}
_SELECT_TOOL T={t} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
G1 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_SET_CAMERA_COOLING]
gcode =
{% set t = params.T|default(0)|int %}
{% set enable_camera_cooling = true if printer["gcode_macro _VAOC"].enable_camera_cooling|default(true)|lower == 'true' else false %}
{% set camera_cooling_temperature = printer["gcode_macro _VAOC"].camera_cooling_temperature|float %}
{% set camera_cooling_fan_speed = printer["gcode_macro _VAOC"].camera_cooling_fan_speed|float %}
{% if printer.heater_bed.temperature >= camera_cooling_temperature and enable_camera_cooling %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={camera_cooling_fan_speed if t == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={camera_cooling_fan_speed if t == 1 else 0}
M106.1 S{camera_cooling_fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% endif %}
[gcode_macro _VAOC_SET_TOOL]
gcode =
{% set svv = printer.save_variables.variables %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set x = printer.gcode_move.gcode_position.x|float %}
{% set y = printer.gcode_move.gcode_position.y|float %}
{% set z = printer.gcode_move.gcode_position.z|float %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={x}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={y}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Control point was set: X%.6f Y%.6f Z%.6f"' % (x, y, z)}
{% else %}
{% set move_diff_x = printer.gcode_move.gcode_position.x|float - svv.idex_xcontrolpoint|float %}
{% set move_diff_y = printer.gcode_move.gcode_position.y|float - svv.idex_ycontrolpoint|float %}
{% set move_diff_z = printer.gcode_move.gcode_position.z|float - svv.idex_zcontrolpoint|float %}
SET_GCODE_OFFSET X_ADJUST={move_diff_x} Y_ADJUST={move_diff_y} Z_ADJUST={move_diff_z} MOVE=0
{% set new_x_offset = svv.idex_xoffset - move_diff_x %}
{% set new_y_offset = svv.idex_yoffset - move_diff_y %}
{% set new_z_offset = svv.idex_zoffset - move_diff_z %}
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE={new_x_offset}
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE={new_y_offset}
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={new_z_offset}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset was set: X%.6f Y%.6f Z%.6f"' % (toolhead, new_x_offset, new_y_offset, new_z_offset)}
{% endif %}
[gcode_macro _VAOC_MOVE]
gcode =
{% set x = params.X|default(0)|float %}
{% set y = params.Y|default(0)|float %}
{% set z = params.Z|default(0)|float %}
G91
{% if z != 0 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 Z%.6f F300"' % (z)}
G1 Z{z} F300
{% else %}
{% if x <=2 and y <=2 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 X%.6f Y%.6f F18000"' % (x, y)}
G1 X{x} Y{y} F18000
{% endif %}
{% endif %}
G90
[gcode_macro _VAOC_CALIBRATE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% if printer["z_offset_probe"] is defined and is_started %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
{% if auto_z_offset %}
_START_VAOC AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_END
{% else %}
_VAOC_LOAD_TOOL T={default_toolhead}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
{% endif %}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_Z_OFFSET
{% endif %}
[gcode_macro _VAOC_PROBE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
{% if not auto_z_offset %}
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
{% endif %}
M400
_VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT
[gcode_macro _VAOC_Z_OFFSET_PROBE_CURRENT_POSITION]
gcode =
Z_OFFSET_PROBE PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_DROP=1 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
[gcode_macro _VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT]
gcode =
{% if printer["z_offset_probe"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE={last_z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Z-offset control point set:: %.6f"' % last_z}
{% else %}
{% set z = svv.idex_zoffsetcontrolpoint|float - last_z %}
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE=0
G0 Z{svv.idex_zcontrolpoint|float} F{z_speed}
SET_GCODE_OFFSET Z_ADJUST={(0 - z)} MOVE=1
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset set: Z %.6f"' % (t, z)}
{% endif %}
{% endif %}
[gcode_macro _VAOC_ECHO_Z_OFFSET]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s toolhead z-offset %.6f"' % (1 if default_toolhead == 0 else 0, svv.idex_zoffset)}
{% if svv.idex_zoffset|abs < 0.02 %}
CONSOLE_ECHO TITLE={'"Perfect toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="You have a perfect toolhead z-offset!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.02 and svv.idex_zoffset|abs < 0.05 %}
CONSOLE_ECHO TITLE={'"Good toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is good!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.05 and svv.idex_zoffset|abs < 0.1 %}
CONSOLE_ECHO TITLE={'"High toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset could be better._N_Use minimum 0.3mm first layer height for copy and mirror mode prints." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.1 and svv.idex_zoffset|abs < 0.2 %}
CONSOLE_ECHO TITLE={'"Bad toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is bad._N_Copy and mirror mode prints are not recommended with it." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.2 %}
CONSOLE_ECHO TITLE={'"Unacceptable toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is unacceptable._N_Do not print in copy and mirror mode with it." TYPE="alert"
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG="Toolhead z-offset calibration done!"
[gcode_macro _VAOC_CALIBRATE_TEMP_OFFSET]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if is_fixed and is_started and printer["z_offset_probe"] is defined and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
_VAOC_LOAD_TOOL T={default_toolhead} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
[gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET=0
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
M400
[gcode_macro _VAOC_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for thermal expansion..."
G4 P240000
RATOS_ECHO PREFIX="VAOC" MSG="Probing with nozzle temperature {temp}°C..."
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _VAOC_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set svv = printer.save_variables.variables %}
{% set msg = '"T0 expansion coefficient %.6fmm_N_T1 expansion coefficient %.6fmm"' % (svv.nozzle_expansion_coefficient_t0, svv.nozzle_expansion_coefficient_t1) %}
CONSOLE_ECHO TITLE="Nozzle expansion coefficients:" MSG={msg} TYPE="success"
[gcode_macro _VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, expected_camera_x_position, expected_camera_y_position)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - expected_camera_x_position)|abs > 5 %}
M84
{ action_raise_error("VAOC x-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_xcontrolpoint, expected_camera_x_position)) }
{% endif %}
{% if (idex_ycontrolpoint - expected_camera_y_position)|abs > 5 %}
M84
{ action_raise_error("VAOC y-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_ycontrolpoint, expected_camera_y_position)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - printer.gcode_move.gcode_position.x|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected y-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_xcontrolpoint, printer.gcode_move.gcode_position.x|float)) }
{% endif %}
{% if (idex_ycontrolpoint - printer.gcode_move.gcode_position.y|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected x-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_ycontrolpoint, printer.gcode_move.gcode_position.y|float)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_SAFE_Z_HEIGHT]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set idex_zoffsetcontrolpoint = svv.idex_zoffsetcontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_SAFE_Z_HEIGHT" MSG={'"idex_zcontrolpoint: %.6f, idex_zoffsetcontrolpoint: %.6f"' % (idex_zcontrolpoint, idex_zoffsetcontrolpoint)}
{% if safe_z < idex_zcontrolpoint + 2 or safe_z < idex_zoffsetcontrolpoint + 2 %}
{action_raise_error("VAOC safe_z value (%.3f) is too low, it must be higher than %.3f" % (safe_z, [idex_zoffsetcontrolpoint + 2, idex_zcontrolpoint + 2]|max))}
{% endif %}
[gcode_macro _VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED]
gcode =
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T0. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T1. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
[gcode_macro _VAOC_RESET]
gcode =
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={expected_camera_x_position}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={expected_camera_y_position}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE=5.0
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE=0.0
RATOS_ECHO PREFIX="VAOC" MSG="VAOC configuration resetted. Please calibrate it before using the printer."
[gcode_macro _ECHO_VAOC_VARS]
description = Echo VAOC variables to the console.
gcode =
{% for var, value in printer["gcode_macro _VAOC"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro _VAOC_SWITCH_LED]
gcode =
{% if params.STATE|default(0)|int == 1 %}
_LED_VAOC_ON
{% else %}
_LED_VAOC_OFF
{% endif %}
[gcode_macro Z_PROBE_TEST_T0]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T0
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST_T1]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T1
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro _VAOC_Z_PROBE_LOOP]
gcode =
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_SHAKE_IT
_VAOC_START
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if primary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T0. Retried {primary_retries} time(s)."
{% endif %}
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
{% if (primary_range - secondary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 is drifting significantly more than T1."
{% endif %}
{% if (secondary_range - primary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 is drifting significantly more than T0."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T0]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T1]
gcode =
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _SHAKE_IT]
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
_Z_HOP
{% for i in range(3) %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 + 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 + 1}
{% endfor %}
{% for i in range(2) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 + 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 + 50}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 1}
{% endfor %}
{% endfor %}
[gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 retries updated: {new_retries}"
[gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 retries updated: {new_retries}"
[gcode_macro _CLEAR_PRIMARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 result set"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 retries"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _CLEAR_SECONDARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 result set"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 retries"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _VAOC_TEST_Z_OFFSET]
gcode =
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[delayed_gcode _IDEX_INIT]
initial_duration = 0.1
gcode =
VERIFY_HYBRID_INVERTED
[gcode_macro Z_TILT_ADJUST]
rename_existing = Z_TILT_ADJUST_ORIG
gcode =
{% set beacon_contact_z_tilt_adjust_samples = printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust_samples|default(2)|int %}
{% set beacon_contact_z_tilt_adjust = true if printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust|default(true)|lower == 'true' else false %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={printer["gcode_macro RatOS"].default_toolhead|default(0)|int} TOOLSHIFT=false
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_tilt_adjust %}
Z_TILT_ADJUST_ORIG PROBE_METHOD=contact SAMPLES={beacon_contact_z_tilt_adjust_samples}
{% else %}
Z_TILT_ADJUST_ORIG
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
STOW_PROBE
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == "copy" %}
_IDEX_COPY
{% elif idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[stepper_x]
position_max = 500
position_endstop = -59.8
position_min = -59.8
step_pin = PF13
dir_pin = x_dir_pin
enable_pin = !PF14
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t0:PB6
[stepper_y]
position_max = 533.65
position_min = -14.35
position_endstop = -14.35
step_pin = PG0
dir_pin = !y_dir_pin
enable_pin = !PF15
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = PG9
[stepper_z]
position_max = 500
position_min = -7
step_pin = PC13
dir_pin = !z0_dir_pin
enable_pin = !PF1
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
homing_speed = 10
endstop_pin = probe:z_virtual_endstop
[bed_mesh]
horizontal_move_z = 2
mesh_min = 20,30
mesh_max = 470,462.5
probe_count = 40,40
fade_start = 1.0
fade_end = 10.0
mesh_pps = 2,2
algorithm = bicubic
bicubic_tension = .2
speed = 600
[z_tilt]
z_positions =
0,0
250,500
500,0
points =
20,10
250,440
480,10
horizontal_move_z = 20
retries = 10
retry_tolerance = 0.02
speed = 600
[extruder]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t0:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t0:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.049
step_pin = toolboard_t0:PD0
dir_pin = toolboard_t0:e_dir_pin
enable_pin = !toolboard_t0:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[firmware_retraction]
retract_speed = 60
unretract_extra_length = 0
unretract_speed = 60
retract_length = 0.5
[extruder1]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t1:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t1:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.03
step_pin = toolboard_t1:PD0
dir_pin = toolboard_t1:e_dir_pin
enable_pin = !toolboard_t1:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[resonance_tester]
accel_chip_x = adxl345 toolboard_t0
accel_chip_y = adxl345 toolboard_t0
probe_points =
250,250,20
[tmc2209 stepper_x]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 dual_carriage]
stealthchop_threshold = 0
interpolate = False
uart_pin = PF2
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD11
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC7
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_y1]
step_pin = PG4
dir_pin = y1_dir_pin
enable_pin = !PA0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
[tmc2209 stepper_z]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_z1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE1
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z1]
step_pin = PE2
dir_pin = !z1_dir_pin
enable_pin = !PD4
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 stepper_z2]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD3
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z2]
step_pin = PE6
dir_pin = !z2_dir_pin
enable_pin = !PE0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 extruder]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t0:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[tmc2209 extruder1]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t1:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[beacon]
serial = /dev/beacon
x_offset = 0
y_offset = 22.5
mesh_main_direction = x
mesh_runs = 1
speed = 15.
lift_speed = 80.
contact_max_hotend_temperature = 275
[delayed_gcode _BEACON_INIT]
initial_duration = 1
gcode =
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(0)|float %}
{% if nozzle_expansion_coefficient_multiplier == 0 %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is not defined %}
{% set nozzle_expansion_coefficient_multiplier = 1.0 %}
{% else %}
{% set nozzle_expansion_coefficient_multiplier = printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier|default(1.0)|float %}
{% endif %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={nozzle_expansion_coefficient_multiplier}
{% endif %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is defined %}
CONSOLE_ECHO TITLE="Deprecated gcode variable" TYPE="warning" MSG={'"Please remove the variable beacon_contact_expansion_multiplier from your config file."'}
{% endif %}
[gcode_macro BEACON_RATOS_CALIBRATION]
gcode =
RATOS_ECHO MSG="Did you mean BEACON_RATOS_CALIBRATE?"
[gcode_macro BEACON_RATOS_CALIBRATE]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
BEACON_INITIAL_CALIBRATION _AUTOMATED=True
{% if beacon_contact_start_print_true_zero %}
BEACON_POKE_TEST _AUTOMATED=True
_BEACON_CHECK_POKE
{% if printer["dual_carriage"] is not defined %}
BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET _AUTOMATED=True
{% endif %}
{% endif %}
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
BEACON_FINAL_CALIBRATION _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% if beacon_contact_start_print_true_zero %}
BEACON_MEASURE_GANTRY_TWIST
_BEACON_MAYBE_SCAN_COMPENSATION
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_OFF
{% endif %}
{% if beacon_contact_start_print_true_zero %}
{% if printer["dual_carriage"] is not defined %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
_BEACON_ECHO_POKE
{% endif %}
RATOS_ECHO MSG="Beacon calibration finished!"
_LED_BEACON_CALIBRATION_END
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
[gcode_macro BEACON_INITIAL_CALIBRATION]
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
MAYBE_HOME X=True Y=True
_LED_BEACON_CALIBRATION_START
G90
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE
_Z_HOP
RATOS_ECHO MSG="Initial beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_FINAL_CALIBRATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
_BEACON_HOME_AND_ABL
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
_LED_BEACON_CALIBRATION_START
G90
G0 Z2 F{z_hop_speed}
RATOS_ECHO MSG="Waiting for calibration temperature..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_Z_HOP
BEACON_AUTO_CALIBRATE
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
_Z_HOP
RATOS_ECHO MSG="Final beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_POKE_TEST]
variable_poke_result_1 = -1
variable_poke_result_2 = -1
variable_poke_result_3 = -1
variable_poke_result_4 = -1
variable_poke_result_5 = -1
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_1 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_2 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_3 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_4 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_5 VALUE=-1
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
G0 Z5 F{z_hop_speed}
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=1
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=2
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=3
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=4
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=5
_Z_HOP
RATOS_ECHO MSG="Beacon poke test finished!"
{% if not automated %}
_BEACON_ECHO_POKE
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_POKE]
gcode =
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
BEACON_POKE speed=3 top=5 bottom={poke_bottom}
BEACON_QUERY
[gcode_macro _BEACON_STORE_POKE]
gcode =
{% set i = params.I|default(1)|int %}
{% set last_z = printer.beacon.last_poke_result|default(0)|float %}
{% if printer.beacon.last_poke_result|lower != "none" %}
{% if printer.beacon.last_poke_result.error == 0 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE={"poke_result_%s" % i} VALUE={printer.beacon.last_poke_result.latency}
{% endif %}
{% endif %}
[gcode_macro _BEACON_CHECK_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% if p1 == -1 or p2 == -1 or p3 == -1 or p4 == -1 or p5 == -1 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test error!") }
{% endif %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg > 6 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test failed!") }
{% endif %}
[gcode_macro _BEACON_ECHO_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg <= 1 %}
{% set type = "success" %}
{% set note = "Extremely low noise, rarely achieved" %}
{% elif avg > 1 and avg <= 4 %}
{% set type = "info" %}
{% set note = "Excellent performance for a typical printer" %}
{% elif avg > 4 and avg <= 8 %}
{% set type = "warning" %}
{% set note = "Acceptable performance, machine may have considerable cyclic axis noise" %}
{% elif avg > 8 and avg <= 11 %}
{% set type = "alert" %}
{% set note = "Not ideal, may want to verify proper mounting or use thinner stackups" %}
{% elif avg > 11 %}
{% set type = "alert" %}
{% set note = "Reason for concern, present setup may be risky to continue with" %}
{% endif %}
CONSOLE_ECHO TITLE="Beacon poke test result:" TYPE={type} MSG={'"Average latency: %.2f_N_%s"' % (avg, note)}
[gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set test_margin = 30 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Nozzle temperature offset calibration..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET=0
{% if not automated %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
{% endif %}
[gcode_macro _BEACON_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="BEACON" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
RATOS_ECHO PREFIX="BEACON" MSG="Probing with nozzle temperature {temp}°C..."
PROBE PROBE_METHOD=contact PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
BEACON_QUERY
G0 Z5 F{z_speed}
[gcode_macro _BEACON_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer.beacon.last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{default_toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
CONSOLE_ECHO TYPE="info" MSG={'"T0 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t0}
{% else %}
CONSOLE_ECHO TYPE="info" MSG={'"T1 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t1}
{% endif %}
[gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET]
variable_runtime_temp = 0
gcode =
{% set toolhead = params.TOOLHEAD|default(0)|int %}
{% set reset = true if params.RESET|default(false)|lower == 'true' else false %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% if reset %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE=0
{% else %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set nozzle_expansion_coefficient_t0 = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if printer["dual_carriage"] is defined %}
{% set nozzle_expansion_coefficient_t1 = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set applied_offset = svv.nozzle_expansion_applied_offset|default(0)|float %}
{% set temp = printer['extruder' if toolhead == 0 else 'extruder1'].target|float %}
{% set temp_offset = temp - beacon_contact_true_zero_temp %}
{% set expansion_coefficient = nozzle_expansion_coefficient_t0 if toolhead == 0 else nozzle_expansion_coefficient_t1 %}
{% set expansion_offset = nozzle_expansion_coefficient_multiplier * (temp_offset * (expansion_coefficient / 100)) %}
{% set new_offset = ((-applied_offset) + expansion_offset) %}
SET_GCODE_OFFSET Z_ADJUST={new_offset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE={expansion_offset}
SET_GCODE_VARIABLE MACRO=_BEACON_SET_NOZZLE_TEMP_OFFSET VARIABLE=runtime_temp VALUE={temp}
RATOS_ECHO PREFIX="BEACON" MSG={'"Nozzle expansion offset of %.6fmm applied to T%s"' % (expansion_offset, toolhead)}
DEBUG_ECHO PREFIX="_BEACON_SET_NOZZLE_TEMP_OFFSET" MSG="multiplier: {nozzle_expansion_coefficient_multiplier}, coefficient: {expansion_coefficient}, temp_offset: {temp_offset}, expansion_offset: {expansion_offset}, applied_offset: {applied_offset}, new_offset: {new_offset}"
{% endif %}
{% endif %}
[gcode_macro BEACON_MEASURE_GANTRY_TWIST]
variable_needs_compensation = False
variable_reference_z = 0.0
variable_front = 0.0
variable_front_left = 0.0
variable_front_right = 0.0
variable_back = 0.0
variable_back_left = 0.0
variable_back_right = 0.0
variable_right = 0.0
variable_left = 0.0
variable_margin_x = 40
variable_margin_y = 40
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=False
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Measure gantry twist..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="center"
G0 X{margin_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_left"
G0 X{safe_home_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front"
G0 X{(printable_x_max - margin_x)} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_right"
G0 X{(printable_x_max - margin_x)} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="right"
G0 X{(printable_x_max - margin_x)} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_right"
G0 X{safe_home_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back"
G0 X{margin_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_left"
G0 X{margin_x} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="left"
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
_BEACON_ECHO_GANTRY_TWIST
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_GANTRY_TWIST]
gcode =
RATOS_ECHO PREFIX="BEACON" MSG="Probing..."
BEACON_OFFSET_COMPARE
BEACON_QUERY
[gcode_macro _BEACON_STORE_GANTRY_TWIST]
gcode =
{% set location = params.LOCATION|lower %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set last_z = printer.beacon.last_offset_result["delta"]|default(0)|float %}
{% if location == "center" %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE={location} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_GANTRY_TWIST]
gcode =
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float * 1000 %}
{% set front_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_left|default(0)|float * 1000 %}
{% set front = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front|default(0)|float * 1000 %}
{% set front_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_right|default(0)|float * 1000 %}
{% set right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].right|default(0)|float * 1000 %}
{% set back_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_right|default(0)|float * 1000 %}
{% set back = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back|default(0)|float * 1000 %}
{% set back_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_left|default(0)|float * 1000 %}
{% set left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].left|default(0)|float * 1000 %}
{% set line_1 = "Front left: %.6fμm" % (front_left) %}
{% set line_2 = "Front center: %.6fμm" % (front) %}
{% set line_3 = "Front right: %.6fμm" % (front_right) %}
{% set line_4 = "Left center: %.6fμm" % (left) %}
{% set line_5 = "Right center: %.6fμm" % (right) %}
{% set line_6 = "Back left: %.6fμm" % (back_left) %}
{% set line_7 = "Back center: %.6fμm" % (back) %}
{% set line_8 = "Back right: %.6fμm" % (back_right) %}
{% set max_value = [(front_left|abs), (front|abs), (front_right|abs), (left|abs), (right|abs), (back_left|abs), (back|abs), (back_right|abs)]|max %}
{% if max_value <= 50 %}
{% set type = "success" %}
{% set recommendation = "Very low gantry twist: %.6fμm._N_No beacon scan compensation needed." % max_value %}
{% elif max_value > 50 and max_value <= 100 %}
{% set type = "info" %}
{% set recommendation = "Low gantry twist: %.6fμm._N_You may experience first layer inconsistensies, consider beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 100 and max_value <= 150 %}
{% set type = "warning" %}
{% set recommendation = "High gantry twist: %.6fμm._N_High chance of first layer problems, beacon scan compensation is highly encouraged." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 150 and max_value <= 200 %}
{% set type = "alert" %}
{% set recommendation = "Very High gantry twist: %.6fμm._N_You will encounter first layer problems on large prints unless you activate beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 200 %}
{% set type = "alert" %}
{% set recommendation = "Extremely high gantry twist: %.6fμm._N_You have significant scan/contact inconsistency which is indicative of mechanical problems, please investigate before resorting to software compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% endif %}
CONSOLE_ECHO TITLE="Gantry twist relative to the center" TYPE={type} MSG={'"_N_%s_N__N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s"' % (recommendation, line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8)}
[gcode_macro BEACON_CREATE_SCAN_COMPENSATION_MESH]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set profile = params.PROFILE|default("Contact")|string %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
{% set probe_count = printer["gcode_macro RatOS"].beacon_scan_compensation_probe_count %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% if not beacon_scan_compensation_enable %}
RATOS_ECHO MSG="Beacon scan compensation is disabled!"
{% else %}
MAYBE_HOME
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_LED_BEACON_CALIBRATION_START
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
RATOS_ECHO MSG="Please wait..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% endif %}
{% if not automated %}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
{% endif %}
{% if printer.z_tilt is defined %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% endif %}
{% if printer.quad_gantry_level is defined %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES=2 SAMPLES_DROP=1 SAMPLES_TOLERANCE_RETRIES=10 PROBE_COUNT={probe_count[0]},{probe_count[1]} PROFILE={profile}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
RATOS_ECHO MSG="Beacon scan compensation mesh created!"
{% if not automated %}
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
{% endif %}
{% endif %}
[gcode_macro _BEACON_APPLY_SCAN_COMPENSATION]
gcode =
{% set beacon_scan_compensation_profile = printer["gcode_macro RatOS"].beacon_scan_compensation_profile %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_SCAN_COMPENSATION" MSG="beacon_scan_compensation_profile {beacon_scan_compensation_profile}, beacon_scan_compensation_enable {beacon_scan_compensation_enable}"
{% if beacon_scan_compensation_enable %}
BEACON_APPLY_SCAN_COMPENSATION PROFILE={beacon_scan_compensation_profile}
{% endif %}
[gcode_macro _BEACON_MAYBE_SCAN_COMPENSATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set needs_scan_compensation = true if printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].needs_compensation|default(false)|lower == 'true' else false %}
{% if needs_scan_compensation %}
BEACON_CREATE_SCAN_COMPENSATION_MESH _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% endif %}
[gcode_macro _BEACON_HOME_AND_ABL]
gcode =
MAYBE_HOME X=True Y=True
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% if needs_rehoming %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% endif %}
[gcode_macro _BEACON_SAVE_MULTIPLIER]
gcode =
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set multiplier = printer["gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER"].runtime_multiplier|default(-1.0)|float %}
DEBUG_ECHO PREFIX="_BEACON_SAVE_MULTIPLIER" MSG="multiplier: {multiplier}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if multiplier > 0 and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={multiplier}
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE=-1.0
CONSOLE_ECHO TITLE="Hotend thermal expansion compensation" TYPE="success" MSG={'"New value is: %.6f_N_The new multiplier value has been saved to the configuration."' % multiplier}
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER]
variable_runtime_multiplier = -1.0
gcode =
{% set toolhead = 0 %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if layer_number == 0 and is_printing_gcode %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Documentation" %}
{% set line_1 = '"Your slicer is not correctly reporting layer information. See the layer change custom g-code in the %s".' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Missing layer information" TYPE="warning" MSG={line_1}
{% endif %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="layer_number: {layer_number}, is_printing_gcode: {is_printing_gcode}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if layer_number == 1 and is_printing_gcode and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if toolhead == 1 %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set beacon_contact_expansion_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set print_temp = printer["gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET"].runtime_temp|default(0)|int %}
{% if print_temp > 0 %}
{% set z_offset = printer.gcode_move.homing_origin.z|float %}
{% set temp_delta = print_temp - beacon_contact_true_zero_temp %}
{% set coefficient_per_degree = nozzle_expansion_coefficient / 100 %}
{% set z_offset_per_degree = z_offset / temp_delta %}
{% set new_multiplier = z_offset_per_degree / coefficient_per_degree %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="print_temp: {print_temp}, z_offset: {z_offset}, temp_delta: {temp_delta}, nozzle_expansion_coefficient: {nozzle_expansion_coefficient}, coefficient_per_degree: {coefficient_per_degree}, z_offset_per_degree: {z_offset_per_degree}, old_multiplier: {beacon_contact_expansion_multiplier}, new_multiplier: {new_multiplier}"
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE={new_multiplier}
{% endif %}
{% endif %}
[fan_generic part_fan_t0]
pin = !toolboard_t0:PA0
cycle_time = 0.00004
[fan_generic part_fan_t1]
pin = !toolboard_t1:PA0
cycle_time = 0.00004
[heater_fan toolhead_cooling_fan_t1]
heater = extruder1
pin = toolboard_t1:PA1
[controller_fan controller_fan]
pin = PD12
[gcode_macro T0]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = True
variable_color = "7bff33"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = -32.8
variable_parking_position = -57.800
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=0 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[gcode_macro T1]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = False
variable_color = "0ea5e9"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = 532.8
variable_parking_position = 556.971
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=1 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[save_variables]
filename = /home/pi/printer_data/config/ratos-variables.cfg
[z_offset_probe]
pin = ^PG10
z_offset = -7
y_offset = 0
x_offset = 37.5
speed = 10
samples = 3
sample_retract_dist = 5
lift_speed = 10.0
samples_result = median
samples_tolerance = 0.2
samples_tolerance_retries = 5
[neopixel vaoc_led]
pin = PB0
chain_count = 6
color_order = GRB
[heater_fan vaoc_fan]
pin = PD13
heater = heater_bed
fan_speed = 1.0
heater_temp = 50
[filament_switch_sensor toolhead_filament_sensor_t0]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t0:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=0
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=0
[gcode_button toolhead_filament_sensor_button_t0]
pin = ^!toolboard_t0:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=0
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=0
{% endif %}
press_gcode =
[filament_switch_sensor toolhead_filament_sensor_t1]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t1:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=1
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=1
[gcode_button toolhead_filament_sensor_button_t1]
pin = ^!toolboard_t1:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=1
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=1
{% endif %}
press_gcode =
[beacon model default]
model_coef = 1.5216898007481126,
1.8902129794265508,
0.831820228817575,
0.3593149586958484,
0.23269392145129414,
0.19533062331679613,
-0.1632586565325532,
-0.17574982456618962,
0.17702053002792054,
0.13435326641891854
model_domain = 1.851328082849494e-07,1.9354184656086437e-07
model_range = 0.200000,5.000000
model_temp = 43.655936
model_offset = -0.05394
[bed_mesh Preparation]
version = 1
points =
-0.123065, -0.129249, -0.137728, -0.143346, -0.146108, -0.151560, -0.155215, -0.159040, -0.159958, -0.164177, -0.166491, -0.171752, -0.176450, -0.180710, -0.184686, -0.190246, -0.195775, -0.202238, -0.207460, -0.213022, -0.218225, -0.220510, -0.220567, -0.219225, -0.217630, -0.212552, -0.206331, -0.200070, -0.194573, -0.188334, -0.180118, -0.172176, -0.168038, -0.164374, -0.159375, -0.153073, -0.146940, -0.141521, -0.135166, -0.127086
-0.088754, -0.096605, -0.102126, -0.105995, -0.109969, -0.114049, -0.118511, -0.121889, -0.124322, -0.126883, -0.131213, -0.135417, -0.139505, -0.143071, -0.147057, -0.152929, -0.157956, -0.164833, -0.170577, -0.176167, -0.181394, -0.184379, -0.183957, -0.184723, -0.181740, -0.178752, -0.172233, -0.167393, -0.161225, -0.155149, -0.148851, -0.144256, -0.140355, -0.137883, -0.132371, -0.128553, -0.122059, -0.115777, -0.111817, -0.103433
-0.059703, -0.065141, -0.068894, -0.072534, -0.074652, -0.078732, -0.083449, -0.087482, -0.090032, -0.093010, -0.095624, -0.100951, -0.104058, -0.107939, -0.110295, -0.114845, -0.122184, -0.128323, -0.134619, -0.141129, -0.146735, -0.150526, -0.151921, -0.151703, -0.149648, -0.145697, -0.140806, -0.136280, -0.130497, -0.125540, -0.120070, -0.115730, -0.115253, -0.113816, -0.111683, -0.107485, -0.102833, -0.098964, -0.092084, -0.083493
-0.035146, -0.038887, -0.040630, -0.042918, -0.045822, -0.048863, -0.053602, -0.057912, -0.061422, -0.063969, -0.067771, -0.070734, -0.074263, -0.077254, -0.079459, -0.084177, -0.089247, -0.097608, -0.105291, -0.111173, -0.118299, -0.123146, -0.124957, -0.125483, -0.121116, -0.117566, -0.112065, -0.108311, -0.103527, -0.098034, -0.093794, -0.092694, -0.092279, -0.092993, -0.091409, -0.090502, -0.087302, -0.082043, -0.077730, -0.068983
-0.014429, -0.015436, -0.015024, -0.015867, -0.016594, -0.019643, -0.023524, -0.028230, -0.032698, -0.035277, -0.037866, -0.041326, -0.042863, -0.045187, -0.048169, -0.051460, -0.057369, -0.064702, -0.072998, -0.082472, -0.088649, -0.094871, -0.098359, -0.099789, -0.097374, -0.090473, -0.085585, -0.080722, -0.076818, -0.073349, -0.069668, -0.068340, -0.069674, -0.071996, -0.071434, -0.069706, -0.067260, -0.064747, -0.060147, -0.051867
0.001800, 0.004209, 0.006295, 0.006641, 0.006498, 0.003907, 0.000374, -0.004775, -0.008574, -0.012033, -0.015343, -0.017616, -0.020077, -0.021090, -0.023071, -0.026600, -0.031917, -0.039089, -0.048471, -0.057699, -0.066738, -0.073148, -0.075881, -0.078085, -0.074661, -0.071015, -0.062931, -0.057662, -0.054662, -0.049156, -0.046409, -0.047290, -0.049401, -0.052189, -0.052468, -0.052381, -0.048999, -0.045375, -0.042758, -0.036124
0.014578, 0.018249, 0.024038, 0.026382, 0.027249, 0.026050, 0.022467, 0.017577, 0.013010, 0.010887, 0.006983, 0.004054, 0.002721, 0.001326, -0.000218, -0.003487, -0.007851, -0.014883, -0.023207, -0.033846, -0.042392, -0.050957, -0.055968, -0.056765, -0.055272, -0.049752, -0.043583, -0.037460, -0.031652, -0.028299, -0.026023, -0.024866, -0.027110, -0.030476, -0.033084, -0.034078, -0.031246, -0.029362, -0.025190, -0.019151
0.024410, 0.030484, 0.035193, 0.039485, 0.041745, 0.040083, 0.037331, 0.032763, 0.028232, 0.025326, 0.021729, 0.020069, 0.017930, 0.018061, 0.015847, 0.013482, 0.008905, 0.001823, -0.007356, -0.016569, -0.026170, -0.033571, -0.037941, -0.040096, -0.038153, -0.033153, -0.025879, -0.019168, -0.014733, -0.010497, -0.008672, -0.007561, -0.010567, -0.014787, -0.015661, -0.017707, -0.017691, -0.014205, -0.012676, -0.006032
0.030350, 0.037321, 0.045452, 0.050793, 0.053375, 0.054499, 0.051059, 0.046846, 0.042496, 0.039367, 0.035643, 0.033919, 0.033912, 0.033623, 0.032081, 0.030054, 0.024662, 0.019256, 0.010309, -0.000351, -0.009383, -0.017529, -0.022320, -0.022585, -0.022214, -0.017406, -0.012453, -0.004461, 0.001580, 0.003945, 0.005930, 0.006089, 0.003042, -0.000316, -0.002673, -0.003751, -0.003717, -0.002638, 0.000226, 0.005144
0.035173, 0.044246, 0.052100, 0.057619, 0.061427, 0.062646, 0.059768, 0.057094, 0.052969, 0.049696, 0.046221, 0.044853, 0.044616, 0.045243, 0.045236, 0.041880, 0.037458, 0.030193, 0.021980, 0.013232, 0.002262, -0.005043, -0.010706, -0.011683, -0.008394, -0.003728, 0.001908, 0.006662, 0.011662, 0.016663, 0.018832, 0.016640, 0.013833, 0.008164, 0.007799, 0.005419, 0.005328, 0.009190, 0.008467, 0.015441
0.037108, 0.045666, 0.056458, 0.063149, 0.067499, 0.069070, 0.068454, 0.065539, 0.062239, 0.059947, 0.057580, 0.054794, 0.056387, 0.057237, 0.057484, 0.055314, 0.050020, 0.043846, 0.035280, 0.025122, 0.016671, 0.008013, 0.002311, 0.000737, 0.001896, 0.008203, 0.014297, 0.020006, 0.024262, 0.026669, 0.029339, 0.030551, 0.026033, 0.021667, 0.017948, 0.016993, 0.017491, 0.017914, 0.020540, 0.025522
0.036352, 0.047193, 0.056745, 0.064612, 0.068634, 0.070738, 0.069708, 0.067799, 0.066444, 0.064284, 0.063129, 0.061805, 0.060988, 0.062269, 0.063716, 0.060863, 0.057021, 0.049768, 0.040718, 0.032150, 0.020744, 0.014030, 0.009615, 0.006588, 0.008979, 0.012564, 0.020268, 0.025138, 0.030238, 0.034561, 0.036879, 0.034610, 0.032263, 0.027581, 0.024798, 0.023672, 0.023321, 0.026978, 0.024620, 0.027896
0.031904, 0.041999, 0.053526, 0.061780, 0.068626, 0.071467, 0.069588, 0.070855, 0.067652, 0.067081, 0.066260, 0.065427, 0.067567, 0.067660, 0.066819, 0.066532, 0.062096, 0.056381, 0.047624, 0.037620, 0.028342, 0.019370, 0.013689, 0.013032, 0.014071, 0.018558, 0.024375, 0.029309, 0.035040, 0.038931, 0.042663, 0.042886, 0.037831, 0.034178, 0.030240, 0.030073, 0.030481, 0.030514, 0.032425, 0.035200
0.027182, 0.039232, 0.050723, 0.059936, 0.065685, 0.068762, 0.069802, 0.067959, 0.067866, 0.067327, 0.067183, 0.067449, 0.068351, 0.070500, 0.070804, 0.066856, 0.063180, 0.057359, 0.048570, 0.041217, 0.030261, 0.023075, 0.018834, 0.015316, 0.018939, 0.022756, 0.029306, 0.034018, 0.038670, 0.043164, 0.045084, 0.044050, 0.042856, 0.037331, 0.034978, 0.032203, 0.031843, 0.034428, 0.032762, 0.037273
0.021053, 0.033448, 0.046106, 0.055345, 0.064261, 0.068907, 0.069228, 0.069829, 0.068287, 0.068723, 0.069343, 0.068829, 0.071972, 0.073165, 0.073793, 0.072091, 0.066945, 0.060901, 0.053179, 0.043877, 0.036784, 0.028377, 0.023620, 0.022244, 0.021968, 0.027336, 0.032852, 0.037884, 0.042949, 0.044947, 0.048544, 0.049110, 0.045085, 0.042044, 0.039134, 0.036728, 0.035119, 0.034480, 0.035005, 0.040348
0.012798, 0.026215, 0.038175, 0.049823, 0.056616, 0.061959, 0.063431, 0.063875, 0.064311, 0.064278, 0.065429, 0.067402, 0.068134, 0.070311, 0.071612, 0.068720, 0.065355, 0.058476, 0.049821, 0.043365, 0.033745, 0.028649, 0.024126, 0.021884, 0.024781, 0.027504, 0.032892, 0.037274, 0.041428, 0.045995, 0.047404, 0.045205, 0.044657, 0.039586, 0.038947, 0.035435, 0.034980, 0.037579, 0.032889, 0.037251
0.002599, 0.016742, 0.028454, 0.039856, 0.050630, 0.057205, 0.057988, 0.060542, 0.060803, 0.062833, 0.063316, 0.063458, 0.067483, 0.068629, 0.069600, 0.068774, 0.065105, 0.060486, 0.053074, 0.043536, 0.036203, 0.030149, 0.025306, 0.023637, 0.024745, 0.030017, 0.034726, 0.038220, 0.042707, 0.043750, 0.047446, 0.047304, 0.044249, 0.040629, 0.037643, 0.037322, 0.036376, 0.036060, 0.034983, 0.039259
-0.009299, 0.003358, 0.016587, 0.028772, 0.037637, 0.045522, 0.048419, 0.050740, 0.052845, 0.054601, 0.054222, 0.056341, 0.057287, 0.060815, 0.062225, 0.059457, 0.058540, 0.052712, 0.045650, 0.039369, 0.029281, 0.023853, 0.020326, 0.017158, 0.020475, 0.024038, 0.029159, 0.033918, 0.035785, 0.040239, 0.040813, 0.040406, 0.039684, 0.033949, 0.033181, 0.032565, 0.029348, 0.033315, 0.026965, 0.030583
-0.026918, -0.010726, 0.002999, 0.014433, 0.026463, 0.034997, 0.038263, 0.042755, 0.042939, 0.045824, 0.048341, 0.048364, 0.051534, 0.052744, 0.054094, 0.054604, 0.051491, 0.048552, 0.042327, 0.033918, 0.027486, 0.020894, 0.015739, 0.013238, 0.014280, 0.018615, 0.022786, 0.027006, 0.032407, 0.034888, 0.037864, 0.036858, 0.033948, 0.030834, 0.029128, 0.027105, 0.027313, 0.024774, 0.024613, 0.027069
-0.040027, -0.025131, -0.010601, 0.002523, 0.013123, 0.021425, 0.026915, 0.029297, 0.032819, 0.034947, 0.036059, 0.038480, 0.039604, 0.041848, 0.043952, 0.042987, 0.042589, 0.037420, 0.031622, 0.024770, 0.017692, 0.011391, 0.007445, 0.004353, 0.006436, 0.009431, 0.015809, 0.020322, 0.022741, 0.028265, 0.028380, 0.028365, 0.028435, 0.021376, 0.020191, 0.019534, 0.016283, 0.019006, 0.011746, 0.014708
-0.056684, -0.040558, -0.026026, -0.013077, 0.001136, 0.010197, 0.014126, 0.019524, 0.020289, 0.024250, 0.027205, 0.027040, 0.032136, 0.032733, 0.036150, 0.035729, 0.033818, 0.032633, 0.025943, 0.018154, 0.011096, 0.004347, 0.000182, -0.001587, -0.000674, 0.003150, 0.008718, 0.014003, 0.019522, 0.021413, 0.024493, 0.023669, 0.021443, 0.017697, 0.014271, 0.011648, 0.010124, 0.007028, 0.008391, 0.011548
-0.070688, -0.054708, -0.038988, -0.022400, -0.012838, -0.002722, 0.002683, 0.005530, 0.009069, 0.011945, 0.013369, 0.016565, 0.019252, 0.022612, 0.026435, 0.026276, 0.025811, 0.021076, 0.014586, 0.009648, 0.000497, -0.005110, -0.010032, -0.013120, -0.009419, -0.005850, 0.001196, 0.007562, 0.011003, 0.016293, 0.018088, 0.015279, 0.015117, 0.005636, 0.004038, 0.002755, -0.002018, 0.003098, -0.003080, -0.000159
-0.089093, -0.069024, -0.051576, -0.039140, -0.023761, -0.014054, -0.008637, -0.004206, -0.002925, 0.000628, 0.004294, 0.005180, 0.012082, 0.014985, 0.018446, 0.019703, 0.018943, 0.015701, 0.008415, 0.001132, -0.005341, -0.012240, -0.017255, -0.018934, -0.018344, -0.013165, -0.006037, 0.001223, 0.007618, 0.009453, 0.012580, 0.011127, 0.007477, 0.001830, -0.001810, -0.004428, -0.005625, -0.007326, -0.005016, -0.000600
-0.099704, -0.080527, -0.064504, -0.047065, -0.036227, -0.025986, -0.020027, -0.016586, -0.013094, -0.010398, -0.007205, -0.002616, 0.000734, 0.006380, 0.011519, 0.011174, 0.009740, 0.006345, 0.000545, -0.006125, -0.015283, -0.021250, -0.024104, -0.027854, -0.024622, -0.019636, -0.011858, -0.003915, 0.000667, 0.007300, 0.007642, 0.003905, 0.002899, -0.006441, -0.009109, -0.009676, -0.012463, -0.007014, -0.012570, -0.007146
-0.114714, -0.093148, -0.075353, -0.061754, -0.045386, -0.035447, -0.029339, -0.024022, -0.022394, -0.017008, -0.013168, -0.011385, -0.002852, 0.000333, 0.005220, 0.006668, 0.006239, 0.003185, -0.002733, -0.010821, -0.017979, -0.026075, -0.029651, -0.031781, -0.028478, -0.022137, -0.015652, -0.008127, -0.002024, 0.000627, 0.005143, 0.004125, -0.000697, -0.005698, -0.011038, -0.012025, -0.011996, -0.012589, -0.010022, -0.005017
-0.122903, -0.103635, -0.085984, -0.068299, -0.055409, -0.045262, -0.039103, -0.034155, -0.030447, -0.026675, -0.022523, -0.017787, -0.012967, -0.006671, -0.001667, -0.001944, -0.001690, -0.006190, -0.012321, -0.018992, -0.026396, -0.032518, -0.035515, -0.038670, -0.034660, -0.028220, -0.021430, -0.013595, -0.009650, -0.004742, -0.002199, -0.005392, -0.005290, -0.012575, -0.015890, -0.016404, -0.019504, -0.013782, -0.018582, -0.014276
-0.134579, -0.113485, -0.095284, -0.079518, -0.062659, -0.052056, -0.046305, -0.039009, -0.037823, -0.031848, -0.027185, -0.024069, -0.016064, -0.013428, -0.007718, -0.004529, -0.006462, -0.009628, -0.015448, -0.022543, -0.030829, -0.037569, -0.039995, -0.040648, -0.038926, -0.033288, -0.025343, -0.019131, -0.012345, -0.009802, -0.006212, -0.006248, -0.010552, -0.013167, -0.017225, -0.018029, -0.017813, -0.019312, -0.017588, -0.012622
-0.141623, -0.121670, -0.102186, -0.085896, -0.071216, -0.060247, -0.053842, -0.047188, -0.042746, -0.037427, -0.034976, -0.028961, -0.023709, -0.016692, -0.012858, -0.012134, -0.011163, -0.015775, -0.023443, -0.028172, -0.036157, -0.042440, -0.044826, -0.047997, -0.043392, -0.036551, -0.030720, -0.023607, -0.017635, -0.012732, -0.009913, -0.014198, -0.013203, -0.020762, -0.021628, -0.022211, -0.024141, -0.018562, -0.021550, -0.018843
-0.153558, -0.131254, -0.112812, -0.097483, -0.078966, -0.067860, -0.060926, -0.053977, -0.052300, -0.044006, -0.039839, -0.035812, -0.028838, -0.024006, -0.019004, -0.016593, -0.019021, -0.020131, -0.025883, -0.034599, -0.040980, -0.047799, -0.051352, -0.052014, -0.049759, -0.042428, -0.034779, -0.027594, -0.022224, -0.019623, -0.014617, -0.015462, -0.018895, -0.023314, -0.026383, -0.027395, -0.026422, -0.027225, -0.024109, -0.018187
-0.161908, -0.140002, -0.120655, -0.102888, -0.087870, -0.077667, -0.069724, -0.063534, -0.057774, -0.052057, -0.047301, -0.041207, -0.036047, -0.031176, -0.024730, -0.024522, -0.023785, -0.027288, -0.033143, -0.038931, -0.048404, -0.054383, -0.057185, -0.059173, -0.055642, -0.049257, -0.042398, -0.033901, -0.029000, -0.023467, -0.020749, -0.023617, -0.023141, -0.030864, -0.033138, -0.032954, -0.034538, -0.029482, -0.033082, -0.028314
-0.174826, -0.151443, -0.130396, -0.116540, -0.098721, -0.086440, -0.078811, -0.071608, -0.069023, -0.060435, -0.055560, -0.050716, -0.042712, -0.037661, -0.034517, -0.031178, -0.032055, -0.033793, -0.038671, -0.045928, -0.052841, -0.060492, -0.063749, -0.063988, -0.062643, -0.056771, -0.049569, -0.041294, -0.034726, -0.031908, -0.028202, -0.029544, -0.031862, -0.035321, -0.038379, -0.038996, -0.038819, -0.039354, -0.037656, -0.031082
-0.183238, -0.161592, -0.141835, -0.122259, -0.107820, -0.096198, -0.087266, -0.081174, -0.074490, -0.069838, -0.064393, -0.057107, -0.050762, -0.045327, -0.038202, -0.038855, -0.038407, -0.041566, -0.047140, -0.051945, -0.061233, -0.066409, -0.069864, -0.071910, -0.067210, -0.062565, -0.055432, -0.048278, -0.044331, -0.038455, -0.036269, -0.038273, -0.038014, -0.045766, -0.046782, -0.045843, -0.049612, -0.044485, -0.046549, -0.043773
-0.193766, -0.171381, -0.150622, -0.136571, -0.116007, -0.105103, -0.095303, -0.087977, -0.084827, -0.076628, -0.071043, -0.067079, -0.058807, -0.053256, -0.047233, -0.043607, -0.045450, -0.047128, -0.052927, -0.059961, -0.065522, -0.072239, -0.075898, -0.075835, -0.075111, -0.067972, -0.061979, -0.053963, -0.049569, -0.047796, -0.043883, -0.043617, -0.047656, -0.050661, -0.053231, -0.054403, -0.054461, -0.055549, -0.052266, -0.047746
-0.201314, -0.179345, -0.161359, -0.141661, -0.125534, -0.113803, -0.104605, -0.097577, -0.091460, -0.084584, -0.081618, -0.073351, -0.066639, -0.060233, -0.053844, -0.052016, -0.050399, -0.053801, -0.060298, -0.064515, -0.073415, -0.079082, -0.082485, -0.085173, -0.080732, -0.075519, -0.069232, -0.061446, -0.057882, -0.054204, -0.050503, -0.055575, -0.054341, -0.063491, -0.062954, -0.061692, -0.063367, -0.060560, -0.063682, -0.062945
-0.210699, -0.186568, -0.169980, -0.155576, -0.134580, -0.123486, -0.114304, -0.104424, -0.101420, -0.092798, -0.086708, -0.083121, -0.072735, -0.068592, -0.062863, -0.059082, -0.060053, -0.060206, -0.063958, -0.071063, -0.077559, -0.085187, -0.086687, -0.088869, -0.087870, -0.081655, -0.074488, -0.068268, -0.062429, -0.060979, -0.056752, -0.057920, -0.060916, -0.066499, -0.069739, -0.070931, -0.070913, -0.070755, -0.068799, -0.063772
-0.219515, -0.197554, -0.177657, -0.160158, -0.145459, -0.131642, -0.122712, -0.114730, -0.108205, -0.102209, -0.096258, -0.088791, -0.081533, -0.074260, -0.066793, -0.066614, -0.064792, -0.068370, -0.072488, -0.076295, -0.085080, -0.090724, -0.095074, -0.097575, -0.093448, -0.090253, -0.083279, -0.075362, -0.072746, -0.067366, -0.066279, -0.070410, -0.069398, -0.077609, -0.078058, -0.078135, -0.084604, -0.079149, -0.080611, -0.079800
-0.230805, -0.207528, -0.186481, -0.172408, -0.153776, -0.143194, -0.132521, -0.122732, -0.119724, -0.111161, -0.104757, -0.098336, -0.089800, -0.085237, -0.079503, -0.074701, -0.074730, -0.077056, -0.080999, -0.087250, -0.090878, -0.098745, -0.100539, -0.104508, -0.101283, -0.096607, -0.088982, -0.085559, -0.079754, -0.079122, -0.075177, -0.075963, -0.081290, -0.085296, -0.088572, -0.088783, -0.090303, -0.090612, -0.089416, -0.085933
-0.237804, -0.216625, -0.196099, -0.177369, -0.162298, -0.151235, -0.142740, -0.134419, -0.126793, -0.120617, -0.114293, -0.107315, -0.098104, -0.090157, -0.083399, -0.082639, -0.080974, -0.083252, -0.088626, -0.094519, -0.101179, -0.107558, -0.109548, -0.114106, -0.110311, -0.106939, -0.099894, -0.093051, -0.091536, -0.087351, -0.087053, -0.090645, -0.091250, -0.099822, -0.100443, -0.101896, -0.103601, -0.100931, -0.103353, -0.101983
-0.247583, -0.224449, -0.204610, -0.192000, -0.171035, -0.160649, -0.151982, -0.142274, -0.139230, -0.129743, -0.123914, -0.119027, -0.108169, -0.102443, -0.095205, -0.091306, -0.092205, -0.092345, -0.096259, -0.103217, -0.108755, -0.115722, -0.119030, -0.120152, -0.118763, -0.111891, -0.108093, -0.102743, -0.098191, -0.095813, -0.095324, -0.097542, -0.103908, -0.108247, -0.112667, -0.113407, -0.114053, -0.115255, -0.113592, -0.108895
-0.258858, -0.235997, -0.216740, -0.198116, -0.183378, -0.171186, -0.161217, -0.155748, -0.147888, -0.142165, -0.135823, -0.126753, -0.118377, -0.109580, -0.102398, -0.099259, -0.097063, -0.101252, -0.106440, -0.110945, -0.118590, -0.125773, -0.130331, -0.133380, -0.130510, -0.125840, -0.121346, -0.113584, -0.112154, -0.108462, -0.107451, -0.111338, -0.113454, -0.123539, -0.127029, -0.125848, -0.131621, -0.126772, -0.129161, -0.126885
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh ratos]
version = 1
points =
0.252421, 0.239918, 0.235079, 0.233044, 0.229596, 0.212449, 0.189631, 0.177265, 0.169883, 0.164401, 0.162956, 0.163382, 0.166705, 0.179165, 0.193577
0.271966, 0.259877, 0.254582, 0.251196, 0.246518, 0.227398, 0.201969, 0.187328, 0.176683, 0.168773, 0.169957, 0.176639, 0.182214, 0.189877, 0.198461
0.276289, 0.267046, 0.261350, 0.255007, 0.248230, 0.229009, 0.203988, 0.191305, 0.185623, 0.181806, 0.180978, 0.181667, 0.184263, 0.193155, 0.203690
0.278889, 0.273241, 0.267160, 0.257355, 0.248146, 0.229016, 0.204779, 0.194759, 0.195556, 0.197049, 0.193377, 0.185856, 0.184502, 0.195611, 0.209394
0.278746, 0.275629, 0.269870, 0.258938, 0.248858, 0.229500, 0.205165, 0.195780, 0.198458, 0.201461, 0.196561, 0.185904, 0.183158, 0.195579, 0.211088
0.276375, 0.276236, 0.271549, 0.260815, 0.250692, 0.230737, 0.205548, 0.195534, 0.197468, 0.199796, 0.194343, 0.182983, 0.180177, 0.193876, 0.210799
0.273524, 0.273458, 0.269603, 0.260653, 0.251723, 0.231624, 0.206002, 0.195409, 0.196267, 0.197753, 0.192971, 0.183368, 0.181615, 0.195760, 0.212938
0.267660, 0.262256, 0.259405, 0.256574, 0.252066, 0.232597, 0.207063, 0.195713, 0.194465, 0.194512, 0.193170, 0.191017, 0.193092, 0.206555, 0.222135
0.261978, 0.251389, 0.249510, 0.252617, 0.252419, 0.233692, 0.208414, 0.196366, 0.192974, 0.191518, 0.193443, 0.198433, 0.204171, 0.216936, 0.230946
0.259175, 0.248781, 0.247703, 0.252469, 0.253528, 0.235805, 0.211588, 0.199323, 0.194060, 0.190904, 0.192775, 0.198523, 0.204714, 0.217544, 0.231592
0.256917, 0.248898, 0.248775, 0.253971, 0.255438, 0.239147, 0.216672, 0.204382, 0.196942, 0.191618, 0.192082, 0.196190, 0.201684, 0.215074, 0.230002
0.258878, 0.252498, 0.252461, 0.256670, 0.257493, 0.241767, 0.220173, 0.208520, 0.201784, 0.196903, 0.196216, 0.197892, 0.202508, 0.217707, 0.234843
0.266676, 0.262097, 0.261261, 0.262395, 0.261081, 0.245358, 0.224295, 0.214415, 0.211973, 0.210659, 0.208388, 0.205266, 0.208274, 0.227810, 0.250023
0.272369, 0.268928, 0.267532, 0.266607, 0.263893, 0.248373, 0.227935, 0.219380, 0.219876, 0.220951, 0.217279, 0.210276, 0.211840, 0.234232, 0.259847
0.272470, 0.268521, 0.267342, 0.267309, 0.265457, 0.251692, 0.233409, 0.225272, 0.224341, 0.223802, 0.218119, 0.207943, 0.207465, 0.228239, 0.252402
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 164.129
max_x = 335.871
min_y = 164.129
max_y = 335.871
[bed_mesh default_01]
version = 1
points =
-0.212352, -0.205004, -0.205688, -0.213947, -0.211584, -0.200827, -0.196079, -0.201497, -0.201616, -0.208425, -0.209947, -0.207257, -0.208137, -0.210397, -0.217396, -0.222770, -0.220129, -0.218163, -0.221850, -0.237017, -0.247459, -0.242211, -0.231428, -0.233658, -0.238247, -0.236157, -0.227367, -0.215174, -0.214324, -0.216396, -0.215984, -0.211921, -0.203751, -0.202477, -0.212640, -0.222181, -0.219244, -0.211084, -0.209151, -0.209082
-0.174162, -0.176047, -0.170487, -0.170548, -0.170736, -0.164118, -0.157555, -0.153439, -0.160425, -0.170282, -0.172797, -0.167139, -0.166458, -0.175026, -0.179929, -0.178620, -0.177640, -0.179906, -0.184836, -0.197635, -0.207979, -0.205003, -0.197052, -0.197250, -0.203982, -0.199476, -0.190324, -0.186099, -0.187066, -0.186672, -0.187746, -0.181171, -0.185153, -0.187589, -0.187063, -0.200665, -0.201051, -0.202709, -0.193542, -0.191586
-0.137100, -0.139551, -0.156952, -0.140436, -0.132315, -0.117612, -0.126367, -0.127171, -0.117222, -0.126918, -0.136512, -0.136358, -0.132073, -0.130702, -0.140103, -0.142380, -0.138235, -0.138905, -0.144252, -0.155403, -0.167395, -0.168131, -0.163644, -0.167313, -0.170169, -0.167668, -0.163673, -0.153559, -0.151257, -0.156368, -0.162458, -0.158603, -0.153421, -0.159541, -0.173014, -0.183822, -0.179305, -0.173713, -0.177083, -0.178655
-0.119638, -0.118582, -0.112676, -0.107016, -0.101057, -0.097609, -0.090568, -0.088846, -0.094353, -0.105808, -0.108640, -0.099508, -0.097061, -0.104063, -0.108925, -0.106601, -0.108711, -0.108244, -0.112043, -0.120678, -0.130435, -0.136258, -0.136819, -0.140693, -0.145176, -0.140418, -0.133156, -0.127840, -0.122126, -0.121636, -0.126438, -0.130351, -0.139794, -0.144111, -0.146054, -0.158204, -0.161518, -0.167826, -0.159598, -0.158650
-0.096835, -0.087718, -0.104672, -0.082461, -0.076224, -0.060838, -0.069516, -0.072615, -0.062211, -0.077871, -0.084714, -0.077026, -0.072760, -0.070095, -0.080251, -0.081571, -0.077742, -0.079221, -0.083101, -0.090649, -0.099299, -0.104793, -0.110080, -0.115975, -0.119470, -0.118751, -0.111056, -0.099818, -0.088329, -0.086065, -0.095142, -0.105657, -0.108794, -0.116773, -0.128079, -0.136836, -0.137575, -0.140247, -0.145489, -0.148040
-0.083209, -0.079868, -0.067185, -0.063731, -0.058642, -0.053051, -0.047765, -0.045331, -0.050266, -0.066491, -0.066941, -0.056015, -0.048217, -0.054259, -0.060356, -0.057978, -0.058606, -0.058994, -0.066141, -0.074500, -0.082524, -0.087903, -0.089955, -0.094768, -0.104398, -0.099852, -0.090725, -0.079565, -0.067033, -0.062767, -0.070707, -0.083459, -0.101043, -0.101848, -0.100333, -0.109638, -0.123028, -0.141217, -0.130959, -0.131217
-0.069730, -0.056597, -0.069495, -0.045018, -0.042152, -0.026485, -0.032235, -0.034557, -0.024843, -0.038262, -0.047943, -0.040534, -0.031409, -0.031423, -0.038290, -0.042184, -0.036914, -0.036003, -0.044482, -0.056018, -0.065785, -0.068729, -0.067646, -0.075299, -0.082594, -0.082415, -0.073119, -0.059632, -0.051532, -0.053502, -0.062114, -0.070318, -0.073796, -0.079949, -0.088985, -0.099045, -0.106334, -0.115317, -0.118710, -0.121606
-0.063230, -0.056601, -0.041980, -0.034523, -0.029628, -0.022591, -0.015527, -0.011458, -0.016579, -0.029089, -0.032697, -0.020075, -0.012276, -0.017379, -0.024206, -0.024615, -0.021741, -0.020420, -0.029944, -0.044031, -0.057771, -0.058946, -0.055658, -0.060140, -0.067052, -0.068268, -0.059032, -0.046807, -0.044834, -0.051708, -0.055075, -0.061517, -0.071357, -0.076336, -0.080810, -0.088325, -0.104141, -0.122163, -0.110924, -0.110569
-0.060174, -0.039395, -0.050614, -0.025623, -0.014566, -0.007533, -0.001840, -0.007895, 0.000069, -0.005943, -0.019542, -0.011396, 0.001031, -0.002683, -0.007624, -0.009318, -0.006436, -0.001552, -0.011221, -0.028696, -0.041084, -0.042016, -0.040203, -0.044466, -0.051808, -0.052518, -0.043417, -0.032423, -0.032810, -0.041661, -0.050081, -0.052858, -0.052876, -0.063332, -0.079570, -0.089959, -0.096716, -0.101982, -0.105016, -0.107001
-0.053710, -0.043327, -0.028031, -0.017850, -0.009484, -0.001637, 0.005673, 0.010586, 0.005636, -0.003814, -0.005362, 0.006161, 0.013608, 0.008057, 0.002322, 0.003612, 0.004110, 0.008068, 0.002083, -0.015465, -0.030949, -0.030547, -0.029409, -0.033287, -0.038682, -0.039024, -0.031263, -0.021618, -0.026750, -0.032994, -0.035691, -0.044157, -0.052114, -0.060215, -0.075515, -0.083466, -0.095327, -0.106548, -0.095535, -0.098521
-0.047254, -0.030528, -0.031638, -0.012849, 0.004841, 0.006983, 0.013694, 0.012846, 0.016138, 0.014432, 0.006226, 0.010452, 0.024727, 0.021013, 0.019524, 0.018961, 0.019665, 0.023419, 0.017911, -0.000232, -0.014022, -0.014730, -0.014596, -0.019038, -0.025992, -0.025129, -0.014481, -0.007814, -0.009829, -0.019165, -0.028011, -0.031947, -0.032988, -0.045983, -0.065714, -0.081242, -0.085685, -0.086933, -0.087880, -0.095017
-0.048876, -0.037640, -0.020639, -0.011257, -0.002252, 0.003293, 0.011320, 0.018432, 0.016599, 0.008416, 0.008857, 0.020046, 0.028597, 0.025368, 0.020894, 0.020093, 0.024371, 0.025767, 0.019986, 0.005394, -0.011722, -0.013006, -0.011459, -0.016446, -0.020481, -0.020572, -0.009700, -0.002004, -0.006115, -0.014821, -0.020690, -0.029257, -0.037335, -0.048699, -0.063009, -0.072149, -0.084081, -0.094853, -0.088026, -0.093326
-0.045599, -0.032489, -0.031909, -0.015132, 0.004367, 0.005761, 0.009753, 0.013737, 0.019610, 0.017209, 0.010670, 0.018033, 0.034446, 0.032759, 0.027419, 0.026150, 0.030680, 0.031041, 0.025393, 0.009631, -0.004301, -0.004888, -0.004235, -0.009507, -0.016274, -0.014927, -0.004799, 0.003089, 0.000024, -0.010745, -0.022641, -0.023781, -0.026245, -0.039501, -0.059650, -0.077316, -0.081899, -0.082664, -0.085848, -0.095630
-0.051719, -0.042516, -0.024727, -0.014881, -0.007962, -0.002778, 0.007253, 0.018564, 0.020549, 0.010749, 0.010767, 0.025842, 0.036605, 0.033660, 0.027884, 0.026999, 0.031138, 0.033807, 0.026322, 0.010483, -0.004168, -0.004458, -0.003391, -0.006828, -0.010159, -0.008629, -0.003788, 0.001726, -0.001831, -0.008376, -0.017421, -0.022119, -0.030860, -0.043583, -0.059511, -0.070434, -0.082378, -0.090458, -0.089146, -0.096370
-0.057793, -0.042621, -0.038750, -0.024348, -0.005081, -0.005268, 0.003206, 0.010779, 0.022189, 0.019209, 0.011044, 0.020911, 0.036400, 0.034032, 0.028483, 0.028491, 0.032888, 0.035226, 0.029869, 0.013138, -0.000218, -0.000329, 0.001627, -0.003569, -0.009235, -0.007042, -0.000417, 0.003729, 0.000901, -0.010109, -0.017801, -0.018479, -0.021562, -0.036566, -0.057392, -0.075915, -0.079832, -0.081904, -0.088661, -0.100886
-0.067526, -0.055309, -0.036025, -0.024537, -0.017287, -0.011391, 0.002241, 0.016031, 0.017569, 0.008104, 0.006919, 0.022812, 0.035649, 0.030569, 0.025295, 0.026158, 0.028120, 0.032186, 0.028803, 0.014355, -0.001453, -0.003540, 0.000052, -0.001443, -0.003511, -0.005267, -0.001147, 0.000925, -0.004403, -0.009193, -0.012170, -0.019738, -0.029104, -0.044019, -0.060224, -0.070235, -0.081397, -0.094197, -0.096617, -0.101341
-0.075428, -0.058510, -0.049621, -0.037169, -0.011246, -0.010479, -0.006396, 0.006504, 0.015749, 0.012822, 0.006671, 0.016924, 0.032039, 0.031328, 0.026985, 0.027980, 0.030920, 0.032808, 0.031615, 0.018644, 0.001923, 0.000053, 0.003103, -0.001638, -0.003420, -0.005222, -0.000500, 0.001731, -0.003233, -0.012132, -0.017811, -0.019364, -0.021427, -0.036729, -0.058064, -0.075307, -0.078393, -0.086764, -0.096422, -0.104641
-0.092209, -0.073958, -0.053538, -0.041213, -0.031588, -0.024989, -0.011064, 0.002184, 0.004486, -0.004082, -0.003293, 0.012688, 0.024729, 0.023376, 0.016493, 0.016586, 0.021829, 0.027456, 0.025131, 0.008832, -0.008327, -0.010361, -0.007077, -0.007777, -0.007766, -0.011707, -0.013024, -0.007518, -0.012126, -0.020229, -0.024097, -0.030067, -0.037289, -0.049421, -0.062891, -0.078169, -0.090757, -0.105824, -0.111811, -0.117777
-0.106289, -0.086122, -0.074620, -0.056172, -0.033359, -0.034200, -0.027585, -0.014357, -0.003523, -0.003173, -0.008568, 0.004560, 0.019812, 0.016370, 0.013293, 0.013211, 0.017172, 0.021237, 0.018588, 0.001698, -0.012144, -0.012347, -0.010917, -0.015273, -0.018952, -0.021509, -0.017029, -0.011164, -0.014443, -0.027155, -0.036630, -0.037423, -0.036926, -0.049532, -0.067352, -0.090672, -0.098946, -0.105902, -0.117845, -0.128940
-0.119843, -0.099551, -0.077375, -0.061466, -0.050643, -0.047894, -0.033252, -0.019023, -0.014146, -0.020387, -0.016146, -0.000891, 0.012049, 0.008154, 0.002012, 0.003114, 0.007794, 0.012077, 0.007700, -0.011028, -0.026025, -0.024384, -0.020351, -0.023849, -0.027654, -0.030259, -0.025713, -0.018766, -0.022065, -0.032647, -0.040511, -0.047076, -0.052786, -0.064445, -0.079572, -0.097204, -0.110174, -0.127382, -0.136959, -0.142453
-0.135881, -0.113617, -0.095958, -0.075519, -0.053636, -0.051158, -0.045442, -0.035110, -0.023830, -0.022073, -0.025648, -0.012523, 0.002373, 0.000009, -0.002147, -0.001985, 0.000331, 0.003723, -0.002529, -0.020264, -0.031099, -0.030751, -0.027355, -0.031960, -0.040301, -0.040107, -0.030883, -0.023717, -0.024764, -0.038626, -0.049844, -0.052232, -0.052227, -0.068758, -0.088853, -0.110131, -0.118940, -0.125623, -0.139267, -0.150404
-0.147234, -0.122517, -0.096928, -0.081168, -0.067667, -0.057299, -0.044252, -0.032443, -0.030321, -0.037537, -0.034091, -0.017946, -0.003430, -0.003912, -0.009807, -0.011897, -0.008144, -0.003054, -0.009226, -0.026037, -0.039774, -0.038967, -0.034867, -0.037244, -0.043301, -0.045683, -0.040373, -0.031648, -0.032516, -0.041435, -0.049670, -0.058216, -0.068111, -0.083771, -0.099720, -0.113914, -0.127152, -0.147164, -0.154335, -0.160429
-0.158273, -0.133270, -0.115417, -0.091514, -0.067230, -0.058936, -0.052044, -0.044265, -0.035939, -0.036139, -0.040261, -0.027272, -0.013186, -0.013542, -0.013861, -0.013039, -0.008873, -0.007381, -0.013661, -0.028296, -0.039834, -0.040777, -0.038878, -0.043689, -0.052118, -0.049598, -0.040967, -0.033006, -0.034674, -0.046396, -0.055599, -0.059550, -0.064319, -0.081374, -0.102252, -0.123352, -0.133457, -0.141361, -0.153732, -0.162842
-0.163985, -0.137959, -0.112560, -0.096319, -0.080136, -0.066032, -0.055239, -0.045154, -0.040025, -0.045969, -0.043949, -0.027366, -0.013946, -0.015938, -0.020205, -0.020363, -0.015098, -0.009180, -0.014372, -0.029472, -0.043361, -0.047060, -0.044514, -0.046874, -0.049002, -0.048900, -0.044376, -0.038649, -0.038640, -0.044392, -0.051377, -0.063703, -0.075619, -0.090800, -0.106410, -0.117386, -0.134056, -0.156076, -0.161317, -0.164352
-0.169328, -0.145232, -0.130536, -0.106804, -0.079563, -0.069719, -0.064499, -0.057419, -0.044854, -0.043388, -0.046350, -0.033538, -0.019578, -0.019911, -0.022262, -0.020217, -0.013577, -0.011777, -0.018283, -0.032001, -0.041685, -0.042622, -0.043564, -0.047741, -0.053702, -0.051118, -0.042753, -0.035469, -0.036813, -0.048548, -0.057071, -0.062776, -0.066666, -0.081272, -0.102125, -0.120857, -0.133965, -0.144835, -0.155386, -0.162296
-0.174195, -0.147149, -0.124193, -0.107844, -0.092439, -0.079965, -0.067838, -0.054727, -0.047991, -0.051406, -0.048628, -0.034037, -0.018244, -0.018863, -0.023209, -0.024508, -0.018643, -0.012967, -0.019073, -0.034525, -0.047431, -0.049212, -0.046173, -0.045697, -0.047429, -0.048119, -0.044775, -0.039874, -0.039932, -0.045759, -0.051624, -0.065144, -0.076265, -0.090425, -0.103435, -0.113760, -0.131897, -0.154919, -0.160239, -0.165805
-0.182561, -0.157658, -0.140669, -0.116638, -0.091799, -0.084003, -0.077296, -0.067061, -0.054018, -0.051473, -0.055342, -0.041953, -0.026010, -0.024838, -0.024730, -0.024400, -0.020117, -0.017292, -0.025480, -0.038031, -0.045972, -0.049371, -0.048599, -0.050784, -0.053543, -0.049795, -0.041647, -0.037489, -0.040859, -0.050387, -0.059536, -0.064606, -0.070159, -0.084596, -0.102330, -0.120388, -0.134318, -0.147666, -0.158329, -0.169645
-0.185359, -0.157558, -0.131731, -0.117546, -0.100084, -0.089652, -0.077197, -0.060971, -0.055224, -0.060475, -0.059241, -0.041946, -0.025511, -0.023695, -0.026481, -0.028896, -0.022794, -0.017925, -0.027362, -0.038360, -0.051689, -0.054773, -0.050138, -0.050791, -0.051434, -0.051241, -0.049361, -0.044589, -0.044599, -0.049575, -0.058380, -0.071201, -0.081492, -0.095400, -0.106904, -0.120585, -0.141445, -0.162992, -0.166815, -0.176471
-0.196082, -0.166958, -0.148924, -0.124362, -0.099268, -0.089224, -0.083847, -0.072393, -0.059968, -0.060778, -0.063197, -0.051714, -0.035522, -0.031973, -0.029103, -0.027414, -0.026238, -0.025612, -0.033610, -0.043246, -0.051063, -0.053604, -0.050845, -0.057947, -0.064302, -0.060114, -0.051503, -0.046237, -0.047593, -0.058820, -0.068816, -0.072418, -0.075854, -0.092028, -0.110957, -0.130835, -0.142765, -0.155778, -0.168639, -0.177908
-0.200300, -0.171321, -0.144331, -0.127095, -0.109905, -0.096309, -0.083512, -0.071281, -0.065010, -0.070142, -0.069848, -0.053726, -0.036597, -0.033447, -0.035503, -0.035330, -0.034016, -0.029435, -0.034186, -0.045152, -0.058465, -0.061283, -0.059673, -0.061314, -0.065187, -0.066523, -0.062808, -0.057136, -0.057148, -0.061304, -0.068774, -0.081868, -0.092308, -0.105321, -0.119247, -0.130699, -0.148070, -0.174184, -0.181326, -0.188999
-0.210978, -0.184754, -0.163399, -0.136324, -0.110831, -0.098993, -0.092695, -0.082435, -0.072148, -0.071655, -0.075002, -0.062925, -0.046288, -0.044239, -0.043506, -0.039959, -0.039265, -0.038697, -0.042598, -0.053324, -0.062799, -0.062659, -0.060035, -0.067710, -0.075688, -0.075506, -0.069265, -0.060182, -0.061386, -0.069283, -0.078029, -0.085454, -0.089592, -0.101379, -0.120476, -0.138711, -0.151708, -0.165282, -0.178453, -0.189651
-0.213823, -0.186222, -0.158513, -0.140422, -0.121378, -0.106957, -0.093131, -0.083539, -0.078151, -0.080226, -0.076733, -0.061965, -0.045421, -0.045943, -0.050881, -0.051294, -0.046266, -0.040289, -0.043641, -0.058750, -0.072077, -0.071710, -0.069723, -0.071302, -0.076957, -0.083019, -0.080095, -0.069503, -0.067251, -0.073316, -0.080551, -0.094333, -0.104093, -0.113464, -0.122254, -0.135871, -0.157887, -0.184133, -0.193983, -0.202171
-0.223648, -0.196956, -0.172755, -0.145972, -0.124713, -0.111993, -0.104786, -0.095984, -0.083477, -0.078793, -0.079990, -0.068091, -0.052115, -0.051193, -0.053526, -0.053014, -0.049966, -0.044288, -0.049525, -0.062762, -0.073232, -0.072006, -0.071171, -0.076765, -0.083899, -0.085304, -0.076928, -0.068839, -0.070375, -0.080444, -0.089973, -0.095778, -0.098567, -0.110535, -0.127832, -0.145316, -0.162515, -0.178885, -0.192816, -0.203364
-0.224755, -0.195540, -0.167739, -0.151826, -0.137850, -0.123829, -0.108701, -0.096483, -0.087211, -0.086128, -0.083904, -0.067125, -0.051459, -0.049813, -0.056470, -0.059854, -0.054588, -0.045736, -0.050423, -0.065929, -0.080947, -0.080407, -0.076883, -0.079984, -0.087131, -0.090107, -0.086714, -0.078370, -0.078387, -0.087787, -0.093730, -0.106154, -0.117145, -0.127281, -0.135589, -0.151872, -0.173965, -0.198997, -0.208778, -0.217297
-0.236412, -0.208303, -0.185907, -0.160665, -0.142679, -0.134650, -0.122917, -0.108172, -0.091731, -0.088118, -0.090214, -0.076740, -0.061674, -0.059377, -0.060620, -0.061344, -0.058130, -0.051690, -0.057795, -0.072844, -0.082404, -0.083815, -0.080383, -0.085699, -0.094873, -0.094414, -0.088375, -0.083196, -0.083701, -0.096367, -0.106204, -0.112475, -0.116630, -0.129931, -0.148242, -0.168045, -0.183552, -0.192899, -0.207597, -0.218212
-0.237287, -0.206152, -0.179789, -0.165392, -0.153328, -0.141575, -0.124247, -0.107707, -0.098006, -0.098279, -0.094075, -0.076129, -0.058939, -0.055824, -0.061223, -0.066850, -0.061029, -0.050364, -0.056406, -0.073349, -0.088519, -0.089802, -0.085554, -0.090894, -0.095761, -0.097451, -0.097298, -0.091280, -0.091221, -0.098982, -0.105068, -0.120914, -0.134946, -0.148633, -0.161257, -0.175263, -0.191837, -0.210962, -0.224154, -0.234785
-0.244892, -0.219822, -0.198629, -0.172720, -0.154475, -0.144890, -0.135139, -0.120020, -0.105250, -0.101039, -0.101008, -0.087588, -0.070567, -0.067107, -0.067615, -0.068201, -0.064559, -0.058672, -0.066341, -0.081607, -0.091026, -0.090784, -0.089355, -0.097357, -0.106002, -0.103992, -0.096717, -0.090707, -0.094152, -0.111377, -0.122097, -0.130857, -0.139237, -0.152123, -0.171285, -0.193055, -0.212451, -0.227079, -0.238595, -0.241892
-0.241288, -0.214481, -0.186985, -0.170045, -0.155410, -0.144508, -0.132037, -0.117802, -0.107757, -0.109608, -0.103491, -0.082870, -0.064308, -0.064005, -0.065106, -0.068039, -0.062985, -0.058956, -0.066495, -0.080766, -0.096005, -0.100514, -0.097092, -0.099911, -0.107930, -0.111969, -0.109479, -0.106917, -0.110140, -0.116409, -0.122318, -0.136523, -0.153991, -0.173235, -0.191881, -0.208770, -0.224630, -0.242501, -0.255860, -0.270545
-0.252568, -0.229471, -0.209208, -0.181703, -0.157178, -0.147318, -0.139416, -0.127420, -0.115907, -0.114291, -0.108872, -0.094413, -0.078117, -0.077561, -0.077469, -0.075725, -0.069815, -0.065316, -0.075619, -0.092149, -0.101235, -0.103101, -0.098071, -0.104493, -0.118503, -0.122364, -0.117171, -0.112725, -0.112465, -0.124729, -0.137475, -0.146765, -0.160303, -0.178019, -0.202943, -0.226301, -0.241417, -0.253458, -0.270105, -0.279430
-0.253365, -0.231416, -0.201769, -0.183800, -0.168858, -0.155590, -0.141248, -0.127344, -0.119347, -0.120530, -0.110964, -0.091796, -0.076677, -0.075151, -0.079195, -0.078767, -0.071936, -0.065997, -0.076345, -0.093900, -0.108021, -0.111656, -0.108413, -0.112178, -0.123620, -0.133219, -0.132920, -0.129961, -0.128081, -0.139346, -0.152586, -0.163616, -0.178862, -0.199189, -0.219177, -0.237676, -0.256572, -0.280020, -0.289513, -0.302499
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh Contact]
version = 1
points =
0.083125, 0.029844, -0.025938, -0.024844, -0.070313, -0.093906, -0.093750, -0.177969, -0.125938, -0.174688, -0.115000, -0.088125, -0.057031, -0.029219, 0.016406
0.191562, 0.169219, 0.124687, 0.104531, 0.061250, 0.037344, 0.016250, -0.051250, -0.045313, -0.053906, -0.015000, -0.011250, 0.020156, 0.066875, 0.076250
0.248281, 0.228437, 0.177344, 0.169062, 0.133125, 0.132656, 0.094844, 0.047187, 0.042500, 0.049062, 0.067187, 0.088281, 0.092344, 0.122812, 0.146875
0.290469, 0.291562, 0.258281, 0.235625, 0.212344, 0.180469, 0.161562, 0.108125, 0.091719, 0.075469, 0.149219, 0.109219, 0.142969, 0.142969, 0.164844
0.290312, 0.320469, 0.270156, 0.252969, 0.236562, 0.205156, 0.201719, 0.160469, 0.156406, 0.136875, 0.192500, 0.184219, 0.200312, 0.202812, 0.206562
0.298125, 0.361250, 0.322031, 0.290469, 0.285937, 0.256562, 0.247031, 0.191250, 0.167500, 0.181094, 0.201406, 0.212812, 0.185469, 0.206875, 0.215781
0.283281, 0.311562, 0.287500, 0.294062, 0.284375, 0.273437, 0.248594, 0.195469, 0.201719, 0.182812, 0.216094, 0.234062, 0.230781, 0.238125, 0.244062
0.254844, 0.279375, 0.269531, 0.291406, 0.273594, 0.275469, 0.252187, 0.195625, 0.198594, 0.177656, 0.217187, 0.225469, 0.217187, 0.229531, 0.220000
0.231406, 0.249531, 0.260312, 0.286094, 0.275000, 0.247031, 0.252969, 0.198281, 0.190937, 0.203750, 0.236406, 0.223437, 0.237812, 0.226250, 0.222031
0.208125, 0.259219, 0.252812, 0.262031, 0.264844, 0.247656, 0.256719, 0.209531, 0.191562, 0.198750, 0.235000, 0.229219, 0.216094, 0.240781, 0.243281
0.183125, 0.238594, 0.252500, 0.269687, 0.275937, 0.267969, 0.264219, 0.219375, 0.220937, 0.208906, 0.268281, 0.239375, 0.233594, 0.251719, 0.245469
0.184531, 0.232031, 0.261719, 0.258437, 0.276875, 0.265781, 0.269375, 0.234375, 0.226094, 0.198906, 0.249219, 0.236562, 0.243750, 0.228906, 0.249219
0.164531, 0.239687, 0.261250, 0.266094, 0.281250, 0.270937, 0.308906, 0.236094, 0.236719, 0.215000, 0.294219, 0.258906, 0.241406, 0.256719, 0.261562
0.184062, 0.245625, 0.241562, 0.264062, 0.299062, 0.306406, 0.291562, 0.251250, 0.262969, 0.226875, 0.290625, 0.265781, 0.252500, 0.267187, 0.260625
0.164844, 0.251875, 0.245000, 0.258281, 0.279219, 0.279062, 0.298750, 0.259219, 0.248906, 0.240156, 0.293125, 0.273750, 0.255312, 0.246406, 0.255156
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 469.96000000000004
min_y = 30.0
max_y = 439.91999999999985
=======================
Extruder max_extrude_ratio=0.598682
Extruder max_extrude_ratio=0.598682
mcu 'mcu': Starting serial connect
webhooks client 4104884200: New connection
webhooks client 4104884200: Client info {'program': 'Moonraker', 'version': 'v0.9.3-0-g71f9e67'}
Loaded MCU 'mcu' 130 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'mcu' config: ADC_MAX=4095 BUS_PINS_i2c1=PB6,PB7 BUS_PINS_i2c1a=PB8,PB9 BUS_PINS_i2c2=PB10,PB11 BUS_PINS_i2c3=PA8,PC9 BUS_PINS_sdio=PC12,PD2,PC8,PC9,PC10,PC11 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 BUS_PINS_spi3a=PC11,PC12,PC10 BUS_PINS_spi4=PE13,PE14,PE12 CLOCK_FREQ=180000000 MCU=stm32f446xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PH0,PH1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu 'rpi': Starting connect
Loaded MCU 'rpi' 119 commands (?-20240727_132503-fv-az659-741 / gcc: (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110 binutils: (GNU Binutils for Raspbian) 2.35.2)
MCU 'rpi' config: ADC_MAX=4095 CLOCK_FREQ=50000000 MCU=linux PCA9685_MAX=4096 PWM_MAX=32768 STATS_SUMSQ_BASE=256
mcu 'toolboard_t0': Starting serial connect
Loaded MCU 'toolboard_t0' 118 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'toolboard_t0' config: ADC_MAX=4095 BUS_PINS_i2c1_PA9_PA10=PA9,PA10 BUS_PINS_i2c1_PB6_PB7=PB6,PB7 BUS_PINS_i2c1_PB8_PB9=PB8,PB9 BUS_PINS_i2c2_PB10_PB11=PB10,PB11 BUS_PINS_i2c2_PB13_PB14=PB13,PB14 BUS_PINS_i2c3_PB3_PB4=PB3,PB4 BUS_PINS_i2c3_PC0_PC1=PC0,PC1 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2_PB2_PB11_PB10=PB2,PB11,PB10 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=64000000 MCU=stm32g0b1xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu 'toolboard_t1': Starting serial connect
Loaded MCU 'toolboard_t1' 118 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'toolboard_t1' config: ADC_MAX=4095 BUS_PINS_i2c1_PA9_PA10=PA9,PA10 BUS_PINS_i2c1_PB6_PB7=PB6,PB7 BUS_PINS_i2c1_PB8_PB9=PB8,PB9 BUS_PINS_i2c2_PB10_PB11=PB10,PB11 BUS_PINS_i2c2_PB13_PB14=PB13,PB14 BUS_PINS_i2c3_PB3_PB4=PB3,PB4 BUS_PINS_i2c3_PC0_PC1=PC0,PC1 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2_PB2_PB11_PB10=PB2,PB11,PB10 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=64000000 MCU=stm32g0b1xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu_temperature 'mcu' nominal base=-273.935743 slope=1315.662651
mcu_temperature 'toolboard_t0' nominal base=-262.897727 slope=1279.687500
mcu_temperature 'toolboard_t1' nominal base=-268.850575 slope=1294.396552
mcu 'beacon': Starting serial connect
Loaded MCU 'beacon' 45 commands (Beacon 2.1.0 / )
MCU 'beacon' config: ADC_MAX=4095 BEACON_ACCEL_BITS=12 BEACON_ACCEL_SCALE_16G=7.81 BEACON_ACCEL_SCALE_2G=0.98 BEACON_ACCEL_SCALE_4G=1.95 BEACON_ACCEL_SCALE_8G=3.91 BEACON_ADC_SMOOTH_COUNT=16 BEACON_HAS_ACCEL=1 BEACON_REV=H CLOCK_FREQ=32000000 MCU=beacon STATS_SUMSQ_BASE=256
Sending MCU 'mcu' printer configuration...
Configured MCU 'mcu' (1024 moves)
Sending MCU 'rpi' printer configuration...
Configured MCU 'rpi' (1024 moves)
Sending MCU 'toolboard_t0' printer configuration...
Configured MCU 'toolboard_t0' (1024 moves)
Sending MCU 'toolboard_t1' printer configuration...
Configured MCU 'toolboard_t1' (1024 moves)
Starting heater checks for heater_bed
bed_mesh: generated points
Index | Tool Adjusted | Probe
0 | (20.0, 7.5) | (20.0, 30.0)
1 | (31.5, 7.5) | (31.5, 30.0)
2 | (43.1, 7.5) | (43.1, 30.0)
3 | (54.6, 7.5) | (54.6, 30.0)
4 | (66.1, 7.5) | (66.1, 30.0)
5 | (77.7, 7.5) | (77.7, 30.0)
6 | (89.2, 7.5) | (89.2, 30.0)
7 | (100.7, 7.5) | (100.7, 30.0)
8 | (112.2, 7.5) | (112.2, 30.0)
9 | (123.8, 7.5) | (123.8, 30.0)
10 | (135.3, 7.5) | (135.3, 30.0)
11 | (146.8, 7.5) | (146.8, 30.0)
12 | (158.4, 7.5) | (158.4, 30.0)
13 | (169.9, 7.5) | (169.9, 30.0)
14 | (181.4, 7.5) | (181.4, 30.0)
15 | (192.9, 7.5) | (192.9, 30.0)
16 | (204.5, 7.5) | (204.5, 30.0)
17 | (216.0, 7.5) | (216.0, 30.0)
18 | (227.5, 7.5) | (227.5, 30.0)
19 | (239.1, 7.5) | (239.1, 30.0)
20 | (250.6, 7.5) | (250.6, 30.0)
21 | (262.1, 7.5) | (262.1, 30.0)
22 | (273.7, 7.5) | (273.7, 30.0)
23 | (285.2, 7.5) | (285.2, 30.0)
24 | (296.7, 7.5) | (296.7, 30.0)
25 | (308.2, 7.5) | (308.2, 30.0)
26 | (319.8, 7.5) | (319.8, 30.0)
27 | (331.3, 7.5) | (331.3, 30.0)
28 | (342.8, 7.5) | (342.8, 30.0)
29 | (354.4, 7.5) | (354.4, 30.0)
30 | (365.9, 7.5) | (365.9, 30.0)
31 | (377.4, 7.5) | (377.4, 30.0)
32 | (389.0, 7.5) | (389.0, 30.0)
33 | (400.5, 7.5) | (400.5, 30.0)
34 | (412.0, 7.5) | (412.0, 30.0)
35 | (423.5, 7.5) | (423.5, 30.0)
36 | (435.1, 7.5) | (435.1, 30.0)
37 | (446.6, 7.5) | (446.6, 30.0)
38 | (458.1, 7.5) | (458.1, 30.0)
39 | (469.7, 7.5) | (469.7, 30.0)
40 | (469.7, 18.6) | (469.7, 41.1)
41 | (458.1, 18.6) | (458.1, 41.1)
42 | (446.6, 18.6) | (446.6, 41.1)
43 | (435.1, 18.6) | (435.1, 41.1)
44 | (423.5, 18.6) | (423.5, 41.1)
45 | (412.0, 18.6) | (412.0, 41.1)
46 | (400.5, 18.6) | (400.5, 41.1)
47 | (389.0, 18.6) | (389.0, 41.1)
48 | (377.4, 18.6) | (377.4, 41.1)
49 | (365.9, 18.6) | (365.9, 41.1)
50 | (354.4, 18.6) | (354.4, 41.1)
51 | (342.8, 18.6) | (342.8, 41.1)
52 | (331.3, 18.6) | (331.3, 41.1)
53 | (319.8, 18.6) | (319.8, 41.1)
54 | (308.2, 18.6) | (308.2, 41.1)
55 | (296.7, 18.6) | (296.7, 41.1)
56 | (285.2, 18.6) | (285.2, 41.1)
57 | (273.7, 18.6) | (273.7, 41.1)
58 | (262.1, 18.6) | (262.1, 41.1)
59 | (250.6, 18.6) | (250.6, 41.1)
60 | (239.1, 18.6) | (239.1, 41.1)
61 | (227.5, 18.6) | (227.5, 41.1)
62 | (216.0, 18.6) | (216.0, 41.1)
63 | (204.5, 18.6) | (204.5, 41.1)
64 | (192.9, 18.6) | (192.9, 41.1)
65 | (181.4, 18.6) | (181.4, 41.1)
66 | (169.9, 18.6) | (169.9, 41.1)
67 | (158.4, 18.6) | (158.4, 41.1)
68 | (146.8, 18.6) | (146.8, 41.1)
69 | (135.3, 18.6) | (135.3, 41.1)
70 | (123.8, 18.6) | (123.8, 41.1)
71 | (112.2, 18.6) | (112.2, 41.1)
72 | (100.7, 18.6) | (100.7, 41.1)
73 | (89.2, 18.6) | (89.2, 41.1)
74 | (77.6, 18.6) | (77.6, 41.1)
75 | (66.1, 18.6) | (66.1, 41.1)
76 | (54.6, 18.6) | (54.6, 41.1)
77 | (43.1, 18.6) | (43.1, 41.1)
78 | (31.5, 18.6) | (31.5, 41.1)
79 | (20.0, 18.6) | (20.0, 41.1)
80 | (20.0, 29.7) | (20.0, 52.2)
81 | (31.5, 29.7) | (31.5, 52.2)
82 | (43.1, 29.7) | (43.1, 52.2)
83 | (54.6, 29.7) | (54.6, 52.2)
84 | (66.1, 29.7) | (66.1, 52.2)
85 | (77.7, 29.7) | (77.7, 52.2)
86 | (89.2, 29.7) | (89.2, 52.2)
87 | (100.7, 29.7) | (100.7, 52.2)
88 | (112.2, 29.7) | (112.2, 52.2)
89 | (123.8, 29.7) | (123.8, 52.2)
90 | (135.3, 29.7) | (135.3, 52.2)
91 | (146.8, 29.7) | (146.8, 52.2)
92 | (158.4, 29.7) | (158.4, 52.2)
93 | (169.9, 29.7) | (169.9, 52.2)
94 | (181.4, 29.7) | (181.4, 52.2)
95 | (192.9, 29.7) | (192.9, 52.2)
96 | (204.5, 29.7) | (204.5, 52.2)
97 | (216.0, 29.7) | (216.0, 52.2)
98 | (227.5, 29.7) | (227.5, 52.2)
99 | (239.1, 29.7) | (239.1, 52.2)
100 | (250.6, 29.7) | (250.6, 52.2)
101 | (262.1, 29.7) | (262.1, 52.2)
102 | (273.7, 29.7) | (273.7, 52.2)
103 | (285.2, 29.7) | (285.2, 52.2)
104 | (296.7, 29.7) | (296.7, 52.2)
105 | (308.2, 29.7) | (308.2, 52.2)
106 | (319.8, 29.7) | (319.8, 52.2)
107 | (331.3, 29.7) | (331.3, 52.2)
108 | (342.8, 29.7) | (342.8, 52.2)
109 | (354.4, 29.7) | (354.4, 52.2)
110 | (365.9, 29.7) | (365.9, 52.2)
111 | (377.4, 29.7) | (377.4, 52.2)
112 | (389.0, 29.7) | (389.0, 52.2)
113 | (400.5, 29.7) | (400.5, 52.2)
114 | (412.0, 29.7) | (412.0, 52.2)
115 | (423.5, 29.7) | (423.5, 52.2)
116 | (435.1, 29.7) | (435.1, 52.2)
117 | (446.6, 29.7) | (446.6, 52.2)
118 | (458.1, 29.7) | (458.1, 52.2)
119 | (469.7, 29.7) | (469.7, 52.2)
120 | (469.7, 40.7) | (469.7, 63.2)
121 | (458.1, 40.7) | (458.1, 63.2)
122 | (446.6, 40.7) | (446.6, 63.2)
123 | (435.1, 40.7) | (435.1, 63.2)
124 | (423.5, 40.7) | (423.5, 63.2)
125 | (412.0, 40.7) | (412.0, 63.2)
126 | (400.5, 40.7) | (400.5, 63.2)
127 | (389.0, 40.7) | (389.0, 63.2)
128 | (377.4, 40.7) | (377.4, 63.2)
129 | (365.9, 40.7) | (365.9, 63.2)
130 | (354.4, 40.7) | (354.4, 63.2)
131 | (342.8, 40.7) | (342.8, 63.2)
132 | (331.3, 40.7) | (331.3, 63.2)
133 | (319.8, 40.7) | (319.8, 63.2)
134 | (308.2, 40.7) | (308.2, 63.2)
135 | (296.7, 40.7) | (296.7, 63.2)
136 | (285.2, 40.7) | (285.2, 63.2)
137 | (273.7, 40.7) | (273.7, 63.2)
138 | (262.1, 40.7) | (262.1, 63.2)
139 | (250.6, 40.7) | (250.6, 63.2)
140 | (239.1, 40.7) | (239.1, 63.2)
141 | (227.5, 40.7) | (227.5, 63.2)
142 | (216.0, 40.7) | (216.0, 63.2)
143 | (204.5, 40.7) | (204.5, 63.2)
144 | (192.9, 40.7) | (192.9, 63.2)
145 | (181.4, 40.7) | (181.4, 63.2)
146 | (169.9, 40.7) | (169.9, 63.2)
147 | (158.4, 40.7) | (158.4, 63.2)
148 | (146.8, 40.7) | (146.8, 63.2)
149 | (135.3, 40.7) | (135.3, 63.2)
150 | (123.8, 40.7) | (123.8, 63.2)
151 | (112.2, 40.7) | (112.2, 63.2)
152 | (100.7, 40.7) | (100.7, 63.2)
153 | (89.2, 40.7) | (89.2, 63.2)
154 | (77.6, 40.7) | (77.6, 63.2)
155 | (66.1, 40.7) | (66.1, 63.2)
156 | (54.6, 40.7) | (54.6, 63.2)
157 | (43.1, 40.7) | (43.1, 63.2)
158 | (31.5, 40.7) | (31.5, 63.2)
159 | (20.0, 40.7) | (20.0, 63.2)
160 | (20.0, 51.8) | (20.0, 74.3)
161 | (31.5, 51.8) | (31.5, 74.3)
162 | (43.1, 51.8) | (43.1, 74.3)
163 | (54.6, 51.8) | (54.6, 74.3)
164 | (66.1, 51.8) | (66.1, 74.3)
165 | (77.7, 51.8) | (77.7, 74.3)
166 | (89.2, 51.8) | (89.2, 74.3)
167 | (100.7, 51.8) | (100.7, 74.3)
168 | (112.2, 51.8) | (112.2, 74.3)
169 | (123.8, 51.8) | (123.8, 74.3)
170 | (135.3, 51.8) | (135.3, 74.3)
171 | (146.8, 51.8) | (146.8, 74.3)
172 | (158.4, 51.8) | (158.4, 74.3)
173 | (169.9, 51.8) | (169.9, 74.3)
174 | (181.4, 51.8) | (181.4, 74.3)
175 | (192.9, 51.8) | (192.9, 74.3)
176 | (204.5, 51.8) | (204.5, 74.3)
177 | (216.0, 51.8) | (216.0, 74.3)
178 | (227.5, 51.8) | (227.5, 74.3)
179 | (239.1, 51.8) | (239.1, 74.3)
180 | (250.6, 51.8) | (250.6, 74.3)
181 | (262.1, 51.8) | (262.1, 74.3)
182 | (273.7, 51.8) | (273.7, 74.3)
183 | (285.2, 51.8) | (285.2, 74.3)
184 | (296.7, 51.8) | (296.7, 74.3)
185 | (308.2, 51.8) | (308.2, 74.3)
186 | (319.8, 51.8) | (319.8, 74.3)
187 | (331.3, 51.8) | (331.3, 74.3)
188 | (342.8, 51.8) | (342.8, 74.3)
189 | (354.4, 51.8) | (354.4, 74.3)
190 | (365.9, 51.8) | (365.9, 74.3)
191 | (377.4, 51.8) | (377.4, 74.3)
192 | (389.0, 51.8) | (389.0, 74.3)
193 | (400.5, 51.8) | (400.5, 74.3)
194 | (412.0, 51.8) | (412.0, 74.3)
195 | (423.5, 51.8) | (423.5, 74.3)
196 | (435.1, 51.8) | (435.1, 74.3)
197 | (446.6, 51.8) | (446.6, 74.3)
198 | (458.1, 51.8) | (458.1, 74.3)
199 | (469.7, 51.8) | (469.7, 74.3)
200 | (469.7, 62.9) | (469.7, 85.4)
201 | (458.1, 62.9) | (458.1, 85.4)
202 | (446.6, 62.9) | (446.6, 85.4)
203 | (435.1, 62.9) | (435.1, 85.4)
204 | (423.5, 62.9) | (423.5, 85.4)
205 | (412.0, 62.9) | (412.0, 85.4)
206 | (400.5, 62.9) | (400.5, 85.4)
207 | (389.0, 62.9) | (389.0, 85.4)
208 | (377.4, 62.9) | (377.4, 85.4)
209 | (365.9, 62.9) | (365.9, 85.4)
210 | (354.4, 62.9) | (354.4, 85.4)
211 | (342.8, 62.9) | (342.8, 85.4)
212 | (331.3, 62.9) | (331.3, 85.4)
213 | (319.8, 62.9) | (319.8, 85.4)
214 | (308.2, 62.9) | (308.2, 85.4)
215 | (296.7, 62.9) | (296.7, 85.4)
216 | (285.2, 62.9) | (285.2, 85.4)
217 | (273.7, 62.9) | (273.7, 85.4)
218 | (262.1, 62.9) | (262.1, 85.4)
219 | (250.6, 62.9) | (250.6, 85.4)
220 | (239.1, 62.9) | (239.1, 85.4)
221 | (227.5, 62.9) | (227.5, 85.4)
222 | (216.0, 62.9) | (216.0, 85.4)
223 | (204.5, 62.9) | (204.5, 85.4)
224 | (192.9, 62.9) | (192.9, 85.4)
225 | (181.4, 62.9) | (181.4, 85.4)
226 | (169.9, 62.9) | (169.9, 85.4)
227 | (158.4, 62.9) | (158.4, 85.4)
228 | (146.8, 62.9) | (146.8, 85.4)
229 | (135.3, 62.9) | (135.3, 85.4)
230 | (123.8, 62.9) | (123.8, 85.4)
231 | (112.2, 62.9) | (112.2, 85.4)
232 | (100.7, 62.9) | (100.7, 85.4)
233 | (89.2, 62.9) | (89.2, 85.4)
234 | (77.6, 62.9) | (77.6, 85.4)
235 | (66.1, 62.9) | (66.1, 85.4)
236 | (54.6, 62.9) | (54.6, 85.4)
237 | (43.1, 62.9) | (43.1, 85.4)
238 | (31.5, 62.9) | (31.5, 85.4)
239 | (20.0, 62.9) | (20.0, 85.4)
240 | (20.0, 74.0) | (20.0, 96.5)
241 | (31.5, 74.0) | (31.5, 96.5)
242 | (43.1, 74.0) | (43.1, 96.5)
243 | (54.6, 74.0) | (54.6, 96.5)
244 | (66.1, 74.0) | (66.1, 96.5)
245 | (77.7, 74.0) | (77.7, 96.5)
246 | (89.2, 74.0) | (89.2, 96.5)
247 | (100.7, 74.0) | (100.7, 96.5)
248 | (112.2, 74.0) | (112.2, 96.5)
249 | (123.8, 74.0) | (123.8, 96.5)
250 | (135.3, 74.0) | (135.3, 96.5)
251 | (146.8, 74.0) | (146.8, 96.5)
252 | (158.4, 74.0) | (158.4, 96.5)
253 | (169.9, 74.0) | (169.9, 96.5)
254 | (181.4, 74.0) | (181.4, 96.5)
255 | (192.9, 74.0) | (192.9, 96.5)
256 | (204.5, 74.0) | (204.5, 96.5)
257 | (216.0, 74.0) | (216.0, 96.5)
258 | (227.5, 74.0) | (227.5, 96.5)
259 | (239.1, 74.0) | (239.1, 96.5)
260 | (250.6, 74.0) | (250.6, 96.5)
261 | (262.1, 74.0) | (262.1, 96.5)
262 | (273.7, 74.0) | (273.7, 96.5)
263 | (285.2, 74.0) | (285.2, 96.5)
264 | (296.7, 74.0) | (296.7, 96.5)
265 | (308.2, 74.0) | (308.2, 96.5)
266 | (319.8, 74.0) | (319.8, 96.5)
267 | (331.3, 74.0) | (331.3, 96.5)
268 | (342.8, 74.0) | (342.8, 96.5)
269 | (354.4, 74.0) | (354.4, 96.5)
270 | (365.9, 74.0) | (365.9, 96.5)
271 | (377.4, 74.0) | (377.4, 96.5)
272 | (389.0, 74.0) | (389.0, 96.5)
273 | (400.5, 74.0) | (400.5, 96.5)
274 | (412.0, 74.0) | (412.0, 96.5)
275 | (423.5, 74.0) | (423.5, 96.5)
276 | (435.1, 74.0) | (435.1, 96.5)
277 | (446.6, 74.0) | (446.6, 96.5)
278 | (458.1, 74.0) | (458.1, 96.5)
279 | (469.7, 74.0) | (469.7, 96.5)
280 | (469.7, 85.1) | (469.7, 107.6)
281 | (458.1, 85.1) | (458.1, 107.6)
282 | (446.6, 85.1) | (446.6, 107.6)
283 | (435.1, 85.1) | (435.1, 107.6)
284 | (423.5, 85.1) | (423.5, 107.6)
285 | (412.0, 85.1) | (412.0, 107.6)
286 | (400.5, 85.1) | (400.5, 107.6)
287 | (389.0, 85.1) | (389.0, 107.6)
288 | (377.4, 85.1) | (377.4, 107.6)
289 | (365.9, 85.1) | (365.9, 107.6)
290 | (354.4, 85.1) | (354.4, 107.6)
291 | (342.8, 85.1) | (342.8, 107.6)
292 | (331.3, 85.1) | (331.3, 107.6)
293 | (319.8, 85.1) | (319.8, 107.6)
294 | (308.2, 85.1) | (308.2, 107.6)
295 | (296.7, 85.1) | (296.7, 107.6)
296 | (285.2, 85.1) | (285.2, 107.6)
297 | (273.7, 85.1) | (273.7, 107.6)
298 | (262.1, 85.1) | (262.1, 107.6)
299 | (250.6, 85.1) | (250.6, 107.6)
300 | (239.1, 85.1) | (239.1, 107.6)
301 | (227.5, 85.1) | (227.5, 107.6)
302 | (216.0, 85.1) | (216.0, 107.6)
303 | (204.5, 85.1) | (204.5, 107.6)
304 | (192.9, 85.1) | (192.9, 107.6)
305 | (181.4, 85.1) | (181.4, 107.6)
306 | (169.9, 85.1) | (169.9, 107.6)
307 | (158.4, 85.1) | (158.4, 107.6)
308 | (146.8, 85.1) | (146.8, 107.6)
309 | (135.3, 85.1) | (135.3, 107.6)
310 | (123.8, 85.1) | (123.8, 107.6)
311 | (112.2, 85.1) | (112.2, 107.6)
312 | (100.7, 85.1) | (100.7, 107.6)
313 | (89.2, 85.1) | (89.2, 107.6)
314 | (77.6, 85.1) | (77.6, 107.6)
315 | (66.1, 85.1) | (66.1, 107.6)
316 | (54.6, 85.1) | (54.6, 107.6)
317 | (43.1, 85.1) | (43.1, 107.6)
318 | (31.5, 85.1) | (31.5, 107.6)
319 | (20.0, 85.1) | (20.0, 107.6)
320 | (20.0, 96.1) | (20.0, 118.6)
321 | (31.5, 96.1) | (31.5, 118.6)
322 | (43.1, 96.1) | (43.1, 118.6)
323 | (54.6, 96.1) | (54.6, 118.6)
324 | (66.1, 96.1) | (66.1, 118.6)
325 | (77.7, 96.1) | (77.7, 118.6)
326 | (89.2, 96.1) | (89.2, 118.6)
327 | (100.7, 96.1) | (100.7, 118.6)
328 | (112.2, 96.1) | (112.2, 118.6)
329 | (123.8, 96.1) | (123.8, 118.6)
330 | (135.3, 96.1) | (135.3, 118.6)
331 | (146.8, 96.1) | (146.8, 118.6)
332 | (158.4, 96.1) | (158.4, 118.6)
333 | (169.9, 96.1) | (169.9, 118.6)
334 | (181.4, 96.1) | (181.4, 118.6)
335 | (192.9, 96.1) | (192.9, 118.6)
336 | (204.5, 96.1) | (204.5, 118.6)
337 | (216.0, 96.1) | (216.0, 118.6)
338 | (227.5, 96.1) | (227.5, 118.6)
339 | (239.1, 96.1) | (239.1, 118.6)
340 | (250.6, 96.1) | (250.6, 118.6)
341 | (262.1, 96.1) | (262.1, 118.6)
342 | (273.7, 96.1) | (273.7, 118.6)
343 | (285.2, 96.1) | (285.2, 118.6)
344 | (296.7, 96.1) | (296.7, 118.6)
345 | (308.2, 96.1) | (308.2, 118.6)
346 | (319.8, 96.1) | (319.8, 118.6)
347 | (331.3, 96.1) | (331.3, 118.6)
348 | (342.8, 96.1) | (342.8, 118.6)
349 | (354.4, 96.1) | (354.4, 118.6)
350 | (365.9, 96.1) | (365.9, 118.6)
351 | (377.4, 96.1) | (377.4, 118.6)
352 | (389.0, 96.1) | (389.0, 118.6)
353 | (400.5, 96.1) | (400.5, 118.6)
354 | (412.0, 96.1) | (412.0, 118.6)
355 | (423.5, 96.1) | (423.5, 118.6)
356 | (435.1, 96.1) | (435.1, 118.6)
357 | (446.6, 96.1) | (446.6, 118.6)
358 | (458.1, 96.1) | (458.1, 118.6)
359 | (469.7, 96.1) | (469.7, 118.6)
360 | (469.7, 107.2) | (469.7, 129.7)
361 | (458.1, 107.2) | (458.1, 129.7)
362 | (446.6, 107.2) | (446.6, 129.7)
363 | (435.1, 107.2) | (435.1, 129.7)
364 | (423.5, 107.2) | (423.5, 129.7)
365 | (412.0, 107.2) | (412.0, 129.7)
366 | (400.5, 107.2) | (400.5, 129.7)
367 | (389.0, 107.2) | (389.0, 129.7)
368 | (377.4, 107.2) | (377.4, 129.7)
369 | (365.9, 107.2) | (365.9, 129.7)
370 | (354.4, 107.2) | (354.4, 129.7)
371 | (342.8, 107.2) | (342.8, 129.7)
372 | (331.3, 107.2) | (331.3, 129.7)
373 | (319.8, 107.2) | (319.8, 129.7)
374 | (308.2, 107.2) | (308.2, 129.7)
375 | (296.7, 107.2) | (296.7, 129.7)
376 | (285.2, 107.2) | (285.2, 129.7)
377 | (273.7, 107.2) | (273.7, 129.7)
378 | (262.1, 107.2) | (262.1, 129.7)
379 | (250.6, 107.2) | (250.6, 129.7)
380 | (239.1, 107.2) | (239.1, 129.7)
381 | (227.5, 107.2) | (227.5, 129.7)
382 | (216.0, 107.2) | (216.0, 129.7)
383 | (204.5, 107.2) | (204.5, 129.7)
384 | (192.9, 107.2) | (192.9, 129.7)
385 | (181.4, 107.2) | (181.4, 129.7)
386 | (169.9, 107.2) | (169.9, 129.7)
387 | (158.4, 107.2) | (158.4, 129.7)
388 | (146.8, 107.2) | (146.8, 129.7)
389 | (135.3, 107.2) | (135.3, 129.7)
390 | (123.8, 107.2) | (123.8, 129.7)
391 | (112.2, 107.2) | (112.2, 129.7)
392 | (100.7, 107.2) | (100.7, 129.7)
393 | (89.2, 107.2) | (89.2, 129.7)
394 | (77.6, 107.2) | (77.6, 129.7)
395 | (66.1, 107.2) | (66.1, 129.7)
396 | (54.6, 107.2) | (54.6, 129.7)
397 | (43.1, 107.2) | (43.1, 129.7)
398 | (31.5, 107.2) | (31.5, 129.7)
399 | (20.0, 107.2) | (20.0, 129.7)
400 | (20.0, 118.3) | (20.0, 140.8)
401 | (31.5, 118.3) | (31.5, 140.8)
402 | (43.1, 118.3) | (43.1, 140.8)
403 | (54.6, 118.3) | (54.6, 140.8)
404 | (66.1, 118.3) | (66.1, 140.8)
405 | (77.7, 118.3) | (77.7, 140.8)
406 | (89.2, 118.3) | (89.2, 140.8)
407 | (100.7, 118.3) | (100.7, 140.8)
408 | (112.2, 118.3) | (112.2, 140.8)
409 | (123.8, 118.3) | (123.8, 140.8)
410 | (135.3, 118.3) | (135.3, 140.8)
411 | (146.8, 118.3) | (146.8, 140.8)
412 | (158.4, 118.3) | (158.4, 140.8)
413 | (169.9, 118.3) | (169.9, 140.8)
414 | (181.4, 118.3) | (181.4, 140.8)
415 | (192.9, 118.3) | (192.9, 140.8)
416 | (204.5, 118.3) | (204.5, 140.8)
417 | (216.0, 118.3) | (216.0, 140.8)
418 | (227.5, 118.3) | (227.5, 140.8)
419 | (239.1, 118.3) | (239.1, 140.8)
420 | (250.6, 118.3) | (250.6, 140.8)
421 | (262.1, 118.3) | (262.1, 140.8)
422 | (273.7, 118.3) | (273.7, 140.8)
423 | (285.2, 118.3) | (285.2, 140.8)
424 | (296.7, 118.3) | (296.7, 140.8)
425 | (308.2, 118.3) | (308.2, 140.8)
426 | (319.8, 118.3) | (319.8, 140.8)
427 | (331.3, 118.3) | (331.3, 140.8)
428 | (342.8, 118.3) | (342.8, 140.8)
429 | (354.4, 118.3) | (354.4, 140.8)
430 | (365.9, 118.3) | (365.9, 140.8)
431 | (377.4, 118.3) | (377.4, 140.8)
432 | (389.0, 118.3) | (389.0, 140.8)
433 | (400.5, 118.3) | (400.5, 140.8)
434 | (412.0, 118.3) | (412.0, 140.8)
435 | (423.5, 118.3) | (423.5, 140.8)
436 | (435.1, 118.3) | (435.1, 140.8)
437 | (446.6, 118.3) | (446.6, 140.8)
438 | (458.1, 118.3) | (458.1, 140.8)
439 | (469.7, 118.3) | (469.7, 140.8)
440 | (469.7, 129.4) | (469.7, 151.9)
441 | (458.1, 129.4) | (458.1, 151.9)
442 | (446.6, 129.4) | (446.6, 151.9)
443 | (435.1, 129.4) | (435.1, 151.9)
444 | (423.5, 129.4) | (423.5, 151.9)
445 | (412.0, 129.4) | (412.0, 151.9)
446 | (400.5, 129.4) | (400.5, 151.9)
447 | (389.0, 129.4) | (389.0, 151.9)
448 | (377.4, 129.4) | (377.4, 151.9)
449 | (365.9, 129.4) | (365.9, 151.9)
450 | (354.4, 129.4) | (354.4, 151.9)
451 | (342.8, 129.4) | (342.8, 151.9)
452 | (331.3, 129.4) | (331.3, 151.9)
453 | (319.8, 129.4) | (319.8, 151.9)
454 | (308.2, 129.4) | (308.2, 151.9)
455 | (296.7, 129.4) | (296.7, 151.9)
456 | (285.2, 129.4) | (285.2, 151.9)
457 | (273.7, 129.4) | (273.7, 151.9)
458 | (262.1, 129.4) | (262.1, 151.9)
459 | (250.6, 129.4) | (250.6, 151.9)
460 | (239.1, 129.4) | (239.1, 151.9)
461 | (227.5, 129.4) | (227.5, 151.9)
462 | (216.0, 129.4) | (216.0, 151.9)
463 | (204.5, 129.4) | (204.5, 151.9)
464 | (192.9, 129.4) | (192.9, 151.9)
465 | (181.4, 129.4) | (181.4, 151.9)
466 | (169.9, 129.4) | (169.9, 151.9)
467 | (158.4, 129.4) | (158.4, 151.9)
468 | (146.8, 129.4) | (146.8, 151.9)
469 | (135.3, 129.4) | (135.3, 151.9)
470 | (123.8, 129.4) | (123.8, 151.9)
471 | (112.2, 129.4) | (112.2, 151.9)
472 | (100.7, 129.4) | (100.7, 151.9)
473 | (89.2, 129.4) | (89.2, 151.9)
474 | (77.6, 129.4) | (77.6, 151.9)
475 | (66.1, 129.4) | (66.1, 151.9)
476 | (54.6, 129.4) | (54.6, 151.9)
477 | (43.1, 129.4) | (43.1, 151.9)
478 | (31.5, 129.4) | (31.5, 151.9)
479 | (20.0, 129.4) | (20.0, 151.9)
480 | (20.0, 140.5) | (20.0, 163.0)
481 | (31.5, 140.5) | (31.5, 163.0)
482 | (43.1, 140.5) | (43.1, 163.0)
483 | (54.6, 140.5) | (54.6, 163.0)
484 | (66.1, 140.5) | (66.1, 163.0)
485 | (77.7, 140.5) | (77.7, 163.0)
486 | (89.2, 140.5) | (89.2, 163.0)
487 | (100.7, 140.5) | (100.7, 163.0)
488 | (112.2, 140.5) | (112.2, 163.0)
489 | (123.8, 140.5) | (123.8, 163.0)
490 | (135.3, 140.5) | (135.3, 163.0)
491 | (146.8, 140.5) | (146.8, 163.0)
492 | (158.4, 140.5) | (158.4, 163.0)
493 | (169.9, 140.5) | (169.9, 163.0)
494 | (181.4, 140.5) | (181.4, 163.0)
495 | (192.9, 140.5) | (192.9, 163.0)
496 | (204.5, 140.5) | (204.5, 163.0)
497 | (216.0, 140.5) | (216.0, 163.0)
498 | (227.5, 140.5) | (227.5, 163.0)
499 | (239.1, 140.5) | (239.1, 163.0)
500 | (250.6, 140.5) | (250.6, 163.0)
501 | (262.1, 140.5) | (262.1, 163.0)
502 | (273.7, 140.5) | (273.7, 163.0)
503 | (285.2, 140.5) | (285.2, 163.0)
504 | (296.7, 140.5) | (296.7, 163.0)
505 | (308.2, 140.5) | (308.2, 163.0)
506 | (319.8, 140.5) | (319.8, 163.0)
507 | (331.3, 140.5) | (331.3, 163.0)
508 | (342.8, 140.5) | (342.8, 163.0)
509 | (354.4, 140.5) | (354.4, 163.0)
510 | (365.9, 140.5) | (365.9, 163.0)
511 | (377.4, 140.5) | (377.4, 163.0)
512 | (389.0, 140.5) | (389.0, 163.0)
513 | (400.5, 140.5) | (400.5, 163.0)
514 | (412.0, 140.5) | (412.0, 163.0)
515 | (423.5, 140.5) | (423.5, 163.0)
516 | (435.1, 140.5) | (435.1, 163.0)
517 | (446.6, 140.5) | (446.6, 163.0)
518 | (458.1, 140.5) | (458.1, 163.0)
519 | (469.7, 140.5) | (469.7, 163.0)
520 | (469.7, 151.5) | (469.7, 174.0)
521 | (458.1, 151.5) | (458.1, 174.0)
522 | (446.6, 151.5) | (446.6, 174.0)
523 | (435.1, 151.5) | (435.1, 174.0)
524 | (423.5, 151.5) | (423.5, 174.0)
525 | (412.0, 151.5) | (412.0, 174.0)
526 | (400.5, 151.5) | (400.5, 174.0)
527 | (389.0, 151.5) | (389.0, 174.0)
528 | (377.4, 151.5) | (377.4, 174.0)
529 | (365.9, 151.5) | (365.9, 174.0)
530 | (354.4, 151.5) | (354.4, 174.0)
531 | (342.8, 151.5) | (342.8, 174.0)
532 | (331.3, 151.5) | (331.3, 174.0)
533 | (319.8, 151.5) | (319.8, 174.0)
534 | (308.2, 151.5) | (308.2, 174.0)
535 | (296.7, 151.5) | (296.7, 174.0)
536 | (285.2, 151.5) | (285.2, 174.0)
537 | (273.7, 151.5) | (273.7, 174.0)
538 | (262.1, 151.5) | (262.1, 174.0)
539 | (250.6, 151.5) | (250.6, 174.0)
540 | (239.1, 151.5) | (239.1, 174.0)
541 | (227.5, 151.5) | (227.5, 174.0)
542 | (216.0, 151.5) | (216.0, 174.0)
543 | (204.5, 151.5) | (204.5, 174.0)
544 | (192.9, 151.5) | (192.9, 174.0)
545 | (181.4, 151.5) | (181.4, 174.0)
546 | (169.9, 151.5) | (169.9, 174.0)
547 | (158.4, 151.5) | (158.4, 174.0)
548 | (146.8, 151.5) | (146.8, 174.0)
549 | (135.3, 151.5) | (135.3, 174.0)
550 | (123.8, 151.5) | (123.8, 174.0)
551 | (112.2, 151.5) | (112.2, 174.0)
552 | (100.7, 151.5) | (100.7, 174.0)
553 | (89.2, 151.5) | (89.2, 174.0)
554 | (77.6, 151.5) | (77.6, 174.0)
555 | (66.1, 151.5) | (66.1, 174.0)
556 | (54.6, 151.5) | (54.6, 174.0)
557 | (43.1, 151.5) | (43.1, 174.0)
558 | (31.5, 151.5) | (31.5, 174.0)
559 | (20.0, 151.5) | (20.0, 174.0)
560 | (20.0, 162.6) | (20.0, 185.1)
561 | (31.5, 162.6) | (31.5, 185.1)
562 | (43.1, 162.6) | (43.1, 185.1)
563 | (54.6, 162.6) | (54.6, 185.1)
564 | (66.1, 162.6) | (66.1, 185.1)
565 | (77.7, 162.6) | (77.7, 185.1)
566 | (89.2, 162.6) | (89.2, 185.1)
567 | (100.7, 162.6) | (100.7, 185.1)
568 | (112.2, 162.6) | (112.2, 185.1)
569 | (123.8, 162.6) | (123.8, 185.1)
570 | (135.3, 162.6) | (135.3, 185.1)
571 | (146.8, 162.6) | (146.8, 185.1)
572 | (158.4, 162.6) | (158.4, 185.1)
573 | (169.9, 162.6) | (169.9, 185.1)
574 | (181.4, 162.6) | (181.4, 185.1)
575 | (192.9, 162.6) | (192.9, 185.1)
576 | (204.5, 162.6) | (204.5, 185.1)
577 | (216.0, 162.6) | (216.0, 185.1)
578 | (227.5, 162.6) | (227.5, 185.1)
579 | (239.1, 162.6) | (239.1, 185.1)
580 | (250.6, 162.6) | (250.6, 185.1)
581 | (262.1, 162.6) | (262.1, 185.1)
582 | (273.7, 162.6) | (273.7, 185.1)
583 | (285.2, 162.6) | (285.2, 185.1)
584 | (296.7, 162.6) | (296.7, 185.1)
585 | (308.2, 162.6) | (308.2, 185.1)
586 | (319.8, 162.6) | (319.8, 185.1)
587 | (331.3, 162.6) | (331.3, 185.1)
588 | (342.8, 162.6) | (342.8, 185.1)
589 | (354.4, 162.6) | (354.4, 185.1)
590 | (365.9, 162.6) | (365.9, 185.1)
591 | (377.4, 162.6) | (377.4, 185.1)
592 | (389.0, 162.6) | (389.0, 185.1)
593 | (400.5, 162.6) | (400.5, 185.1)
594 | (412.0, 162.6) | (412.0, 185.1)
595 | (423.5, 162.6) | (423.5, 185.1)
596 | (435.1, 162.6) | (435.1, 185.1)
597 | (446.6, 162.6) | (446.6, 185.1)
598 | (458.1, 162.6) | (458.1, 185.1)
599 | (469.7, 162.6) | (469.7, 185.1)
600 | (469.7, 173.7) | (469.7, 196.2)
601 | (458.1, 173.7) | (458.1, 196.2)
602 | (446.6, 173.7) | (446.6, 196.2)
603 | (435.1, 173.7) | (435.1, 196.2)
604 | (423.5, 173.7) | (423.5, 196.2)
605 | (412.0, 173.7) | (412.0, 196.2)
606 | (400.5, 173.7) | (400.5, 196.2)
607 | (389.0, 173.7) | (389.0, 196.2)
608 | (377.4, 173.7) | (377.4, 196.2)
609 | (365.9, 173.7) | (365.9, 196.2)
610 | (354.4, 173.7) | (354.4, 196.2)
611 | (342.8, 173.7) | (342.8, 196.2)
612 | (331.3, 173.7) | (331.3, 196.2)
613 | (319.8, 173.7) | (319.8, 196.2)
614 | (308.2, 173.7) | (308.2, 196.2)
615 | (296.7, 173.7) | (296.7, 196.2)
616 | (285.2, 173.7) | (285.2, 196.2)
617 | (273.7, 173.7) | (273.7, 196.2)
618 | (262.1, 173.7) | (262.1, 196.2)
619 | (250.6, 173.7) | (250.6, 196.2)
620 | (239.1, 173.7) | (239.1, 196.2)
621 | (227.5, 173.7) | (227.5, 196.2)
622 | (216.0, 173.7) | (216.0, 196.2)
623 | (204.5, 173.7) | (204.5, 196.2)
624 | (192.9, 173.7) | (192.9, 196.2)
625 | (181.4, 173.7) | (181.4, 196.2)
626 | (169.9, 173.7) | (169.9, 196.2)
627 | (158.4, 173.7) | (158.4, 196.2)
628 | (146.8, 173.7) | (146.8, 196.2)
629 | (135.3, 173.7) | (135.3, 196.2)
630 | (123.8, 173.7) | (123.8, 196.2)
631 | (112.2, 173.7) | (112.2, 196.2)
632 | (100.7, 173.7) | (100.7, 196.2)
633 | (89.2, 173.7) | (89.2, 196.2)
634 | (77.6, 173.7) | (77.6, 196.2)
635 | (66.1, 173.7) | (66.1, 196.2)
636 | (54.6, 173.7) | (54.6, 196.2)
637 | (43.1, 173.7) | (43.1, 196.2)
638 | (31.5, 173.7) | (31.5, 196.2)
639 | (20.0, 173.7) | (20.0, 196.2)
640 | (20.0, 184.8) | (20.0, 207.3)
641 | (31.5, 184.8) | (31.5, 207.3)
642 | (43.1, 184.8) | (43.1, 207.3)
643 | (54.6, 184.8) | (54.6, 207.3)
644 | (66.1, 184.8) | (66.1, 207.3)
645 | (77.7, 184.8) | (77.7, 207.3)
646 | (89.2, 184.8) | (89.2, 207.3)
647 | (100.7, 184.8) | (100.7, 207.3)
648 | (112.2, 184.8) | (112.2, 207.3)
649 | (123.8, 184.8) | (123.8, 207.3)
650 | (135.3, 184.8) | (135.3, 207.3)
651 | (146.8, 184.8) | (146.8, 207.3)
652 | (158.4, 184.8) | (158.4, 207.3)
653 | (169.9, 184.8) | (169.9, 207.3)
654 | (181.4, 184.8) | (181.4, 207.3)
655 | (192.9, 184.8) | (192.9, 207.3)
656 | (204.5, 184.8) | (204.5, 207.3)
657 | (216.0, 184.8) | (216.0, 207.3)
658 | (227.5, 184.8) | (227.5, 207.3)
659 | (239.1, 184.8) | (239.1, 207.3)
660 | (250.6, 184.8) | (250.6, 207.3)
661 | (262.1, 184.8) | (262.1, 207.3)
662 | (273.7, 184.8) | (273.7, 207.3)
663 | (285.2, 184.8) | (285.2, 207.3)
664 | (296.7, 184.8) | (296.7, 207.3)
665 | (308.2, 184.8) | (308.2, 207.3)
666 | (319.8, 184.8) | (319.8, 207.3)
667 | (331.3, 184.8) | (331.3, 207.3)
668 | (342.8, 184.8) | (342.8, 207.3)
669 | (354.4, 184.8) | (354.4, 207.3)
670 | (365.9, 184.8) | (365.9, 207.3)
671 | (377.4, 184.8) | (377.4, 207.3)
672 | (389.0, 184.8) | (389.0, 207.3)
673 | (400.5, 184.8) | (400.5, 207.3)
674 | (412.0, 184.8) | (412.0, 207.3)
675 | (423.5, 184.8) | (423.5, 207.3)
676 | (435.1, 184.8) | (435.1, 207.3)
677 | (446.6, 184.8) | (446.6, 207.3)
678 | (458.1, 184.8) | (458.1, 207.3)
679 | (469.7, 184.8) | (469.7, 207.3)
680 | (469.7, 195.9) | (469.7, 218.4)
681 | (458.1, 195.9) | (458.1, 218.4)
682 | (446.6, 195.9) | (446.6, 218.4)
683 | (435.1, 195.9) | (435.1, 218.4)
684 | (423.5, 195.9) | (423.5, 218.4)
685 | (412.0, 195.9) | (412.0, 218.4)
686 | (400.5, 195.9) | (400.5, 218.4)
687 | (389.0, 195.9) | (389.0, 218.4)
688 | (377.4, 195.9) | (377.4, 218.4)
689 | (365.9, 195.9) | (365.9, 218.4)
690 | (354.4, 195.9) | (354.4, 218.4)
691 | (342.8, 195.9) | (342.8, 218.4)
692 | (331.3, 195.9) | (331.3, 218.4)
693 | (319.8, 195.9) | (319.8, 218.4)
694 | (308.2, 195.9) | (308.2, 218.4)
695 | (296.7, 195.9) | (296.7, 218.4)
696 | (285.2, 195.9) | (285.2, 218.4)
697 | (273.7, 195.9) | (273.7, 218.4)
698 | (262.1, 195.9) | (262.1, 218.4)
699 | (250.6, 195.9) | (250.6, 218.4)
700 | (239.1, 195.9) | (239.1, 218.4)
701 | (227.5, 195.9) | (227.5, 218.4)
702 | (216.0, 195.9) | (216.0, 218.4)
703 | (204.5, 195.9) | (204.5, 218.4)
704 | (192.9, 195.9) | (192.9, 218.4)
705 | (181.4, 195.9) | (181.4, 218.4)
706 | (169.9, 195.9) | (169.9, 218.4)
707 | (158.4, 195.9) | (158.4, 218.4)
708 | (146.8, 195.9) | (146.8, 218.4)
709 | (135.3, 195.9) | (135.3, 218.4)
710 | (123.8, 195.9) | (123.8, 218.4)
711 | (112.2, 195.9) | (112.2, 218.4)
712 | (100.7, 195.9) | (100.7, 218.4)
713 | (89.2, 195.9) | (89.2, 218.4)
714 | (77.6, 195.9) | (77.6, 218.4)
715 | (66.1, 195.9) | (66.1, 218.4)
716 | (54.6, 195.9) | (54.6, 218.4)
717 | (43.1, 195.9) | (43.1, 218.4)
718 | (31.5, 195.9) | (31.5, 218.4)
719 | (20.0, 195.9) | (20.0, 218.4)
720 | (20.0, 206.9) | (20.0, 229.4)
721 | (31.5, 206.9) | (31.5, 229.4)
722 | (43.1, 206.9) | (43.1, 229.4)
723 | (54.6, 206.9) | (54.6, 229.4)
724 | (66.1, 206.9) | (66.1, 229.4)
725 | (77.7, 206.9) | (77.7, 229.4)
726 | (89.2, 206.9) | (89.2, 229.4)
727 | (100.7, 206.9) | (100.7, 229.4)
728 | (112.2, 206.9) | (112.2, 229.4)
729 | (123.8, 206.9) | (123.8, 229.4)
730 | (135.3, 206.9) | (135.3, 229.4)
731 | (146.8, 206.9) | (146.8, 229.4)
732 | (158.4, 206.9) | (158.4, 229.4)
733 | (169.9, 206.9) | (169.9, 229.4)
734 | (181.4, 206.9) | (181.4, 229.4)
735 | (192.9, 206.9) | (192.9, 229.4)
736 | (204.5, 206.9) | (204.5, 229.4)
737 | (216.0, 206.9) | (216.0, 229.4)
738 | (227.5, 206.9) | (227.5, 229.4)
739 | (239.1, 206.9) | (239.1, 229.4)
740 | (250.6, 206.9) | (250.6, 229.4)
741 | (262.1, 206.9) | (262.1, 229.4)
742 | (273.7, 206.9) | (273.7, 229.4)
743 | (285.2, 206.9) | (285.2, 229.4)
744 | (296.7, 206.9) | (296.7, 229.4)
745 | (308.2, 206.9) | (308.2, 229.4)
746 | (319.8, 206.9) | (319.8, 229.4)
747 | (331.3, 206.9) | (331.3, 229.4)
748 | (342.8, 206.9) | (342.8, 229.4)
749 | (354.4, 206.9) | (354.4, 229.4)
750 | (365.9, 206.9) | (365.9, 229.4)
751 | (377.4, 206.9) | (377.4, 229.4)
752 | (389.0, 206.9) | (389.0, 229.4)
753 | (400.5, 206.9) | (400.5, 229.4)
754 | (412.0, 206.9) | (412.0, 229.4)
755 | (423.5, 206.9) | (423.5, 229.4)
756 | (435.1, 206.9) | (435.1, 229.4)
757 | (446.6, 206.9) | (446.6, 229.4)
758 | (458.1, 206.9) | (458.1, 229.4)
759 | (469.7, 206.9) | (469.7, 229.4)
760 | (469.7, 218.0) | (469.7, 240.5)
761 | (458.1, 218.0) | (458.1, 240.5)
762 | (446.6, 218.0) | (446.6, 240.5)
763 | (435.1, 218.0) | (435.1, 240.5)
764 | (423.5, 218.0) | (423.5, 240.5)
765 | (412.0, 218.0) | (412.0, 240.5)
766 | (400.5, 218.0) | (400.5, 240.5)
767 | (389.0, 218.0) | (389.0, 240.5)
768 | (377.4, 218.0) | (377.4, 240.5)
769 | (365.9, 218.0) | (365.9, 240.5)
770 | (354.4, 218.0) | (354.4, 240.5)
771 | (342.8, 218.0) | (342.8, 240.5)
772 | (331.3, 218.0) | (331.3, 240.5)
773 | (319.8, 218.0) | (319.8, 240.5)
774 | (308.2, 218.0) | (308.2, 240.5)
775 | (296.7, 218.0) | (296.7, 240.5)
776 | (285.2, 218.0) | (285.2, 240.5)
777 | (273.7, 218.0) | (273.7, 240.5)
778 | (262.1, 218.0) | (262.1, 240.5)
779 | (250.6, 218.0) | (250.6, 240.5)
780 | (239.1, 218.0) | (239.1, 240.5)
781 | (227.5, 218.0) | (227.5, 240.5)
782 | (216.0, 218.0) | (216.0, 240.5)
783 | (204.5, 218.0) | (204.5, 240.5)
784 | (192.9, 218.0) | (192.9, 240.5)
785 | (181.4, 218.0) | (181.4, 240.5)
786 | (169.9, 218.0) | (169.9, 240.5)
787 | (158.4, 218.0) | (158.4, 240.5)
788 | (146.8, 218.0) | (146.8, 240.5)
789 | (135.3, 218.0) | (135.3, 240.5)
790 | (123.8, 218.0) | (123.8, 240.5)
791 | (112.2, 218.0) | (112.2, 240.5)
792 | (100.7, 218.0) | (100.7, 240.5)
793 | (89.2, 218.0) | (89.2, 240.5)
794 | (77.6, 218.0) | (77.6, 240.5)
795 | (66.1, 218.0) | (66.1, 240.5)
796 | (54.6, 218.0) | (54.6, 240.5)
797 | (43.1, 218.0) | (43.1, 240.5)
798 | (31.5, 218.0) | (31.5, 240.5)
799 | (20.0, 218.0) | (20.0, 240.5)
800 | (20.0, 229.1) | (20.0, 251.6)
801 | (31.5, 229.1) | (31.5, 251.6)
802 | (43.1, 229.1) | (43.1, 251.6)
803 | (54.6, 229.1) | (54.6, 251.6)
804 | (66.1, 229.1) | (66.1, 251.6)
805 | (77.7, 229.1) | (77.7, 251.6)
806 | (89.2, 229.1) | (89.2, 251.6)
807 | (100.7, 229.1) | (100.7, 251.6)
808 | (112.2, 229.1) | (112.2, 251.6)
809 | (123.8, 229.1) | (123.8, 251.6)
810 | (135.3, 229.1) | (135.3, 251.6)
811 | (146.8, 229.1) | (146.8, 251.6)
812 | (158.4, 229.1) | (158.4, 251.6)
813 | (169.9, 229.1) | (169.9, 251.6)
814 | (181.4, 229.1) | (181.4, 251.6)
815 | (192.9, 229.1) | (192.9, 251.6)
816 | (204.5, 229.1) | (204.5, 251.6)
817 | (216.0, 229.1) | (216.0, 251.6)
818 | (227.5, 229.1) | (227.5, 251.6)
819 | (239.1, 229.1) | (239.1, 251.6)
820 | (250.6, 229.1) | (250.6, 251.6)
821 | (262.1, 229.1) | (262.1, 251.6)
822 | (273.7, 229.1) | (273.7, 251.6)
823 | (285.2, 229.1) | (285.2, 251.6)
824 | (296.7, 229.1) | (296.7, 251.6)
825 | (308.2, 229.1) | (308.2, 251.6)
826 | (319.8, 229.1) | (319.8, 251.6)
827 | (331.3, 229.1) | (331.3, 251.6)
828 | (342.8, 229.1) | (342.8, 251.6)
829 | (354.4, 229.1) | (354.4, 251.6)
830 | (365.9, 229.1) | (365.9, 251.6)
831 | (377.4, 229.1) | (377.4, 251.6)
832 | (389.0, 229.1) | (389.0, 251.6)
833 | (400.5, 229.1) | (400.5, 251.6)
834 | (412.0, 229.1) | (412.0, 251.6)
835 | (423.5, 229.1) | (423.5, 251.6)
836 | (435.1, 229.1) | (435.1, 251.6)
837 | (446.6, 229.1) | (446.6, 251.6)
838 | (458.1, 229.1) | (458.1, 251.6)
839 | (469.7, 229.1) | (469.7, 251.6)
840 | (469.7, 240.2) | (469.7, 262.7)
841 | (458.1, 240.2) | (458.1, 262.7)
842 | (446.6, 240.2) | (446.6, 262.7)
843 | (435.1, 240.2) | (435.1, 262.7)
844 | (423.5, 240.2) | (423.5, 262.7)
845 | (412.0, 240.2) | (412.0, 262.7)
846 | (400.5, 240.2) | (400.5, 262.7)
847 | (389.0, 240.2) | (389.0, 262.7)
848 | (377.4, 240.2) | (377.4, 262.7)
849 | (365.9, 240.2) | (365.9, 262.7)
850 | (354.4, 240.2) | (354.4, 262.7)
851 | (342.8, 240.2) | (342.8, 262.7)
852 | (331.3, 240.2) | (331.3, 262.7)
853 | (319.8, 240.2) | (319.8, 262.7)
854 | (308.2, 240.2) | (308.2, 262.7)
855 | (296.7, 240.2) | (296.7, 262.7)
856 | (285.2, 240.2) | (285.2, 262.7)
857 | (273.7, 240.2) | (273.7, 262.7)
858 | (262.1, 240.2) | (262.1, 262.7)
859 | (250.6, 240.2) | (250.6, 262.7)
860 | (239.1, 240.2) | (239.1, 262.7)
861 | (227.5, 240.2) | (227.5, 262.7)
862 | (216.0, 240.2) | (216.0, 262.7)
863 | (204.5, 240.2) | (204.5, 262.7)
864 | (192.9, 240.2) | (192.9, 262.7)
865 | (181.4, 240.2) | (181.4, 262.7)
866 | (169.9, 240.2) | (169.9, 262.7)
867 | (158.4, 240.2) | (158.4, 262.7)
868 | (146.8, 240.2) | (146.8, 262.7)
869 | (135.3, 240.2) | (135.3, 262.7)
870 | (123.8, 240.2) | (123.8, 262.7)
871 | (112.2, 240.2) | (112.2, 262.7)
872 | (100.7, 240.2) | (100.7, 262.7)
873 | (89.2, 240.2) | (89.2, 262.7)
874 | (77.6, 240.2) | (77.6, 262.7)
875 | (66.1, 240.2) | (66.1, 262.7)
876 | (54.6, 240.2) | (54.6, 262.7)
877 | (43.1, 240.2) | (43.1, 262.7)
878 | (31.5, 240.2) | (31.5, 262.7)
879 | (20.0, 240.2) | (20.0, 262.7)
880 | (20.0, 251.3) | (20.0, 273.8)
881 | (31.5, 251.3) | (31.5, 273.8)
882 | (43.1, 251.3) | (43.1, 273.8)
883 | (54.6, 251.3) | (54.6, 273.8)
884 | (66.1, 251.3) | (66.1, 273.8)
885 | (77.7, 251.3) | (77.7, 273.8)
886 | (89.2, 251.3) | (89.2, 273.8)
887 | (100.7, 251.3) | (100.7, 273.8)
888 | (112.2, 251.3) | (112.2, 273.8)
889 | (123.8, 251.3) | (123.8, 273.8)
890 | (135.3, 251.3) | (135.3, 273.8)
891 | (146.8, 251.3) | (146.8, 273.8)
892 | (158.4, 251.3) | (158.4, 273.8)
893 | (169.9, 251.3) | (169.9, 273.8)
894 | (181.4, 251.3) | (181.4, 273.8)
895 | (192.9, 251.3) | (192.9, 273.8)
896 | (204.5, 251.3) | (204.5, 273.8)
897 | (216.0, 251.3) | (216.0, 273.8)
898 | (227.5, 251.3) | (227.5, 273.8)
899 | (239.1, 251.3) | (239.1, 273.8)
900 | (250.6, 251.3) | (250.6, 273.8)
901 | (262.1, 251.3) | (262.1, 273.8)
902 | (273.7, 251.3) | (273.7, 273.8)
903 | (285.2, 251.3) | (285.2, 273.8)
904 | (296.7, 251.3) | (296.7, 273.8)
905 | (308.2, 251.3) | (308.2, 273.8)
906 | (319.8, 251.3) | (319.8, 273.8)
907 | (331.3, 251.3) | (331.3, 273.8)
908 | (342.8, 251.3) | (342.8, 273.8)
909 | (354.4, 251.3) | (354.4, 273.8)
910 | (365.9, 251.3) | (365.9, 273.8)
911 | (377.4, 251.3) | (377.4, 273.8)
912 | (389.0, 251.3) | (389.0, 273.8)
913 | (400.5, 251.3) | (400.5, 273.8)
914 | (412.0, 251.3) | (412.0, 273.8)
915 | (423.5, 251.3) | (423.5, 273.8)
916 | (435.1, 251.3) | (435.1, 273.8)
917 | (446.6, 251.3) | (446.6, 273.8)
918 | (458.1, 251.3) | (458.1, 273.8)
919 | (469.7, 251.3) | (469.7, 273.8)
920 | (469.7, 262.3) | (469.7, 284.8)
921 | (458.1, 262.3) | (458.1, 284.8)
922 | (446.6, 262.3) | (446.6, 284.8)
923 | (435.1, 262.3) | (435.1, 284.8)
924 | (423.5, 262.3) | (423.5, 284.8)
925 | (412.0, 262.3) | (412.0, 284.8)
926 | (400.5, 262.3) | (400.5, 284.8)
927 | (389.0, 262.3) | (389.0, 284.8)
928 | (377.4, 262.3) | (377.4, 284.8)
929 | (365.9, 262.3) | (365.9, 284.8)
930 | (354.4, 262.3) | (354.4, 284.8)
931 | (342.8, 262.3) | (342.8, 284.8)
932 | (331.3, 262.3) | (331.3, 284.8)
933 | (319.8, 262.3) | (319.8, 284.8)
934 | (308.2, 262.3) | (308.2, 284.8)
935 | (296.7, 262.3) | (296.7, 284.8)
936 | (285.2, 262.3) | (285.2, 284.8)
937 | (273.7, 262.3) | (273.7, 284.8)
938 | (262.1, 262.3) | (262.1, 284.8)
939 | (250.6, 262.3) | (250.6, 284.8)
940 | (239.1, 262.3) | (239.1, 284.8)
941 | (227.5, 262.3) | (227.5, 284.8)
942 | (216.0, 262.3) | (216.0, 284.8)
943 | (204.5, 262.3) | (204.5, 284.8)
944 | (192.9, 262.3) | (192.9, 284.8)
945 | (181.4, 262.3) | (181.4, 284.8)
946 | (169.9, 262.3) | (169.9, 284.8)
947 | (158.4, 262.3) | (158.4, 284.8)
948 | (146.8, 262.3) | (146.8, 284.8)
949 | (135.3, 262.3) | (135.3, 284.8)
950 | (123.8, 262.3) | (123.8, 284.8)
951 | (112.2, 262.3) | (112.2, 284.8)
952 | (100.7, 262.3) | (100.7, 284.8)
953 | (89.2, 262.3) | (89.2, 284.8)
954 | (77.6, 262.3) | (77.6, 284.8)
955 | (66.1, 262.3) | (66.1, 284.8)
956 | (54.6, 262.3) | (54.6, 284.8)
957 | (43.1, 262.3) | (43.1, 284.8)
958 | (31.5, 262.3) | (31.5, 284.8)
959 | (20.0, 262.3) | (20.0, 284.8)
960 | (20.0, 273.4) | (20.0, 295.9)
961 | (31.5, 273.4) | (31.5, 295.9)
962 | (43.1, 273.4) | (43.1, 295.9)
963 | (54.6, 273.4) | (54.6, 295.9)
964 | (66.1, 273.4) | (66.1, 295.9)
965 | (77.7, 273.4) | (77.7, 295.9)
966 | (89.2, 273.4) | (89.2, 295.9)
967 | (100.7, 273.4) | (100.7, 295.9)
968 | (112.2, 273.4) | (112.2, 295.9)
969 | (123.8, 273.4) | (123.8, 295.9)
970 | (135.3, 273.4) | (135.3, 295.9)
971 | (146.8, 273.4) | (146.8, 295.9)
972 | (158.4, 273.4) | (158.4, 295.9)
973 | (169.9, 273.4) | (169.9, 295.9)
974 | (181.4, 273.4) | (181.4, 295.9)
975 | (192.9, 273.4) | (192.9, 295.9)
976 | (204.5, 273.4) | (204.5, 295.9)
977 | (216.0, 273.4) | (216.0, 295.9)
978 | (227.5, 273.4) | (227.5, 295.9)
979 | (239.1, 273.4) | (239.1, 295.9)
980 | (250.6, 273.4) | (250.6, 295.9)
981 | (262.1, 273.4) | (262.1, 295.9)
982 | (273.7, 273.4) | (273.7, 295.9)
983 | (285.2, 273.4) | (285.2, 295.9)
984 | (296.7, 273.4) | (296.7, 295.9)
985 | (308.2, 273.4) | (308.2, 295.9)
986 | (319.8, 273.4) | (319.8, 295.9)
987 | (331.3, 273.4) | (331.3, 295.9)
988 | (342.8, 273.4) | (342.8, 295.9)
989 | (354.4, 273.4) | (354.4, 295.9)
990 | (365.9, 273.4) | (365.9, 295.9)
991 | (377.4, 273.4) | (377.4, 295.9)
992 | (389.0, 273.4) | (389.0, 295.9)
993 | (400.5, 273.4) | (400.5, 295.9)
994 | (412.0, 273.4) | (412.0, 295.9)
995 | (423.5, 273.4) | (423.5, 295.9)
996 | (435.1, 273.4) | (435.1, 295.9)
997 | (446.6, 273.4) | (446.6, 295.9)
998 | (458.1, 273.4) | (458.1, 295.9)
999 | (469.7, 273.4) | (469.7, 295.9)
1000| (469.7, 284.5) | (469.7, 307.0)
1001| (458.1, 284.5) | (458.1, 307.0)
1002| (446.6, 284.5) | (446.6, 307.0)
1003| (435.1, 284.5) | (435.1, 307.0)
1004| (423.5, 284.5) | (423.5, 307.0)
1005| (412.0, 284.5) | (412.0, 307.0)
1006| (400.5, 284.5) | (400.5, 307.0)
1007| (389.0, 284.5) | (389.0, 307.0)
1008| (377.4, 284.5) | (377.4, 307.0)
1009| (365.9, 284.5) | (365.9, 307.0)
1010| (354.4, 284.5) | (354.4, 307.0)
1011| (342.8, 284.5) | (342.8, 307.0)
1012| (331.3, 284.5) | (331.3, 307.0)
1013| (319.8, 284.5) | (319.8, 307.0)
1014| (308.2, 284.5) | (308.2, 307.0)
1015| (296.7, 284.5) | (296.7, 307.0)
1016| (285.2, 284.5) | (285.2, 307.0)
1017| (273.7, 284.5) | (273.7, 307.0)
1018| (262.1, 284.5) | (262.1, 307.0)
1019| (250.6, 284.5) | (250.6, 307.0)
1020| (239.1, 284.5) | (239.1, 307.0)
1021| (227.5, 284.5) | (227.5, 307.0)
1022| (216.0, 284.5) | (216.0, 307.0)
1023| (204.5, 284.5) | (204.5, 307.0)
1024| (192.9, 284.5) | (192.9, 307.0)
1025| (181.4, 284.5) | (181.4, 307.0)
1026| (169.9, 284.5) | (169.9, 307.0)
1027| (158.4, 284.5) | (158.4, 307.0)
1028| (146.8, 284.5) | (146.8, 307.0)
1029| (135.3, 284.5) | (135.3, 307.0)
1030| (123.8, 284.5) | (123.8, 307.0)
1031| (112.2, 284.5) | (112.2, 307.0)
1032| (100.7, 284.5) | (100.7, 307.0)
1033| (89.2, 284.5) | (89.2, 307.0)
1034| (77.6, 284.5) | (77.6, 307.0)
1035| (66.1, 284.5) | (66.1, 307.0)
1036| (54.6, 284.5) | (54.6, 307.0)
1037| (43.1, 284.5) | (43.1, 307.0)
1038| (31.5, 284.5) | (31.5, 307.0)
1039| (20.0, 284.5) | (20.0, 307.0)
1040| (20.0, 295.6) | (20.0, 318.1)
1041| (31.5, 295.6) | (31.5, 318.1)
1042| (43.1, 295.6) | (43.1, 318.1)
1043| (54.6, 295.6) | (54.6, 318.1)
1044| (66.1, 295.6) | (66.1, 318.1)
1045| (77.7, 295.6) | (77.7, 318.1)
1046| (89.2, 295.6) | (89.2, 318.1)
1047| (100.7, 295.6) | (100.7, 318.1)
1048| (112.2, 295.6) | (112.2, 318.1)
1049| (123.8, 295.6) | (123.8, 318.1)
1050| (135.3, 295.6) | (135.3, 318.1)
1051| (146.8, 295.6) | (146.8, 318.1)
1052| (158.4, 295.6) | (158.4, 318.1)
1053| (169.9, 295.6) | (169.9, 318.1)
1054| (181.4, 295.6) | (181.4, 318.1)
1055| (192.9, 295.6) | (192.9, 318.1)
1056| (204.5, 295.6) | (204.5, 318.1)
1057| (216.0, 295.6) | (216.0, 318.1)
1058| (227.5, 295.6) | (227.5, 318.1)
1059| (239.1, 295.6) | (239.1, 318.1)
1060| (250.6, 295.6) | (250.6, 318.1)
1061| (262.1, 295.6) | (262.1, 318.1)
1062| (273.7, 295.6) | (273.7, 318.1)
1063| (285.2, 295.6) | (285.2, 318.1)
1064| (296.7, 295.6) | (296.7, 318.1)
1065| (308.2, 295.6) | (308.2, 318.1)
1066| (319.8, 295.6) | (319.8, 318.1)
1067| (331.3, 295.6) | (331.3, 318.1)
1068| (342.8, 295.6) | (342.8, 318.1)
1069| (354.4, 295.6) | (354.4, 318.1)
1070| (365.9, 295.6) | (365.9, 318.1)
1071| (377.4, 295.6) | (377.4, 318.1)
1072| (389.0, 295.6) | (389.0, 318.1)
1073| (400.5, 295.6) | (400.5, 318.1)
1074| (412.0, 295.6) | (412.0, 318.1)
1075| (423.5, 295.6) | (423.5, 318.1)
1076| (435.1, 295.6) | (435.1, 318.1)
1077| (446.6, 295.6) | (446.6, 318.1)
1078| (458.1, 295.6) | (458.1, 318.1)
1079| (469.7, 295.6) | (469.7, 318.1)
1080| (469.7, 306.7) | (469.7, 329.2)
1081| (458.1, 306.7) | (458.1, 329.2)
1082| (446.6, 306.7) | (446.6, 329.2)
1083| (435.1, 306.7) | (435.1, 329.2)
1084| (423.5, 306.7) | (423.5, 329.2)
1085| (412.0, 306.7) | (412.0, 329.2)
1086| (400.5, 306.7) | (400.5, 329.2)
1087| (389.0, 306.7) | (389.0, 329.2)
1088| (377.4, 306.7) | (377.4, 329.2)
1089| (365.9, 306.7) | (365.9, 329.2)
1090| (354.4, 306.7) | (354.4, 329.2)
1091| (342.8, 306.7) | (342.8, 329.2)
1092| (331.3, 306.7) | (331.3, 329.2)
1093| (319.8, 306.7) | (319.8, 329.2)
1094| (308.2, 306.7) | (308.2, 329.2)
1095| (296.7, 306.7) | (296.7, 329.2)
1096| (285.2, 306.7) | (285.2, 329.2)
1097| (273.7, 306.7) | (273.7, 329.2)
1098| (262.1, 306.7) | (262.1, 329.2)
1099| (250.6, 306.7) | (250.6, 329.2)
1100| (239.1, 306.7) | (239.1, 329.2)
1101| (227.5, 306.7) | (227.5, 329.2)
1102| (216.0, 306.7) | (216.0, 329.2)
1103| (204.5, 306.7) | (204.5, 329.2)
1104| (192.9, 306.7) | (192.9, 329.2)
1105| (181.4, 306.7) | (181.4, 329.2)
1106| (169.9, 306.7) | (169.9, 329.2)
1107| (158.4, 306.7) | (158.4, 329.2)
1108| (146.8, 306.7) | (146.8, 329.2)
1109| (135.3, 306.7) | (135.3, 329.2)
1110| (123.8, 306.7) | (123.8, 329.2)
1111| (112.2, 306.7) | (112.2, 329.2)
1112| (100.7, 306.7) | (100.7, 329.2)
1113| (89.2, 306.7) | (89.2, 329.2)
1114| (77.6, 306.7) | (77.6, 329.2)
1115| (66.1, 306.7) | (66.1, 329.2)
1116| (54.6, 306.7) | (54.6, 329.2)
1117| (43.1, 306.7) | (43.1, 329.2)
1118| (31.5, 306.7) | (31.5, 329.2)
1119| (20.0, 306.7) | (20.0, 329.2)
1120| (20.0, 317.7) | (20.0, 340.2)
1121| (31.5, 317.7) | (31.5, 340.2)
1122| (43.1, 317.7) | (43.1, 340.2)
1123| (54.6, 317.7) | (54.6, 340.2)
1124| (66.1, 317.7) | (66.1, 340.2)
1125| (77.7, 317.7) | (77.7, 340.2)
1126| (89.2, 317.7) | (89.2, 340.2)
1127| (100.7, 317.7) | (100.7, 340.2)
1128| (112.2, 317.7) | (112.2, 340.2)
1129| (123.8, 317.7) | (123.8, 340.2)
1130| (135.3, 317.7) | (135.3, 340.2)
1131| (146.8, 317.7) | (146.8, 340.2)
1132| (158.4, 317.7) | (158.4, 340.2)
1133| (169.9, 317.7) | (169.9, 340.2)
1134| (181.4, 317.7) | (181.4, 340.2)
1135| (192.9, 317.7) | (192.9, 340.2)
1136| (204.5, 317.7) | (204.5, 340.2)
1137| (216.0, 317.7) | (216.0, 340.2)
1138| (227.5, 317.7) | (227.5, 340.2)
1139| (239.1, 317.7) | (239.1, 340.2)
1140| (250.6, 317.7) | (250.6, 340.2)
1141| (262.1, 317.7) | (262.1, 340.2)
1142| (273.7, 317.7) | (273.7, 340.2)
1143| (285.2, 317.7) | (285.2, 340.2)
1144| (296.7, 317.7) | (296.7, 340.2)
1145| (308.2, 317.7) | (308.2, 340.2)
1146| (319.8, 317.7) | (319.8, 340.2)
1147| (331.3, 317.7) | (331.3, 340.2)
1148| (342.8, 317.7) | (342.8, 340.2)
1149| (354.4, 317.7) | (354.4, 340.2)
1150| (365.9, 317.7) | (365.9, 340.2)
1151| (377.4, 317.7) | (377.4, 340.2)
1152| (389.0, 317.7) | (389.0, 340.2)
1153| (400.5, 317.7) | (400.5, 340.2)
1154| (412.0, 317.7) | (412.0, 340.2)
1155| (423.5, 317.7) | (423.5, 340.2)
1156| (435.1, 317.7) | (435.1, 340.2)
1157| (446.6, 317.7) | (446.6, 340.2)
1158| (458.1, 317.7) | (458.1, 340.2)
1159| (469.7, 317.7) | (469.7, 340.2)
1160| (469.7, 328.8) | (469.7, 351.3)
1161| (458.1, 328.8) | (458.1, 351.3)
1162| (446.6, 328.8) | (446.6, 351.3)
1163| (435.1, 328.8) | (435.1, 351.3)
1164| (423.5, 328.8) | (423.5, 351.3)
1165| (412.0, 328.8) | (412.0, 351.3)
1166| (400.5, 328.8) | (400.5, 351.3)
1167| (389.0, 328.8) | (389.0, 351.3)
1168| (377.4, 328.8) | (377.4, 351.3)
1169| (365.9, 328.8) | (365.9, 351.3)
1170| (354.4, 328.8) | (354.4, 351.3)
1171| (342.8, 328.8) | (342.8, 351.3)
1172| (331.3, 328.8) | (331.3, 351.3)
1173| (319.8, 328.8) | (319.8, 351.3)
1174| (308.2, 328.8) | (308.2, 351.3)
1175| (296.7, 328.8) | (296.7, 351.3)
1176| (285.2, 328.8) | (285.2, 351.3)
1177| (273.7, 328.8) | (273.7, 351.3)
1178| (262.1, 328.8) | (262.1, 351.3)
1179| (250.6, 328.8) | (250.6, 351.3)
1180| (239.1, 328.8) | (239.1, 351.3)
1181| (227.5, 328.8) | (227.5, 351.3)
1182| (216.0, 328.8) | (216.0, 351.3)
1183| (204.5, 328.8) | (204.5, 351.3)
1184| (192.9, 328.8) | (192.9, 351.3)
1185| (181.4, 328.8) | (181.4, 351.3)
1186| (169.9, 328.8) | (169.9, 351.3)
1187| (158.4, 328.8) | (158.4, 351.3)
1188| (146.8, 328.8) | (146.8, 351.3)
1189| (135.3, 328.8) | (135.3, 351.3)
1190| (123.8, 328.8) | (123.8, 351.3)
1191| (112.2, 328.8) | (112.2, 351.3)
1192| (100.7, 328.8) | (100.7, 351.3)
1193| (89.2, 328.8) | (89.2, 351.3)
1194| (77.6, 328.8) | (77.6, 351.3)
1195| (66.1, 328.8) | (66.1, 351.3)
1196| (54.6, 328.8) | (54.6, 351.3)
1197| (43.1, 328.8) | (43.1, 351.3)
1198| (31.5, 328.8) | (31.5, 351.3)
1199| (20.0, 328.8) | (20.0, 351.3)
1200| (20.0, 339.9) | (20.0, 362.4)
1201| (31.5, 339.9) | (31.5, 362.4)
1202| (43.1, 339.9) | (43.1, 362.4)
1203| (54.6, 339.9) | (54.6, 362.4)
1204| (66.1, 339.9) | (66.1, 362.4)
1205| (77.7, 339.9) | (77.7, 362.4)
1206| (89.2, 339.9) | (89.2, 362.4)
1207| (100.7, 339.9) | (100.7, 362.4)
1208| (112.2, 339.9) | (112.2, 362.4)
1209| (123.8, 339.9) | (123.8, 362.4)
1210| (135.3, 339.9) | (135.3, 362.4)
1211| (146.8, 339.9) | (146.8, 362.4)
1212| (158.4, 339.9) | (158.4, 362.4)
1213| (169.9, 339.9) | (169.9, 362.4)
1214| (181.4, 339.9) | (181.4, 362.4)
1215| (192.9, 339.9) | (192.9, 362.4)
1216| (204.5, 339.9) | (204.5, 362.4)
1217| (216.0, 339.9) | (216.0, 362.4)
1218| (227.5, 339.9) | (227.5, 362.4)
1219| (239.1, 339.9) | (239.1, 362.4)
1220| (250.6, 339.9) | (250.6, 362.4)
1221| (262.1, 339.9) | (262.1, 362.4)
1222| (273.7, 339.9) | (273.7, 362.4)
1223| (285.2, 339.9) | (285.2, 362.4)
1224| (296.7, 339.9) | (296.7, 362.4)
1225| (308.2, 339.9) | (308.2, 362.4)
1226| (319.8, 339.9) | (319.8, 362.4)
1227| (331.3, 339.9) | (331.3, 362.4)
1228| (342.8, 339.9) | (342.8, 362.4)
1229| (354.4, 339.9) | (354.4, 362.4)
1230| (365.9, 339.9) | (365.9, 362.4)
1231| (377.4, 339.9) | (377.4, 362.4)
1232| (389.0, 339.9) | (389.0, 362.4)
1233| (400.5, 339.9) | (400.5, 362.4)
1234| (412.0, 339.9) | (412.0, 362.4)
1235| (423.5, 339.9) | (423.5, 362.4)
1236| (435.1, 339.9) | (435.1, 362.4)
1237| (446.6, 339.9) | (446.6, 362.4)
1238| (458.1, 339.9) | (458.1, 362.4)
1239| (469.7, 339.9) | (469.7, 362.4)
1240| (469.7, 351.0) | (469.7, 373.5)
1241| (458.1, 351.0) | (458.1, 373.5)
1242| (446.6, 351.0) | (446.6, 373.5)
1243| (435.1, 351.0) | (435.1, 373.5)
1244| (423.5, 351.0) | (423.5, 373.5)
1245| (412.0, 351.0) | (412.0, 373.5)
1246| (400.5, 351.0) | (400.5, 373.5)
1247| (389.0, 351.0) | (389.0, 373.5)
1248| (377.4, 351.0) | (377.4, 373.5)
1249| (365.9, 351.0) | (365.9, 373.5)
1250| (354.4, 351.0) | (354.4, 373.5)
1251| (342.8, 351.0) | (342.8, 373.5)
1252| (331.3, 351.0) | (331.3, 373.5)
1253| (319.8, 351.0) | (319.8, 373.5)
1254| (308.2, 351.0) | (308.2, 373.5)
1255| (296.7, 351.0) | (296.7, 373.5)
1256| (285.2, 351.0) | (285.2, 373.5)
1257| (273.7, 351.0) | (273.7, 373.5)
1258| (262.1, 351.0) | (262.1, 373.5)
1259| (250.6, 351.0) | (250.6, 373.5)
1260| (239.1, 351.0) | (239.1, 373.5)
1261| (227.5, 351.0) | (227.5, 373.5)
1262| (216.0, 351.0) | (216.0, 373.5)
1263| (204.5, 351.0) | (204.5, 373.5)
1264| (192.9, 351.0) | (192.9, 373.5)
1265| (181.4, 351.0) | (181.4, 373.5)
1266| (169.9, 351.0) | (169.9, 373.5)
1267| (158.4, 351.0) | (158.4, 373.5)
1268| (146.8, 351.0) | (146.8, 373.5)
1269| (135.3, 351.0) | (135.3, 373.5)
1270| (123.8, 351.0) | (123.8, 373.5)
1271| (112.2, 351.0) | (112.2, 373.5)
1272| (100.7, 351.0) | (100.7, 373.5)
1273| (89.2, 351.0) | (89.2, 373.5)
1274| (77.6, 351.0) | (77.6, 373.5)
1275| (66.1, 351.0) | (66.1, 373.5)
1276| (54.6, 351.0) | (54.6, 373.5)
1277| (43.1, 351.0) | (43.1, 373.5)
1278| (31.5, 351.0) | (31.5, 373.5)
1279| (20.0, 351.0) | (20.0, 373.5)
1280| (20.0, 362.1) | (20.0, 384.6)
1281| (31.5, 362.1) | (31.5, 384.6)
1282| (43.1, 362.1) | (43.1, 384.6)
1283| (54.6, 362.1) | (54.6, 384.6)
1284| (66.1, 362.1) | (66.1, 384.6)
1285| (77.7, 362.1) | (77.7, 384.6)
1286| (89.2, 362.1) | (89.2, 384.6)
1287| (100.7, 362.1) | (100.7, 384.6)
1288| (112.2, 362.1) | (112.2, 384.6)
1289| (123.8, 362.1) | (123.8, 384.6)
1290| (135.3, 362.1) | (135.3, 384.6)
1291| (146.8, 362.1) | (146.8, 384.6)
1292| (158.4, 362.1) | (158.4, 384.6)
1293| (169.9, 362.1) | (169.9, 384.6)
1294| (181.4, 362.1) | (181.4, 384.6)
1295| (192.9, 362.1) | (192.9, 384.6)
1296| (204.5, 362.1) | (204.5, 384.6)
1297| (216.0, 362.1) | (216.0, 384.6)
1298| (227.5, 362.1) | (227.5, 384.6)
1299| (239.1, 362.1) | (239.1, 384.6)
1300| (250.6, 362.1) | (250.6, 384.6)
1301| (262.1, 362.1) | (262.1, 384.6)
1302| (273.7, 362.1) | (273.7, 384.6)
1303| (285.2, 362.1) | (285.2, 384.6)
1304| (296.7, 362.1) | (296.7, 384.6)
1305| (308.2, 362.1) | (308.2, 384.6)
1306| (319.8, 362.1) | (319.8, 384.6)
1307| (331.3, 362.1) | (331.3, 384.6)
1308| (342.8, 362.1) | (342.8, 384.6)
1309| (354.4, 362.1) | (354.4, 384.6)
1310| (365.9, 362.1) | (365.9, 384.6)
1311| (377.4, 362.1) | (377.4, 384.6)
1312| (389.0, 362.1) | (389.0, 384.6)
1313| (400.5, 362.1) | (400.5, 384.6)
1314| (412.0, 362.1) | (412.0, 384.6)
1315| (423.5, 362.1) | (423.5, 384.6)
1316| (435.1, 362.1) | (435.1, 384.6)
1317| (446.6, 362.1) | (446.6, 384.6)
1318| (458.1, 362.1) | (458.1, 384.6)
1319| (469.7, 362.1) | (469.7, 384.6)
1320| (469.7, 373.1) | (469.7, 395.6)
1321| (458.1, 373.1) | (458.1, 395.6)
1322| (446.6, 373.1) | (446.6, 395.6)
1323| (435.1, 373.1) | (435.1, 395.6)
1324| (423.5, 373.1) | (423.5, 395.6)
1325| (412.0, 373.1) | (412.0, 395.6)
1326| (400.5, 373.1) | (400.5, 395.6)
1327| (389.0, 373.1) | (389.0, 395.6)
1328| (377.4, 373.1) | (377.4, 395.6)
1329| (365.9, 373.1) | (365.9, 395.6)
1330| (354.4, 373.1) | (354.4, 395.6)
1331| (342.8, 373.1) | (342.8, 395.6)
1332| (331.3, 373.1) | (331.3, 395.6)
1333| (319.8, 373.1) | (319.8, 395.6)
1334| (308.2, 373.1) | (308.2, 395.6)
1335| (296.7, 373.1) | (296.7, 395.6)
1336| (285.2, 373.1) | (285.2, 395.6)
1337| (273.7, 373.1) | (273.7, 395.6)
1338| (262.1, 373.1) | (262.1, 395.6)
1339| (250.6, 373.1) | (250.6, 395.6)
1340| (239.1, 373.1) | (239.1, 395.6)
1341| (227.5, 373.1) | (227.5, 395.6)
1342| (216.0, 373.1) | (216.0, 395.6)
1343| (204.5, 373.1) | (204.5, 395.6)
1344| (192.9, 373.1) | (192.9, 395.6)
1345| (181.4, 373.1) | (181.4, 395.6)
1346| (169.9, 373.1) | (169.9, 395.6)
1347| (158.4, 373.1) | (158.4, 395.6)
1348| (146.8, 373.1) | (146.8, 395.6)
1349| (135.3, 373.1) | (135.3, 395.6)
1350| (123.8, 373.1) | (123.8, 395.6)
1351| (112.2, 373.1) | (112.2, 395.6)
1352| (100.7, 373.1) | (100.7, 395.6)
1353| (89.2, 373.1) | (89.2, 395.6)
1354| (77.6, 373.1) | (77.6, 395.6)
1355| (66.1, 373.1) | (66.1, 395.6)
1356| (54.6, 373.1) | (54.6, 395.6)
1357| (43.1, 373.1) | (43.1, 395.6)
1358| (31.5, 373.1) | (31.5, 395.6)
1359| (20.0, 373.1) | (20.0, 395.6)
1360| (20.0, 384.2) | (20.0, 406.7)
1361| (31.5, 384.2) | (31.5, 406.7)
1362| (43.1, 384.2) | (43.1, 406.7)
1363| (54.6, 384.2) | (54.6, 406.7)
1364| (66.1, 384.2) | (66.1, 406.7)
1365| (77.7, 384.2) | (77.7, 406.7)
1366| (89.2, 384.2) | (89.2, 406.7)
1367| (100.7, 384.2) | (100.7, 406.7)
1368| (112.2, 384.2) | (112.2, 406.7)
1369| (123.8, 384.2) | (123.8, 406.7)
1370| (135.3, 384.2) | (135.3, 406.7)
1371| (146.8, 384.2) | (146.8, 406.7)
1372| (158.4, 384.2) | (158.4, 406.7)
1373| (169.9, 384.2) | (169.9, 406.7)
1374| (181.4, 384.2) | (181.4, 406.7)
1375| (192.9, 384.2) | (192.9, 406.7)
1376| (204.5, 384.2) | (204.5, 406.7)
1377| (216.0, 384.2) | (216.0, 406.7)
1378| (227.5, 384.2) | (227.5, 406.7)
1379| (239.1, 384.2) | (239.1, 406.7)
1380| (250.6, 384.2) | (250.6, 406.7)
1381| (262.1, 384.2) | (262.1, 406.7)
1382| (273.7, 384.2) | (273.7, 406.7)
1383| (285.2, 384.2) | (285.2, 406.7)
1384| (296.7, 384.2) | (296.7, 406.7)
1385| (308.2, 384.2) | (308.2, 406.7)
1386| (319.8, 384.2) | (319.8, 406.7)
1387| (331.3, 384.2) | (331.3, 406.7)
1388| (342.8, 384.2) | (342.8, 406.7)
1389| (354.4, 384.2) | (354.4, 406.7)
1390| (365.9, 384.2) | (365.9, 406.7)
1391| (377.4, 384.2) | (377.4, 406.7)
1392| (389.0, 384.2) | (389.0, 406.7)
1393| (400.5, 384.2) | (400.5, 406.7)
1394| (412.0, 384.2) | (412.0, 406.7)
1395| (423.5, 384.2) | (423.5, 406.7)
1396| (435.1, 384.2) | (435.1, 406.7)
1397| (446.6, 384.2) | (446.6, 406.7)
1398| (458.1, 384.2) | (458.1, 406.7)
1399| (469.7, 384.2) | (469.7, 406.7)
1400| (469.7, 395.3) | (469.7, 417.8)
1401| (458.1, 395.3) | (458.1, 417.8)
1402| (446.6, 395.3) | (446.6, 417.8)
1403| (435.1, 395.3) | (435.1, 417.8)
1404| (423.5, 395.3) | (423.5, 417.8)
1405| (412.0, 395.3) | (412.0, 417.8)
1406| (400.5, 395.3) | (400.5, 417.8)
1407| (389.0, 395.3) | (389.0, 417.8)
1408| (377.4, 395.3) | (377.4, 417.8)
1409| (365.9, 395.3) | (365.9, 417.8)
1410| (354.4, 395.3) | (354.4, 417.8)
1411| (342.8, 395.3) | (342.8, 417.8)
1412| (331.3, 395.3) | (331.3, 417.8)
1413| (319.8, 395.3) | (319.8, 417.8)
1414| (308.2, 395.3) | (308.2, 417.8)
1415| (296.7, 395.3) | (296.7, 417.8)
1416| (285.2, 395.3) | (285.2, 417.8)
1417| (273.7, 395.3) | (273.7, 417.8)
1418| (262.1, 395.3) | (262.1, 417.8)
1419| (250.6, 395.3) | (250.6, 417.8)
1420| (239.1, 395.3) | (239.1, 417.8)
1421| (227.5, 395.3) | (227.5, 417.8)
1422| (216.0, 395.3) | (216.0, 417.8)
1423| (204.5, 395.3) | (204.5, 417.8)
1424| (192.9, 395.3) | (192.9, 417.8)
1425| (181.4, 395.3) | (181.4, 417.8)
1426| (169.9, 395.3) | (169.9, 417.8)
1427| (158.4, 395.3) | (158.4, 417.8)
1428| (146.8, 395.3) | (146.8, 417.8)
1429| (135.3, 395.3) | (135.3, 417.8)
1430| (123.8, 395.3) | (123.8, 417.8)
1431| (112.2, 395.3) | (112.2, 417.8)
1432| (100.7, 395.3) | (100.7, 417.8)
1433| (89.2, 395.3) | (89.2, 417.8)
1434| (77.6, 395.3) | (77.6, 417.8)
1435| (66.1, 395.3) | (66.1, 417.8)
1436| (54.6, 395.3) | (54.6, 417.8)
1437| (43.1, 395.3) | (43.1, 417.8)
1438| (31.5, 395.3) | (31.5, 417.8)
1439| (20.0, 395.3) | (20.0, 417.8)
1440| (20.0, 406.4) | (20.0, 428.9)
1441| (31.5, 406.4) | (31.5, 428.9)
1442| (43.1, 406.4) | (43.1, 428.9)
1443| (54.6, 406.4) | (54.6, 428.9)
1444| (66.1, 406.4) | (66.1, 428.9)
1445| (77.7, 406.4) | (77.7, 428.9)
1446| (89.2, 406.4) | (89.2, 428.9)
1447| (100.7, 406.4) | (100.7, 428.9)
1448| (112.2, 406.4) | (112.2, 428.9)
1449| (123.8, 406.4) | (123.8, 428.9)
1450| (135.3, 406.4) | (135.3, 428.9)
1451| (146.8, 406.4) | (146.8, 428.9)
1452| (158.4, 406.4) | (158.4, 428.9)
1453| (169.9, 406.4) | (169.9, 428.9)
1454| (181.4, 406.4) | (181.4, 428.9)
1455| (192.9, 406.4) | (192.9, 428.9)
1456| (204.5, 406.4) | (204.5, 428.9)
1457| (216.0, 406.4) | (216.0, 428.9)
1458| (227.5, 406.4) | (227.5, 428.9)
1459| (239.1, 406.4) | (239.1, 428.9)
1460| (250.6, 406.4) | (250.6, 428.9)
1461| (262.1, 406.4) | (262.1, 428.9)
1462| (273.7, 406.4) | (273.7, 428.9)
1463| (285.2, 406.4) | (285.2, 428.9)
1464| (296.7, 406.4) | (296.7, 428.9)
1465| (308.2, 406.4) | (308.2, 428.9)
1466| (319.8, 406.4) | (319.8, 428.9)
1467| (331.3, 406.4) | (331.3, 428.9)
1468| (342.8, 406.4) | (342.8, 428.9)
1469| (354.4, 406.4) | (354.4, 428.9)
1470| (365.9, 406.4) | (365.9, 428.9)
1471| (377.4, 406.4) | (377.4, 428.9)
1472| (389.0, 406.4) | (389.0, 428.9)
1473| (400.5, 406.4) | (400.5, 428.9)
1474| (412.0, 406.4) | (412.0, 428.9)
1475| (423.5, 406.4) | (423.5, 428.9)
1476| (435.1, 406.4) | (435.1, 428.9)
1477| (446.6, 406.4) | (446.6, 428.9)
1478| (458.1, 406.4) | (458.1, 428.9)
1479| (469.7, 406.4) | (469.7, 428.9)
1480| (469.7, 417.5) | (469.7, 440.0)
1481| (458.1, 417.5) | (458.1, 440.0)
1482| (446.6, 417.5) | (446.6, 440.0)
1483| (435.1, 417.5) | (435.1, 440.0)
1484| (423.5, 417.5) | (423.5, 440.0)
1485| (412.0, 417.5) | (412.0, 440.0)
1486| (400.5, 417.5) | (400.5, 440.0)
1487| (389.0, 417.5) | (389.0, 440.0)
1488| (377.4, 417.5) | (377.4, 440.0)
1489| (365.9, 417.5) | (365.9, 440.0)
1490| (354.4, 417.5) | (354.4, 440.0)
1491| (342.8, 417.5) | (342.8, 440.0)
1492| (331.3, 417.5) | (331.3, 440.0)
1493| (319.8, 417.5) | (319.8, 440.0)
1494| (308.2, 417.5) | (308.2, 440.0)
1495| (296.7, 417.5) | (296.7, 440.0)
1496| (285.2, 417.5) | (285.2, 440.0)
1497| (273.7, 417.5) | (273.7, 440.0)
1498| (262.1, 417.5) | (262.1, 440.0)
1499| (250.6, 417.5) | (250.6, 440.0)
1500| (239.1, 417.5) | (239.1, 440.0)
1501| (227.5, 417.5) | (227.5, 440.0)
1502| (216.0, 417.5) | (216.0, 440.0)
1503| (204.5, 417.5) | (204.5, 440.0)
1504| (192.9, 417.5) | (192.9, 440.0)
1505| (181.4, 417.5) | (181.4, 440.0)
1506| (169.9, 417.5) | (169.9, 440.0)
1507| (158.4, 417.5) | (158.4, 440.0)
1508| (146.8, 417.5) | (146.8, 440.0)
1509| (135.3, 417.5) | (135.3, 440.0)
1510| (123.8, 417.5) | (123.8, 440.0)
1511| (112.2, 417.5) | (112.2, 440.0)
1512| (100.7, 417.5) | (100.7, 440.0)
1513| (89.2, 417.5) | (89.2, 440.0)
1514| (77.6, 417.5) | (77.6, 440.0)
1515| (66.1, 417.5) | (66.1, 440.0)
1516| (54.6, 417.5) | (54.6, 440.0)
1517| (43.1, 417.5) | (43.1, 440.0)
1518| (31.5, 417.5) | (31.5, 440.0)
1519| (20.0, 417.5) | (20.0, 440.0)
1520| (20.0, 428.5) | (20.0, 451.0)
1521| (31.5, 428.5) | (31.5, 451.0)
1522| (43.1, 428.5) | (43.1, 451.0)
1523| (54.6, 428.5) | (54.6, 451.0)
1524| (66.1, 428.5) | (66.1, 451.0)
1525| (77.7, 428.5) | (77.7, 451.0)
1526| (89.2, 428.5) | (89.2, 451.0)
1527| (100.7, 428.5) | (100.7, 451.0)
1528| (112.2, 428.5) | (112.2, 451.0)
1529| (123.8, 428.5) | (123.8, 451.0)
1530| (135.3, 428.5) | (135.3, 451.0)
1531| (146.8, 428.5) | (146.8, 451.0)
1532| (158.4, 428.5) | (158.4, 451.0)
1533| (169.9, 428.5) | (169.9, 451.0)
1534| (181.4, 428.5) | (181.4, 451.0)
1535| (192.9, 428.5) | (192.9, 451.0)
1536| (204.5, 428.5) | (204.5, 451.0)
1537| (216.0, 428.5) | (216.0, 451.0)
1538| (227.5, 428.5) | (227.5, 451.0)
1539| (239.1, 428.5) | (239.1, 451.0)
1540| (250.6, 428.5) | (250.6, 451.0)
1541| (262.1, 428.5) | (262.1, 451.0)
1542| (273.7, 428.5) | (273.7, 451.0)
1543| (285.2, 428.5) | (285.2, 451.0)
1544| (296.7, 428.5) | (296.7, 451.0)
1545| (308.2, 428.5) | (308.2, 451.0)
1546| (319.8, 428.5) | (319.8, 451.0)
1547| (331.3, 428.5) | (331.3, 451.0)
1548| (342.8, 428.5) | (342.8, 451.0)
1549| (354.4, 428.5) | (354.4, 451.0)
1550| (365.9, 428.5) | (365.9, 451.0)
1551| (377.4, 428.5) | (377.4, 451.0)
1552| (389.0, 428.5) | (389.0, 451.0)
1553| (400.5, 428.5) | (400.5, 451.0)
1554| (412.0, 428.5) | (412.0, 451.0)
1555| (423.5, 428.5) | (423.5, 451.0)
1556| (435.1, 428.5) | (435.1, 451.0)
1557| (446.6, 428.5) | (446.6, 451.0)
1558| (458.1, 428.5) | (458.1, 451.0)
1559| (469.7, 428.5) | (469.7, 451.0)
1560| (469.7, 439.6) | (469.7, 462.1)
1561| (458.1, 439.6) | (458.1, 462.1)
1562| (446.6, 439.6) | (446.6, 462.1)
1563| (435.1, 439.6) | (435.1, 462.1)
1564| (423.5, 439.6) | (423.5, 462.1)
1565| (412.0, 439.6) | (412.0, 462.1)
1566| (400.5, 439.6) | (400.5, 462.1)
1567| (389.0, 439.6) | (389.0, 462.1)
1568| (377.4, 439.6) | (377.4, 462.1)
1569| (365.9, 439.6) | (365.9, 462.1)
1570| (354.4, 439.6) | (354.4, 462.1)
1571| (342.8, 439.6) | (342.8, 462.1)
1572| (331.3, 439.6) | (331.3, 462.1)
1573| (319.8, 439.6) | (319.8, 462.1)
1574| (308.2, 439.6) | (308.2, 462.1)
1575| (296.7, 439.6) | (296.7, 462.1)
1576| (285.2, 439.6) | (285.2, 462.1)
1577| (273.7, 439.6) | (273.7, 462.1)
1578| (262.1, 439.6) | (262.1, 462.1)
1579| (250.6, 439.6) | (250.6, 462.1)
1580| (239.1, 439.6) | (239.1, 462.1)
1581| (227.5, 439.6) | (227.5, 462.1)
1582| (216.0, 439.6) | (216.0, 462.1)
1583| (204.5, 439.6) | (204.5, 462.1)
1584| (192.9, 439.6) | (192.9, 462.1)
1585| (181.4, 439.6) | (181.4, 462.1)
1586| (169.9, 439.6) | (169.9, 462.1)
1587| (158.4, 439.6) | (158.4, 462.1)
1588| (146.8, 439.6) | (146.8, 462.1)
1589| (135.3, 439.6) | (135.3, 462.1)
1590| (123.8, 439.6) | (123.8, 462.1)
1591| (112.2, 439.6) | (112.2, 462.1)
1592| (100.7, 439.6) | (100.7, 462.1)
1593| (89.2, 439.6) | (89.2, 462.1)
1594| (77.6, 439.6) | (77.6, 462.1)
1595| (66.1, 439.6) | (66.1, 462.1)
1596| (54.6, 439.6) | (54.6, 462.1)
1597| (43.1, 439.6) | (43.1, 462.1)
1598| (31.5, 439.6) | (31.5, 462.1)
1599| (20.0, 439.6) | (20.0, 462.1)
beacon: loaded fnorm=5106861.31 temp=20.78 amfg=1.017 from nvm
beacon: built tempco model version 1 {'amfg': 1.0174497367135622, 'tcc': -7.231912357067147e-06, 'tcfl': -0.0006331441376081758, 'tctl': 0.0019368853710497302, 'fmin': 5106861.308217049, 'fmin_temp': 20.781034469604492}
Enabling Beacon accelerometer
Selected Beacon accelerometer scale 16g
Sending MCU 'beacon' printer configuration...
Configured MCU 'beacon' (0 moves)
Starting heater checks for extruder
Starting heater checks for extruder1
Stats 34.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000005 bytes_write=3956 bytes_read=7828 bytes_retransmit=9 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180002133 rpi: mcu_awake=0.004 mcu_task_avg=0.000025 mcu_task_stddev=0.000017 bytes_write=886 bytes_read=4765 bytes_retransmit=0 bytes_invalid=0 send_seq=119 receive_seq=119 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999872 adj=49997714 toolboard_t0: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1500 bytes_read=4947 bytes_retransmit=9 bytes_invalid=0 send_seq=160 receive_seq=160 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63997521 adj=63988903 toolboard_t1: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1494 bytes_read=4931 bytes_retransmit=9 bytes_invalid=0 send_seq=159 receive_seq=159 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999468 adj=64001851 Octopus_V1.1_F446: temp=36.7 EBB42_v1.2_T0: temp=0.0 EBB42_v1.2_T1: temp=0.0 raspberry_pi: temp=54.0 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=380 bytes_read=2138 bytes_retransmit=0 bytes_invalid=0 send_seq=62 receive_seq=62 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999255 adj=31995837 coil_temp=23.6 refs=0 mcu_temp=23.36 supply_voltage=3.069 sysload=2.18 cputime=9.157 memavail=361532 print_time=42.910 buffer_time=0.262 print_stall=0 extruder: target=0 temp=0.0 pwm=0.000 extruder1: target=0 temp=0.0 pwm=0.000
toolhead: max_velocity: 36000.000000
max_accel: 8000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
Extruder extruder already active
Extruder 'extruder' now syncing with 'extruder'
Extruder 'extruder1' now syncing with 'extruder1'
shaper_type_x:mzv shaper_freq_x:52.800 damping_ratio_x:0.100000
shaper_type_y:mzv shaper_freq_y:38.200 damping_ratio_y:0.100000
toolhead: max_velocity: 800.000000
max_accel: 10000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
webhooks: registering remote method 'shutdown_machine' for connection id: 4104884200
webhooks: registering remote method 'reboot_machine' for connection id: 4104884200
webhooks: registering remote method 'pause_job_queue' for connection id: 4104884200
webhooks: registering remote method 'start_job_queue' for connection id: 4104884200
Stats 35.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000005 bytes_write=3962 bytes_read=7931 bytes_retransmit=9 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180004057 rpi: mcu_awake=0.004 mcu_task_avg=0.000025 mcu_task_stddev=0.000017 bytes_write=892 bytes_read=4781 bytes_retransmit=0 bytes_invalid=0 send_seq=120 receive_seq=120 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999886 adj=50000923 toolboard_t0: mcu_awake=0.014 mcu_task_avg=0.000022 mcu_task_stddev=0.000027 bytes_write=1514 bytes_read=5049 bytes_retransmit=9 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63998276 adj=64002809 toolboard_t1: mcu_awake=0.014 mcu_task_avg=0.000021 mcu_task_stddev=0.000027 bytes_write=1508 bytes_read=5033 bytes_retransmit=9 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999885 adj=63996825 Octopus_V1.1_F446: temp=36.9 EBB42_v1.2_T0: temp=26.3 EBB42_v1.2_T1: temp=26.1 raspberry_pi: temp=53.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=386 bytes_read=2512 bytes_retransmit=0 bytes_invalid=0 send_seq=63 receive_seq=63 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999611 adj=32000925 coil_temp=23.6 refs=0 mcu_temp=23.37 supply_voltage=3.069 sysload=2.25 cputime=9.366 memavail=355020 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.1 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 42.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3974 bytes_read=8605 bytes_retransmit=9 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000353 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000008 bytes_write=904 bytes_read=4826 bytes_retransmit=0 bytes_invalid=0 send_seq=122 receive_seq=122 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999998 adj=49999463 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1526 bytes_read=5711 bytes_retransmit=9 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999267 adj=64001631 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1520 bytes_read=5695 bytes_retransmit=9 bytes_invalid=0 send_seq=163 receive_seq=163 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64000262 adj=63996402 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.4 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=52.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=398 bytes_read=4702 bytes_retransmit=0 bytes_invalid=0 send_seq=65 receive_seq=65 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999872 adj=32000365 coil_temp=23.6 refs=0 mcu_temp=23.42 supply_voltage=3.068 sysload=2.15 cputime=9.515 memavail=351636 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.1 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 43.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3980 bytes_read=8723 bytes_retransmit=9 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000792 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000008 bytes_write=910 bytes_read=4842 bytes_retransmit=0 bytes_invalid=0 send_seq=123 receive_seq=123 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999966 adj=50002631 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1532 bytes_read=5811 bytes_retransmit=9 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999279 adj=64002397 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1526 bytes_read=5795 bytes_retransmit=9 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64000047 adj=64005879 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.3 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=52.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=404 bytes_read=5058 bytes_retransmit=0 bytes_invalid=0 send_seq=66 receive_seq=66 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999886 adj=32001330 coil_temp=23.6 refs=0 mcu_temp=23.43 supply_voltage=3.069 sysload=2.15 cputime=9.537 memavail=350716 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 44.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3986 bytes_read=8826 bytes_retransmit=9 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000375 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000008 bytes_write=916 bytes_read=4858 bytes_retransmit=0 bytes_invalid=0 send_seq=124 receive_seq=124 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999955 adj=50001339 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1538 bytes_read=5911 bytes_retransmit=9 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999275 adj=64001004 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1532 bytes_read=5895 bytes_retransmit=9 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999906 adj=64003054 Octopus_V1.1_F446: temp=37.0 EBB42_v1.2_T0: temp=26.4 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=52.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=410 bytes_read=5414 bytes_retransmit=0 bytes_invalid=0 send_seq=67 receive_seq=67 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999881 adj=32000685 coil_temp=23.6 refs=0 mcu_temp=23.47 supply_voltage=3.069 sysload=2.15 cputime=9.559 memavail=347792 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 45.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3992 bytes_read=8929 bytes_retransmit=9 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000279 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000008 bytes_write=922 bytes_read=4887 bytes_retransmit=0 bytes_invalid=0 send_seq=125 receive_seq=125 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000134 adj=50001383 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1544 bytes_read=6039 bytes_retransmit=9 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999399 adj=64001112 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1538 bytes_read=6023 bytes_retransmit=9 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999858 adj=64002319 Octopus_V1.1_F446: temp=37.0 EBB42_v1.2_T0: temp=26.3 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=52.1 heater_bed: target=0 temp=22.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=416 bytes_read=5770 bytes_retransmit=0 bytes_invalid=0 send_seq=68 receive_seq=68 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999901 adj=32000747 coil_temp=23.6 refs=0 mcu_temp=23.50 supply_voltage=3.069 sysload=1.97 cputime=9.596 memavail=345620 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.2 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 46.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=3998 bytes_read=9061 bytes_retransmit=9 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000198 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000008 bytes_write=928 bytes_read=4903 bytes_retransmit=0 bytes_invalid=0 send_seq=126 receive_seq=126 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000133 adj=50001891 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1550 bytes_read=6153 bytes_retransmit=9 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999424 adj=64001291 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1544 bytes_read=6137 bytes_retransmit=9 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999857 adj=64001639 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.5 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=51.6 heater_bed: target=0 temp=22.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=422 bytes_read=6126 bytes_retransmit=0 bytes_invalid=0 send_seq=69 receive_seq=69 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999906 adj=32000664 coil_temp=23.6 refs=0 mcu_temp=23.53 supply_voltage=3.069 sysload=1.97 cputime=9.639 memavail=345648 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 47.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4004 bytes_read=9164 bytes_retransmit=9 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000185 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000008 bytes_write=934 bytes_read=4919 bytes_retransmit=0 bytes_invalid=0 send_seq=127 receive_seq=127 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000128 adj=50001533 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1556 bytes_read=6253 bytes_retransmit=9 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999420 adj=64001038 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1550 bytes_read=6237 bytes_retransmit=9 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64000961 adj=64001297 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.4 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=428 bytes_read=6482 bytes_retransmit=0 bytes_invalid=0 send_seq=70 receive_seq=70 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000044 adj=32000548 coil_temp=23.6 refs=0 mcu_temp=23.55 supply_voltage=3.069 sysload=1.97 cputime=9.682 memavail=349428 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.1 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 48.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4010 bytes_read=9281 bytes_retransmit=9 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000115 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000008 bytes_write=940 bytes_read=4935 bytes_retransmit=0 bytes_invalid=0 send_seq=128 receive_seq=128 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000108 adj=50001161 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1562 bytes_read=6381 bytes_retransmit=9 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999433 adj=64000620 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1556 bytes_read=6365 bytes_retransmit=9 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64000676 adj=64005892 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.3 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=434 bytes_read=6838 bytes_retransmit=0 bytes_invalid=0 send_seq=71 receive_seq=71 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000055 adj=32000991 coil_temp=23.6 refs=0 mcu_temp=23.58 supply_voltage=3.069 sysload=1.97 cputime=9.727 memavail=349488 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 49.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4016 bytes_read=9413 bytes_retransmit=9 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000005 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000008 bytes_write=946 bytes_read=4951 bytes_retransmit=0 bytes_invalid=0 send_seq=129 receive_seq=129 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000050 adj=50000891 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1568 bytes_read=6481 bytes_retransmit=9 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999431 adj=64000492 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1562 bytes_read=6465 bytes_retransmit=9 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64000460 adj=64003429 Octopus_V1.1_F446: temp=37.0 EBB42_v1.2_T0: temp=26.6 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=440 bytes_read=7194 bytes_retransmit=0 bytes_invalid=0 send_seq=72 receive_seq=72 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000024 adj=32000856 coil_temp=23.6 refs=0 mcu_temp=23.60 supply_voltage=3.069 sysload=1.97 cputime=9.788 memavail=349824 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.1 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 50.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4022 bytes_read=9516 bytes_retransmit=9 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999920 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=952 bytes_read=4980 bytes_retransmit=0 bytes_invalid=0 send_seq=130 receive_seq=130 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000021 adj=50000612 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1574 bytes_read=6581 bytes_retransmit=9 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999415 adj=64000414 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1568 bytes_read=6565 bytes_retransmit=9 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64000290 adj=64001878 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.4 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=446 bytes_read=7534 bytes_retransmit=0 bytes_invalid=0 send_seq=73 receive_seq=73 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999999 adj=32000610 coil_temp=23.6 refs=0 mcu_temp=23.63 supply_voltage=3.069 sysload=1.82 cputime=9.807 memavail=344052 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 51.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4028 bytes_read=9619 bytes_retransmit=9 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999872 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=958 bytes_read=4996 bytes_retransmit=0 bytes_invalid=0 send_seq=131 receive_seq=131 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999990 adj=50000444 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1580 bytes_read=6723 bytes_retransmit=9 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999421 adj=64000285 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1574 bytes_read=6707 bytes_retransmit=9 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64000172 adj=64000822 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.6 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=51.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=452 bytes_read=7890 bytes_retransmit=0 bytes_invalid=0 send_seq=74 receive_seq=74 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000422 coil_temp=23.6 refs=0 mcu_temp=23.64 supply_voltage=3.069 sysload=1.82 cputime=9.830 memavail=341220 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 52.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4034 bytes_read=9751 bytes_retransmit=9 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999855 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=964 bytes_read=5012 bytes_retransmit=0 bytes_invalid=0 send_seq=132 receive_seq=132 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999976 adj=50000245 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1586 bytes_read=6823 bytes_retransmit=9 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999415 adj=64000378 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1580 bytes_read=6807 bytes_retransmit=9 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64000071 adj=64000161 Octopus_V1.1_F446: temp=37.0 EBB42_v1.2_T0: temp=26.7 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=458 bytes_read=8246 bytes_retransmit=0 bytes_invalid=0 send_seq=75 receive_seq=75 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=32000278 coil_temp=23.6 refs=0 mcu_temp=23.67 supply_voltage=3.069 sysload=1.82 cputime=9.852 memavail=340760 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 53.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4040 bytes_read=9868 bytes_retransmit=9 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999831 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=970 bytes_read=5028 bytes_retransmit=0 bytes_invalid=0 send_seq=133 receive_seq=133 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000017 adj=50000137 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1592 bytes_read=6923 bytes_retransmit=9 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999426 adj=64000307 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1586 bytes_read=6907 bytes_retransmit=9 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999992 adj=63999656 Octopus_V1.1_F446: temp=37.3 EBB42_v1.2_T0: temp=26.7 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=52.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=464 bytes_read=8602 bytes_retransmit=0 bytes_invalid=0 send_seq=76 receive_seq=76 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999970 adj=32000209 coil_temp=23.6 refs=0 mcu_temp=23.68 supply_voltage=3.069 sysload=1.82 cputime=9.874 memavail=343800 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 54.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4046 bytes_read=9971 bytes_retransmit=9 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999884 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=976 bytes_read=5044 bytes_retransmit=0 bytes_invalid=0 send_seq=134 receive_seq=134 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000011 adj=50000396 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1598 bytes_read=7051 bytes_retransmit=9 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999428 adj=64000216 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1592 bytes_read=7035 bytes_retransmit=9 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999930 adj=63999371 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.6 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=52.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=470 bytes_read=8958 bytes_retransmit=0 bytes_invalid=0 send_seq=77 receive_seq=77 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000024 adj=32000137 coil_temp=23.6 refs=0 mcu_temp=23.70 supply_voltage=3.069 sysload=1.82 cputime=9.898 memavail=343812 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.1 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 55.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4052 bytes_read=10103 bytes_retransmit=9 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999847 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=982 bytes_read=5073 bytes_retransmit=0 bytes_invalid=0 send_seq=135 receive_seq=135 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999997 adj=50000185 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1604 bytes_read=7151 bytes_retransmit=9 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999433 adj=63999924 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1598 bytes_read=7135 bytes_retransmit=9 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999884 adj=63999058 Octopus_V1.1_F446: temp=37.2 EBB42_v1.2_T0: temp=26.6 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=476 bytes_read=9314 bytes_retransmit=0 bytes_invalid=0 send_seq=78 receive_seq=78 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000010 adj=32000358 coil_temp=23.6 refs=0 mcu_temp=23.72 supply_voltage=3.069 sysload=1.67 cputime=9.918 memavail=342016 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 56.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4058 bytes_read=10206 bytes_retransmit=9 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999818 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=988 bytes_read=5089 bytes_retransmit=0 bytes_invalid=0 send_seq=136 receive_seq=136 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999990 adj=50000123 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1610 bytes_read=7265 bytes_retransmit=9 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999429 adj=63999927 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1604 bytes_read=7249 bytes_retransmit=9 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999843 adj=63999094 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.7 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=482 bytes_read=9670 bytes_retransmit=0 bytes_invalid=0 send_seq=79 receive_seq=79 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999999 adj=32000236 coil_temp=23.6 refs=0 mcu_temp=23.73 supply_voltage=3.069 sysload=1.67 cputime=9.937 memavail=345796 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.2 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 57.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4064 bytes_read=10323 bytes_retransmit=9 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999791 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=994 bytes_read=5105 bytes_retransmit=0 bytes_invalid=0 send_seq=137 receive_seq=137 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999983 adj=50000113 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1616 bytes_read=7387 bytes_retransmit=9 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999429 adj=63999859 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1610 bytes_read=7371 bytes_retransmit=9 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999828 adj=63999111 Octopus_V1.1_F446: temp=37.2 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=488 bytes_read=10026 bytes_retransmit=0 bytes_invalid=0 send_seq=80 receive_seq=80 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999989 adj=32000152 coil_temp=23.6 refs=0 mcu_temp=23.74 supply_voltage=3.069 sysload=1.67 cputime=9.957 memavail=345796 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.0 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 58.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4070 bytes_read=10455 bytes_retransmit=9 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999800 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=1000 bytes_read=5121 bytes_retransmit=0 bytes_invalid=0 send_seq=138 receive_seq=138 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999970 adj=50000100 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1622 bytes_read=7480 bytes_retransmit=9 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999429 adj=63999835 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1616 bytes_read=7464 bytes_retransmit=9 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999800 adj=63999283 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=494 bytes_read=10382 bytes_retransmit=0 bytes_invalid=0 send_seq=81 receive_seq=81 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000096 coil_temp=23.6 refs=0 mcu_temp=23.75 supply_voltage=3.069 sysload=1.67 cputime=9.977 memavail=345548 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.1 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 59.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4076 bytes_read=10558 bytes_retransmit=9 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999927 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=1006 bytes_read=5137 bytes_retransmit=0 bytes_invalid=0 send_seq=139 receive_seq=139 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999989 adj=49999976 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1628 bytes_read=7573 bytes_retransmit=9 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999436 adj=63999730 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1622 bytes_read=7557 bytes_retransmit=9 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999782 adj=63999227 Octopus_V1.1_F446: temp=37.2 EBB42_v1.2_T0: temp=26.7 EBB42_v1.2_T1: temp=26.4 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=500 bytes_read=10738 bytes_retransmit=0 bytes_invalid=0 send_seq=82 receive_seq=82 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=32000024 coil_temp=23.6 refs=0 mcu_temp=23.76 supply_voltage=3.069 sysload=1.67 cputime=10.010 memavail=345548 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 60.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4082 bytes_read=10675 bytes_retransmit=9 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000027 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1012 bytes_read=5166 bytes_retransmit=0 bytes_invalid=0 send_seq=140 receive_seq=140 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000001 adj=49999871 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1634 bytes_read=7625 bytes_retransmit=30 bytes_invalid=0 send_seq=182 receive_seq=181 retransmit_seq=182 srtt=0.000 rttvar=0.000 rto=0.200 ready_bytes=0 upcoming_bytes=0 freq=63999436 adj=63999395 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1628 bytes_read=7676 bytes_retransmit=9 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999828 adj=63998945 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=506 bytes_read=11094 bytes_retransmit=0 bytes_invalid=0 send_seq=83 receive_seq=83 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000009 adj=31999834 coil_temp=23.6 refs=0 mcu_temp=23.79 supply_voltage=3.069 sysload=1.62 cputime=10.049 memavail=345548 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 61.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4088 bytes_read=10793 bytes_retransmit=9 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000043 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1018 bytes_read=5182 bytes_retransmit=0 bytes_invalid=0 send_seq=141 receive_seq=141 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000009 adj=49999788 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1640 bytes_read=7625 bytes_retransmit=44 bytes_invalid=0 send_seq=183 receive_seq=181 retransmit_seq=182 srtt=0.000 rttvar=0.000 rto=0.800 ready_bytes=0 upcoming_bytes=0 freq=63999436 adj=63999149 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1634 bytes_read=7786 bytes_retransmit=9 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999840 adj=63999219 Octopus_V1.1_F446: temp=37.2 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=512 bytes_read=11450 bytes_retransmit=0 bytes_invalid=0 send_seq=84 receive_seq=84 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000005 adj=31999952 coil_temp=23.6 refs=0 mcu_temp=23.80 supply_voltage=3.069 sysload=1.62 cputime=10.083 memavail=345548 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 62.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4094 bytes_read=10896 bytes_retransmit=9 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000060 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1024 bytes_read=5198 bytes_retransmit=0 bytes_invalid=0 send_seq=142 receive_seq=142 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000009 adj=49999862 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1646 bytes_read=7625 bytes_retransmit=57 bytes_invalid=0 send_seq=184 receive_seq=181 retransmit_seq=183 srtt=0.000 rttvar=0.000 rto=1.600 ready_bytes=0 upcoming_bytes=0 freq=63999436 adj=63999176 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1640 bytes_read=7886 bytes_retransmit=9 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999835 adj=63999415 Octopus_V1.1_F446: temp=37.2 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=518 bytes_read=11806 bytes_retransmit=0 bytes_invalid=0 send_seq=85 receive_seq=85 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000003 adj=31999911 coil_temp=23.6 refs=0 mcu_temp=23.82 supply_voltage=3.069 sysload=1.62 cputime=10.116 memavail=345548 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 63.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4100 bytes_read=11026 bytes_retransmit=9 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000034 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1030 bytes_read=5214 bytes_retransmit=0 bytes_invalid=0 send_seq=143 receive_seq=143 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000012 adj=49999857 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1652 bytes_read=7625 bytes_retransmit=82 bytes_invalid=0 send_seq=185 receive_seq=181 retransmit_seq=185 srtt=0.000 rttvar=0.000 rto=3.200 ready_bytes=0 upcoming_bytes=0 freq=63999436 adj=63999190 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1646 bytes_read=8014 bytes_retransmit=9 bytes_invalid=0 send_seq=184 receive_seq=184 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999825 adj=63999430 Octopus_V1.1_F446: temp=37.2 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=27.0 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=524 bytes_read=12162 bytes_retransmit=0 bytes_invalid=0 send_seq=86 receive_seq=86 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000013 adj=31999898 coil_temp=23.6 refs=0 mcu_temp=23.83 supply_voltage=3.069 sysload=1.62 cputime=10.149 memavail=345548 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Timeout with MCU 'toolboard_t0' (eventtime=64.093672)
Transition to shutdown state: Lost communication with MCU 'toolboard_t0'
Dumping gcode input 0 blocks
Dumping 20 requests for client 4104884200
Received 33.518059: b'{"id":4089855688,"method":"info","params":{}}'
Received 33.770363: b'{"id":4089855688,"method":"info","params":{}}'
Received 34.021876: b'{"id":4089855280,"method":"info","params":{}}'
Received 34.273629: b'{"id":4089854056,"method":"info","params":{}}'
Received 34.526001: b'{"id":4089855280,"method":"info","params":{}}'
Received 34.779639: b'{"id":4089855496,"method":"info","params":{}}'
Received 34.781581: b'{"id":4089855496,"method":"objects/subscribe","params":{"objects":{"webhooks":null,"bed_mesh":["profile_name","mesh_max","mesh_min","probed_matrix","profiles"],"configfile":["config","warnings"],"display_status":["progress","message"],"fan":["speed"],"gcode_move":["extrude_factor","gcode_position","homing_origin","speed_factor","speed"],"idle_timeout":["state"],"pause_resume":["is_paused"],"print_stats":["print_duration","total_duration","filament_used","filename","state","message","info"],"toolhead":["homed_axes","estimated_print_time","print_time","position","extruder","max_accel","minimum_cruise_ratio","max_velocity","square_corner_velocity"],"virtual_sdcard":["file_position","is_active","progress"],"firmware_retraction":["retract_length","retract_speed","unretract_extra_length","unretract_speed"],"motion_report":["live_position","live_velocity","live_extruder_velocity"],"exclude_object":["current_object","objects","excluded_objects"],"manual_probe":["is_active"],"screws_tilt_adjust":["results","error"],"extruder":["target","temperature","pressure_advance","smooth_time","power"],"extruder1":["target","temperature","pressure_advance","smooth_time","power"],"heater_bed":["target","temperature","power"],"temperature_sensor Octopus_V1.1_F446":["temperature"],"temperature_sensor EBB42_v1.2_T0":["temperature"],"temperature_sensor EBB42_v1.2_T1":["temperature"],"temperature_sensor raspberry_pi":["temperature"],"controller_fan controller_fan":["speed"],"fan_generic part_fan_t0":["speed"],"fan_generic part_fan_t1":["speed"],"heater_fan toolhead_cooling_fan":["speed"],"heater_fan toolhead_cooling_fan_t1":["speed"],"heater_fan vaoc_fan":["speed"],"filament_switch_sensor toolhead_filament_sensor_t0":["enabled","filament_detected"],"filament_switch_sensor toolhead_filament_sensor_t1":["enabled","filament_detected"],"neopixel vaoc_led":["color_data"]},"response_template":{"method":"process_status_update"}}}'
Received 34.934609: b'{"id":4089854128,"method":"gcode/subscribe_output","params":{"response_template":{"method":"process_gcode_response"}}}'
Received 34.936766: b'{"id":4089854128,"method":"list_endpoints","params":{}}'
Received 34.940921: b'{"id":4080273272,"method":"objects/subscribe","params":{"objects":{"webhooks":null,"print_stats":null,"bed_mesh":["profile_name","mesh_max","mesh_min","probed_matrix","profiles"],"configfile":["config","warnings"],"display_status":["progress","message"],"fan":["speed"],"gcode_move":["extrude_factor","gcode_position","homing_origin","speed_factor","speed"],"idle_timeout":["state"],"pause_resume":["is_paused"],"toolhead":["homed_axes","estimated_print_time","print_time","position","extruder","max_accel","minimum_cruise_ratio","max_velocity","square_corner_velocity"],"virtual_sdcard":["file_position","is_active","progress"],"firmware_retraction":["retract_length","retract_speed","unretract_extra_length","unretract_speed"],"motion_report":["live_position","live_velocity","live_extruder_velocity"],"exclude_object":["current_object","objects","excluded_objects"],"manual_probe":["is_active"],"screws_tilt_adjust":["results","error"],"extruder":["target","temperature","pressure_advance","smooth_time","power"],"extruder1":["target","temperature","pressure_advance","smooth_time","power"],"heater_bed":["target","temperature","power"],"temperature_sensor Octopus_V1.1_F446":["temperature"],"temperature_sensor EBB42_v1.2_T0":["temperature"],"temperature_sensor EBB42_v1.2_T1":["temperature"],"temperature_sensor raspberry_pi":["temperature"],"controller_fan controller_fan":["speed"],"fan_generic part_fan_t0":["speed"],"fan_generic part_fan_t1":["speed"],"heater_fan toolhead_cooling_fan":["speed"],"heater_fan toolhead_cooling_fan_t1":["speed"],"heater_fan vaoc_fan":["speed"],"filament_switch_sensor toolhead_filament_sensor_t0":["enabled","filament_detected"],"filament_switch_sensor toolhead_filament_sensor_t1":["enabled","filament_detected"],"neopixel vaoc_led":["color_data"]},"response_template":{"method":"process_status_update"}}}'
Received 35.100573: b'{"id":4089697568,"method":"objects/list","params":{}}'
Received 35.102592: b'{"id":4089697568,"method":"objects/query","params":{"objects":{"configfile":null}}}'
Received 35.330810: b'{"id":4089697976,"method":"register_remote_method","params":{"response_template":{"method":"shutdown_machine"},"remote_method":"shutdown_machine"}}'
Received 35.338031: b'{"id":4089697976,"method":"register_remote_method","params":{"response_template":{"method":"reboot_machine"},"remote_method":"reboot_machine"}}'
Received 35.340331: b'{"id":4089697976,"method":"register_remote_method","params":{"response_template":{"method":"pause_job_queue"},"remote_method":"pause_job_queue"}}'
Received 35.342042: b'{"id":4089697976,"method":"register_remote_method","params":{"response_template":{"method":"start_job_queue"},"remote_method":"start_job_queue"}}'
Received 35.345923: b'{"id":4080274400,"method":"objects/query","params":{"objects":{"heaters":null}}}'
Received 35.345923: b'{"id":4080273512,"method":"objects/query","params":{"objects":{"heaters":null}}}'
Received 35.542592: b'{"id":4080274400,"method":"objects/subscribe","params":{"objects":{"webhooks":null,"print_stats":null,"temperature_sensor Octopus_V1.1_F446":null,"temperature_sensor EBB42_v1.2_T0":null,"temperature_sensor EBB42_v1.2_T1":null,"temperature_sensor raspberry_pi":null,"heater_bed":null,"temperature_sensor beacon_coil":null,"extruder":null,"extruder1":null,"bed_mesh":["profile_name","mesh_max","mesh_min","probed_matrix","profiles"],"configfile":["config","warnings"],"display_status":["progress","message"],"fan":["speed"],"gcode_move":["extrude_factor","gcode_position","homing_origin","speed_factor","speed"],"idle_timeout":["state"],"pause_resume":["is_paused"],"toolhead":["homed_axes","estimated_print_time","print_time","position","extruder","max_accel","minimum_cruise_ratio","max_velocity","square_corner_velocity"],"virtual_sdcard":["file_position","is_active","progress"],"firmware_retraction":["retract_length","retract_speed","unretract_extra_length","unretract_speed"],"motion_report":["live_position","live_velocity","live_extruder_velocity"],"exclude_object":["current_object","objects","excluded_objects"],"manual_probe":["is_active"],"screws_tilt_adjust":["results","error"],"controller_fan controller_fan":["speed"],"fan_generic part_fan_t0":["speed"],"fan_generic part_fan_t1":["speed"],"heater_fan toolhead_cooling_fan":["speed"],"heater_fan toolhead_cooling_fan_t1":["speed"],"heater_fan vaoc_fan":["speed"],"filament_switch_sensor toolhead_filament_sensor_t0":["enabled","filament_detected"],"filament_switch_sensor toolhead_filament_sensor_t1":["enabled","filament_detected"],"neopixel vaoc_led":["color_data"]},"response_template":{"method":"process_status_update"}}}'
Received 35.824099: b'{"id":4080273944,"method":"objects/subscribe","params":{"objects":{"webhooks":null,"print_stats":null,"temperature_sensor Octopus_V1.1_F446":null,"temperature_sensor EBB42_v1.2_T0":null,"temperature_sensor EBB42_v1.2_T1":null,"temperature_sensor raspberry_pi":null,"heater_bed":null,"temperature_sensor beacon_coil":null,"extruder":null,"extruder1":null,"bed_mesh":["profile_name","mesh_max","mesh_min","probed_matrix","profiles"],"configfile":["config","warnings"],"display_status":["progress","message"],"fan":["speed"],"gcode_move":["extrude_factor","gcode_position","homing_origin","speed_factor","speed"],"idle_timeout":["state"],"pause_resume":["is_paused"],"toolhead":["homed_axes","estimated_print_time","print_time","position","extruder","max_accel","minimum_cruise_ratio","max_velocity","square_corner_velocity"],"virtual_sdcard":["file_position","is_active","progress"],"firmware_retraction":["retract_length","retract_speed","unretract_extra_length","unretract_speed"],"motion_report":["live_position","live_velocity","live_extruder_velocity"],"exclude_object":["current_object","objects","excluded_objects"],"manual_probe":["is_active"],"screws_tilt_adjust":["results","error"],"controller_fan controller_fan":["speed"],"fan_generic part_fan_t0":["speed"],"fan_generic part_fan_t1":["speed"],"heater_fan toolhead_cooling_fan":["speed"],"heater_fan toolhead_cooling_fan_t1":["speed"],"heater_fan vaoc_fan":["speed"],"filament_switch_sensor toolhead_filament_sensor_t0":["enabled","filament_detected"],"filament_switch_sensor toolhead_filament_sensor_t1":["enabled","filament_detected"],"neopixel vaoc_led":["color_data"]},"response_template":{"method":"process_status_update"}}}'
gcode state: absolute_coord=True absolute_extrude=True base_position=[0.0, 0.0, 0.0, 0.0] last_position=[0.0, 0.0, 0.0, 0.0] homing_position=[0.0, 0.0, 0.0, 0.0] speed_factor=0.016666666666666666 extrude_factor=1.0 speed=25.0
MCU 'mcu' shutdown: Command request
clocksync state: mcu_freq=180000000 last_clock=12905319802 clock_est=(43.774 9312104388 180000041.733) min_half_rtt=0.000070 min_rtt_time=34.044 time_avg=43.774(155.593) clock_avg=9312104388.593(28006699682.501) pred_variance=9323726133.396
Dumping serial stats: bytes_write=4112 bytes_read=11147 bytes_retransmit=9 bytes_invalid=0 send_seq=346 receive_seq=346 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 100 messages
Sent 0 34.021446 34.021446 14: seq: 16, tmcuart_send oid=6 write=b'\xea\x03H \xe4' read=10
Sent 1 34.025973 34.025973 19: seq: 17, tmcuart_send oid=6 write=b'\xea\x03\x082\x80\x10\xe2\x88#\xf9' read=0
Sent 2 34.028635 34.028635 14: seq: 18, tmcuart_send oid=6 write=b'\xea\x03H \xe4' read=10
Sent 3 34.032987 34.032987 19: seq: 19, tmcuart_send oid=6 write=b'\xea\x03h2\x80\x1e\xfa\xef?\xdf' read=0
Sent 4 34.035827 34.035827 14: seq: 1a, tmcuart_send oid=6 write=b'\xea\x03H \xe4' read=10
Sent 5 34.040229 34.040229 19: seq: 1b, tmcuart_send oid=6 write=b'\xea\x03\x882\x80\x00\x02\x08\xa0\xe6' read=0
Sent 6 34.042971 34.042971 14: seq: 1c, tmcuart_send oid=6 write=b'\xea\x03H \xe4' read=10
Sent 7 34.044413 34.044413 6: seq: 1d, get_clock
Sent 8 34.047321 34.047321 19: seq: 1e, tmcuart_send oid=6 write=b'\xea\x03H8\x80\x00\x02\x08 \xde' read=0
Sent 9 34.049956 34.049956 14: seq: 1f, tmcuart_send oid=6 write=b'\xea\x03H \xe4' read=10
Sent 10 34.054265 34.054265 19: seq: 10, tmcuart_send oid=6 write=b'\xea\x03\x08>\xe4\x1ar\x88\xa4\x85' read=0
Sent 11 34.056918 34.056918 14: seq: 11, tmcuart_send oid=6 write=b'\xea\x03H \xe4' read=10
Sent 12 34.061321 34.061321 19: seq: 12, tmcuart_send oid=6 write=b'\xea\x03(2\x80\x00\x02\x88"\xf3' read=0
Sent 13 34.063981 34.063981 14: seq: 13, tmcuart_send oid=6 write=b'\xea\x03H \xe4' read=10
Sent 14 34.068285 34.068285 19: seq: 14, tmcuart_send oid=6 write=b'\xea\x03\x088\x80\x00\x02\x08 \xba' read=0
Sent 15 34.070925 34.070925 14: seq: 15, tmcuart_send oid=6 write=b'\xea\x03H \xe4' read=10
Sent 16 34.075317 34.075317 14: seq: 16, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 17 34.079250 34.079250 19: seq: 17, tmcuart_send oid=7 write=b'\xea\x03\x080\x80\x00\n\x08\xb8\x87' read=0
Sent 18 34.081883 34.081883 14: seq: 18, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 19 34.085813 34.085813 19: seq: 19, tmcuart_send oid=7 write=b'\xea\x03h0\x80\x00\x12\x08 \xda' read=0
Sent 20 34.088444 34.088444 14: seq: 1a, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 21 34.092730 34.092730 19: seq: 1b, tmcuart_send oid=7 write=b'\xea\x03\x88=\x91\x02\x02h\xac\x9c' read=0
Sent 22 34.095344 34.095344 14: seq: 1c, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 23 34.099685 34.099685 19: seq: 1d, tmcuart_send oid=7 write=b'\xea\x03\x082\x80\x10\xe2\x88#\xf9' read=0
Sent 24 34.102381 34.102381 14: seq: 1e, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 25 34.106857 34.106857 19: seq: 1f, tmcuart_send oid=7 write=b'\xea\x03h2\x80\x1e\xfa\xef?\xdf' read=0
Sent 26 34.109539 34.109539 14: seq: 10, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 27 34.113969 34.113969 19: seq: 11, tmcuart_send oid=7 write=b'\xea\x03\x882\x80\x00\x02\x08\xa0\xe6' read=0
Sent 28 34.116691 34.116691 14: seq: 12, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 29 34.121084 34.121084 19: seq: 13, tmcuart_send oid=7 write=b'\xea\x03H8\x80\x00\x02\x08 \xde' read=0
Sent 30 34.123781 34.123781 14: seq: 14, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 31 34.128142 34.128142 19: seq: 15, tmcuart_send oid=7 write=b'\xea\x03\x08>\xe4\x1ar\x88\xa4\x85' read=0
Sent 32 34.131365 34.131365 14: seq: 16, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 33 34.136259 34.136259 19: seq: 17, tmcuart_send oid=7 write=b'\xea\x03(2\x80\x00\x02\x88"\xf3' read=0
Sent 34 34.139224 34.139224 14: seq: 18, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 35 34.143722 34.143722 19: seq: 19, tmcuart_send oid=7 write=b'\xea\x03\x088\x80\x00\x02\x08 \xba' read=0
Sent 36 34.146360 34.146360 14: seq: 1a, tmcuart_send oid=7 write=b'\xea\x03H \xe4' read=10
Sent 37 34.150811 34.150811 14: seq: 1b, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 38 34.154756 34.154756 19: seq: 1c, tmcuart_send oid=8 write=b'\xea\x03\x080\x80\x00\n\x08\xb8\x87' read=0
Sent 39 34.157428 34.157428 14: seq: 1d, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 40 34.161420 34.161420 19: seq: 1e, tmcuart_send oid=8 write=b'\xea\x03h0\x80\x00\x12\x08 \xda' read=0
Sent 41 34.164132 34.164132 14: seq: 1f, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 42 34.168592 34.168592 19: seq: 10, tmcuart_send oid=8 write=b'\xea\x03\x88=\x91\x02\x02h\xac\x9c' read=0
Sent 43 34.171222 34.171222 14: seq: 11, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 44 34.175562 34.175562 19: seq: 12, tmcuart_send oid=8 write=b'\xea\x03\x082\x80\x10\xe2\x88#\xf9' read=0
Sent 45 34.178215 34.178215 14: seq: 13, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 46 34.182557 34.182557 19: seq: 14, tmcuart_send oid=8 write=b'\xea\x03h2\x80\x1e\xfa\xef?\xdf' read=0
Sent 47 34.185284 34.185284 14: seq: 15, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 48 34.189585 34.189585 19: seq: 16, tmcuart_send oid=8 write=b'\xea\x03\x882\x80\x00\x02\x08\xa0\xe6' read=0
Sent 49 34.192283 34.192283 14: seq: 17, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 50 34.196641 34.196641 19: seq: 18, tmcuart_send oid=8 write=b'\xea\x03H8\x80\x00\x02\x08 \xde' read=0
Sent 51 34.199272 34.199272 14: seq: 19, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 52 34.203617 34.203617 19: seq: 1a, tmcuart_send oid=8 write=b'\xea\x03\x08>\xe4\x1ar\x88\xa4\x85' read=0
Sent 53 34.206270 34.206270 14: seq: 1b, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 54 34.210584 34.210584 19: seq: 1c, tmcuart_send oid=8 write=b'\xea\x03(2\x80\x00\x02\x88"\xf3' read=0
Sent 55 34.213241 34.213241 14: seq: 1d, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 56 34.217557 34.217557 19: seq: 1e, tmcuart_send oid=8 write=b'\xea\x03\x088\x80\x00\x02\x08 \xba' read=0
Sent 57 34.220245 34.220245 14: seq: 1f, tmcuart_send oid=8 write=b'\xea\x03H \xe4' read=10
Sent 58 34.630119 34.630119 31: seq: 10, neopixel_update oid=11 pos=0 data=b'\x00\x00', neopixel_update oid=11 pos=2 data=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Sent 59 34.635647 34.635647 7: seq: 11, neopixel_send oid=11
Sent 60 34.636522 34.636522 7: seq: 12, stepper_get_position oid=12
Sent 61 34.637729 34.637729 14: seq: 13, tmcuart_send oid=2 write=b'\xea\x03H-\xd5' read=10
Sent 62 34.642310 34.642310 7: seq: 14, stepper_get_position oid=14
Sent 63 34.642833 34.642833 14: seq: 15, tmcuart_send oid=4 write=b'\xea\x03H-\xd5' read=10
Sent 64 34.647531 34.647531 7: seq: 16, stepper_get_position oid=17
Sent 65 34.648375 34.648375 14: seq: 17, tmcuart_send oid=5 write=b'\xea\x03H-\xd5' read=10
Sent 66 34.653104 34.653104 7: seq: 18, stepper_get_position oid=18
Sent 67 34.653721 34.653721 14: seq: 19, tmcuart_send oid=6 write=b'\xea\x03H-\xd5' read=10
Sent 68 34.658249 34.658249 7: seq: 1a, stepper_get_position oid=20
Sent 69 34.659006 34.659006 14: seq: 1b, tmcuart_send oid=7 write=b'\xea\x03H-\xd5' read=10
Sent 70 34.663554 34.663554 7: seq: 1c, stepper_get_position oid=21
Sent 71 34.664192 34.664192 14: seq: 1d, tmcuart_send oid=8 write=b'\xea\x03H-\xd5' read=10
Sent 72 34.668826 34.668826 7: seq: 1e, stepper_get_position oid=22
Sent 73 34.669421 34.669421 14: seq: 1f, tmcuart_send oid=3 write=b'\xea\x03H-\xd5' read=10
Sent 74 35.029228 35.029228 6: seq: 10, get_clock
Sent 75 36.014027 36.014027 6: seq: 11, get_clock
Sent 76 42.080099 42.080099 6: seq: 12, get_clock
Sent 77 43.063390 43.063390 6: seq: 13, get_clock
Sent 78 44.047852 44.047852 6: seq: 14, get_clock
Sent 79 45.032632 45.032632 6: seq: 15, get_clock
Sent 80 46.017252 46.017252 6: seq: 16, get_clock
Sent 81 47.002415 47.002415 6: seq: 17, get_clock
Sent 82 47.986604 47.986604 6: seq: 18, get_clock
Sent 83 48.970918 48.970918 6: seq: 19, get_clock
Sent 84 49.955300 49.955300 6: seq: 1a, get_clock
Sent 85 50.939325 50.939325 6: seq: 1b, get_clock
Sent 86 51.923518 51.923518 6: seq: 1c, get_clock
Sent 87 52.907894 52.907894 6: seq: 1d, get_clock
Sent 88 53.892020 53.892020 6: seq: 1e, get_clock
Sent 89 54.876264 54.876264 6: seq: 1f, get_clock
Sent 90 55.860563 55.860563 6: seq: 10, get_clock
Sent 91 56.844768 56.844768 6: seq: 11, get_clock
Sent 92 57.829329 57.829329 6: seq: 12, get_clock
Sent 93 58.813578 58.813578 6: seq: 13, get_clock
Sent 94 59.798105 59.798105 6: seq: 14, get_clock
Sent 95 60.782625 60.782625 6: seq: 15, get_clock
Sent 96 61.767060 61.767060 6: seq: 16, get_clock
Sent 97 62.752141 62.752141 6: seq: 17, get_clock
Sent 98 63.736583 63.736583 6: seq: 18, get_clock
Sent 99 64.096807 64.096807 6: seq: 19, emergency_stop
Dumping receive queue 100 messages
Receive: 0 51.697755 50.939325 15: seq: 1c, analog_in_state oid=25 next_clock=2201065408 value=31415
Receive: 1 51.923703 51.923518 11: seq: 1d, clock clock=2189026768
Receive: 2 51.987758 51.923518 14: seq: 1d, analog_in_state oid=24 next_clock=2253265408 value=7743
Receive: 3 51.997743 51.923518 15: seq: 1d, analog_in_state oid=25 next_clock=2255065408 value=31416
Receive: 4 52.140610 51.923518 14: seq: 1d, stats count=129 sum=116402 sumsq=643840
Receive: 5 52.287779 51.923518 14: seq: 1d, analog_in_state oid=24 next_clock=2307265408 value=7749
Receive: 6 52.297792 51.923518 15: seq: 1d, analog_in_state oid=25 next_clock=2309065408 value=31415
Receive: 7 52.587759 51.923518 14: seq: 1d, analog_in_state oid=24 next_clock=2361265408 value=7748
Receive: 8 52.597763 51.923518 15: seq: 1d, analog_in_state oid=25 next_clock=2363065408 value=31415
Receive: 9 52.887789 51.923518 14: seq: 1d, analog_in_state oid=24 next_clock=2415265408 value=7749
Receive: 10 52.897749 51.923518 15: seq: 1d, analog_in_state oid=25 next_clock=2417065408 value=31415
Receive: 11 52.908082 52.907894 11: seq: 1e, clock clock=2366212831
Receive: 12 53.187829 52.907894 14: seq: 1e, analog_in_state oid=24 next_clock=2469265408 value=7745
Receive: 13 53.197756 52.907894 15: seq: 1e, analog_in_state oid=25 next_clock=2471065408 value=31416
Receive: 14 53.487969 52.907894 14: seq: 1e, analog_in_state oid=24 next_clock=2523265408 value=7747
Receive: 15 53.497791 52.907894 15: seq: 1e, analog_in_state oid=25 next_clock=2525065408 value=31418
Receive: 16 53.787810 52.907894 14: seq: 1e, analog_in_state oid=24 next_clock=2577265408 value=7745
Receive: 17 53.797814 52.907894 15: seq: 1e, analog_in_state oid=25 next_clock=2579065408 value=31418
Receive: 18 53.892300 53.892020 11: seq: 1f, clock clock=2543365085
Receive: 19 54.087797 53.892020 14: seq: 1f, analog_in_state oid=24 next_clock=2631265408 value=7745
Receive: 20 54.097775 53.892020 15: seq: 1f, analog_in_state oid=25 next_clock=2633065408 value=31415
Receive: 21 54.387787 53.892020 14: seq: 1f, analog_in_state oid=24 next_clock=2685265408 value=7744
Receive: 22 54.397773 53.892020 15: seq: 1f, analog_in_state oid=25 next_clock=2687065408 value=31418
Receive: 23 54.687787 53.892020 14: seq: 1f, analog_in_state oid=24 next_clock=2739265408 value=7746
Receive: 24 54.697807 53.892020 15: seq: 1f, analog_in_state oid=25 next_clock=2741065408 value=31417
Receive: 25 54.876489 54.876264 11: seq: 10, clock clock=2720517609
Receive: 26 54.987779 54.876264 14: seq: 10, analog_in_state oid=24 next_clock=2793265408 value=7747
Receive: 27 54.997761 54.876264 15: seq: 10, analog_in_state oid=25 next_clock=2795065408 value=31413
Receive: 28 55.287780 54.876264 14: seq: 10, analog_in_state oid=24 next_clock=2847265408 value=7747
Receive: 29 55.297798 54.876264 15: seq: 10, analog_in_state oid=25 next_clock=2849065408 value=31414
Receive: 30 55.587823 54.876264 14: seq: 10, analog_in_state oid=24 next_clock=2901265408 value=7743
Receive: 31 55.597782 54.876264 15: seq: 10, analog_in_state oid=25 next_clock=2903065408 value=31413
Receive: 32 55.860724 55.860563 11: seq: 11, clock clock=2897691343
Receive: 33 55.887773 55.860563 14: seq: 11, analog_in_state oid=24 next_clock=2955265408 value=7744
Receive: 34 55.897755 55.860563 15: seq: 11, analog_in_state oid=25 next_clock=2957065408 value=31415
Receive: 35 56.187750 55.860563 14: seq: 11, analog_in_state oid=24 next_clock=3009265408 value=7748
Receive: 36 56.197753 55.860563 15: seq: 11, analog_in_state oid=25 next_clock=3011065408 value=31414
Receive: 37 56.487773 55.860563 14: seq: 11, analog_in_state oid=24 next_clock=3063265408 value=7747
Receive: 38 56.497748 55.860563 15: seq: 11, analog_in_state oid=25 next_clock=3065065408 value=31416
Receive: 39 56.787760 55.860563 14: seq: 11, analog_in_state oid=24 next_clock=3117265408 value=7747
Receive: 40 56.797769 55.860563 15: seq: 11, analog_in_state oid=25 next_clock=3119065408 value=31416
Receive: 41 56.844988 56.844768 11: seq: 12, clock clock=3074847418
Receive: 42 57.087751 56.844768 14: seq: 12, analog_in_state oid=24 next_clock=3171265408 value=7747
Receive: 43 57.097823 56.844768 15: seq: 12, analog_in_state oid=25 next_clock=3173065408 value=31415
Receive: 44 57.140687 56.844768 14: seq: 12, stats count=129 sum=116546 sumsq=644275
Receive: 45 57.387820 56.844768 14: seq: 12, analog_in_state oid=24 next_clock=3225265408 value=7747
Receive: 46 57.397771 56.844768 15: seq: 12, analog_in_state oid=25 next_clock=3227065408 value=31415
Receive: 47 57.687765 56.844768 14: seq: 12, analog_in_state oid=24 next_clock=3279265408 value=7744
Receive: 48 57.697759 56.844768 15: seq: 12, analog_in_state oid=25 next_clock=3281065408 value=31416
Receive: 49 57.829639 57.829329 11: seq: 13, clock clock=3252073546
Receive: 50 57.987778 57.829329 14: seq: 13, analog_in_state oid=24 next_clock=3333265408 value=7744
Receive: 51 57.997812 57.829329 15: seq: 13, analog_in_state oid=25 next_clock=3335065408 value=31416
Receive: 52 58.287778 57.829329 14: seq: 13, analog_in_state oid=24 next_clock=3387265408 value=7748
Receive: 53 58.297786 57.829329 15: seq: 13, analog_in_state oid=25 next_clock=3389065408 value=31415
Receive: 54 58.587895 57.829329 14: seq: 13, analog_in_state oid=24 next_clock=3441265408 value=7747
Receive: 55 58.597899 57.829329 15: seq: 13, analog_in_state oid=25 next_clock=3443065408 value=31414
Receive: 56 58.813984 58.813578 11: seq: 14, clock clock=3429260105
Receive: 57 58.888078 58.813578 14: seq: 14, analog_in_state oid=24 next_clock=3495265408 value=7747
Receive: 58 58.897872 58.813578 15: seq: 14, analog_in_state oid=25 next_clock=3497065408 value=31415
Receive: 59 59.187938 58.813578 14: seq: 14, analog_in_state oid=24 next_clock=3549265408 value=7742
Receive: 60 59.197866 58.813578 15: seq: 14, analog_in_state oid=25 next_clock=3551065408 value=31413
Receive: 61 59.487933 58.813578 14: seq: 14, analog_in_state oid=24 next_clock=3603265408 value=7742
Receive: 62 59.497830 58.813578 15: seq: 14, analog_in_state oid=25 next_clock=3605065408 value=31414
Receive: 63 59.787831 58.813578 14: seq: 14, analog_in_state oid=24 next_clock=3657265408 value=7748
Receive: 64 59.797790 58.813578 15: seq: 14, analog_in_state oid=25 next_clock=3659065408 value=31413
Receive: 65 59.798539 59.798105 11: seq: 15, clock clock=3606474174
Receive: 66 60.087850 59.798105 14: seq: 15, analog_in_state oid=24 next_clock=3711265408 value=7744
Receive: 67 60.097833 59.798105 15: seq: 15, analog_in_state oid=25 next_clock=3713065408 value=31415
Receive: 68 60.388263 59.798105 14: seq: 15, analog_in_state oid=24 next_clock=3765265408 value=7741
Receive: 69 60.397817 59.798105 15: seq: 15, analog_in_state oid=25 next_clock=3767065408 value=31416
Receive: 70 60.687853 59.798105 14: seq: 15, analog_in_state oid=24 next_clock=3819265408 value=7748
Receive: 71 60.697891 59.798105 15: seq: 15, analog_in_state oid=25 next_clock=3821065408 value=31416
Receive: 72 60.782970 60.782625 11: seq: 16, clock clock=3783674053
Receive: 73 60.987841 60.782625 14: seq: 16, analog_in_state oid=24 next_clock=3873265408 value=7748
Receive: 74 60.997789 60.782625 15: seq: 16, analog_in_state oid=25 next_clock=3875065408 value=31415
Receive: 75 61.287986 60.782625 14: seq: 16, analog_in_state oid=24 next_clock=3927265408 value=7750
Receive: 76 61.297784 60.782625 15: seq: 16, analog_in_state oid=25 next_clock=3929065408 value=31414
Receive: 77 61.587814 60.782625 14: seq: 16, analog_in_state oid=24 next_clock=3981265408 value=7745
Receive: 78 61.597782 60.782625 15: seq: 16, analog_in_state oid=25 next_clock=3983065408 value=31415
Receive: 79 61.767395 61.767060 11: seq: 17, clock clock=3960873343
Receive: 80 61.887883 61.767060 14: seq: 17, analog_in_state oid=24 next_clock=4035265408 value=7748
Receive: 81 61.897867 61.767060 15: seq: 17, analog_in_state oid=25 next_clock=4037065408 value=31415
Receive: 82 62.187846 61.767060 14: seq: 17, analog_in_state oid=24 next_clock=4089265408 value=7745
Receive: 83 62.187866 61.767060 14: seq: 17, stats count=126 sum=113821 sumsq=628115
Receive: 84 62.197809 61.767060 15: seq: 17, analog_in_state oid=25 next_clock=4091065408 value=31414
Receive: 85 62.487802 61.767060 14: seq: 17, analog_in_state oid=24 next_clock=4143265408 value=7746
Receive: 86 62.497799 61.767060 15: seq: 17, analog_in_state oid=25 next_clock=4145065408 value=31414
Receive: 87 62.752449 62.752141 11: seq: 18, clock clock=4138178852
Receive: 88 62.787785 62.752141 14: seq: 18, analog_in_state oid=24 next_clock=4197265408 value=7748
Receive: 89 62.797773 62.752141 15: seq: 18, analog_in_state oid=25 next_clock=4199065408 value=31414
Receive: 90 63.087942 62.752141 13: seq: 18, analog_in_state oid=24 next_clock=4251265408 value=7748
Receive: 91 63.097831 62.752141 14: seq: 18, analog_in_state oid=25 next_clock=4253065408 value=31415
Receive: 92 63.387811 62.752141 13: seq: 18, analog_in_state oid=24 next_clock=10298112 value=7745
Receive: 93 63.397785 62.752141 14: seq: 18, analog_in_state oid=25 next_clock=12098112 value=31415
Receive: 94 63.688067 62.752141 13: seq: 18, analog_in_state oid=24 next_clock=64298112 value=7744
Receive: 95 63.697747 62.752141 14: seq: 18, analog_in_state oid=25 next_clock=66098112 value=31414
Receive: 96 63.737056 63.736583 10: seq: 19, clock clock=20417914
Receive: 97 63.987843 63.736583 13: seq: 19, analog_in_state oid=24 next_clock=118298112 value=7744
Receive: 98 63.997872 63.736583 14: seq: 19, analog_in_state oid=25 next_clock=120098112 value=31413
Receive: 99 64.097136 64.096807 11: seq: 1a, shutdown clock=85249549 static_string_id=Command request
MCU 'beacon' shutdown: Emergency stop
clocksync state: mcu_freq=32000000 last_clock=2276465588 clock_est=(44.757 1669086580 32000027.679) min_half_rtt=0.000183 min_rtt_time=33.532 time_avg=44.756(131.623) clock_avg=1669086580.553(4211925169.548) pred_variance=316524623.841 clock_adj=(0.557 32000035.500)
Dumping serial stats: bytes_write=536 bytes_read=12561 bytes_retransmit=0 bytes_invalid=0 send_seq=88 receive_seq=88 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 73 messages
Sent 0 33.084889 33.084889 8: seq: 11, identify offset=0 count=40
Sent 1 33.095611 33.095611 8: seq: 10, identify offset=0 count=40
Sent 2 33.096445 33.096445 8: seq: 11, identify offset=40 count=40
Sent 3 33.097185 33.097185 8: seq: 12, identify offset=80 count=40
Sent 4 33.097941 33.097941 9: seq: 13, identify offset=120 count=40
Sent 5 33.098601 33.098601 9: seq: 14, identify offset=160 count=40
Sent 6 33.099307 33.099307 9: seq: 15, identify offset=200 count=40
Sent 7 33.100091 33.100091 9: seq: 16, identify offset=240 count=40
Sent 8 33.100894 33.100894 9: seq: 17, identify offset=280 count=40
Sent 9 33.101610 33.101610 9: seq: 18, identify offset=320 count=40
Sent 10 33.102353 33.102353 9: seq: 19, identify offset=360 count=40
Sent 11 33.103068 33.103068 9: seq: 1a, identify offset=400 count=40
Sent 12 33.103830 33.103830 9: seq: 1b, identify offset=440 count=40
Sent 13 33.104576 33.104576 9: seq: 1c, identify offset=480 count=40
Sent 14 33.105354 33.105354 9: seq: 1d, identify offset=520 count=40
Sent 15 33.106059 33.106059 9: seq: 1e, identify offset=560 count=40
Sent 16 33.106796 33.106796 9: seq: 1f, identify offset=600 count=40
Sent 17 33.107465 33.107465 9: seq: 10, identify offset=640 count=40
Sent 18 33.108343 33.108343 9: seq: 11, identify offset=680 count=40
Sent 19 33.109189 33.109189 9: seq: 12, identify offset=720 count=40
Sent 20 33.109901 33.109901 9: seq: 13, identify offset=760 count=40
Sent 21 33.110612 33.110612 9: seq: 14, identify offset=800 count=40
Sent 22 33.111434 33.111434 9: seq: 15, identify offset=840 count=40
Sent 23 33.112276 33.112276 9: seq: 16, identify offset=880 count=40
Sent 24 33.113112 33.113112 9: seq: 17, identify offset=920 count=40
Sent 25 33.113879 33.113879 9: seq: 18, identify offset=937 count=40
Sent 26 33.117050 33.117050 6: seq: 19, get_uptime
Sent 27 33.169089 33.169089 6: seq: 1a, get_clock
Sent 28 33.220250 33.220250 6: seq: 1b, get_clock
Sent 29 33.271959 33.271959 6: seq: 1c, get_clock
Sent 30 33.324334 33.324334 6: seq: 1d, get_clock
Sent 31 33.375608 33.375608 6: seq: 1e, get_clock
Sent 32 33.426907 33.426907 6: seq: 1f, get_clock
Sent 33 33.478387 33.478387 6: seq: 10, get_clock
Sent 34 33.529803 33.529803 6: seq: 11, get_clock
Sent 35 33.531963 33.531963 6: seq: 12, get_clock
Sent 36 34.387891 34.387891 6: seq: 13, get_config
Sent 37 34.516790 34.516790 6: seq: 14, get_clock
Sent 38 34.621279 34.621279 10: seq: 15, beacon_nvm_read len=8 offset=65534
Sent 39 34.622409 34.622409 8: seq: 16, beacon_nvm_read len=20 offset=0
Sent 40 34.624864 34.624864 14: seq: 17, beacon_set_threshold trigger=44152277 untrigger=43887363
Sent 41 34.625240 34.625240 7: seq: 18, beacon_stream en=0
Sent 42 34.626000 34.626000 8: seq: 19, beacon_accel_stream en=0 scale=0
Sent 43 34.626950 34.626950 7: seq: 1a, allocate_oids count=1
Sent 44 34.627257 34.627257 7: seq: 1b, config_trsync oid=0
Sent 45 34.627510 34.627510 11: seq: 1c, finalize_config crc=2501485974
Sent 46 34.627771 34.627771 6: seq: 1d, get_config
Sent 47 35.501103 35.501103 6: seq: 1e, get_clock
Sent 48 36.485103 36.485103 6: seq: 1f, get_clock
Sent 49 42.091175 42.091175 6: seq: 10, get_clock
Sent 50 43.063634 43.063634 6: seq: 11, get_clock
Sent 51 44.048190 44.048190 6: seq: 12, get_clock
Sent 52 45.034041 45.034041 6: seq: 13, get_clock
Sent 53 46.019100 46.019100 6: seq: 14, get_clock
Sent 54 47.005888 47.005888 6: seq: 15, get_clock
Sent 55 47.987988 47.987988 6: seq: 16, get_clock
Sent 56 48.971500 48.971500 6: seq: 17, get_clock
Sent 57 49.956100 49.956100 6: seq: 18, get_clock
Sent 58 50.940159 50.940159 6: seq: 19, get_clock
Sent 59 51.924155 51.924155 6: seq: 1a, get_clock
Sent 60 52.908348 52.908348 6: seq: 1b, get_clock
Sent 61 53.892345 53.892345 6: seq: 1c, get_clock
Sent 62 54.876767 54.876767 6: seq: 1d, get_clock
Sent 63 55.861177 55.861177 6: seq: 1e, get_clock
Sent 64 56.845533 56.845533 6: seq: 1f, get_clock
Sent 65 57.830101 57.830101 6: seq: 10, get_clock
Sent 66 58.814199 58.814199 6: seq: 11, get_clock
Sent 67 59.798449 59.798449 6: seq: 12, get_clock
Sent 68 60.783837 60.783837 6: seq: 13, get_clock
Sent 69 61.768273 61.768273 6: seq: 14, get_clock
Sent 70 62.752939 62.752939 6: seq: 15, get_clock
Sent 71 63.736864 63.736864 6: seq: 16, get_clock
Sent 72 64.098709 64.098709 6: seq: 17, emergency_stop
Dumping receive queue 100 messages
Receive: 0 59.399626 58.814199 18: seq: 12, beacon_data samples=1 start_clock=2137622340 delta_clock=0 data=b'\x82\xa1ol'
Receive: 1 59.403516 58.814199 16: seq: 12, beacon_status mcu_temp=44653 supply_voltage=50133 coil_temp=54640 status=1
Receive: 2 59.499710 58.814199 18: seq: 12, beacon_data samples=1 start_clock=2140823121 delta_clock=0 data=b'\x82\xa1W+'
Receive: 3 59.503721 58.814199 16: seq: 12, beacon_status mcu_temp=44655 supply_voltage=50132 coil_temp=54640 status=1
Receive: 4 59.599691 58.814199 18: seq: 12, beacon_data samples=1 start_clock=2144023900 delta_clock=0 data=b'\x82\xa1N\xdc'
Receive: 5 59.604173 58.814199 16: seq: 12, beacon_status mcu_temp=44655 supply_voltage=50132 coil_temp=54640 status=1
Receive: 6 59.699921 58.814199 18: seq: 12, beacon_data samples=1 start_clock=2147224681 delta_clock=0 data=b'\x82\xa1ol'
Receive: 7 59.704104 58.814199 16: seq: 12, beacon_status mcu_temp=44655 supply_voltage=50132 coil_temp=54640 status=1
Receive: 8 59.799084 59.798449 11: seq: 13, clock clock=2150437776
Receive: 9 59.799680 59.798449 18: seq: 13, beacon_data samples=1 start_clock=2150426027 delta_clock=0 data=b'\x82\xa1\xa65'
Receive: 10 59.804205 59.798449 16: seq: 13, beacon_status mcu_temp=44655 supply_voltage=50132 coil_temp=54640 status=1
Receive: 11 59.899729 59.798449 18: seq: 13, beacon_data samples=1 start_clock=2153626243 delta_clock=0 data=b'\x82\xa1Ad'
Receive: 12 59.904515 59.798449 16: seq: 13, beacon_status mcu_temp=44655 supply_voltage=50132 coil_temp=54640 status=1
Receive: 13 60.000045 59.798449 18: seq: 13, beacon_data samples=1 start_clock=2156827020 delta_clock=0 data=b'\x82\xa13='
Receive: 14 60.004847 59.798449 16: seq: 13, beacon_status mcu_temp=44657 supply_voltage=50131 coil_temp=54640 status=1
Receive: 15 60.099706 59.798449 18: seq: 13, beacon_data samples=1 start_clock=2160027801 delta_clock=0 data=b'\x82\xa1\xab\x99'
Receive: 16 60.104826 59.798449 16: seq: 13, beacon_status mcu_temp=44657 supply_voltage=50131 coil_temp=54640 status=1
Receive: 17 60.199777 59.798449 18: seq: 13, beacon_data samples=1 start_clock=2163228572 delta_clock=0 data=b'\x82\xa1r\x1e'
Receive: 18 60.205096 59.798449 16: seq: 13, beacon_status mcu_temp=44657 supply_voltage=50131 coil_temp=54641 status=1
Receive: 19 60.299881 59.798449 18: seq: 13, beacon_data samples=1 start_clock=2166429353 delta_clock=0 data=b'\x82\xa1>\x05'
Receive: 20 60.305157 59.798449 16: seq: 13, beacon_status mcu_temp=44657 supply_voltage=50131 coil_temp=54641 status=1
Receive: 21 60.399803 59.798449 18: seq: 13, beacon_data samples=1 start_clock=2169630140 delta_clock=0 data=b'\x82\xa1\x96\t'
Receive: 22 60.405505 59.798449 16: seq: 13, beacon_status mcu_temp=44659 supply_voltage=50131 coil_temp=54641 status=1
Receive: 23 60.499808 59.798449 18: seq: 13, beacon_data samples=1 start_clock=2172830918 delta_clock=0 data=b'\x82\xa1\x98\xbb'
Receive: 24 60.505570 59.798449 16: seq: 13, beacon_status mcu_temp=44659 supply_voltage=50131 coil_temp=54641 status=1
Receive: 25 60.600215 59.798449 18: seq: 13, beacon_data samples=1 start_clock=2176031691 delta_clock=0 data=b'\x82\xa1\x9e\x1f'
Receive: 26 60.605788 59.798449 16: seq: 13, beacon_status mcu_temp=44659 supply_voltage=50131 coil_temp=54641 status=1
Receive: 27 60.699960 59.798449 18: seq: 13, beacon_data samples=1 start_clock=2179232461 delta_clock=0 data=b'\x82\xa1\xb0\xfe'
Receive: 28 60.705959 59.798449 16: seq: 13, beacon_status mcu_temp=44659 supply_voltage=50131 coil_temp=54641 status=1
Receive: 29 60.784293 60.783837 11: seq: 14, clock clock=2181964922
Receive: 30 60.799925 60.783837 18: seq: 14, beacon_data samples=1 start_clock=2182433235 delta_clock=0 data=b'\x82\xa1ol'
Receive: 31 60.806193 60.783837 16: seq: 14, beacon_status mcu_temp=44659 supply_voltage=50131 coil_temp=54642 status=1
Receive: 32 60.899977 60.783837 18: seq: 14, beacon_data samples=1 start_clock=2185634016 delta_clock=0 data=b'\x82\xa1a\xf2'
Receive: 33 60.906322 60.783837 16: seq: 14, beacon_status mcu_temp=44659 supply_voltage=50131 coil_temp=54642 status=1
Receive: 34 60.999953 60.783837 18: seq: 14, beacon_data samples=1 start_clock=2188834794 delta_clock=0 data=b'\x82\xa1Ty'
Receive: 35 61.006545 60.783837 16: seq: 14, beacon_status mcu_temp=44659 supply_voltage=50131 coil_temp=54642 status=1
Receive: 36 61.099961 60.783837 18: seq: 14, beacon_data samples=1 start_clock=2192035578 delta_clock=0 data=b'\x82\xa1T@'
Receive: 37 61.106749 60.783837 16: seq: 14, beacon_status mcu_temp=44659 supply_voltage=50131 coil_temp=54641 status=1
Receive: 38 61.200265 60.783837 18: seq: 14, beacon_data samples=1 start_clock=2195236371 delta_clock=0 data=b'\x82\xa1Q\x8e'
Receive: 39 61.206878 60.783837 16: seq: 14, beacon_status mcu_temp=44659 supply_voltage=50131 coil_temp=54641 status=1
Receive: 40 61.300159 60.783837 18: seq: 14, beacon_data samples=1 start_clock=2198437150 delta_clock=0 data=b'\x82\xa1T@'
Receive: 41 61.307265 60.783837 16: seq: 14, beacon_status mcu_temp=44660 supply_voltage=50131 coil_temp=54641 status=1
Receive: 42 61.400226 60.783837 18: seq: 14, beacon_data samples=1 start_clock=2201637927 delta_clock=0 data=b'\x82\xa1Q\xc8'
Receive: 43 61.407260 60.783837 16: seq: 14, beacon_status mcu_temp=44660 supply_voltage=50132 coil_temp=54641 status=1
Receive: 44 61.500225 60.783837 18: seq: 14, beacon_data samples=1 start_clock=2204838705 delta_clock=0 data=b'\x82\xa1Q\x8e'
Receive: 45 61.507442 60.783837 16: seq: 14, beacon_status mcu_temp=44660 supply_voltage=50132 coil_temp=54641 status=1
Receive: 46 61.600202 60.783837 18: seq: 14, beacon_data samples=1 start_clock=2208039482 delta_clock=0 data=b'\x82\xa1Q\x8e'
Receive: 47 61.607682 60.783837 16: seq: 14, beacon_status mcu_temp=44660 supply_voltage=50132 coil_temp=54641 status=1
Receive: 48 61.700338 60.783837 18: seq: 14, beacon_data samples=1 start_clock=2211240273 delta_clock=0 data=b'\x82\xa1Q\x8e'
Receive: 49 61.708079 60.783837 16: seq: 14, beacon_status mcu_temp=44660 supply_voltage=50132 coil_temp=54640 status=1
Receive: 50 61.768750 61.768273 11: seq: 15, clock clock=2213467287
Receive: 51 61.800196 61.768273 18: seq: 15, beacon_data samples=1 start_clock=2214441054 delta_clock=0 data=b'\x82\xa1Y\xdd'
Receive: 52 61.808169 61.768273 16: seq: 15, beacon_status mcu_temp=44661 supply_voltage=50132 coil_temp=54640 status=1
Receive: 53 61.900253 61.768273 18: seq: 15, beacon_data samples=1 start_clock=2217641838 delta_clock=0 data=b'\x82\xa1gV'
Receive: 54 61.908354 61.768273 16: seq: 15, beacon_status mcu_temp=44661 supply_voltage=50131 coil_temp=54640 status=1
Receive: 55 62.000200 61.768273 18: seq: 15, beacon_data samples=1 start_clock=2220842620 delta_clock=0 data=b'\x82\xa1a\xf2'
Receive: 56 62.008630 61.768273 16: seq: 15, beacon_status mcu_temp=44661 supply_voltage=50131 coil_temp=54640 status=1
Receive: 57 62.100327 61.768273 18: seq: 15, beacon_data samples=1 start_clock=2224043397 delta_clock=0 data=b'\x82\xa1W+'
Receive: 58 62.108644 61.768273 16: seq: 15, beacon_status mcu_temp=44661 supply_voltage=50131 coil_temp=54641 status=1
Receive: 59 62.200324 61.768273 18: seq: 15, beacon_data samples=1 start_clock=2227244184 delta_clock=0 data=b'\x82\xa1T@'
Receive: 60 62.209087 61.768273 16: seq: 15, beacon_status mcu_temp=44661 supply_voltage=50131 coil_temp=54641 status=1
Receive: 61 62.300559 61.768273 18: seq: 15, beacon_data samples=1 start_clock=2230444974 delta_clock=0 data=b'\x82\xa1Ty'
Receive: 62 62.309140 61.768273 16: seq: 15, beacon_status mcu_temp=44662 supply_voltage=50132 coil_temp=54641 status=1
Receive: 63 62.400360 61.768273 18: seq: 15, beacon_data samples=1 start_clock=2233645756 delta_clock=0 data=b'\x82\xa1Ty'
Receive: 64 62.409302 61.768273 16: seq: 15, beacon_status mcu_temp=44662 supply_voltage=50132 coil_temp=54641 status=1
Receive: 65 62.500369 61.768273 18: seq: 15, beacon_data samples=1 start_clock=2236846535 delta_clock=0 data=b'\x82\xa1T@'
Receive: 66 62.509457 61.768273 16: seq: 15, beacon_status mcu_temp=44662 supply_voltage=50132 coil_temp=54641 status=1
Receive: 67 62.600432 61.768273 18: seq: 15, beacon_data samples=1 start_clock=2240047318 delta_clock=0 data=b'\x82\xa1Q\x8e'
Receive: 68 62.609587 61.768273 16: seq: 15, beacon_status mcu_temp=44662 supply_voltage=50132 coil_temp=54641 status=1
Receive: 69 62.700437 61.768273 18: seq: 15, beacon_data samples=1 start_clock=2243248099 delta_clock=0 data=b'\x82\xa1Iy'
Receive: 70 62.709815 61.768273 16: seq: 15, beacon_status mcu_temp=44663 supply_voltage=50132 coil_temp=54641 status=1
Receive: 71 62.753544 62.752939 11: seq: 16, clock clock=2244978944
Receive: 72 62.800373 62.752939 18: seq: 16, beacon_data samples=1 start_clock=2246448874 delta_clock=0 data=b'\x82\xa1Q\x8e'
Receive: 73 62.810003 62.752939 16: seq: 16, beacon_status mcu_temp=44663 supply_voltage=50132 coil_temp=54641 status=1
Receive: 74 62.900415 62.752939 18: seq: 16, beacon_data samples=1 start_clock=2249649660 delta_clock=0 data=b'\x82\xa1W+'
Receive: 75 62.910165 62.752939 16: seq: 16, beacon_status mcu_temp=44663 supply_voltage=50132 coil_temp=54641 status=1
Receive: 76 63.000576 62.752939 18: seq: 16, beacon_data samples=1 start_clock=2252850434 delta_clock=0 data=b'\x82\xa1L+'
Receive: 77 63.010406 62.752939 16: seq: 16, beacon_status mcu_temp=44663 supply_voltage=50132 coil_temp=54641 status=1
Receive: 78 63.100552 62.752939 18: seq: 16, beacon_data samples=1 start_clock=2256051213 delta_clock=0 data=b'\x82\xa1gV'
Receive: 79 63.110592 62.752939 16: seq: 16, beacon_status mcu_temp=44663 supply_voltage=50132 coil_temp=54640 status=1
Receive: 80 63.200504 62.752939 18: seq: 16, beacon_data samples=1 start_clock=2259251998 delta_clock=0 data=b'\x82\xa1W+'
Receive: 81 63.210670 62.752939 16: seq: 16, beacon_status mcu_temp=44664 supply_voltage=50132 coil_temp=54640 status=1
Receive: 82 63.300496 62.752939 18: seq: 16, beacon_data samples=1 start_clock=2262452780 delta_clock=0 data=b'\x82\xa1Q\x8e'
Receive: 83 63.310882 62.752939 16: seq: 16, beacon_status mcu_temp=44664 supply_voltage=50132 coil_temp=54640 status=1
Receive: 84 63.400530 62.752939 18: seq: 16, beacon_data samples=1 start_clock=2265653560 delta_clock=0 data=b'\x82\xa1Q\xc8'
Receive: 85 63.411074 62.752939 16: seq: 16, beacon_status mcu_temp=44664 supply_voltage=50132 coil_temp=54640 status=1
Receive: 86 63.500533 62.752939 18: seq: 16, beacon_data samples=1 start_clock=2268854340 delta_clock=0 data=b'\x82\xa1Q\x8e'
Receive: 87 63.511232 62.752939 16: seq: 16, beacon_status mcu_temp=44664 supply_voltage=50132 coil_temp=54640 status=1
Receive: 88 63.600619 62.752939 18: seq: 16, beacon_data samples=1 start_clock=2272055123 delta_clock=0 data=b'\x82\xa1Ty'
Receive: 89 63.611566 62.752939 16: seq: 16, beacon_status mcu_temp=44664 supply_voltage=50132 coil_temp=54640 status=1
Receive: 90 63.700664 62.752939 18: seq: 16, beacon_data samples=1 start_clock=2275255909 delta_clock=0 data=b'\x82\xa1Q\x8e'
Receive: 91 63.711699 62.752939 16: seq: 16, beacon_status mcu_temp=44665 supply_voltage=50132 coil_temp=54640 status=1
Receive: 92 63.737444 63.736864 11: seq: 17, clock clock=2276465588
Receive: 93 63.800627 63.736864 18: seq: 17, beacon_data samples=1 start_clock=2278456690 delta_clock=0 data=b'\x82\xa1Q\xc8'
Receive: 94 63.811964 63.736864 16: seq: 17, beacon_status mcu_temp=44665 supply_voltage=50132 coil_temp=54640 status=1
Receive: 95 63.900615 63.736864 18: seq: 17, beacon_data samples=1 start_clock=2281657468 delta_clock=0 data=b'\x82\xa1Q\xc8'
Receive: 96 63.911982 63.736864 16: seq: 17, beacon_status mcu_temp=44665 supply_voltage=50132 coil_temp=54640 status=1
Receive: 97 64.000643 63.736864 18: seq: 17, beacon_data samples=1 start_clock=2284858250 delta_clock=0 data=b'\x82\xa1Q\xc8'
Receive: 98 64.012223 63.736864 16: seq: 17, beacon_status mcu_temp=44665 supply_voltage=50132 coil_temp=54640 status=1
Receive: 99 64.099252 64.098709 12: seq: 18, shutdown clock=2288042843 static_string_id=Emergency stop
MCU 'toolboard_t1' shutdown: Command request
clocksync state: mcu_freq=64000000 last_clock=4677170082 clock_est=(44.476 3444513946 63999807.027) min_half_rtt=0.000080 min_rtt_time=32.917 time_avg=44.476(138.060) clock_avg=3444513946.501(8835812793.046) pred_variance=1345826654.162 clock_adj=(-1.385 63999524.000)
Dumping serial stats: bytes_write=1658 bytes_read=8126 bytes_retransmit=9 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 100 messages
Sent 0 32.495644 32.495644 9: seq: 16, identify offset=2800 count=40
Sent 1 32.496104 32.496104 9: seq: 17, identify offset=2840 count=40
Sent 2 32.496552 32.496552 9: seq: 18, identify offset=2880 count=40
Sent 3 32.497007 32.497007 9: seq: 19, identify offset=2920 count=40
Sent 4 32.497461 32.497461 9: seq: 1a, identify offset=2960 count=40
Sent 5 32.497890 32.497890 9: seq: 1b, identify offset=3000 count=40
Sent 6 32.498364 32.498364 9: seq: 1c, identify offset=3040 count=40
Sent 7 32.498731 32.498731 9: seq: 1d, identify offset=3045 count=40
Sent 8 32.505917 32.505917 6: seq: 1e, get_uptime
Sent 9 32.557493 32.557493 6: seq: 1f, get_clock
Sent 10 32.608375 32.608375 6: seq: 10, get_clock
Sent 11 32.659148 32.659148 6: seq: 11, get_clock
Sent 12 32.710316 32.710316 6: seq: 12, get_clock
Sent 13 32.761862 32.761862 6: seq: 13, get_clock
Sent 14 32.812781 32.812781 6: seq: 14, get_clock
Sent 15 32.863752 32.863752 6: seq: 15, get_clock
Sent 16 32.914800 32.914800 6: seq: 16, get_clock
Sent 17 32.916746 32.916746 6: seq: 17, get_clock
Sent 18 32.919486 32.919486 12: seq: 18, debug_read order=1 addr=536835496
Sent 19 32.920037 32.920037 12: seq: 19, debug_read order=1 addr=536835530
Sent 20 33.563623 33.563623 6: seq: 1a, get_config
Sent 21 33.565338 33.565338 7: seq: 1b, allocate_oids count=13
Sent 22 33.565469 33.565469 9: seq: 1c, config_spi oid=0 pin=PB12 cs_active_high=0
Sent 23 33.565629 33.565629 8: seq: 1d, config_adxl345 oid=1 spi_oid=0
Sent 24 33.565775 33.565775 9: seq: 1e, config_analog_in oid=6 pin=ADC_TEMPERATURE
Sent 25 33.565894 33.565894 15: seq: 1f, spi_set_software_bus oid=0 miso_pin=PB2 mosi_pin=PB11 sclk_pin=PB10 mode=3 rate=5000000
Sent 26 33.566035 33.566035 12: seq: 10, config_tmcuart oid=2 rx_pin=PA15 pull_up=0 tx_pin=PA15 bit_time=1600
Sent 27 33.566150 33.566150 11: seq: 11, config_digital_out oid=7 pin=PA0 value=1 default_value=1 max_duration=0
Sent 28 33.566237 33.566237 9: seq: 12, set_digital_out_pwm_cycle oid=7 cycle_ticks=2560
Sent 29 33.566342 33.566342 11: seq: 13, config_digital_out oid=8 pin=PA1 value=0 default_value=1 max_duration=0
Sent 30 33.566474 33.566474 10: seq: 14, set_digital_out_pwm_cycle oid=8 cycle_ticks=640000
Sent 31 33.566564 33.566564 8: seq: 15, config_buttons oid=9 button_count=2
Sent 32 33.566664 33.566664 9: seq: 16, config_endstop oid=3 pin=PB6 pull_up=0
Sent 33 33.566786 33.566786 7: seq: 17, config_trsync oid=4
Sent 34 33.566879 33.566879 8: seq: 18, config_analog_in oid=10 pin=PA3
Sent 35 33.567022 33.567022 15: seq: 19, config_digital_out oid=11 pin=PB13 value=0 default_value=0 max_duration=320000000
Sent 36 33.567171 33.567171 11: seq: 1a, set_digital_out_pwm_cycle oid=11 cycle_ticks=6400000
Sent 37 33.567272 33.567272 11: seq: 1b, config_stepper oid=5 step_pin=PD0 dir_pin=PD1 invert_step=4294967295 step_pulse_ticks=0
Sent 38 33.567413 33.567413 11: seq: 1c, config_digital_out oid=12 pin=PD2 value=1 default_value=1 max_duration=0
Sent 39 33.567501 33.567501 11: seq: 1d, finalize_config crc=2168895921
Sent 40 33.567662 33.567662 25: seq: 1e, query_analog_in oid=6 clock=2844451539 sample_ticks=64000 sample_count=8 rest_ticks=19200000 min_value=0 max_value=65535 range_check_count=4
Sent 41 33.567754 33.567754 14: seq: 1f, queue_digital_out oid=7 clock=2758938126 on_ticks=2560
Sent 42 33.567844 33.567844 13: seq: 10, queue_digital_out oid=8 clock=2758942212 on_ticks=0
Sent 43 33.567936 33.567936 10: seq: 11, buttons_add oid=9 pos=0 pin=PB4 pull_up=1
Sent 44 33.568043 33.568043 10: seq: 12, buttons_add oid=9 pos=1 pin=PB3 pull_up=1
Sent 45 33.568144 33.568144 17: seq: 13, buttons_query oid=9 clock=2846371539 rest_ticks=128000 retransmit_count=50 invert=2
Sent 46 33.568345 33.568345 26: seq: 14, query_analog_in oid=10 clock=2847011539 sample_ticks=64000 sample_count=8 rest_ticks=19200000 min_value=10237 max_value=16734 range_check_count=4
Sent 47 33.568615 33.568615 13: seq: 15, queue_digital_out oid=11 clock=2758959384 on_ticks=0
Sent 48 33.568758 33.568758 6: seq: 16, get_config
Sent 49 33.900631 33.900631 6: seq: 17, get_clock
Sent 50 34.307872 34.307872 14: seq: 18, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 51 34.312244 34.312244 19: seq: 19, tmcuart_send oid=2 write=b'\xea\x03\x080\x80\x00\n\x08\xb8\x87' read=0
Sent 52 34.315210 34.315210 14: seq: 1a, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 53 34.319678 34.319678 19: seq: 1b, tmcuart_send oid=2 write=b'\xea\x03h0\x80\x00\x12\x08 \xda' read=0
Sent 54 34.322677 34.322677 14: seq: 1c, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 55 34.327450 34.327450 19: seq: 1d, tmcuart_send oid=2 write=b'\xea\x03\x88=\x91\x04\x1a\x88\xae\xe7' read=0
Sent 56 34.330442 34.330442 14: seq: 1e, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 57 34.334865 34.334865 19: seq: 1f, tmcuart_send oid=2 write=b'\xea\x03\x082\x80\x10\xb2\xc8\xa2\xa4' read=0
Sent 58 34.337589 34.337589 14: seq: 10, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 59 34.342309 34.342309 19: seq: 11, tmcuart_send oid=2 write=b'\xea\x03h2\x80\x1e\xfa\xef?\xdf' read=0
Sent 60 34.345125 34.345125 14: seq: 12, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 61 34.349563 34.349563 19: seq: 13, tmcuart_send oid=2 write=b'\xea\x03\x882\x80\x00\x02\x08\xa0\xe6' read=0
Sent 62 34.352328 34.352328 14: seq: 14, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 63 34.356975 34.356975 19: seq: 15, tmcuart_send oid=2 write=b'\xea\x03H8\x80\x00\x02\x08 \xde' read=0
Sent 64 34.359698 34.359698 14: seq: 16, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 65 34.364144 34.364144 19: seq: 17, tmcuart_send oid=2 write=b'\xea\x03\x08>\xe4\x1ar\x88\xa4\x85' read=0
Sent 66 34.367181 34.367181 14: seq: 18, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 67 34.371901 34.371901 19: seq: 19, tmcuart_send oid=2 write=b'\xea\x03(2\x80\x00\x02\x88"\xf3' read=0
Sent 68 34.374831 34.374831 14: seq: 1a, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 69 34.379808 34.379808 19: seq: 1b, tmcuart_send oid=2 write=b'\xea\x03\x088\x80\x00\x02\x08 \xba' read=0
Sent 70 34.382963 34.382963 14: seq: 1c, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 71 34.681226 34.681226 7: seq: 1d, stepper_get_position oid=5
Sent 72 34.682120 34.682120 14: seq: 1e, tmcuart_send oid=2 write=b'\xea\x03H-\xd5' read=10
Sent 73 34.923817 34.923817 6: seq: 1f, get_clock
Sent 74 35.133332 35.133332 8: seq: 10, buttons_ack oid=9 count=1
Sent 75 35.907884 35.907884 6: seq: 11, get_clock
Sent 76 42.080075 42.080075 6: seq: 12, get_clock
Sent 77 43.063659 43.063659 6: seq: 13, get_clock
Sent 78 44.048168 44.048168 6: seq: 14, get_clock
Sent 79 45.033108 45.033108 6: seq: 15, get_clock
Sent 80 46.018892 46.018892 6: seq: 16, get_clock
Sent 81 47.003156 47.003156 6: seq: 17, get_clock
Sent 82 47.987794 47.987794 6: seq: 18, get_clock
Sent 83 48.971045 48.971045 6: seq: 19, get_clock
Sent 84 49.955526 49.955526 6: seq: 1a, get_clock
Sent 85 50.939687 50.939687 6: seq: 1b, get_clock
Sent 86 51.924069 51.924069 6: seq: 1c, get_clock
Sent 87 52.908122 52.908122 6: seq: 1d, get_clock
Sent 88 53.892241 53.892241 6: seq: 1e, get_clock
Sent 89 54.876580 54.876580 6: seq: 1f, get_clock
Sent 90 55.860754 55.860754 6: seq: 10, get_clock
Sent 91 56.844983 56.844983 6: seq: 11, get_clock
Sent 92 57.829839 57.829839 6: seq: 12, get_clock
Sent 93 58.814008 58.814008 6: seq: 13, get_clock
Sent 94 59.798482 59.798482 6: seq: 14, get_clock
Sent 95 60.783119 60.783119 6: seq: 15, get_clock
Sent 96 61.767544 61.767544 6: seq: 16, get_clock
Sent 97 62.752847 62.752847 6: seq: 17, get_clock
Sent 98 63.736784 63.736784 6: seq: 18, get_clock
Sent 99 64.097069 64.097069 6: seq: 19, emergency_stop
Dumping receive queue 100 messages
Receive: 0 51.607859 50.939687 14: seq: 1c, analog_in_state oid=6 next_clock=3919651539 value=7478
Receive: 1 51.647865 50.939687 14: seq: 1c, analog_in_state oid=10 next_clock=3922211539 value=10883
Receive: 2 51.907783 50.939687 14: seq: 1c, analog_in_state oid=6 next_clock=3938851539 value=7481
Receive: 3 51.924250 51.924069 11: seq: 1d, clock clock=3921158388
Receive: 4 51.947798 51.924069 14: seq: 1d, analog_in_state oid=10 next_clock=3941411539 value=10884
Receive: 5 52.207822 51.924069 14: seq: 1d, analog_in_state oid=6 next_clock=3958051539 value=7479
Receive: 6 52.247853 51.924069 14: seq: 1d, analog_in_state oid=10 next_clock=3960611539 value=10885
Receive: 7 52.507781 51.924069 14: seq: 1d, analog_in_state oid=6 next_clock=3977251539 value=7480
Receive: 8 52.547798 51.924069 14: seq: 1d, analog_in_state oid=10 next_clock=3979811539 value=10883
Receive: 9 52.807824 51.924069 14: seq: 1d, analog_in_state oid=6 next_clock=3996451539 value=7482
Receive: 10 52.847792 51.924069 14: seq: 1d, analog_in_state oid=10 next_clock=3999011539 value=10883
Receive: 11 52.908417 52.908122 11: seq: 1e, clock clock=3984137414
Receive: 12 53.107839 52.908122 14: seq: 1e, analog_in_state oid=6 next_clock=4015651539 value=7476
Receive: 13 53.147818 52.908122 14: seq: 1e, analog_in_state oid=10 next_clock=4018211539 value=10883
Receive: 14 53.407928 52.908122 14: seq: 1e, analog_in_state oid=6 next_clock=4034851539 value=7479
Receive: 15 53.447950 52.908122 14: seq: 1e, analog_in_state oid=10 next_clock=4037411539 value=10882
Receive: 16 53.707841 52.908122 14: seq: 1e, analog_in_state oid=6 next_clock=4054051539 value=7477
Receive: 17 53.747818 52.908122 14: seq: 1e, analog_in_state oid=10 next_clock=4056611539 value=10885
Receive: 18 53.892440 53.892241 11: seq: 1f, clock clock=4047120895
Receive: 19 54.007855 53.892241 14: seq: 1f, analog_in_state oid=6 next_clock=4073251539 value=7477
Receive: 20 54.047844 53.892241 14: seq: 1f, analog_in_state oid=10 next_clock=4075811539 value=10885
Receive: 21 54.307886 53.892241 14: seq: 1f, analog_in_state oid=6 next_clock=4092451539 value=7477
Receive: 22 54.347866 53.892241 14: seq: 1f, analog_in_state oid=10 next_clock=4095011539 value=10881
Receive: 23 54.607811 53.892241 14: seq: 1f, analog_in_state oid=6 next_clock=4111651539 value=7476
Receive: 24 54.647854 53.892241 14: seq: 1f, analog_in_state oid=10 next_clock=4114211539 value=10884
Receive: 25 54.876754 54.876580 11: seq: 10, clock clock=4110118808
Receive: 26 54.907842 54.876580 14: seq: 10, analog_in_state oid=6 next_clock=4130851539 value=7476
Receive: 27 54.947833 54.876580 14: seq: 10, analog_in_state oid=10 next_clock=4133411539 value=10883
Receive: 28 55.207820 54.876580 14: seq: 10, analog_in_state oid=6 next_clock=4150051539 value=7480
Receive: 29 55.247792 54.876580 14: seq: 10, analog_in_state oid=10 next_clock=4152611539 value=10887
Receive: 30 55.507829 54.876580 14: seq: 10, analog_in_state oid=6 next_clock=4169251539 value=7475
Receive: 31 55.547826 54.876580 14: seq: 10, analog_in_state oid=10 next_clock=4171811539 value=10883
Receive: 32 55.807844 54.876580 14: seq: 10, analog_in_state oid=6 next_clock=4188451539 value=7479
Receive: 33 55.847839 54.876580 14: seq: 10, analog_in_state oid=10 next_clock=4191011539 value=10886
Receive: 34 55.860942 55.860754 11: seq: 11, clock clock=4173105036
Receive: 35 55.956182 55.860754 14: seq: 11, stats count=171 sum=164236 sumsq=859311
Receive: 36 56.107799 55.860754 14: seq: 11, analog_in_state oid=6 next_clock=4207651539 value=7479
Receive: 37 56.147812 55.860754 14: seq: 11, analog_in_state oid=10 next_clock=4210211539 value=10885
Receive: 38 56.407810 55.860754 14: seq: 11, analog_in_state oid=6 next_clock=4226851539 value=7478
Receive: 39 56.447791 55.860754 13: seq: 11, analog_in_state oid=10 next_clock=4229411539 value=10883
Receive: 40 56.707866 55.860754 13: seq: 11, analog_in_state oid=6 next_clock=4246051539 value=7475
Receive: 41 56.747836 55.860754 13: seq: 11, analog_in_state oid=10 next_clock=4248611539 value=10885
Receive: 42 56.845203 56.844983 10: seq: 12, clock clock=4236098251
Receive: 43 57.007810 56.844983 13: seq: 12, analog_in_state oid=6 next_clock=4265251539 value=7473
Receive: 44 57.047859 56.844983 13: seq: 12, analog_in_state oid=10 next_clock=4267811539 value=10882
Receive: 45 57.307827 56.844983 13: seq: 12, analog_in_state oid=6 next_clock=4284451539 value=7477
Receive: 46 57.347824 56.844983 13: seq: 12, analog_in_state oid=10 next_clock=4287011539 value=10883
Receive: 47 57.607832 56.844983 13: seq: 12, analog_in_state oid=6 next_clock=8684243 value=7480
Receive: 48 57.647972 56.844983 13: seq: 12, analog_in_state oid=10 next_clock=11244243 value=10884
Receive: 49 57.829999 57.829839 10: seq: 13, clock clock=4158935
Receive: 50 57.907838 57.829839 13: seq: 13, analog_in_state oid=6 next_clock=27884243 value=7479
Receive: 51 57.947852 57.829839 13: seq: 13, analog_in_state oid=10 next_clock=30444243 value=10884
Receive: 52 58.207823 57.829839 13: seq: 13, analog_in_state oid=6 next_clock=47084243 value=7483
Receive: 53 58.247802 57.829839 13: seq: 13, analog_in_state oid=10 next_clock=49644243 value=10882
Receive: 54 58.507891 57.829839 13: seq: 13, analog_in_state oid=6 next_clock=66284243 value=7477
Receive: 55 58.547889 57.829839 13: seq: 13, analog_in_state oid=10 next_clock=68844243 value=10881
Receive: 56 58.807914 57.829839 13: seq: 13, analog_in_state oid=6 next_clock=85484243 value=7472
Receive: 57 58.814499 58.814008 10: seq: 14, clock clock=67146448
Receive: 58 58.847932 58.814008 13: seq: 14, analog_in_state oid=10 next_clock=88044243 value=10884
Receive: 59 59.108045 58.814008 13: seq: 14, analog_in_state oid=6 next_clock=104684243 value=7479
Receive: 60 59.147992 58.814008 13: seq: 14, analog_in_state oid=10 next_clock=107244243 value=10884
Receive: 61 59.407990 58.814008 13: seq: 14, analog_in_state oid=6 next_clock=123884243 value=7474
Receive: 62 59.448047 58.814008 13: seq: 14, analog_in_state oid=10 next_clock=126444243 value=10880
Receive: 63 59.707948 58.814008 13: seq: 14, analog_in_state oid=6 next_clock=143084243 value=7482
Receive: 64 59.748210 58.814008 13: seq: 14, analog_in_state oid=10 next_clock=145644243 value=10888
Receive: 65 59.799059 59.798482 10: seq: 15, clock clock=130163143
Receive: 66 60.008045 59.798482 13: seq: 15, analog_in_state oid=6 next_clock=162284243 value=7480
Receive: 67 60.048078 59.798482 13: seq: 15, analog_in_state oid=10 next_clock=164844243 value=10886
Receive: 68 60.307985 59.798482 13: seq: 15, analog_in_state oid=6 next_clock=181484243 value=7480
Receive: 69 60.347973 59.798482 13: seq: 15, analog_in_state oid=10 next_clock=184044243 value=10884
Receive: 70 60.608243 59.798482 13: seq: 15, analog_in_state oid=6 next_clock=200684243 value=7477
Receive: 71 60.648095 59.798482 14: seq: 15, analog_in_state oid=10 next_clock=203244243 value=10880
Receive: 72 60.783572 60.783119 10: seq: 16, clock clock=193175007
Receive: 73 60.908077 60.783119 14: seq: 16, analog_in_state oid=6 next_clock=219884243 value=7480
Receive: 74 60.948098 60.783119 14: seq: 16, analog_in_state oid=10 next_clock=222444243 value=10881
Receive: 75 60.956228 60.783119 14: seq: 16, stats count=169 sum=161573 sumsq=833913
Receive: 76 61.207903 60.783119 14: seq: 16, analog_in_state oid=6 next_clock=239084243 value=7477
Receive: 77 61.247931 60.783119 14: seq: 16, analog_in_state oid=10 next_clock=241644243 value=10884
Receive: 78 61.507953 60.783119 14: seq: 16, analog_in_state oid=6 next_clock=258284243 value=7483
Receive: 79 61.547932 60.783119 14: seq: 16, analog_in_state oid=10 next_clock=260844243 value=10885
Receive: 80 61.767961 61.767544 11: seq: 17, clock clock=256175046
Receive: 81 61.807900 61.767544 14: seq: 17, analog_in_state oid=6 next_clock=277484243 value=7484
Receive: 82 61.847948 61.767544 14: seq: 17, analog_in_state oid=10 next_clock=280044243 value=10886
Receive: 83 62.108266 61.767544 14: seq: 17, analog_in_state oid=6 next_clock=296684243 value=7482
Receive: 84 62.147937 61.767544 14: seq: 17, analog_in_state oid=10 next_clock=299244243 value=10883
Receive: 85 62.408096 61.767544 14: seq: 17, analog_in_state oid=6 next_clock=315884243 value=7480
Receive: 86 62.447916 61.767544 14: seq: 17, analog_in_state oid=10 next_clock=318444243 value=10884
Receive: 87 62.707891 61.767544 14: seq: 17, analog_in_state oid=6 next_clock=335084243 value=7486
Receive: 88 62.747928 61.767544 14: seq: 17, analog_in_state oid=10 next_clock=337644243 value=10884
Receive: 89 62.753120 62.752847 11: seq: 18, clock clock=319233120
Receive: 90 63.007909 62.752847 14: seq: 18, analog_in_state oid=6 next_clock=354284243 value=7488
Receive: 91 63.047962 62.752847 14: seq: 18, analog_in_state oid=10 next_clock=356844243 value=10886
Receive: 92 63.307930 62.752847 14: seq: 18, analog_in_state oid=6 next_clock=373484243 value=7485
Receive: 93 63.347933 62.752847 14: seq: 18, analog_in_state oid=10 next_clock=376044243 value=10888
Receive: 94 63.607866 62.752847 14: seq: 18, analog_in_state oid=6 next_clock=392684243 value=7478
Receive: 95 63.647899 62.752847 14: seq: 18, analog_in_state oid=10 next_clock=395244243 value=10881
Receive: 96 63.737102 63.736784 11: seq: 19, clock clock=382202786
Receive: 97 63.908086 63.736784 14: seq: 19, analog_in_state oid=6 next_clock=411884243 value=7486
Receive: 98 63.947984 63.736784 14: seq: 19, analog_in_state oid=10 next_clock=414444243 value=10882
Receive: 99 64.097619 64.097069 12: seq: 1a, shutdown clock=405260200 static_string_id=Command request
Reactor garbage collection: (63.401284406, 48.598426860000004, 0.0)
Lost communication with MCU 'toolboard_t0'
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown
Stats 64.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4106 bytes_read=11136 bytes_retransmit=9 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000041 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1036 bytes_read=5230 bytes_retransmit=0 bytes_invalid=0 send_seq=144 receive_seq=144 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000002 adj=49999972 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1658 bytes_read=7625 bytes_retransmit=82 bytes_invalid=0 send_seq=186 receive_seq=181 retransmit_seq=185 srtt=0.000 rttvar=0.000 rto=3.200 ready_bytes=0 upcoming_bytes=0 freq=63999436 adj=63999319 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1652 bytes_read=8114 bytes_retransmit=9 bytes_invalid=0 send_seq=185 receive_seq=185 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999807 adj=63999524 Octopus_V1.1_F446: temp=37.1 EBB42_v1.2_T0: temp=26.8 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=530 bytes_read=12518 bytes_retransmit=0 bytes_invalid=0 send_seq=87 receive_seq=87 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000027 adj=32000035 coil_temp=23.6 refs=0 mcu_temp=23.84 supply_voltage=3.069 sysload=1.62 cputime=10.170 memavail=345560 print_time=42.910 buffer_time=0.000 print_stall=0 extruder: target=0 temp=23.9 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
MCU 'rpi' shutdown: Command request
clocksync state: mcu_freq=50000000 last_clock=2736838361 clock_est=(43.997 1749857623 50000002.133) min_half_rtt=0.000059 min_rtt_time=48.971 time_avg=43.997(150.091) clock_avg=1749857623.885(7504527799.446) pred_variance=716977248.862 clock_adj=(16.959 49999884.750)
Dumping serial stats: bytes_write=1042 bytes_read=5242 bytes_retransmit=0 bytes_invalid=0 send_seq=145 receive_seq=145 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 100 messages
Sent 0 31.106266 31.106266 9: seq: 1d, identify offset=1160 count=40
Sent 1 31.106751 31.106751 9: seq: 1e, identify offset=1200 count=40
Sent 2 31.107199 31.107199 9: seq: 1f, identify offset=1240 count=40
Sent 3 31.107688 31.107688 9: seq: 10, identify offset=1280 count=40
Sent 4 31.108250 31.108250 9: seq: 11, identify offset=1320 count=40
Sent 5 31.108826 31.108826 9: seq: 12, identify offset=1360 count=40
Sent 6 31.109316 31.109316 9: seq: 13, identify offset=1400 count=40
Sent 7 31.109766 31.109766 9: seq: 14, identify offset=1440 count=40
Sent 8 31.110199 31.110199 9: seq: 15, identify offset=1480 count=40
Sent 9 31.110723 31.110723 9: seq: 16, identify offset=1520 count=40
Sent 10 31.111180 31.111180 9: seq: 17, identify offset=1560 count=40
Sent 11 31.111634 31.111634 9: seq: 18, identify offset=1600 count=40
Sent 12 31.112126 31.112126 9: seq: 19, identify offset=1640 count=40
Sent 13 31.112646 31.112646 9: seq: 1a, identify offset=1680 count=40
Sent 14 31.113014 31.113014 9: seq: 1b, identify offset=1720 count=40
Sent 15 31.113365 31.113365 9: seq: 1c, identify offset=1760 count=40
Sent 16 31.113725 31.113725 9: seq: 1d, identify offset=1800 count=40
Sent 17 31.114081 31.114081 9: seq: 1e, identify offset=1840 count=40
Sent 18 31.114410 31.114410 9: seq: 1f, identify offset=1880 count=40
Sent 19 31.114763 31.114763 9: seq: 10, identify offset=1920 count=40
Sent 20 31.115095 31.115095 9: seq: 11, identify offset=1960 count=40
Sent 21 31.115474 31.115474 9: seq: 12, identify offset=2000 count=40
Sent 22 31.116060 31.116060 9: seq: 13, identify offset=2040 count=40
Sent 23 31.116500 31.116500 9: seq: 14, identify offset=2080 count=40
Sent 24 31.116995 31.116995 9: seq: 15, identify offset=2120 count=40
Sent 25 31.117461 31.117461 9: seq: 16, identify offset=2160 count=40
Sent 26 31.117887 31.117887 9: seq: 17, identify offset=2200 count=40
Sent 27 31.118348 31.118348 9: seq: 18, identify offset=2240 count=40
Sent 28 31.118816 31.118816 9: seq: 19, identify offset=2280 count=40
Sent 29 31.119326 31.119326 9: seq: 1a, identify offset=2320 count=40
Sent 30 31.119734 31.119734 9: seq: 1b, identify offset=2360 count=40
Sent 31 31.120323 31.120323 9: seq: 1c, identify offset=2400 count=40
Sent 32 31.120837 31.120837 9: seq: 1d, identify offset=2440 count=40
Sent 33 31.121350 31.121350 9: seq: 1e, identify offset=2480 count=40
Sent 34 31.121698 31.121698 9: seq: 1f, identify offset=2520 count=40
Sent 35 31.122014 31.122014 9: seq: 10, identify offset=2560 count=40
Sent 36 31.122446 31.122446 9: seq: 11, identify offset=2600 count=40
Sent 37 31.122849 31.122849 9: seq: 12, identify offset=2640 count=40
Sent 38 31.123198 31.123198 9: seq: 13, identify offset=2680 count=40
Sent 39 31.123622 31.123622 9: seq: 14, identify offset=2720 count=40
Sent 40 31.124155 31.124155 9: seq: 15, identify offset=2760 count=40
Sent 41 31.124765 31.124765 9: seq: 16, identify offset=2800 count=40
Sent 42 31.125249 31.125249 9: seq: 17, identify offset=2840 count=40
Sent 43 31.125734 31.125734 9: seq: 18, identify offset=2880 count=40
Sent 44 31.126135 31.126135 9: seq: 19, identify offset=2920 count=40
Sent 45 31.126601 31.126601 9: seq: 1a, identify offset=2960 count=40
Sent 46 31.127083 31.127083 9: seq: 1b, identify offset=3000 count=40
Sent 47 31.128500 31.128500 9: seq: 1c, identify offset=3040 count=40
Sent 48 31.129178 31.129178 9: seq: 1d, identify offset=3080 count=40
Sent 49 31.129778 31.129778 9: seq: 1e, identify offset=3120 count=40
Sent 50 31.130318 31.130318 9: seq: 1f, identify offset=3160 count=40
Sent 51 31.130847 31.130847 9: seq: 10, identify offset=3200 count=40
Sent 52 31.132624 31.132624 9: seq: 11, identify offset=3240 count=40
Sent 53 31.133447 31.133447 9: seq: 12, identify offset=3265 count=40
Sent 54 31.161743 31.161743 6: seq: 13, get_uptime
Sent 55 31.212961 31.212961 6: seq: 14, get_clock
Sent 56 31.264666 31.264666 6: seq: 15, get_clock
Sent 57 31.315598 31.315598 6: seq: 16, get_clock
Sent 58 31.366896 31.366896 6: seq: 17, get_clock
Sent 59 31.418105 31.418105 6: seq: 18, get_clock
Sent 60 31.469240 31.469240 6: seq: 19, get_clock
Sent 61 31.520290 31.520290 6: seq: 1a, get_clock
Sent 62 31.571446 31.571446 6: seq: 1b, get_clock
Sent 63 31.587686 31.587686 6: seq: 1c, get_clock
Sent 64 32.572182 32.572182 6: seq: 1d, get_clock
Sent 65 33.554062 33.554062 6: seq: 1e, get_config
Sent 66 33.555074 33.555074 7: seq: 1f, allocate_oids count=1
Sent 67 33.555165 33.555165 11: seq: 10, config_digital_out oid=0 pin=gpiochip0/gpio4 value=0 default_value=1 max_duration=0
Sent 68 33.555486 33.555486 10: seq: 11, set_digital_out_pwm_cycle oid=0 cycle_ticks=500000
Sent 69 33.555569 33.555569 11: seq: 12, finalize_config crc=2738712656
Sent 70 33.555647 33.555647 13: seq: 13, queue_digital_out oid=0 clock=1237729026 on_ticks=0
Sent 71 33.555714 33.555714 6: seq: 14, get_config
Sent 72 33.556494 33.556494 6: seq: 15, get_clock
Sent 73 34.540848 34.540848 6: seq: 16, get_clock
Sent 74 35.525357 35.525357 6: seq: 17, get_clock
Sent 75 36.510183 36.510183 6: seq: 18, get_clock
Sent 76 42.080177 42.080177 6: seq: 19, get_clock
Sent 77 43.063511 43.063511 6: seq: 1a, get_clock
Sent 78 44.047971 44.047971 6: seq: 1b, get_clock
Sent 79 45.032878 45.032878 6: seq: 1c, get_clock
Sent 80 46.018087 46.018087 6: seq: 1d, get_clock
Sent 81 47.002702 47.002702 6: seq: 1e, get_clock
Sent 82 47.986863 47.986863 6: seq: 1f, get_clock
Sent 83 48.971120 48.971120 6: seq: 10, get_clock
Sent 84 49.955411 49.955411 6: seq: 11, get_clock
Sent 85 50.939445 50.939445 6: seq: 12, get_clock
Sent 86 51.923638 51.923638 6: seq: 13, get_clock
Sent 87 52.908059 52.908059 6: seq: 14, get_clock
Sent 88 53.892139 53.892139 6: seq: 15, get_clock
Sent 89 54.876387 54.876387 6: seq: 16, get_clock
Sent 90 55.860698 55.860698 6: seq: 17, get_clock
Sent 91 56.844893 56.844893 6: seq: 18, get_clock
Sent 92 57.829497 57.829497 6: seq: 19, get_clock
Sent 93 58.813954 58.813954 6: seq: 1a, get_clock
Sent 94 59.798255 59.798255 6: seq: 1b, get_clock
Sent 95 60.782660 60.782660 6: seq: 1c, get_clock
Sent 96 61.767115 61.767115 6: seq: 1d, get_clock
Sent 97 62.752169 62.752169 6: seq: 1e, get_clock
Sent 98 63.736690 63.736690 6: seq: 1f, get_clock
Sent 99 64.097008 64.097008 6: seq: 10, emergency_stop
Dumping receive queue 100 messages
Receive: 0 31.106882 31.106751 49: seq: 1f, identify_response offset=1200 data=b'\xf6@\xb4\xf2BHpb+\xbeSq\xeb\xcf\xafc\xa604\x80x\tn\xb4\xf2\xf4%\xa5\xeb\x9e\xf8\xa9t\xdd\xee\xd1\xf9\xe9Z\x90'
Receive: 1 31.107339 31.107199 49: seq: 10, identify_response offset=1240 data=b'\x18\x12\x9d\xad\x9d$\xb1\x8a\n\x07\xd9X\x82y\xbau\n9\xb6\xabc4g.\x9f\xe5\x03\x050\xe3d\x0e\xcaa\xc1/hZ\x08\xb2'
Receive: 2 31.107835 31.107688 49: seq: 11, identify_response offset=1280 data=b'\xa4\xccR\xa5\x00j\xdd\xe5&\x80\x05\x02E\x1c\xff\xa4\x8b\x8a\x04N\x17\x1d!)\xb6UNh\xd7\x9c%\x88@\x94\x12Q\xcb\x1f5\x0b'
Receive: 3 31.108390 31.108250 49: seq: 12, identify_response offset=1320 data=b'\x90\xa4X\xaf)\x06\x8ac\x01!\xf9R\xfb\xef\x13\\\x10g\xa6\xd7\xd1\xc2\xfc\x93\xa4\x15D\n\xaa\xeae\x8bXs\xee\x9ccp\x8e0'
Receive: 4 31.108970 31.108826 49: seq: 13, identify_response offset=1360 data=b"\x0b\x08\xcfs\xa5\x1e4\x8a\rt\x16\x91pJG$\x88\x85\xdc\x8b'@\x92:\x92S\xe1\xa8\x11\xb23A\xa8\xe9\xa48\x95F\x1e-"
Receive: 5 31.109455 31.109316 49: seq: 14, identify_response offset=1400 data=b'\x9aj>\x9e?G\x04*D\x19\xeaK\x81>\xd9\xce\xb1N\xc7\xf9d\x83X*\x17\xcd1\x99\x80\xf0!0\xd7\xb7V\x1al\x1d\x82J'
Receive: 6 31.109889 31.109766 49: seq: 15, identify_response offset=1440 data=b'a\xd0V(v1\x1b\xca\xbc\xc0\x06\x14\xb0\xa4\xce$g\xa2V\xa1\xd6f\x02\x14\xc7\xe0F45\xca\x10=\xc8\t\xf3\x01\xd5\xda8\xbc'
Receive: 7 31.110330 31.110199 49: seq: 16, identify_response offset=1480 data=b'\xd1\xcfPy\xdf\r:="_\xa1\xc6VI\xf8c/\xe0J\xfcdlkWZ\x9c\xc2G\x02\r\xa4\xa8z\xcakx\xb6\x14\x7f2'
Receive: 8 31.110861 31.110723 49: seq: 17, identify_response offset=1520 data=b'Y/6b.\xbf\xbd\xca\xaf/\xff\x85\xc9\xcd\x16\xae\xe8\xea\x87\x9f\xae\xbe\xcf\xbf\xfb\xe5\xcd\xcf\xd8c\xa0\xbf\xb3\xd5\xf5\xd5\xc7\xd5\xc5\xaa'
Receive: 9 31.111313 31.111180 49: seq: 18, identify_response offset=1560 data=b'\x16\xed\xf4\xb8:[\xbd\xbf\xbaT\xb6b\xc8@\xa1\xde\xff\xf3\x9a\x86Q\x98a\xc4\xbd\xf9p\xf9\xe1&\xbf\xf9x}\xf3s\xfe\xfa\xf2\xe6'
Receive: 10 31.111760 31.111634 49: seq: 19, identify_response offset=1600 data=b'\r&\x94\xe9\'L)\'HrUa\xa6\xda@:u\xd2\x9f\xaf\xd6\xab\x8b\x7f\xaf\xcf\x82\xe4W@\x05US\x8d"\x15\xb5\x11\xa0v'
Receive: 11 31.112250 31.112126 49: seq: 1a, identify_response offset=1640 data=b'\xda\xfc\n\xf9c/:\xc2\x0c7f\\\x1eD\xbf\xfe\xfa9H`!0\xbf\x80\x85\x16\x96@!=\x87E\x16\xb6\x01\r\x9f\xc3b\x0b'
Receive: 12 31.112759 31.112646 49: seq: 1b, identify_response offset=1680 data=b"\x0b\x02($\xe6\xc0\xc4\x01\xe3x\xc9M\xea\x80Y\xb8d's\xac\xae\x83%?\x1b\x07\x8c\xd6\x86!p9tz\xf8@P\x9a$`"
Receive: 13 31.113112 31.113014 49: seq: 1c, identify_response offset=1720 data=b'\xe3A\xea@\x81\x07\x02V}P\xe8\x81\xe0\xe2|P\xe4\x816\xf1\x0c\x14;P\n\xfa\xe1\x83\x12\x0f\x14\xcc\xd9H=P4g#\xf3'
Receive: 14 31.113471 31.113365 49: seq: 1d, identify_response offset=1760 data=b"@\xb1b\xe3\xd3\xcc=B\xdd\xa7\x94!\x88\xa2hu\x01\x1aY\xc8d\x1dg\x95\xcai\xc7\x9a'\xeb \xbc\x05%\xd3TZ\xa5\xe0\xb3"
Receive: 15 31.113827 31.113725 49: seq: 1e, identify_response offset=1800 data=b'\xe2\xf7k\xa3V\xb8\x1fM\x05j\nT\xd2\x9f\x0c\xd5d\x12\x84\xfed\xa4&3#\x1a\x9a\x8c\xd5d\xb0\x0ec\x7f6\xa1\xd9p3\xdb'
Receive: 16 31.114186 31.114081 49: seq: 1f, identify_response offset=1840 data=b'*\xa5Y{%4\x9b\xd1,8:sVH7\x04:\x8a\x01*\xcc\\T\xda4\x992\xe1\x1d\xe5\x95\xd4\x12\xbb\xack\xa6-\xd0\x84'
Receive: 17 31.114507 31.114410 49: seq: 10, identify_response offset=1880 data=b'&\xc9\x9aI\x8e\xecP\xdcs\xac\x971\x7f\xe4~\xe8\xa1v\xe1e\x8d.\xec\x89\x99\xb2\xad\xa2\xb8zU\xb4\xac\xedF\x06\xbe\x8ca<'
Receive: 18 31.114867 31.114763 49: seq: 11, identify_response offset=1920 data=b'`p\x13D\xcc\x141{8\x08\xf8&\xd7"Y\x0f\xce\x11X\xa4\xc0\r\xb4\x9f\x8f\x18(\x99\x14{X\x15v/F&$+\xf4^'
Receive: 19 31.115189 31.115095 49: seq: 12, identify_response offset=1960 data=b'\xd4F\xa1rR#KDE\xb7DE/\xcd\xaa 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting {filter_disable_period} seconds before turning chamber filter off..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION={filter_disable_period}
{% endif %}
{% if filter_disable_bed_temp > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting for bed temp to cool down to {filter_disable_bed_temp}°C to turn filter off..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=0 MAXIMUM={filter_disable_bed_temp}
_CHAMBER_FILTER_TURN_OFF
_LED_CHAMBER_FILTER_OFF
{% endif %}
{% endif %}
[delayed_gcode _CHAMBER_FILTER_OFF_TIMER]
gcode =
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF_TIMER" MSG="executed"
_CHAMBER_FILTER_TURN_OFF
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Chamber filter turned off!"
_LED_CHAMBER_FILTER_OFF
[gcode_macro _CHAMBER_FILTER_TURN_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_speed|default(0)|float %}
{% if at == "print_end" %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_disable_speed|default(0)|float %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION=0
SET_FAN_SPEED FAN=filter SPEED={chamber_filter_speed}
[gcode_macro _CHAMBER_FILTER_TURN_OFF]
gcode =
SET_FAN_SPEED FAN=filter SPEED=0
[gcode_macro _CHAMBER_FILTER_SANITY_CHECK]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_bed_temp > 0 and filter_disable_period > 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable, not both.")}
{% endif %}
{% if filter_disable_bed_temp == 0 and filter_disable_period == 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable.")}
{% endif %}
{% endif %}
[gcode_macro CHAMBER_HEATER_ON]
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(45)|int %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp} IS_FROM_START_PRINT=False
[gcode_macro CHAMBER_HEATER_OFF]
gcode =
_CHAMBER_HEATER_OFF
[gcode_macro _CHAMBER_HEATER_ON]
variable_chamber_temp = 0
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set is_from_start_print = true if params.IS_FROM_START_PRINT|default(True)|lower == 'true' else false %}
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set chamber_heater_enable = true if printer["gcode_macro RatOS"].chamber_heater_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
{% set chamber_heater_preheating_temp = printer["gcode_macro RatOS"].chamber_heater_preheating_temp|default(150)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set chamber_heater_control_external_heater = true if printer["gcode_macro RatOS"].chamber_heater_control_external_heater|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_enable = true if printer["gcode_macro RatOS"].chamber_heater_air_circulation_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_fan_speed = printer["gcode_macro RatOS"].chamber_heater_air_circulation_fan_speed|default(0.35)|float %}
{% set chamber_heater_air_circulation_y_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_y_pos|default(0)|float %}
{% set chamber_heater_air_circulation_z_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_z_pos|default(100)|float %}
DEBUG_ECHO PREFIX="_CHAMBER_HEATER_ON" MSG="chamber_heater_enable: {chamber_heater_enable}, chamber_heater_preheating_temp: {chamber_heater_preheating_temp}, chamber_heater_heating_temp_offset: {chamber_heater_heating_temp_offset}, bed_temp: {bed_temp}, chamber_temp: {chamber_temp}, start_chamber_temp: {start_chamber_temp}"
{% if chamber_heater_enable and chamber_temp > 0 and chamber_heater_bed_temp > 0 %}
_LED_HEATING
RATOS_ECHO MSG="Preheating chamber to {(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}°C..."
{% set chamber_temp_sensor = "extruder" %}
{% if printer["dual_carriage"] is defined and default_toolhead == 1 %}
{% set chamber_temp_sensor = "extruder1" %}
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% set chamber_temp_sensor = "temperature_sensor chamber" %}
{% endif %}
{% set current_chamber_temp = printer['%s' % chamber_temp_sensor].temperature|int %}
{% set needs_heating = current_chamber_temp < (start_chamber_temp if start_chamber_temp > 0 else chamber_temp) %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_BEFORE_PREHEATING
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
{% if not is_from_start_print %}
MAYBE_HOME
{% endif %}
G0 Z{chamber_heater_air_circulation_z_pos} F{z_speed}
G0 Y{chamber_heater_air_circulation_y_pos} F{speed}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 1 else 0}
{% else %}
M106 S{(255 * chamber_heater_air_circulation_fan_speed)}
{% endif %}
{% else %}
{% if is_from_start_print %}
G0 Z{z} F{z_speed}
{% endif %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE={chamber_temp}
{% if needs_heating %}
M140 S{chamber_heater_bed_temp}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={chamber_heater_preheating_temp}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if needs_heating %}
_CHAMBER_HEATER_EXTRA_FAN_ON
{% endif %}
{% if needs_heating %}
TEMPERATURE_WAIT SENSOR="{chamber_temp_sensor}" MINIMUM={(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% endif %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED=0
_CHAMBER_FILTER_ON AT="before_print_start"
{% endif %}
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
G28 Z
{% endif %}
{% endif %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_AFTER_PREHEATING
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% if printer["heater_generic chamber_heater"] is defined %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined and chamber_heater_control_external_heater %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
_LED_SUCCESS
{% endif %}
[gcode_macro _CHAMBER_HEATER_OFF]
gcode =
RATOS_ECHO MSG="Deactivating chamber heater..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=0
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE=0
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
_CHAMBER_HEATER_EXTRA_FAN_OFF
[delayed_gcode _CHAMBER_HEATER_CONTROL]
initial_duration = 0.
gcode =
{% set chamber_temp = printer["gcode_macro _CHAMBER_HEATER_ON"].chamber_temp|default(0)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set current_chamber_temp = printer['temperature_sensor chamber'].temperature|int %}
{% if current_chamber_temp < chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if current_chamber_temp >= chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_ON]
gcode =
{% set chamber_heater_extra_fan_speed = printer["gcode_macro RatOS"].chamber_heater_extra_fan_speed|default(0.0)|float %}
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
{% if chamber_heater_extra_fan_speed > 0 %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED={chamber_heater_extra_fan_speed}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_OFF]
gcode =
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED=0
{% endif %}
[gcode_macro _USER_CHAMBER_HEATER_BEFORE_PREHEATING]
description = Will be executed before chamber preheating, only if heating is needed.
gcode =
[gcode_macro _USER_CHAMBER_HEATER_AFTER_PREHEATING]
description = Will be executed after chamber preheating, only if heating was needed.
gcode =
[gcode_macro _LED_START_PRINTING]
gcode =
_LED_ACTION
[gcode_macro _LED_START_PRINTING_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_PRINTING]
gcode =
_LED_ON TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_PAUSE]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_ON]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_OFF]
gcode =
_LED_STANDBY
[gcode_macro _LED_LOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_LOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_RUNOUT]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_CLOG]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_UNLOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_UNLOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_DEACTIVATE_TOOLHEAD]
gcode =
_LED_OFF TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_STANDBY]
gcode =
_LED_STANDBY TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_WAKEUP]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_MOTORS_OFF]
gcode =
_LED_STANDBY
_LED_VAOC_OFF
[gcode_macro _LED_INPUT_SHAPER_START]
gcode =
_LED_ACTION
[gcode_macro _LED_INPUT_SHAPER_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_START]
gcode =
_LED_ACTION
[gcode_macro _LED_BEACON_CALIBRATION_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_VAOC_ON]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=1.0 GREEN=1.0 BLUE=1.0
{% endif %}
[gcode_macro _LED_VAOC_OFF]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=0.0 GREEN=0.0 BLUE=0.0
{% endif %}
[gcode_macro _LED_ACTION]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_action %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SUCCESS]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_success %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_HEATING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_heating %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_COOLING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_cooling %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ERROR]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_error %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ON]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_on %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_OFF]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_off %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_STANDBY]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_standby %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
{% if toolhead >= 0 %}
{% if printer['neopixel nozzle_led_t%s' % toolhead] is defined %}
SET_LED LED={'nozzle_led_t%s' % toolhead} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% else %}
{% if printer['neopixel nozzle_led_t0'] is defined %}
SET_LED LED={'nozzle_led_t0'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% if printer['neopixel nozzle_led_t1'] is defined %}
SET_LED LED={'nozzle_led_t1'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% endif %}
_USER_LED_SET { rawparams }
[gcode_macro _USER_LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
[gcode_macro LOAD_FILAMENT]
description = Loads new filament. Note: be careful with PETG, make sure you inspect the tip of your filament before loading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% if filament_name == '' or filament_type == '' %}
{% set filament_name = 'unknown' %}
{% set filament_type = 'unknown' %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_LOAD_FILAMENT TEMP={temp} NAME={filament_name} TYPE={filament_type}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_LOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME={filament_name} TYPE={filament_type}
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _DEFAULT_LOAD_FILAMENT]
description = Load filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_LOAD_FILAMENT" MSG="TEMP={temp}"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=load_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
_LOAD_FILAMENT TOOLHEAD=0
RESTORE_GCODE_STATE NAME=load_state
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD=0
[gcode_macro _IDEX_LOAD_FILAMENT]
description = Load filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_LOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
_LOAD_FILAMENT TOOLHEAD={toolhead} TEMP={temp}
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into hotend.."
G92 E0
G0 E{extruder_gear_to_cooling_position_distance} F{extruder_load_speed}
G92 E0
M400
RATOS_ECHO MSG="Filament loaded into hotend."
[gcode_macro _LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set load_speed = printer["gcode_macro T%s" % toolhead].filament_load_speed|float * 60 %}
{% set filament_loading_nozzle_offset = printer["gcode_macro T%s" % toolhead].filament_loading_nozzle_offset|float %}
{% set cooling_position_to_nozzle_distance = printer["gcode_macro T%s" % toolhead].cooling_position_to_nozzle_distance|float %}
{% set purge_after_load = printer["gcode_macro T%s" % toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into nozzle... Please wait!"
G92 E0
G0 E{cooling_position_to_nozzle_distance + filament_loading_nozzle_offset} F{load_speed}
G92 E0
G4 P1000
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge_after_load}
RATOS_ECHO MSG="Filament loaded into nozzle!"
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
{% set filament_grabbing_length = printer["gcode_macro T%s" % toolhead].filament_grabbing_length|float %}
{% set filament_grabbing_speed = printer["gcode_macro T%s" % toolhead].filament_grabbing_speed|float %}
{% set resume_after_insert = true if printer["gcode_macro T%s" % toolhead].resume_after_insert|default(true)|lower == 'true' else false %}
{% set enable_insert_detection = true if printer["gcode_macro T%s" % toolhead].enable_insert_detection|default(true)|lower == 'true' else false %}
{% set current_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% if enable_insert_detection %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="toolhead: {toolhead}, filament_grabbing_length: {filament_grabbing_length}, filament_grabbing_speed: {filament_grabbing_speed}, current_idex_mode: {current_idex_mode}"
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
FORCE_MOVE STEPPER={'extruder%s' % ('' if toolhead == 0 else toolhead)} DISTANCE={filament_grabbing_length} VELOCITY={filament_grabbing_speed}
M400
{% if printer.pause_resume.is_paused %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% if resume_after_insert %}
RESUME
{% endif %}
{% else %}
{% if not printer.virtual_sdcard.is_active %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
[gcode_macro _PURGE_BEFORE_UNLOAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set purge_before_unload = printer["gcode_macro T%s" % toolhead].purge_before_unload|float %}
DEBUG_ECHO PREFIX="_PURGE_BEFORE_UNLOAD" MSG="TOOLHEAD: {toolhead}"
{% if purge_before_unload > 0 %}
G92 E0
G0 E{purge_before_unload} F300
G92 E0
M400
{% endif %}
[gcode_macro _PURGE_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set e = params.E|int %}
{% set r = params.R|default(0)|int %}
DEBUG_ECHO PREFIX="_PURGE_FILAMENT" MSG="TOOLHEAD: {toolhead}, E: {e}"
{% if e > 0 %}
G92 E0
G0 E{e} F300
G92 E0
M400
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={0.4 if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={0.4 if toolhead == 1 else 0}
{% else %}
M106 S{(255 * 0.4)}
{% endif %}
{% endif %}
G4 P3000
{% if r > 0 %}
G92 E0
G0 E-{r} F300
G92 E0
M400
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_PARKING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_PARKING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_LOADING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_LOADING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if act_t == toolhead %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{loading_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CLEANING_MOVE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined and printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set cleaning_position = loading_position %}
{% if loading_position == parking_position %}
{% if loading_position > 0 %}
{% set cleaning_position = loading_position - 30 %}
{% else %}
{% set cleaning_position = loading_position + 30 %}
{% endif %}
{% endif %}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _START_PRINT_BED_MESH]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
SET_MACRO_TRAVEL_SETTINGS
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set X=[params.X0|default(-1)|float, params.X1|default(-1)|float] %}
{% set Y=[params.Y0|default(-1)|float, params.Y1|default(-1)|float] %}
DEBUG_ECHO PREFIX="_START_PRINT_BED_MESH" MSG="idex_mode: {idex_mode}, X: {X}, Y: {Y}"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set X=[0, printable_x_max] %}
{% endif %}
{% set beacon_bed_mesh_scv = printer["gcode_macro RatOS"].beacon_bed_mesh_scv|default(25)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% if printer.configfile.settings.beacon is defined and not beacon_contact_bed_mesh %}
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={beacon_bed_mesh_scv}
{% endif %}
{% set default_profile = printer["gcode_macro RatOS"].bed_mesh_profile|default('ratos') %}
{% if printer["gcode_macro RatOS"].calibrate_bed_mesh|lower == 'true' %}
BED_MESH_CLEAR
{% if printer["gcode_macro RatOS"].adaptive_mesh|lower == 'true' %}
CALIBRATE_ADAPTIVE_MESH PROFILE={default_profile} X0={X[0]} X1={X[1]} Y0={Y[0]} Y1={Y[1]} T={params.T|int} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={idex_mode}
{% else %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% endif %}
BED_MESH_PROFILE LOAD={default_profile}
{% elif printer["gcode_macro RatOS"].bed_mesh_profile is defined %}
BED_MESH_CLEAR
BED_MESH_PROFILE LOAD={printer["gcode_macro RatOS"].bed_mesh_profile}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
[gcode_macro CALIBRATE_ADAPTIVE_MESH]
gcode =
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set default_profile = params.PROFILE %}
{% set x0 = params.X0|default(-1)|float %}
{% set y0 = params.Y0|default(-1)|float %}
{% set x1 = params.X1|default(-1)|float %}
{% set y1 = params.Y1|default(-1)|float %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Recieved coordinates X0={x0} Y0={y0} X1={x1} Y1={y1}"
{% if x0 >= x1 or y0 >= y1 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Invalid coordinates received. Please check your slicer settings. Falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float %}
{% set mesh_x0 = [[x0, max_x]|min, min_x]|max %}
{% set mesh_y0 = [[y0, max_y]|min, min_y]|max %}
{% set mesh_x1 = [[x1, max_x]|min, min_x]|max %}
{% set mesh_y1 = [[y1, max_y]|min, min_y]|max %}
{% if mesh_x0 == min_x and mesh_y0 == min_y and mesh_x1 == max_x and mesh_y1 == max_y %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Print is using the full bed, falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% set probe_count_x = mesh_config.probe_count.split(",")[0]|int %}
{% if mesh_config.probe_count.split(",")|length == 2 %}
{% set probe_count_y = mesh_config.probe_count.split(",")[1]|int %}
{% else %}
{% set probe_count_y = mesh_config.probe_count.split(",")[0]|int %}
{% endif %}
{% set probe_x_step = (max_x - min_x) / probe_count_x %}
{% set probe_y_step = (max_y - min_y) / probe_count_y %}
{% set mesh_count_x = ([(mesh_x1 - mesh_x0) / probe_x_step, 3]|max)|int %}
{% set mesh_count_y = ([(mesh_y1 - mesh_y0) / probe_y_step, 3]|max)|int %}
{% set min_mesh_count = [mesh_count_x, mesh_count_y]|min %}
{% set max_mesh_count = [mesh_count_x, mesh_count_y]|max %}
{% set algorithm = mesh_config.algorithm %}
{% if algorithm|lower == 'lagrange' and max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="cannot exceed a probe_count of 6 when using lagrange interpolation. Falling back to bicubic interpolation."
{% set algorithm = 'bicubic' %}
{% endif %}
{% if algorithm|lower == 'bicubic' and min_mesh_count < 4 %}
{% if max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="invalid probe_count option when using bicubic interpolation. Combination of 3 points on one axis with more than 6 on another is not permitted. Forcing minimum mesh count to be 4."
{% set min_mesh_count = 4 %}
{% else %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="bicubic interpolation with a probe_count of less than 4 points detected. Forcing lagrange interpolation."
{% set algorithm = 'lagrange' %}
{% endif %}
{% endif %}
{% set mesh_count_x = ([min_mesh_count, mesh_count_x]|max)|int %}
{% set mesh_count_x = ([max_mesh_count, mesh_count_x]|min)|int %}
{% set mesh_count_y = ([min_mesh_count, mesh_count_y]|max)|int %}
{% set mesh_count_y = ([max_mesh_count, mesh_count_y]|min)|int %}
{% set should_prime = printer["gcode_macro RatOS"].nozzle_priming == 'primeblob' %}
{% if printer["dual_carriage"] is not defined %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% else %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% endif %}
{% if printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 != 0 and probe_first %}
{% set probe_first = false %}
{% elif printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 == 0 and not probe_first %}
{% set probe_first = true %}
{% endif %}
{% if should_prime and probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="mesh coordinates X0={mesh_x0} Y0={mesh_y0} X1={mesh_x1} Y1={mesh_y1}"
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% if should_prime and not probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
STOW_PROBE
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M84]
rename_existing = M84.1
gcode =
M84.1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
{% if printer["dual_carriage"] is defined %}
_SET_TOOLHEAD_OFFSET T={printer["gcode_macro RatOS"].default_toolhead|int} MOVE=0
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro _VAOC"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
{% endif %}
SET_GCODE_OFFSET X=0 Y=0 Z=0 MOVE=0
_IDEX_SINGLE INIT=1
{% endif %}
SET_SKEW CLEAR=1
_LED_MOTORS_OFF
[gcode_macro M104]
rename_existing = M104.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
DEBUG_ECHO PREFIX="M104" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set temperature_offset_t0 = printer["gcode_macro T0"].temperature_offset|default(0)|int %}
{% set temperature_offset_t1 = printer["gcode_macro T1"].temperature_offset|default(0)|int %}
{% set s0 = [s + temperature_offset_t0, 0]|max %}
{% set s1 = [s + temperature_offset_t1, 0]|max %}
{% if temperature_offset_t0 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t0}°C added to toolhead T0."
{% endif %}
{% if temperature_offset_t1 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t1}°C added to toolhead T1."
{% endif %}
{% else %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
M104.1 S{s0} T0
M104.1 S{s1} T1
{% else %}
M104.1 S{s} T{t}
{% endif %}
{% endif %}
[gcode_macro M109]
rename_existing = M109.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
DEBUG_ECHO PREFIX="M109" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M109" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
M109.1 S{s} T{t}
{% endif %}
[gcode_macro SET_HEATER_TEMPERATURE]
rename_existing = SET_HEATER_TEMPERATURE_BASE
gcode =
{% set heater = params.HEATER|default("") %}
{% set target = params.TARGET|default(0)|int %}
DEBUG_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="heater: {heater}, target: {target}"
{% if heater|lower == "extruder" or heater|lower == "extruder1" %}
{% set t = 0 if heater|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and target > 0 %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set target = [target + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
SET_HEATER_TEMPERATURE_BASE HEATER="{heater}" TARGET={target}
[gcode_macro TEMPERATURE_WAIT]
rename_existing = TEMPERATURE_WAIT_BASE
gcode =
{% set sensor = params.SENSOR|default("") %}
{% set minimum = params.MINIMUM|default(-1)|int %}
{% set maximum = params.MAXIMUM|default(-1)|int %}
DEBUG_ECHO PREFIX="TEMPERATURE_WAIT" MSG="sensor: {sensor}, minimum: {minimum}, maximum: {maximum}"
{% if sensor|lower == "extruder" or sensor|lower == "extruder1" %}
{% set t = 0 if sensor|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and (minimum > 0 or maximum > 0) %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% if minimum > -1 %}
{% set minimum = [minimum + temperature_offset, 0]|max %}
{% endif %}
{% if maximum > -1 %}
{% set maximum = [maximum + temperature_offset, 0]|max %}
{% endif %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% if minimum > -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum} MAXIMUM={maximum}
{% elif minimum > -1 and maximum == -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum}
{% elif minimum == -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MAXIMUM={maximum}
{% endif %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature for toolhead T{t} reached."
[gcode_macro SET_GCODE_OFFSET]
rename_existing = SET_GCODE_OFFSET_ORG
gcode =
SET_GCODE_OFFSET_ORG { rawparams }
{% if printer.configfile.settings.beacon is defined and (params.Z_ADJUST is defined or params.Z is defined) %}
_BEACON_APPLY_RUNTIME_MULTIPLIER
{% endif %}
[gcode_macro SDCARD_PRINT_FILE]
rename_existing = SDCARD_PRINT_FILE_BASE
gcode =
{% if printer["ratos"] is defined %}
PROCESS_GCODE_FILE { rawparams }
{% else %}
SDCARD_PRINT_FILE_BASE { rawparams }
{% endif %}
[gcode_macro SKEW_PROFILE]
rename_existing = SKEW_PROFILE_BASE
variable_loaded_profile = ""
gcode =
{% if params.LOAD is defined %}
{% if printer.configfile.settings["skew_correction %s" % params.LOAD] is defined %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='"{params.LOAD}"'
{% endif %}
{% endif %}
SKEW_PROFILE_BASE { rawparams }
[gcode_macro SET_SKEW]
rename_existing = SET_SKEW_BASE
gcode =
{% if params.CLEAR is defined %}
{% if params.CLEAR|default(0)|int == 1 %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='""'
{% endif %}
{% endif %}
SET_SKEW_BASE { rawparams }
[gcode_macro SET_VELOCITY_LIMIT]
rename_existing = SET_VELOCITY_LIMIT_BASE
gcode =
{% if params.ACCEL_TO_DECEL is defined %}
{% if params.ACCEL is defined %}
{% set accel = params.ACCEL|float %}
{% else %}
{% set accel = printer.toolhead.max_accel|float %}
{% endif %}
{% if params.VELOCITY is defined %}
{% set velocity = params.VELOCITY|float %}
{% else %}
{% set velocity = printer.toolhead.max_velocity|float %}
{% endif %}
{% if params.SQUARE_CORNER_VELOCITY is defined %}
{% set scv = params.SQUARE_CORNER_VELOCITY|float %}
{% else %}
{% set scv = printer.toolhead.square_corner_velocity|float %}
{% endif %}
{% set mcr = params.ACCEL_TO_DECEL|float / accel %}
DEBUG_ECHO PREFIX="SET_VELOCITY_LIMIT" MSG="ACCEL={accel}, VELOCITY={velocity}, SQUARE_CORNER_VELOCITY={scv}, MINIMUM_CRUISE_RATIO={mcr}"
SET_VELOCITY_LIMIT_BASE ACCEL={accel} VELOCITY={velocity} SQUARE_CORNER_VELOCITY={scv} MINIMUM_CRUISE_RATIO={1-mcr}
{% else %}
SET_VELOCITY_LIMIT_BASE { rawparams }
{% endif %}
[gcode_macro _START_PRINT_PARK]
gcode =
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_x = printer["gcode_macro RatOS"].start_print_park_x %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% endif %}
{% if printer["dual_carriage"] is defined and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
{% if printer["gcode_macro RatOS"].start_print_park_x is defined and printer["gcode_macro RatOS"].start_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="start_print_park_x is ignored for IDEX printers"
{% endif %}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={start_print_park_in} X={start_print_park_x}
G0 Z{z} F{z_speed}
[gcode_macro _END_PRINT_PARK]
gcode =
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro RatOS"].end_print_park_x is defined and printer["gcode_macro RatOS"].end_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="end_print_park_x is ignored for IDEX printers"
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={printer["gcode_macro RatOS"].end_print_park_in} X={printer["gcode_macro RatOS"].end_print_park_x}
[gcode_macro _PARK]
gcode =
{% set x = params.X %}
{% set location = params.LOCATION|default('back')|lower %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set nozzle_priming = printer["gcode_macro RatOS"].nozzle_priming|lower %}
CACHE_TOOLHEAD_SETTINGS KEY="park"
SET_MACRO_TRAVEL_SETTINGS
{% if x != '' %}
{% if x|float >= printer.toolhead.axis_minimum.x + 5 and x|float <= printable_x_max - 5 %}
{% set park_x = x|float %}
{% else %}
{action_respond_info('The requested X co-ordinate is outside the defined axis bounds - using defaults')}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% else %}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% set park_y = printable_y_max - 15 %}
{% if location == 'front' %}
{% set park_y = printer.toolhead.axis_minimum.y + 5 %}
{% elif location == 'center' %}
{% set park_y = printable_y_max / 2 %}
{% elif location == 'primeblob' and printer["dual_carriage"] is defined %}
{% set park_y = printable_y_max - 15 %}
{% endif %}
{% if location == 'primeblob' and printer["dual_carriage"] is not defined %}
{% if (nozzle_priming == 'primeblob' or nozzle_priming == 'primeline') %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set park_x = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set park_x = printable_x_max - 5 %}
{% else %}
{% set park_x = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set park_y = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set park_y = printable_y_max - 5 %}
{% else %}
{% set park_y = nozzle_prime_start_y|float %}
{% endif %}
{% endif %}
{% endif %}
G90
{% if printer["dual_carriage"] is not defined %}
G0 X{park_x} Y{park_y} F{speed}
{% else %}
G0 Y{park_y} F{speed}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="park"
[gcode_macro SAVE_PROBE_RESULT]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
{% set last_z_offset = 9999.9 %}
{% if printer.configfile.settings.beacon is defined %}
{% set current_z = printer.toolhead.position.z|float %}
{% if beacon_contact_prime_probing %}
{% set last_z_offset = printer.beacon.last_z_result %}
{% else %}
{% set last_z_offset = printer.beacon.last_sample.dist - current_z %}
{% endif %}
{% elif printer.configfile.settings.bltouch is defined %}
{% set config_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% elif printer.configfile.settings.probe is defined %}
{% set config_offset = printer.configfile.settings.probe.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Saving offset adjustment of {last_z_offset} in {params.VARIABLE|default('last_z_offset')}"
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE={params.VARIABLE|default('last_z_offset')} VALUE={last_z_offset}
[gcode_macro PROBE_FOR_PRIMING]
gcode =
{% set probe_for_priming_disable_mesh_constraints = true if printer["gcode_macro RatOS"].probe_for_priming_disable_mesh_constraints|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower != 'false' %}
SAVE_GCODE_STATE NAME=probe_for_priming_state
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the prime location.."
CACHE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
SET_MACRO_TRAVEL_SETTINGS
{% set t = params.TOOLHEAD|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% if idex_mode == '' %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% if t == 0 %}
{% set x_start = 5 %}
{% else %}
{% set x_start = printable_x_max - 5 %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% endif %}
{% endif %}
{% set z = printer.configfile.settings.bed_mesh.horizontal_move_z|float %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% if printer.configfile.settings.bltouch is defined %}
{% set x_offset = printer.configfile.settings.bltouch.x_offset|float %}
{% set y_offset = printer.configfile.settings.bltouch.y_offset|float %}
{% set z_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% elif printer.configfile.settings.probe is defined %}
{% set x_offset = printer.configfile.settings.probe.x_offset|float %}
{% set y_offset = printer.configfile.settings.probe.y_offset|float %}
{% set z_offset = printer.configfile.settings.probe.z_offset|float %}
{% elif printer.configfile.settings.beacon is defined %}
{% set x_offset = printer.configfile.settings.beacon.x_offset|float %}
{% set y_offset = printer.configfile.settings.beacon.y_offset|float %}
{% set z_offset = printer.configfile.settings.beacon.trigger_distance|float %}
{% else %}
{ action_raise_error("No probe, beacon or bltouch section found. Adaptive priming only works with a [probe], [beacon] or [bltouch] section defined.") }
{% endif %}
{% if z < z_offset %}
{ action_raise_error("Horizontal move Z ({z}) is below your probe's Z offset ({z_offset}). Please adjust your horizontal_move_z setting in [bed_mesh] to be above {z}.") }
{% endif %}
{% if not probe_for_priming_disable_mesh_constraints %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float - x_offset %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float - y_offset %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float - x_offset %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float - y_offset %}
{% set x_start = [[x_start, max_x]|min, min_x]|max %}
{% set y_start = [[y_start, max_y]|min, min_y]|max %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the start of the prime location at {x_start}, {y_start}"
G90
M83
G0 Z{z} F{z_speed}
G1 X{x_start} Y{y_start} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result
{% endif %}
{% if idex_mode == '' %}
{% set x_end = x_start %}
{% set y_end = y_start + 45 %}
{% else %}
{% if t==1 %}
{% set x_end = x_start - 45 %}
{% else %}
{% set x_end = x_start + 45 %}
{% endif %}
{% set y_end = y_start %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the end of the prime location at {x_end}, {y_end}"
G1 X{x_end} Y{y_end} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result
{% endif %}
RESTORE_GCODE_STATE NAME=probe_for_priming_state
RESTORE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
{% endif %}
[gcode_macro RESET_PRIME_PROBE_STATE]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result VALUE=None
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result_t1 VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result_t1 VALUE=None
{% endif %}
[gcode_macro PROBE_CURRENT_POSITION]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
SAVE_GCODE_STATE NAME=probe_current_position_state
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
ASSERT_PROBE_DEPLOYED
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_prime_probing %}
PROBE PROBE_METHOD=contact SAMPLES=1
{% else %}
PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
BEACON_QUERY
{% else %}
RESTORE_GCODE_STATE NAME=probe_current_position_state MOVE=1 MOVE_SPEED={printer["gcode_macro RatOS"].macro_z_speed|float}
{% endif %}
[gcode_macro PRIME_BLOB]
description = Prints a primeblob, used internally, if configured, as part of the START_PRINT macro.
variable_x_offset = 5
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="prime_blob"
SET_MACRO_TRAVEL_SETTINGS
RATOS_ECHO PREFIX="Priming" MSG="Priming nozzle with prime blob.."
{% set current_toolhead = 0 %}
{% set target_idex_mode = '' %}
{% set extruder = 'extruder' %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE is defined %}
{% set target_idex_mode = params.IDEX_MODE|default('')|lower %}
{% else %}
{ action_raise_error("IDEX_MODE parameter not found for PRIME_BLOB macro. This is likely a bug.") }
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Priming in IDEX {target_idex_mode} mode.."
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set current_toolhead = 1 if current_idex_mode=='primary' else 0 %}
{% set extruder = 'extruder1' if current_toolhead == 1 else 'extruder' %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
SAVE_GCODE_STATE NAME=prime_blob_state
{% endif %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set fan_speed = printer["gcode_macro RatOS"].nozzle_prime_bridge_fan|float %}
{% set nozzle_diameter = printer.configfile.settings[extruder].nozzle_diameter|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set has_start_offset_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) != 9999.9 %}
{% if printer["dual_carriage"] is defined %}
{% set has_start_offset_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) != 9999.9 %}
{% endif %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_z_height = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set nozzle_prime_direction = printer["gcode_macro RatOS"].nozzle_prime_direction|lower %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% if target_idex_mode == '' %}
{% set x_factor = 0 %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% set y_factor = 1 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% set y_factor = -1 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% if nozzle_prime_start_y|float < printable_y_max / 2 %}
{% set y_factor = 1 %}
{% else %}
{% set y_factor = -1 %}
{% endif %}
{% endif %}
{% if nozzle_prime_direction == 'forwards' %}
{% set y_factor = 1 %}
{% elif nozzle_prime_direction == 'backwards' %}
{% set y_factor = -1 %}
{% endif %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% else %}
{% set z = start_print_park_z_height %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% set y_factor = 0 %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set x_start = center_x / 2 + 5 %}
{% set x_factor = 1 %}
{% else %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% if current_toolhead == 0 %}
{% set x_start = 55 %}
{% set x_factor = -1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 55 %}
{% set x_factor = 1 %}
{% endif %}
{% else %}
{% if current_toolhead == 0 %}
{% set x_start = 5 %}
{% set x_factor = 1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 5 %}
{% set x_factor = -1 %}
{% endif %}
{% endif %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_x_max - 5 %}
{% endif %}
{% set z = 10 %}
{% endif %}
{% set start_z_offset = 0 %}
{% set end_z_offset = 0 %}
{% if has_start_offset_t0 %}
{% set start_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) %}
{% set end_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_end_result|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t0) ) }
{% endif %}
{% if end_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t0) ) }
{% endif %}
{% set start_z_offset = start_z_probe_result_t0 %}
{% set end_z_offset = end_z_probe_result_t0 %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if current_toolhead == 1 or both_toolheads or target_idex_mode == "copy" or target_idex_mode == "mirror" %}
{% if has_start_offset_t1 %}
{% set start_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) %}
{% set end_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_end_result_t1|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t1) ) }
{% endif %}
{% if end_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t1) ) }
{% endif %}
{% set start_z_offset = [start_z_offset, start_z_probe_result_t1]|max %}
{% set end_z_offset = [end_z_offset, start_z_probe_result_t1]|max %}
{% endif %}
{% endif %}
{% if target_idex_mode != 'copy' and target_idex_mode != 'mirror' %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% set original_start_z_offset = start_z_offset %}
{% set original_end_z_offset = end_z_offset %}
{% set start_z_offset = original_end_z_offset %}
{% set end_z_offset = original_start_z_offset %}
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={current_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="PRIME_BLOB" MSG="x_start: {x_start}, y_start: {y_start}, x_factor: {x_factor}, y_factor: {y_factor}, z: {z}, start_z_offset: {start_z_offset}, end_z_offset: {end_z_offset}"
G90
M83
RATOS_ECHO PREFIX="Priming" MSG="Lifting Z to {z}.."
G0 Z{z} F{z_speed}
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% if start_print_park_in != 'primeblob' %}
G1 X{x_start} F{speed}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% endif %}
{% else %}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% if target_idex_mode=="copy" or target_idex_mode=="mirror" %}
RATOS_ECHO PREFIX="Priming" MSG="Mirroring move to {x_start}, {y_start} along the edge of the print area.."
_IDEX_MIRROR PRIMING=1
{% else %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% endif %}
G1 X{x_start} F{speed}
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Starting prime blob.."
G1 Z{0.5 + start_z_offset} F{z_speed}
G1 Y{y_start} F{speed}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
M106 S{fan_speed}
G1 Z5 F100 E5
G92 E0
RATOS_ECHO PREFIX="Priming" MSG="Bridging with {((fan_speed/255) * 100)|int}% fan speed.."
G1 F3000 X{x_start + (15 * x_factor)} Y{y_start + (15 * y_factor)} E{1 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (20 * x_factor)} Y{y_start + (20 * y_factor)} Z{3.8 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (34 * x_factor)} Y{y_start + (34 * y_factor)} Z{2.6 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (38 * x_factor)} Y{y_start + (38 * y_factor)} Z{1.4 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (42 * x_factor)} Y{y_start + (42 * y_factor)} Z{0.2 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
M106 S0
G1 F3000 X{x_start + (46 * x_factor)} Y{y_start + (46 * y_factor)} Z{0.2 + end_z_offset} E0.6
G1 F{speed} X{x_start + (50 * x_factor)} Y{y_start + (50 * y_factor)}
{% if target_idex_mode == "copy" or target_idex_mode == "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if target_idex_mode == "copy" %}
{% if first_y >= 0 %}
_IDEX_COPY DANCE=0 Y={first_y}
{% else %}
_IDEX_COPY DANCE=0 Y={params.Y1}
{% endif %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
RESTORE_GCODE_STATE NAME=prime_blob_state
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="prime_blob"
G92 E0
[gcode_macro UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% set temp = params.TEMP|default(220)|int %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_UNLOAD_FILAMENT TEMP={temp} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _LEGACY_UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set unload_speed = 5 * 60 %}
{% set unload_length = printer["gcode_macro RatOS"].filament_unload_length|float %}
M117 Unloading filament...
G0 E10 F300
G0 E-5 F3600
G4 P3000
G0 E5 F6000
G0 E-15 F6000
G0 E-{unload_length} F{unload_speed}
_CLEANING_MOVE TOOLHEAD={toolhead}
M117 Filament unloaded!
RESPOND MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _DEFAULT_UNLOAD_FILAMENT]
description = Unload filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_UNLOAD_FILAMENT" MSG="TEMP: {temp}"
_LED_UNLOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=unload_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD=0 NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TOOLHEAD=0
{% endif %}
RESTORE_GCODE_STATE NAME=unload_state
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD=0
[gcode_macro _IDEX_UNLOAD_FILAMENT]
description = Unload filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_UNLOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead}
{% endif %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Unloading filament from nozzle to cooling zone... Please wait!"
_PURGE_BEFORE_UNLOAD TOOLHEAD={toolhead}
{% if printer["gcode_macro _UNLOAD_WITHOUT_TIP_FORMING"] is defined %}
_UNLOAD_WITHOUT_TIP_FORMING TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_UNLOAD_WITH_TIP_FORMING NAME='{filament_name}' TYPE='{filament_type}'
{% endif %}
G4 P3000
[gcode_macro _UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
{% set tooolhead_sensor_to_extruder_gear_distance = printer["gcode_macro T%s" % toolhead].tooolhead_sensor_to_extruder_gear_distance|float %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER" MSG="TOOLHEAD: {toolhead}"
G0 E-{extruder_gear_to_cooling_position_distance + tooolhead_sensor_to_extruder_gear_distance + 50} F{extruder_load_speed}
RATOS_ECHO MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _UNLOAD_WITH_TIP_FORMING]
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% if filament_name != '' and filament_type != '' %}
_UNLOAD_KNOWN_FILAMENT NAME={filament_name} TYPE={filament_type}
{% else %}
_UNLOAD_UNKNOWN_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _UNLOAD_KNOWN_FILAMENT]
description = User overrideable tip forming macro if slicer filament profiles are known
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
RATOS_ECHO PREFIX="FILAMENT TYPE" MSG='{filament_type}'
RATOS_ECHO PREFIX="FILAMENT PROFILE" MSG='{filament_name}'
{% if filament_name == "Prusament PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% elif filament_name == "Nobufil PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% else %}
RATOS_ECHO PREFIX="_UNLOAD_KNOWN_FILAMENT" MSG="Filament profile not found!"
_UNLOAD_UNKNOWN_FILAMENT
{% endif %}
[gcode_macro _UNLOAD_UNKNOWN_FILAMENT]
description = User overrideable standard tip forming macro
gcode =
DEBUG_ECHO PREFIX="_UNLOAD_UNKNOWN_FILAMENT" MSG="Using standard tip forming macro!"
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
[gcode_macro _TIP_FORMING]
gcode =
{% set cooling_moves = params.COOLING_MOVES|default(4)|int %}
{% set cooling_move_length = params.COOLING_MOVE_LENGTH|default(10)|float %}
{% set start_cooling_speed = params.START_COOLING_SPEED|default(10)|float * 60 %}
{% set end_cooling_speed = params.END_COOLING_SPEED|default(50)|float * 60 %}
{% if cooling_moves == 0 %}
{% set cooling_move_length = 0 %}
{% endif %}
{% set dip = true if params.DIP|default(false)|lower == "true" else false %}
{% set dip_length = params.DIP_LENGTH|default(22)|float %}
{% set dip_speed = params.DIP_SPEED|default(30)|float * 60 %}
{% set dip_retract_speed = params.DIP_RETRACT_SPEED|default(70)|float * 60 %}
{% set retract_length = params.RETRACT_LENGTH|default(18)|float %}
{% set start_retract_speed = params.START_RETRACT_SPEED|default(120)|float * 60 %}
{% set end_retract_speed = params.END_RETRACT_SPEED|default(20)|float * 60 %}
DEBUG_ECHO PREFIX="_TIP_FORMING" MSG="cooling_moves: {cooling_moves}, cooling_move_length: {cooling_move_length}, start_cooling_speed: {start_cooling_speed}, end_cooling_speed: {end_cooling_speed}, dip: {dip}, dip_length: {dip_length}, dip_speed: {dip_speed}, dip_retract_speed: {dip_retract_speed}, retract_length: {retract_length}, start_retract_speed: {start_retract_speed}, end_retract_speed: {end_retract_speed}"
M220 S100
G92 E0
{% set retract = retract_length + cooling_move_length / 2 - 15 %}
G1 E-15 F{start_retract_speed}
G1 E-{0.7 * retract} F{1.0 * end_retract_speed}
G1 E-{0.2 * retract} F{0.5 * end_retract_speed}
G1 E-{0.1 * retract} F{0.3 * end_retract_speed}
G92 E0
{% if cooling_moves > 0 %}
{% set i = (end_cooling_speed - start_cooling_speed) / (2 * cooling_moves - 1) %}
{% for m in range(cooling_moves) %}
G1 E{cooling_move_length} F{(start_cooling_speed + i * m * 2)}
G1 E-{cooling_move_length} F{(start_cooling_speed + i * (m * 2 + 1))}
{% endfor %}
{% endif %}
G92 E0
{% if dip %}
G1 E{dip_length} F{dip_speed}
G4 P100
G1 E-{dip_length} F{dip_retract_speed}
{% endif %}
G92 E0
M400
[gcode_macro _ON_FILAMENT_SENSOR_BUTTON_PRESSED]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_SENSOR_BUTTON_PRESSED" MSG="TOOLHEAD: {toolhead}"
{% if not printer.virtual_sdcard.is_active %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_FILAMENT_END]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set clogged = true if params.CLOGGED|default(false)|lower == 'true' else false %}
{% set unload_after_runout = printer["gcode_macro T%s" % toolhead].unload_after_runout|float %}
{% if clogged %}
_LED_FILAMENT_CLOG TOOLHEAD={toolhead}
{% else %}
_LED_FILAMENT_RUNOUT TOOLHEAD={toolhead}
{% endif %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_END" MSG="TOOLHEAD: {toolhead}"
{% if printer.virtual_sdcard.is_active %}
{% if not printer.pause_resume.is_paused %}
PAUSE RUNOUT=True
{% endif %}
{% if not clogged and unload_after_runout %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% if not clogged and printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true'%}
_JOIN_SPOOL TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M600]
description = Executes a color change by pausing the printer an unloading the filament.
gcode =
PAUSE
UNLOAD_FILAMENT
RATOS_ECHO MSG="Please load new filament and resume"
[gcode_macro COLD_PULL]
description = Automated hotend cold pull.
gcode =
{% set extrusion_temp = params.EXTRUSION_TEMP|default(220)|int %}
{% set cold_pull_temp = params.COLD_PULL_TEMP|default(80)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% if printer["dual_carriage"] is not defined %}
{% set toolhead = 0 %}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead != 0 and toolhead != 1 %}
{action_raise_error("Please select toolhead! 0 = left, 1 = right toolhead")}
{% endif %}
{% endif %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
SAVE_GCODE_STATE NAME=cold_pull_state
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
RATOS_ECHO MSG="Heating T{toolhead} to {extrusion_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={extrusion_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={extrusion_temp} MAXIMUM={extrusion_temp + 2}
G4 P3000
RATOS_ECHO MSG="extruding..."
G92 E0
G1 E30 F300
G92 E0
RATOS_ECHO MSG="Heating T{toolhead} to {cold_pull_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={cold_pull_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={cold_pull_temp} MAXIMUM={cold_pull_temp + 2}
G4 P10000
RATOS_ECHO MSG="cold pull..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-40 VELOCITY=5 ACCEL=100
RATOS_ECHO MSG="eject filament..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-200 VELOCITY=20 ACCEL=500
RATOS_ECHO MSG="cooling down extruder..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
RESTORE_GCODE_STATE NAME=cold_pull_state
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
CONSOLE_ECHO TITLE="Cold pull finished!" MSG="Please remove the filament from the PTFE tube and cut the end off. Do NOT try to load it again." TYPE="warning"
[gcode_macro _USER_START_PRINT_BEFORE_HOMING]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_BED]
gcode =
[gcode_macro _USER_START_PRINT_BED_MESH]
gcode =
[gcode_macro _USER_START_PRINT_PARK]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
[gcode_macro _USER_START_PRINT_HEAT_CHAMBER]
description = Uses the extruder sensor to wait for chamber temp. Override the _START_PRINT_HEAT_CHAMBER macro to implement heated chamber handling.
gcode =
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
[gcode_macro _USER_END_PRINT_BEFORE_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_AFTER_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_PARK]
gcode =
[gcode_macro _USER_END_PRINT_FINISHED]
description = User hook for when the print is finished after gcode state has been restored.
gcode =
[gcode_macro _USER_START_PRINT]
gcode =
[gcode_macro _USER_END_START_PRINT]
gcode =
[gcode_macro _USER_START_FEATURE]
gcode =
[gcode_macro _USER_END_FEATURE]
gcode =
[gcode_macro ECHO_T_VARS]
description = Echo Toolhead variables to the console.
gcode =
{% set t = params.T|default(0) %}
RATOS_ECHO MSG="T{t} Variables"
{% for var, value in printer["gcode_macro T%s" % t].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro ECHO_RATOS_VARS]
description = Echo RatOS variables to the console.
gcode =
{% for var, value in printer["gcode_macro RatOS"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[delayed_gcode RATOS_INIT]
initial_duration = 0.1
gcode =
_LED_STANDBY
CALCULATE_PRINTABLE_AREA
INITIAL_FRONTEND_UPDATE
_CHAMBER_FILTER_SANITY_CHECK
[delayed_gcode RATOS_LOGO]
initial_duration = 2
gcode =
HELLO_RATOS
[gcode_macro INITIAL_FRONTEND_UPDATE]
gcode =
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_error = printer["gcode_macro RatOS"].status_color_error|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_unknown}"'
{% endif %}
{% set t0_sensor = "undefined" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
{% set t0_sensor = "detected" %}
{% else %}
{% set t0_sensor = "empty" %}
{% endif %}
{% else %}
{% set t0_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set t1_sensor = "undefined" %}
{% if printer["dual_carriage"] is defined and printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
{% set t1_sensor = "detected" %}
{% else %}
{% set t1_sensor = "empty" %}
{% endif %}
{% else %}
{% set t1_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set svv = printer.save_variables.variables %}
{% if svv.t0_filament is defined and printer["gcode_macro T0"] is defined %}
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
{% if t0_sensor != "empty" %}
{% set t0_filament_type = svv.t0_filament[0]|default('')|string %}
{% set t0_filament_name = svv.t0_filament[1]|default('')|string %}
{% set t0_filament_temp = svv.t0_filament[2]|default(0)|float %}
{% if t0_filament_name != '' and t0_filament_type != '' and t0_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{t0_filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{t0_filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={t0_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
{% if svv.t1_filament is defined and printer["gcode_macro T1"] is defined %}
{% if printer["gcode_macro T1"].filament_name is defined and printer["gcode_macro T1"].filament_type is defined and printer["gcode_macro T1"].filament_temp is defined %}
{% if t1_sensor != "empty" %}
{% set t1_filament_type = svv.t1_filament[0]|default('')|string %}
{% set t1_filament_name = svv.t1_filament[1]|default('')|string %}
{% set t1_filament_temp = svv.t1_filament[2]|default(0)|float %}
{% if t1_filament_name != '' and t1_filament_type != '' and t1_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='"{t1_filament_name}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='"{t1_filament_type}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE={t1_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t1_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro CALCULATE_PRINTABLE_AREA]
gcode =
{% set bed_margin_x = printer["gcode_macro RatOS"].bed_margin_x %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set tool = 0 if printer["gcode_macro T0"] is not defined or printer["gcode_macro T0"].active else 1 %}
{% set max_x = printer.toolhead.axis_maximum.x if printer["dual_carriage"] is defined and tool == 0 else printer.toolhead.axis_maximum.x - bed_margin_x[1] %}
{% if printer["dual_carriage"] is defined %}
{% set max_x = printer.toolhead.axis_maximum.x %}
{% endif %}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="printer.toolhead.axis_maximum.x {printer.toolhead.axis_maximum.x}"
{% set max_y = printer.toolhead.axis_maximum.y - bed_margin_y[1]%}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_x_max VALUE={max_x}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_y_max VALUE={max_y}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="Printable area calculated: X: 0,{max_x} Y: 0,{max_y}"
[gcode_macro CACHE_TOOLHEAD_SETTINGS]
variable_cache = {"global": {"accel": 1000, "ratio": 0.5, "speed": 50, "scv": 5}}
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set dummy = cache.__setitem__(key, {"accel": printer.toolhead.max_accel, "ratio": printer.toolhead.minimum_cruise_ratio, "speed": printer.toolhead.max_velocity, "scv": printer.toolhead.square_corner_velocity}) %}
SET_GCODE_VARIABLE MACRO=CACHE_TOOLHEAD_SETTINGS VARIABLE=cache VALUE="{cache | pprint | replace("\n", "") | replace("\"", "\\\"")}"
DEBUG_ECHO PREFIX="CACHE_TOOLHEAD_SETTINGS" MSG="Toolhead settings cached for {key}. {printer.toolhead.max_accel} accel, {printer.toolhead.minimum_cruise_ratio} ratio, {printer.toolhead.max_velocity} velocity, {printer.toolhead.square_corner_velocity} scv."
[gcode_macro RESTORE_TOOLHEAD_SETTINGS]
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set values = printer["gcode_macro CACHE_TOOLHEAD_SETTINGS"].cache.__getitem__(key) %}
{% if values is not defined or values == 'None' %}
{ action_raise_error("RESTORE_TOOLHEAD_SETTINGS: Toolhead settings not cached for key '" ~ key ~ "'.") }
{% endif %}
SET_VELOCITY_LIMIT ACCEL={values.accel} MINIMUM_CRUISE_RATIO={values.ratio} VELOCITY={values.speed} SQUARE_CORNER_VELOCITY={values.scv}
DEBUG_ECHO PREFIX="RESTORE_TOOLHEAD_SETTINGS" MSG="Toolhead settings restored. {values.accel} accel, {values.ratio} ratio, {values.speed} velocity, {values.scv} scv."
[gcode_macro SET_MACRO_TRAVEL_SETTINGS]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set accel = printer["gcode_macro RatOS"].macro_travel_accel %}
SET_VELOCITY_LIMIT ACCEL={accel} MINIMUM_CRUISE_RATIO=0.5 VELOCITY={speed} SQUARE_CORNER_VELOCITY={5}
DEBUG_ECHO PREFIX="SET_MACRO_TRAVEL_SETTINGS" MSG="Macro travel settings set. {accel} accel, {speed} velocity"
[gcode_macro SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% if printer["dual_carriage"] is not defined %}
SET_KINEMATIC_POSITION X={printable_x_max / 2} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
{% else %}
IDEX_SET_CENTER_KINEMATIC_POSITION
{% endif %}
[gcode_macro IDEX_SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x - (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x + (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
[gcode_macro VERIFY_HYBRID_INVERTED]
gcode =
{% set inverted = False %}
{% if printer.configfile.settings.ratos_hybrid_corexy is defined and printer.configfile.settings.ratos_hybrid_corexy.inverted is defined %}
{% if printer.configfile.settings.ratos_hybrid_corexy.inverted|lower == 'true' %}
{% set inverted = True %}
{% endif %}
{% endif %}
{% if inverted == False %}
{ action_emergency_stop("ratos_hybrid_corexy NOT INVERTED! Inverted hybrid core-xy bugfix not detected.") }
{% endif %}
[gcode_macro RATOS_ECHO]
gcode =
{% set prefix = "RatOS" %}
{% set debug = params.DEBUG|default(0)|int %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " | " ~ params.PREFIX %}
{% endif %}
{% set prefix = prefix ~ ":" %}
{% set msg = "" %}
{% if params.MSG is defined %}
{% set msg = params.MSG %}
{% else %}
{% set msg = "No msg parameter provided (this is a bug or unintended use)." %}
{% endif %}
{% if not debug %}
M117 {prefix} {msg}
{% endif %}
RATOS_LOG PREFIX="{prefix}" MSG="{msg}"
{% if not debug %}
RESPOND PREFIX="{prefix}" MSG="{msg}"
{% else %}
CONSOLE_ECHO TITLE="{prefix}" TYPE="debug" MSG="{msg}"
{% endif %}
[gcode_macro ENABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=True
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=prefix_filter VALUE="'{params.FILTER|default('')|lower}'"
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging enabled."
[gcode_macro DISABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=False
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging disabled."
[gcode_macro DEBUG_ECHO]
variable_enabled = False
variable_prefix_filter = ''
gcode =
{% set prefix = "DEBUG" %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " - " ~ params.PREFIX %}
{% endif %}
{% if enabled and (prefix_filter|lower == '' or prefix_filter|lower in params.PREFIX|lower) %}
RATOS_ECHO PREFIX="{prefix}" MSG="{params.MSG}" DEBUG=1
{% endif %}
[gcode_macro START_FEATURE]
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="Start {params.FEATURE} feature gcode"
{% set scv = printer.toolhead.square_corner_velocity|int|default(5) %}
{% set accel = printer.toolhead.max_accel|int|default(10000) %}
{% set ratio = printer.toolhead.minimum_cruise_ratio|float|default(0.5) %}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="scv" VALUE={scv}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="accel" VALUE={accel}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="ratio" VALUE={ratio}
_USER_START_FEATURE FEATURE="{params.FEATURE}"
[gcode_macro END_FEATURE]
variable_scv = 5
variable_accel = 10000
variable_ratio = 0.5
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="End {params.FEATURE} feature gcode"
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={scv} ACCEL={accel} MINIMUM_CRUISE_RATIO={ratio}
_USER_END_FEATURE FEATURE="{params.FEATURE}" SCV={scv} ACCEL={accel} RATIO={ratio}
[gcode_macro _ON_LAYER_CHANGE]
variable_layer_number = 0
description = INTERNAL USE ONLY. Call it from the slicers after layer change custom gcode
gcode =
{% set layer = params.LAYER|int %}
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE={layer}
SET_PRINT_STATS_INFO CURRENT_LAYER={layer}
[gcode_macro _LEARN_MORE_CALIBRATION]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/calibration" %}
{% set link_text = "RatOS Calibration Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_CHAMBER_FILTER]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter Control" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_FILAMENT]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/filaments" %}
{% set link_text = "RatOS Filament Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _CONSOLE_SAVE_CONFIG]
gcode =
M118 Click SAVE_CONFIG to save the settings to your printer.cfg.
[gcode_macro SAVE_Z_OFFSET]
gcode =
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SAVE_MULTIPLIER
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _LOAD_RATOS_SKEW_PROFILE]
gcode =
{% set ratos_skew_profile = printer["gcode_macro RatOS"].skew_profile|default("") %}
{% if ratos_skew_profile != "" %}
{% if printer.configfile.config["skew_correction %s" % ratos_skew_profile] is defined %}
SKEW_PROFILE LOAD={ratos_skew_profile}
GET_CURRENT_SKEW
{% else %}
{% set line_1 = '"Could not find skew profile %s!_N_Clearing skew correction."' % ratos_skew_profile %}
CONSOLE_ECHO TITLE="Missing skew profile!" TYPE="warning" MSG={line_1}
SET_SKEW CLEAR=1
{% endif %}
{% endif %}
[gcode_macro M601]
gcode =
PAUSE
[gcode_macro PAUSE]
description = Pauses the print
rename_existing = PAUSE_BASE
variable_extrude = 1.5
variable_retract = 1.5
variable_fan_speed = 0
variable_idex_mode = ""
variable_idex_toolhead = 0
variable_idex_toolhead_x = 0.0
variable_idex_toolhead_y = 0.0
variable_idex_toolhead_z = 0.0
gcode =
{% set runout_detected = true if params.RUNOUT|default(false)|lower == 'true' else false %}
_LED_PAUSE
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set idex_toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
SAVE_GCODE_STATE NAME=PAUSE_state
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_mode VALUE='"{idex_mode}"'
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={idex_toolhead}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_x VALUE={printer.gcode_move.gcode_position.x|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_y VALUE={printer.gcode_move.gcode_position.y|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_z VALUE={printer.gcode_move.gcode_position.z|float}
DEBUG_ECHO PREFIX="PAUSE" MSG="idex_mode: {idex_mode}, idex_toolhead: {idex_toolhead}, idex_toolhead_x: {idex_toolhead_x}, idex_toolhead_y: {idex_toolhead_y}, idex_toolhead_z: {idex_toolhead_z}"
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
CACHE_TOOLHEAD_SETTINGS KEY="pause"
SET_MACRO_TRAVEL_SETTINGS
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% if current_z < (max_z - 20.0) %}
{% set z_safe = 20.0 %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
PAUSE_BASE
{% if printer["dual_carriage"] is not defined %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan"].speed|float}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
{% if idex_toolhead == 0 %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t1"].speed|float}
{% endif %}
{% endif %}
{% endif %}
M106 S0
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if idex_mode != '' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set R = printer["gcode_macro PAUSE"].retract|float %}
{% if can_extrude %}
G91
G1 E-{R} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].pause_print_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].pause_print_park_in %}
{% if runout_detected %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].runout_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].runout_park_in %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
DEBUG_ECHO PREFIX="PAUSE" MSG="z_speed: {z_speed}, pause_print_park_x: {pause_print_park_x}, pause_print_park_in: {pause_print_park_in}, default_toolhead: {default_toolhead}"
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F{z_speed}
G90
{% if printer["dual_carriage"] is not defined %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% else %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
_IDEX_SINGLE X={parking_position}
{% else %}
PARK_TOOLHEAD
{% endif %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="pause"
[gcode_macro RESUME]
description = Resumes the print if the printer is paused.
rename_existing = RESUME_BASE
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set target_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set target_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% endif %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if target_idex_mode != '' %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set fan_speed = printer["gcode_macro PAUSE"].fan_speed|float %}
{% if printer["dual_carriage"] is not defined %}
M106 S{(fan_speed * 255)}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% else %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% else %}
{% if printer["gcode_macro PAUSE"].idex_toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% endif %}
{% endif %}
M106.1 S{fan_speed}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY DANCE=0
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR DANCE=0
{% else %}
{% if params.TOOLHEAD is defined %}
_SELECT_TOOL T={params.TOOLHEAD} X=-1 Y=-1 TOOLSHIFT=false
{% else %}
_SELECT_TOOL T={printer["gcode_macro PAUSE"].idex_toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% endif %}
{% set x = printer["gcode_macro PAUSE"].idex_toolhead_x|float %}
{% set y = printer["gcode_macro PAUSE"].idex_toolhead_y|float %}
{% set z = printer["gcode_macro PAUSE"].idex_toolhead_z|float %}
G1 X{x} Y{y} Z{z} F{speed}
{% if params.TOOLHEAD is defined %}
SAVE_GCODE_STATE NAME=PAUSE_STATE
{% endif %}
{% endif %}
{% if params.TOOLHEAD is not defined %}
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
{% if can_extrude %}
G91
G1 E{E} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 MOVE_SPEED={speed}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
RESUME_BASE
_LED_PRINTING
[gcode_macro CANCEL_PRINT]
description = Cancels the printer
rename_existing = CANCEL_PRINT_BASE
gcode =
END_PRINT
TURN_OFF_HEATERS
CLEAR_PAUSE
CANCEL_PRINT_BASE
[gcode_macro START_PRINT]
description = Start print procedure, use this in your Slicer.
variable_post_processor_version = 2
variable_is_printing_gcode = False
variable_both_toolheads = True
variable_object_xoffset = 0
variable_first_x = -1
variable_first_y = -1
variable_total_toolshifts = 0
variable_initial_tool = 0
variable_extruder_first_layer_temp = ""
variable_extruder_other_layer_temp = ""
gcode =
{% if "xyz" in printer.toolhead.homed_axes and printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% if printer["gcode_macro _VAOC"].is_started|default(true)|lower == 'true' %}
_VAOC_END
{% endif %}
{% endif %}
_LED_START_PRINTING
CACHE_TOOLHEAD_SETTINGS KEY="start_print"
_USER_START_PRINT { rawparams }
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set z_probe_stowable = printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set X0 = params.X0|default(-1)|float %}
{% set X1 = params.X1|default(-1)|float %}
{% set Y0 = params.Y0|default(-1)|float %}
{% set Y1 = params.Y1|default(-1)|float %}
{% if first_x == -1 or first_y == -1 %}
{% set first_x = params.FIRST_X|default(-1)|float %}
{% set first_y = params.FIRST_Y|default(-1)|float %}
{% endif %}
{% set total_toolshifts = params.TOTAL_TOOLSHIFTS|default(0)|int %}
{% set initial_tool = params.INITIAL_TOOL|default(default_toolhead)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(printer.heater_bed.target, true)|float %}
{% set total_layer_count = params.TOTAL_LAYER_COUNT|default(0)|int %}
{% set extruder_first_layer_temp = (params.EXTRUDER_TEMP|default("")).split(",") %}
RATOS_ECHO MSG="First print coordinates X:{first_x} Y:{first_y}"
{% if params.TOTAL_LAYER_COUNT is not defined %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Configuration" %}
{% set line_1 = '"Your slicer gcode settings are not up to date._N_Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Incomplete Slicer Configuration detected" TYPE="warning" MSG={line_1}
{% endif %}
SET_PRINT_STATS_INFO CURRENT_LAYER=1
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE=1
{% if total_layer_count > 0 %}
SET_PRINT_STATS_INFO TOTAL_LAYER={total_layer_count}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads %}
{% set initial_tool = 0 if initial_tool == 1 else 1 %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% set both_toolheads = true %}
{% if total_toolshifts == 0 %}
{% set both_toolheads = false %}
{% endif %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
{% endif %}
{% if both_toolheads and (idex_mode == "copy" or idex_mode == "mirror") %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Gcode tool changes found. Copy and mirror mode do not support toolchanges.")}
{% endif %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set both_toolheads = true %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=initial_tool VALUE={initial_tool}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_x VALUE={first_x}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_y VALUE={first_y}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=total_toolshifts VALUE={total_toolshifts}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=both_toolheads VALUE={both_toolheads}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_first_layer_temp VALUE="'{params.EXTRUDER_TEMP}'"
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_other_layer_temp VALUE="'{params.EXTRUDER_OTHER_LAYER_TEMP}'"
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE=0
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set stepper_x_position_min = printer.configfile.settings.stepper_x.position_min|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set x_parking_space = parking_position_t0 - (stepper_x_position_endstop , stepper_x_position_min)|max %}
{% set dc_parking_space = (dual_carriage_position_endstop , dual_carriage_position_max)|min - parking_position_t1 %}
{% if svv.idex_xoffset|abs >= (x_parking_space - 0.5) or svv.idex_xoffset|abs >= (dc_parking_space - 0.5) %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Toolhead x-offset is too high for the available parking space. Calibrate your X and DC endstop positions and make sure you stay below 1mm." % (copy_mode_max_width)) }
{% endif %}
{% endif %}
{% if (idex_mode == "copy" or idex_mode == "mirror") and printer.configfile.settings.ratos.enable_gcode_transform %}
{% if params.MIN_X is not defined or params.MAX_X is not defined %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Something went wrong! Missing important post processor start print parameter!") }
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE=0
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set boundary_box_min_x = params.MIN_X|default(0)|float %}
{% set boundary_box_max_x = params.MAX_X|default(printable_x_max)|float %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
{% set boundary_box_max_x = boundary_box_max_x + svv.idex_xoffset %}
{% else %}
{% set boundary_box_min_x = boundary_box_min_x - svv.idex_xoffset %}
{% endif %}
{% set center_x = printable_x_max / 2.0 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set object_width = boundary_box_max_x - boundary_box_min_x %}
{% set copy_mode_max_width = center_x %}
{% set mirror_mode_max_width = center_x - safe_distance / 2.0 %}
DEBUG_ECHO PREFIX="START_PRINT" MSG="OBJECT_WIDTH: {object_width} BOUNDARY_BOX_MIN_X: {boundary_box_min_x} BOUNDARY_BOX_MAX_X: {boundary_box_max_x} CENTER_X: {center_x} SAFE_DISTANCE: {safe_distance}"
{% if idex_mode == "copy" and object_width > copy_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for copy mode! Max supported width is %s mm" % (copy_mode_max_width)) }
{% endif %}
{% if idex_mode == "mirror" and object_width > mirror_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for mirror mode! Max supported width is %s mm" % (mirror_mode_max_width)) }
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = (printable_x_max - boundary_box_max_x - boundary_box_min_x) / 2 %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE={object_xoffset}
{% endif %}
{% endif %}
{% set has_initial_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_initial_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined and both_toolheads %}
{% set has_secondary_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_secondary_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
_CHAMBER_FILTER_ON AT="before_print_start"
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true' %}
{% if both_toolheads %}
RATOS_ECHO MSG="Spool join is not possible if both toolheads are in use!"
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == '' %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
{% endif %}
{% endif %}
CLEAR_PAUSE
{% if printer["gcode_macro RatOS"].force_absolute_position|lower == 'true' %}
G90
{% endif %}
SAVE_GCODE_STATE NAME=start_print_state
G21
G90
M82
_USER_START_PRINT_BEFORE_HOMING { rawparams }
{% if z_probe_stowable == true %}
STOWABLE_PROBE_BEGIN_BATCH
{% endif %}
MAYBE_HOME
_Z_HOP
{% if idex_mode != '' and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
PARK_TOOLHEAD
{% endif %}
{% if chamber_temp > 0 %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED={printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float}
{% endif %}
{% endif %}
_CHAMBER_HEATER_ON START_CHAMBER_TEMP={start_chamber_temp} CHAMBER_TEMP={chamber_temp}
_USER_START_PRINT_HEAT_CHAMBER { rawparams } CHAMBER_TEMP={chamber_temp}
{% endif %}
_START_PRINT_BEFORE_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
RATOS_ECHO MSG="Heating bed..."
M190 S{bed_temp}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_BED { rawparams }
_START_PRINT_AFTER_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
_USER_START_PRINT_BED_MESH { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_BED_MESH X0={X0} X1={X1} Y0={Y0} Y1={Y1} T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if z_probe_stowable == true %}
STOWABLE_PROBE_END_BATCH
{% endif %}
{% if idex_mode == '' %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={extruder_first_layer_temp[1]|float}
{% endif %}
{% endif %}
_USER_START_PRINT_PARK { rawparams }
_START_PRINT_PARK
RATOS_ECHO MSG="Heating Extruder..."
{% if idex_mode == '' %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder1" MINIMUM={extruder_first_layer_temp[1]|float} MAXIMUM={extruder_first_layer_temp[1]|float + 5}
{% endif %}
{% endif %}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
{% if idex_mode == '' %}
_LED_PRINTING
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
_LED_PRINTING
{% else %}
{% if both_toolheads %}
_LED_PRINTING TOOLHEAD={initial_tool}
{% if toolchange_standby_temp > -1 %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={0 if initial_tool == 1 else 1}
{% else %}
_LED_PRINTING TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% else %}
_LED_PRINTING TOOLHEAD={initial_tool}
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% endif %}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_EXTRUDER { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_AFTER_HEATING_EXTRUDER X0={X0} X1={X1} Y0={Y0} Y1={Y1} INITIAL_TOOLHEAD={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if idex_mode != '' %}
{% if not both_toolheads %}
{% if initial_tool != default_toolhead %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if initial_tool == 1 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% set x_offset = printer.toolhead.position.x|float - printer.gcode_move.gcode_position.x|float %}
{% endif %}
RESTORE_GCODE_STATE NAME=start_print_state
{% if idex_mode != '' %}
{% set act_idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% if act_idex_mode == "copy" or act_idex_mode == "mirror" %}
SET_GCODE_OFFSET X={x_offset} MOVE=0
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% if idex_mode == "copy" and idex_mode != act_idex_mode %}
_IDEX_COPY DANCE=0
{% elif idex_mode == "mirror" and idex_mode != act_idex_mode %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
RATOS_ECHO MSG="Adjusting object x-offset by {(object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={object_xoffset} MOVE=0
{% endif %}
{% else %}
_SELECT_TOOL T={initial_tool} TOOLSHIFT=false
{% if initial_tool != default_toolhead %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_SET_TOOLHEAD_OFFSET T={initial_tool} MOVE=0
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={initial_tool}
{% endif %}
_SET_EXTRUSION_MODE
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={printer["print_stats"].print_duration}
{% endif %}
_USER_END_START_PRINT { rawparams }
G92 E0
_CHAMBER_FILTER_ON AT="after_print_start"
RATOS_ECHO MSG="Printing..."
[gcode_macro _START_PRINT_BEFORE_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set is_stowable_probe = true if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Pre-heating extruder..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={min_temp}
{% else %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET={min_temp}
{% endif %}
{% else %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
{% endif %}
{% endif %}
{% if not is_stowable_probe %}
{% if printer["dual_carriage"] is defined and act_t != default_toolhead %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
{% endif %}
RATOS_ECHO MSG="Heat soaking z probe..."
{% if auto_z_offset_calibration %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% if default_toolhead == 0 %}
_SELECT_TOOL T=0 TOOLSHIFT=false
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% elif default_toolhead == 1 %}
_SELECT_TOOL T=1 TOOLSHIFT=false
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% endif %}
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% endif %}
G0 Z2 F{z_speed}
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Waiting for extruder to be preheated..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
{% if default_toolhead == 0 %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_Z_HOP
{% endif %}
{% if auto_z_offset_calibration %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={default_toolhead}
_SELECT_TOOL T={0 if default_toolhead == 1 else 1} X={parking_position_t0 if default_toolhead == 1 else parking_position_t1} Y=0 TOOLSHIFT=false
_CLEANING_MOVE TOOLHEAD={0 if default_toolhead == 1 else 1}
_VAOC_CALIBRATE_Z_OFFSET AUTO_Z_OFFSET=True
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=false
{% endif %}
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
{% if needs_rehoming %}
G28 Z
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% if beacon_contact_wipe_before_true_zero %}
_START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE
{% endif %}
_START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
G0 Z5 F{z_speed}
G0 X50 Y10 F{speed}
PROBE PROBE_METHOD=contact SAMPLES=1
BEACON_QUERY
[gcode_macro _START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_true_zero_location = printer["gcode_macro RatOS"].beacon_contact_true_zero_location|default("front")|lower %}
{% set beacon_contact_true_zero_margin_x = printer["gcode_macro RatOS"].beacon_contact_true_zero_margin_x|default(30)|int %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_wipe_before_true_zero %}
{% if printer.beacon.last_probe_result|lower == "ok" %}
{% set last_z_offset = printer.beacon.last_z_result %}
RATOS_ECHO MSG="Auto calibration nozzle wipe with probe result {last_z_offset}..."
G0 Z{(0.2 + last_z_offset)} F{z_speed}
G0 X70 F300
{% else %}
RATOS_ECHO MSG="Skipping auto calibration nozzle wipe because probing failed!"
{% endif %}
{% endif %}
G0 Z5 F{z_speed}
_MOVE_TO_SAFE_Z_HOME
RATOS_ECHO MSG="Heating extruder to probing temperature..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={beacon_contact_true_zero_temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={beacon_contact_true_zero_temp} MAXIMUM={beacon_contact_true_zero_temp + 5}
RATOS_ECHO MSG="Beacon contact auto calibration..."
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
G0 Z5 F{z_speed}
[gcode_macro _START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set first_x = printer["gcode_macro START_PRINT"].first_x|default(-1)|float %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2.0 %}
{% set center_y = printable_y_max / 2.0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% if printer["dual_carriage"] is defined %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% endif %}
{% set X0 = params.X0|default(-1)|int %}
{% set X1 = params.X1|default(-1)|int %}
{% set Y0 = params.Y0|default(-1)|int %}
{% set Y1 = params.Y1|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% if idex_mode == '' %}
_PRIME
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
RATOS_ECHO PREFIX="IDEX" MSG="using combined prime offset for IDEX {idex_mode} mode"
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
{% if both_toolheads %}
{% if initial_toolhead == 0 %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T{initial_toolhead}"
_SELECT_TOOL T={initial_toolhead} TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% endif %}
{% endif %}
CACHE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
SET_MACRO_TRAVEL_SETTINGS
{% if (X0 > -1 and Y1 > -1) or (first_x > 0 and first_y > 0) %}
{% if printer["dual_carriage"] is defined %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
{% set first_z = 1 %}
{% else %}
{% set first_z = 3 %}
{% endif %}
{% if idex_mode == "mirror" %}
{% if first_y >= 0 %}
G0 Y{first_y} F{speed}
{% else %}
G0 Y{Y1} F{speed}
{% endif %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={initial_toolhead}
_PURGE_FILAMENT TOOLHEAD={initial_toolhead} E={printer["gcode_macro RatOS"].toolchange_first_purge|default(50)|float}
_CLEANING_MOVE TOOLHEAD={initial_toolhead}
{% endif %}
{% if first_x >= 0 and first_y >= 0 %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% else %}
{% set first_x = X0 %}
{% set first_y = Y0 %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'min' %}
{% set first_x = X0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'max' %}
{% set first_x = X1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|float <= center_x %}
{% set first_x = X0 %}
{% else %}
{% set first_x = X1 %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'min' %}
{% set first_y = Y0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'max' %}
{% set first_y = Y1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|float <= center_y %}
{% set first_y = Y0 %}
{% else %}
{% set first_y = Y1 %}
{% endif %}
{% endif %}
{% endif %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% endif %}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
_LOAD_RATOS_SKEW_PROFILE
[gcode_macro _PRIME]
gcode =
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
PRIME_BLOB INITIAL_TOOLHEAD={params.INITIAL_TOOLHEAD} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={params.IDEX_MODE} Y1={params.Y1}
{% else %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE == "copy" %}
_IDEX_COPY DANCE=0
{% elif params.IDEX_MODE == "mirror" %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro END_PRINT]
description = End print procedure, use this in your Slicer.
gcode =
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SAVE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = printer["gcode_macro START_PRINT"].object_xoffset|default(0)|float %}
RATOS_ECHO MSG="Adjusting object x-offset by {(0-object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={(0-object_xoffset)}
{% endif %}
{% endif %}
_USER_END_PRINT_BEFORE_HEATERS_OFF { rawparams }
_END_PRINT_BEFORE_HEATERS_OFF
TURN_OFF_HEATERS
_USER_END_PRINT_AFTER_HEATERS_OFF { rawparams }
_END_PRINT_AFTER_HEATERS_OFF
_USER_END_PRINT_PARK { rawparams }
_END_PRINT_PARK
{% if printer["gcode_macro RatOS"].skew_profile is defined %}
SET_SKEW CLEAR=1
{% endif %}
{% if printer["dual_carriage"] is not defined and printer["gcode_macro RatOS"].end_print_motors_off|lower != 'false' %}
M84
{% endif %}
M107
BED_MESH_CLEAR
RATOS_ECHO MSG="Done :)"
RESTORE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
M84
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
{% if printer["dual_carriage"] is not defined %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SET_GCODE_OFFSET Z=0 MOVE=0
{% endif %}
{% endif %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print"
_CHAMBER_FILTER_ON AT="print_end"
_CHAMBER_FILTER_OFF
_CHAMBER_HEATER_OFF
_USER_END_PRINT_FINISHED { rawparams }
[gcode_macro _END_PRINT_BEFORE_HEATERS_OFF]
gcode =
RATOS_ECHO MSG="Cleaning up..."
[gcode_macro _END_PRINT_AFTER_HEATERS_OFF]
gcode =
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% set z_hop = printer["gcode_macro RatOS"].end_print_park_z_hop|float %}
{% set r = printer["gcode_macro RatOS"].end_print_retract_filament|default(4)|float %}
{% if current_z < (max_z - z_hop) %}
{% set z_safe = z_hop %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
G91
G1 E-2 F3600
G0 Z{z_safe} F3600
G1 E-{(r-2)} F3600
G90
[gcode_macro _SET_EXTRUSION_MODE]
gcode =
{% if printer["gcode_macro RatOS"].relative_extrusion|lower == 'true' %}
M83
{% else %}
M82
{% endif %}
[gcode_macro GENERATE_SHAPER_GRAPHS]
description = Genarates input shaper resonances graphs for analysis. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set hz_per_sec = params.HZ_PER_SEC|default(1)|float %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set copy_mode_offset = printable_x_max / 4.0 %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% else %}
_IDEX_SINGLE
{% endif %}
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
{% if idex_mode != 'copy' and idex_mode != 'mirror' %}
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
{% endif %}
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Shaper graph"
[gcode_shell_command generate_shaper_graph_x]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-x.sh
timeout = 60.
verbose = True
[gcode_shell_command generate_shaper_graph_y]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-y.sh
timeout = 60.
verbose = True
[gcode_macro MEASURE_COREXY_BELT_TENSION]
description = Generates resonance graph used to ensure belts are equally tensioned. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
_IDEX_SINGLE
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if measure_t1 == false or measure_t0 == false %}
{action_raise_error("Axis specified. Not supported for belt tension on Y.")}
{% else %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
G4 P5000
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
PARK_TOOLHEAD
{% endif %}
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if params.TOOLHEAD is not defined %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
G1 X{parking_position_t1} F{speed}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
{% if params.TOOLHEAD is not defined %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Belt Tension Graph"
[gcode_shell_command generate_belt_tension_graph]
command = /home/pi/printer_data/config/RatOS/scripts/generate-belt-tension-graph.sh
timeout = 90.
verbose = True
[idle_timeout]
gcode =
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused|lower == 'false' %}
RATOS_ECHO PREFIX="IDLE" MSG="2 hours since last activity. Powering off heaters and motors.."
TURN_OFF_HEATERS
M84
{% endif %}
{% endif %}
timeout = 7200
[temperature_sensor raspberry_pi]
sensor_type = temperature_host
[skew_correction]
[input_shaper]
[virtual_sdcard]
path = ~/printer_data/gcodes
[display_status]
[pause_resume]
[force_move]
enable_force_move = True
[respond]
[resonance_generator]
[ratos]
allow_unknown_gcode_generator = True
enable_gcode_transform = True
allow_unsupported_slicer_versions = True
[exclude_object]
[heater_bed]
heater_pin = heater_bed_heating_pin
sensor_pin = heater_bed_sensor_pin
sensor_type = Generic 3950
min_temp = 0
max_temp = 140
pwm_cycle_time = 0.02
control = pid
pid_kp = 65.045
pid_ki = 1.953
pid_kd = 541.497
[fan]
pin = rpi:gpio4
shutdown_speed = 1.0
[heater_fan toolhead_cooling_fan]
pin = toolboard_t0:PA1
fan_speed = 1
heater = extruder
[printer]
kinematics = ratos_hybrid_corexy
max_velocity = 800
max_accel = 10000
minimum_cruise_ratio = 0.5
max_z_velocity = 50
max_z_accel = 600
square_corner_velocity = 5
[ratos_hybrid_corexy]
inverted = true
[dual_carriage]
axis = x
safe_distance = 55
position_max = 558.971
position_endstop = 558.971
position_min = 0
step_pin = PF9
dir_pin = dual_carriage_dir_pin
enable_pin = !PG2
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t1:PB6
[gcode_macro IDEX_SINGLE]
gcode =
_IDEX_REMAP_TOOLHEADS ENABLE=False
_IDEX_SINGLE
[gcode_macro _IDEX_SINGLE]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_single"
SET_MACRO_TRAVEL_SETTINGS
{% set init = params.INIT|default(0)|int %}
{% set new_x = params.X|default(-1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_act_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_default_t = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="init: {init}, new_x: {new_x}, idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, act_t: {act_t}"
{% if idex_mode == "copy" or idex_mode == "mirror" or init == 1 %}
{% if 'x' in printer.toolhead.homed_axes %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="reset gcode offset"
G1 X{center_x} F{(speed)}
SET_GCODE_OFFSET X_ADJUST={center_x / 2} MOVE=0
{% endif %}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="activate default carriage"
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% if 'x' in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolheads"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
G90
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position."
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1}
G1 X{parking_position_default_t} F{speed}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move default toolhead to its new position."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% if new_x == -1 %}
{% set new_x = center_x %}
{% endif %}
G1 X{new_x} F{speed}
M400
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="X Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set extruder motion queue."
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if default_toolhead==0 else default_toolhead}
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolhead offset."
_SET_TOOLHEAD_OFFSET T={default_toolhead}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set input shaper."
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[default_toolhead]|float)} SHAPER_FREQ_Y={(shaper_y_freq[default_toolhead]|float)} SHAPER_TYPE_X={(shaper_x_type[default_toolhead]|lower)} SHAPER_TYPE_Y={(shaper_y_type[default_toolhead]|lower)}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="update Frontend."
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if default_toolhead==0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if default_toolhead==1 else False}
{% else %}
{% if "xyz" in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_single"
[gcode_macro IDEX_COPY]
gcode =
_IDEX_COPY
[gcode_macro _IDEX_COPY]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_copy"
SET_MACRO_TRAVEL_SETTINGS
{% set y = params.Y|default(-1)|int %}
{% set dance = params.DANCE|default(1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_COPY" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}, y: {y}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "copy" %}
{% if idex_mode == "mirror" %}
{% if y>=0 %}
G1 X{center_x} Y{y} F{(speed)}
{% else %}
G1 X{center_x} F{(speed)}
{% endif %}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
{% if idex_mode != "mirror" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "mirror" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance == 1 %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[2]|float)} SHAPER_FREQ_Y={(shaper_y_freq[2]|float)} SHAPER_TYPE_X={(shaper_x_type[2]|lower)} SHAPER_TYPE_Y={(shaper_y_type[2]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_copy"
[gcode_macro IDEX_MIRROR]
gcode =
_IDEX_MIRROR
[gcode_macro _IDEX_MIRROR]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_mirror"
SET_MACRO_TRAVEL_SETTINGS
{% set dance = params.DANCE|default(1)|int %}
{% set priming = params.PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_MIRROR" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "mirror" %}
{% if idex_mode == "copy" %}
G1 X{center_x} F{(speed)}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS MIRROR_PRIMING={params.PRIMING}
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
{% if idex_mode != "copy" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "copy" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance and not priming %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[3]|float)} SHAPER_FREQ_Y={(shaper_y_freq[3]|float)} SHAPER_TYPE_X={(shaper_x_type[3]|lower)} SHAPER_TYPE_Y={(shaper_y_type[3]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_mirror"
[gcode_macro _IDEX_SET_TOOLHEADS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
SET_MACRO_TRAVEL_SETTINGS
{% set mirror_priming = params.MIRROR_PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position_inactive_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="_IDEX_SET_TOOLHEADS" MSG="idex_mode: {idex_mode}, act_t: {act_t}, center_x: {center_x}, mirror_priming: {mirror_priming}"
{% if act_t != default_toolhead %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE=1
{% endif %}
{% if mirror_priming %}
{% if parking_position_t0|abs < parking_position_t1 - printable_x_max %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{printable_x_max + parking_position_t0|abs} F{(speed)}
{% else %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{0 - (parking_position_t1 - printable_x_max)} F{(speed)}
{% endif %}
{% else %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1} MODE=PRIMARY
G1 X{parking_position_inactive_t} F{(speed)}
{% if act_t==1 %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{center_x / 2} F{(speed)}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
[gcode_macro IDEX_PARK]
gcode =
PARK_TOOLHEAD
[gcode_macro PARK_TOOLHEAD]
gcode =
{% set idex_mode = 'none' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode=='primary' else 0 %}
DEBUG_ECHO PREFIX="PARK_TOOLHEAD" MSG="Parking T{act_t}.."
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set parking_position_inact_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set printable_y_min = printer["gcode_macro RatOS"].printable_y_min|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% if idex_mode != "copy" and idex_mode != "mirror" and 'xy' in printer.toolhead.homed_axes %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% elif printer.toolhead.position.y|float < printable_y_min %}
G1 Y{printable_y_min} F{speed}
{% endif %}
SAVE_GCODE_STATE NAME=_PARK_TOOLHEAD
G90
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0.5
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_inact_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
SET_VELOCITY_LIMIT ACCEL={printer.toolhead.max_accel} MINIMUM_CRUISE_RATIO=0.5
M400
RESTORE_GCODE_STATE NAME=_PARK_TOOLHEAD
{% endif %}
[gcode_macro JOIN_SPOOLS]
gcode =
{% set spools = params.SPOOLS|default("") %}
{% if spools == "" %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{% if spools != "0,1" and spools != "1,0" %}
RATOS_ECHO MSG="Wrong spool configuration!"
RATOS_ECHO MSG="Join Spools = JOIN_SPOOLS SPOOLS=0,1"
RATOS_ECHO MSG="Deactivate = JOIN_SPOOLS SPOOLS="
{% else %}
{% if spools == "0,1" or spools == "1,0" %}
_IDEX_JOIN_SPOOLS ENABLE=true
{% else %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_JOIN_SPOOLS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if enable %}
{% set has_t0_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t1_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t0_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined else false %}
{% set has_t1_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined else false %}
{% if (has_t0_toolhead_filament_sensor and has_t1_toolhead_filament_sensor) or (has_t0_bowden_filament_sensor and has_t1_bowden_filament_sensor) %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=True
RATOS_ECHO MSG="Spool joining enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Can not enable spool joining! No filament sensors found."
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining deactivated!"
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining is not possible in copy and mirror mode!"
{% endif %}
[gcode_macro _JOIN_SPOOL]
gcode =
{% set old_toolhead = params.TOOLHEAD|int %}
{% set new_toolhead = 0 if old_toolhead == 1 else 1 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set purge_after_load = printer["gcode_macro T%s" % new_toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_JOIN_SPOOL" MSG="toolhead: {new_toolhead}"
{% set has_filament = true %}
{% set has_new_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% set has_new_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% if has_new_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_new_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_filament %}
RATOS_ECHO MSG="Joining spools! Please wait for extruder to heat up...."
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={new_toolhead}
_DEACTIVATE_TOOLHEAD TOOLHEAD={old_toolhead}
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set extruder_temp = extruder_first_layer_temp[new_toolhead]|float %}
{% else %}
{% set extruder_temp = extruder_other_layer_temp[new_toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if new_toolhead == 0 else 'extruder1'} TARGET={extruder_temp}
TEMPERATURE_WAIT SENSOR={'extruder' if new_toolhead == 0 else 'extruder1'} MINIMUM={extruder_temp} MAXIMUM={extruder_temp + 5}
{% if purge_after_load > 0 %}
SET_DUAL_CARRIAGE CARRIAGE={new_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_toolhead == 0 else new_toolhead}
_MOVE_TO_LOADING_POSITION TOOLHEAD={new_toolhead}
_PURGE_FILAMENT TOOLHEAD={new_toolhead} E={purge_after_load}
_CLEANING_MOVE TOOLHEAD={new_toolhead}
SET_DUAL_CARRIAGE CARRIAGE={old_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if old_toolhead == 0 else old_toolhead}
{% endif %}
RESUME TOOLHEAD={new_toolhead}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{ action_raise_error("Spool join failed! No filament found or filament sensor is disabled.") }
{% endif %}
[gcode_macro REMAP_TOOLHEADS]
gcode =
{% set toolheads = params.TOOLHEADS|default("") %}
{% if toolheads == "" %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% else %}
{% if toolheads != "0,1" and toolheads != "1,0" %}
RATOS_ECHO MSG="Wrong toolhead configuration!"
RATOS_ECHO MSG="Remap = REMAP_TOOLHEADS TOOLHEADS=0,1"
RATOS_ECHO MSG="Deactivate = REMAP_TOOLHEADS TOOLHEADS="
{% else %}
{% if toolheads == "0,1" or toolheads == "1,0" %}
_IDEX_REMAP_TOOLHEADS ENABLE=true
_IDEX_SINGLE
{% else %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_REMAP_TOOLHEADS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if not enable or (idex_mode != "copy" and idex_mode != "mirror") %}
{% if enable %}
RATOS_ECHO MSG="Toolhead remapping enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Toolhead remapping deactivated!"
{% endif %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE={enable}
{% else %}
RATOS_ECHO MSG="Toolhead remapping not possible in copy and mirror mode!"
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
{% endif %}
[gcode_macro SHAPER_CALIBRATE]
rename_existing = SHAPER_CALIBRATE_ORG
gcode =
RATOS_ECHO PREFIX="IDEX" MSG="SHAPER_CALIBRATE is useless on IDEX machines. Please use the GENERATE_SHAPER_GRAPHS macro and type the values into `variable_shaper_*_freq` and `variable_shaper_*_type manually`."
[gcode_shell_command generate_shaper_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-shaper-graph.sh
timeout = 120.
verbose = True
[gcode_shell_command generate_tension_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-belt-tension-graph.sh
timeout = 120.
verbose = True
[gcode_macro SET_PRESSURE_ADVANCE]
variable_snyc_toolheads = False
rename_existing = SET_PRESSURE_ADVANCE_BASE
gcode =
{% if params.SYNC_TOOLHEADS is defined %}
{% set snyc_toolheads = true if params.SYNC_TOOLHEADS|default(false)|lower == 'true' else false %}
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=True
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="Syncing toolheads..."
{% else %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' or snyc_toolheads %}
{% set advance = params.ADVANCE|default(printer['extruder'].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['extruder'].smooth_time|float)|float %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T0"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder' ADVANCE={advance} SMOOTH_TIME={smooth_time}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T1"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder1' ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% else %}
{% set extruder = 'extruder' if act_t == 0 else 'extruder1' %}
{% if params.EXTRUDER is defined %}
{% set extruder = params.EXTRUDER %}
{% endif %}
{% if extruder == 'extruder' or extruder == 'extruder1' %}
{% set advance = params.ADVANCE|default(printer['%s' % extruder].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['%s' % extruder].smooth_time|float)|float %}
SET_PRESSURE_ADVANCE_BASE EXTRUDER={extruder} ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% if params.EXTRUDER is not defined %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG={"T%s" % act_t}
{% endif %}
{% else %}
SET_PRESSURE_ADVANCE_BASE { rawparams }
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M106]
rename_existing = M106.1
variable_swap_speed = -1
gcode =
{% set s = [[params.S|default(255)|int, 255]|min, 0]|max %}
{% set p = params.P|default(-1)|int %}
{% set speed = s / 255 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set t = 1 if idex_mode=='primary' else 0 %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(0)|int == 1 else false %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set sync_fans = true %}
{% endif %}
{% if sync_fans and idex_mode != "copy" and idex_mode != "mirror" %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int %}
{% if toolshift_count > total_toolshifts %}
{% set sync_fans = false %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE=-1
{% if p == -1 %}
{% if speed == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed}
{% else %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE={speed}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={(speed if (t == 0 or sync_fans) else 0)}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={(speed if (t == 1 or sync_fans) else 0)}
{% endif %}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed if t == p else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed if t == p else 0}
{% endif %}
M106.1 S{s}
[gcode_macro M107]
rename_existing = M107.1
gcode =
{% set p = params.P|default(-1)|int %}
M106 S0 P{p}
[gcode_macro _SELECT_TOOL]
variable_last_timestamp = 0
gcode =
{% if params.T is defined %}
{% set idex_mode = '' %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if "xyz" not in printer.toolhead.homed_axes and (idex_mode == "copy" or idex_mode == "mirror") %}
_IDEX_SINGLE
{% set idex_mode = 'reset' %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set new_t = params.T|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads and is_printing_gcode %}
{% set new_t = 0 if new_t == 1 else 1 %}
{% endif %}
{% set toolchange_prepurging_timer = printer["gcode_macro RatOS"].toolchange_prepurging_timer|default(0)|int %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
DEBUG_ECHO PREFIX="_SELECT_TOOL" MSG="act_t: {act_t}, new_t: {new_t}, is_printing_gcode: {is_printing_gcode}, swap_toolheads: {swap_toolheads}, toolchange_standby_temp: {toolchange_standby_temp}"
{% set act_extruder = 'extruder%s' % ('' if new_t == 0 else new_t) %}
{% if new_t != act_t or printer.toolhead.extruder != act_extruder or idex_mode == 'reset' %}
RATOS_ECHO PREFIX="IDEX" MSG="Selecting T{new_t}.."
M220 S100
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(1)|int == 1 else false %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set toolshift = false %}
{% endif %}
{% set fan_speed = printer["fan_generic part_fan_t%s" % act_t].speed %}
{% set deactivate_toolhead = false %}
{% if is_printing_gcode %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int + 1 %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE={toolshift_count}
{% if toolshift_count == total_toolshifts %}
{% set deactivate_toolhead = true %}
{% endif %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % new_t].standby|default(false)|lower == 'true' else false %}
{% set needs_purging = false %}
{% set wake_up_purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% if is_printing_gcode and toolchange_prepurging_timer > 0 and wake_up_purge > 0 %}
{% set new_timestamp = printer["print_stats"].print_duration %}
{% set elapsed_time = new_timestamp - last_timestamp %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={new_timestamp}
{% if elapsed_time > toolchange_prepurging_timer %}
{% set needs_purging = true %}
{% endif %}
{% endif %}
{% set first_use_purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% if toolshift_count == 1 and first_use_purge > 0 %}
{% set needs_purging = true %}
{% endif %}
{% if is_printing_gcode and (toolchange_standby_temp > -1 or needs_purging or needs_wakeup) %}
_TOOLHEAD_STANDBY TOOLHEAD={act_t}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
_TOOLHEAD_WAKEUP TOOLHEAD={new_t} X={new_x} Y={new_y} Z={new_z} FAN_SPEED={fan_speed} TOOLSHIFT_COUNT={toolshift_count}
{% else %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(false)|lower == 'true' else false %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if (new_t == 0 or sync_fans) else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if (new_t == 1 or sync_fans) else 0}
M106.1 S{fan_speed}
{% endif %}
_TOOLCHANGE T={new_t} X={new_x} Y={new_y} Z={new_z} PARK_T0={park_t0} PARK_T1={park_t1} TOOLSHIFT={toolshift}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[new_t]|float)} SHAPER_FREQ_Y={(shaper_y_freq[new_t]|float)} SHAPER_TYPE_X={(shaper_x_type[new_t]|lower)} SHAPER_TYPE_Y={(shaper_y_type[new_t]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if new_t == 0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if new_t == 1 else False}
{% if 'x' in printer.toolhead.homed_axes %}
{% set sanity_check_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if new_t == 0 %}
{% if printer.toolhead.extruder == 'extruder' %}
{% if sanity_check_idex_mode == 'primary' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% elif new_t == 1 %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% if sanity_check_idex_mode == 'inactive' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
G90
G92 E0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _TOOLHEAD_STANDBY]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
RATOS_ECHO PREFIX="IDEX" MSG="Putting toolhead T{toolhead} into standby mode."
DEBUG_ECHO PREFIX="_TOOLHEAD_STANDBY" MSG="toolhead: {toolhead}, config_z_hop: {config_z_hop}, toolchange_standby_temp: {toolchange_standby_temp}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={toolhead} SYNC=0
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={toolhead}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% if toolchange_standby_temp > -1 %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=True
{% endif %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={toolhead}
[gcode_macro _TOOLHEAD_WAKEUP]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set fan_speed = params.FAN_SPEED|float %}
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift_count = params.TOOLSHIFT_COUNT|default(0)|int %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% if toolshift_count == 1 %}
{% set purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % toolhead].standby|default(false)|lower == 'true' else false %}
RATOS_ECHO PREFIX="IDEX" MSG="Waking up toolhead T{toolhead}. Please wait for extruder to heat up..."
DEBUG_ECHO PREFIX="_TOOLHEAD_WAKEUP" MSG="toolhead: {toolhead}, fan_speed: {fan_speed}, new_x: {new_x}, new_y: {new_y}, new_z: {new_z}, config_z_hop: {config_z_hop}"
_LED_TOOLHEAD_WAKEUP TOOLHEAD={toolhead}
SET_DUAL_CARRIAGE CARRIAGE={toolhead} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={toolhead} MOVE=1
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if toolhead == 0 else toolhead}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if needs_wakeup %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set temp = extruder_first_layer_temp[toolhead]|float %}
{% else %}
{% set temp = extruder_other_layer_temp[toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
TEMPERATURE_WAIT SENSOR={'extruder' if toolhead == 0 else 'extruder1'} MINIMUM={temp} MAXIMUM={temp + 5}
{% endif %}
_LED_PRINTING TOOLHEAD={toolhead}
{% if purge > 0 %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge}
_CLEANING_MOVE TOOLHEAD={toolhead}
{% endif %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if toolhead == 1 else 0}
M106.1 S{fan_speed}
{% endif %}
G92 E0
G1 E-{e} F{feedrate}
G92 E0
{% if new_x >= 0 and new_y >= 0 %}
G1 X{new_x} Y{new_y} F{speed}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={config_z_hop} T={toolhead} SYNC=0
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=False
[gcode_macro _TOOLCHANGE]
variable_toolshift_count = 0
gcode =
{% set new_t = params.T|default(-1)|int %}
{% set new_x = params.X|default(-1.0)|float %}
{% set new_y = params.Y|default(-1.0)|float %}
{% set new_z = params.Z|default(-1.0)|float %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(true)|lower == 'true' else false %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T: {new_t}, X: {new_x}, Y: {new_y}, Z: {new_z}, PARK_T0: {park_t0}, PARK_T1: {park_t1}, IS_PRINTING_GCODE: {is_printing_gcode}, TOOLSHIFT: {toolshift}"
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% if park_t0 >= 0 and park_t1 >= 0 %}
{% set parking_position_t0 = park_t0 %}
{% set parking_position_t1 = park_t1 %}
{% set parking_position_act_t = park_t0 if act_t == 0 else park_t1 %}
{% endif %}
{% if not is_printing_gcode and not toolshift %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Changing tool to T{new_t} without retracting/extruding or moving the toolheads except for parking."
{% if "xyz" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
G90
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% if not is_printing_gcode and toolshift and new_x < 0 and new_y < 0 %}
{% set new_x = center_x %}
{% set new_y = printer.gcode_move.gcode_position.y|float %}
{% endif %}
{% if new_x < 0 or new_y < 0 %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="No new X or Y position given, parking the active toolhead and activating the new toolhead without moving it."
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={new_t}
{% if "x" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
{% if is_printing_gcode %}
_EXTRUDE T={new_t}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% if "xyz" not in printer.toolhead.homed_axes %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% set svv = printer.save_variables.variables %}
{% if new_t == default_toolhead %}
{% set xoffset = svv.idex_xoffset %}
{% set yoffset = svv.idex_yoffset %}
{% set zoffset = svv.idex_zoffset %}
{% else %}
{% set xoffset = 0 - svv.idex_xoffset %}
{% set yoffset = 0 - svv.idex_yoffset %}
{% set zoffset = 0 - svv.idex_zoffset %}
{% endif %}
{% if svv.idex_applied_offset == new_t %}
{% set xoffset = 0 %}
{% set yoffset = 0 %}
{% set zoffset = 0 %}
{% endif %}
{% set gcode_z = printer.gcode_move.gcode_position.z|float %}
{% set toolhead_z = printer.toolhead.position.z|float %}
{% if new_t == 0 %}
{% set t0_act_x = parking_position_t0 %}
{% set t1_act_x = printer.toolhead.position.x|float %}
{% set t0_new_x = new_x %}
{% set t1_new_x = parking_position_t1 %}
{% set t0_distance = t0_new_x - t0_act_x %}
{% set t1_distance = t1_new_x - t1_act_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T0."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x + (t1_new_x - t1_act_x)} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t0_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=0
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T0: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% elif new_t == 1 %}
{% set t0_act_x = printer.toolhead.position.x|float %}
{% set t1_act_x = parking_position_t1 %}
{% set t0_new_x = parking_position_t0 %}
{% set t1_new_x = new_x %}
{% set t0_distance = t0_act_x - t0_new_x %}
{% set t1_distance = t1_act_x - t1_new_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T1."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x - t1_distance + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t1_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=1
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T1: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% endif %}
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
{% endif %}
[gcode_macro _ZHOP_BEFORE_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_hop = params.Z_HOP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_HOP: {z_hop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="COMBINED_ZHOP G1 Z+{z_hop} E-{e} F{speed * 60}"
G1 Z+{z_hop} E-{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="ZHOP G1 Z+{z_hop} F{speed * 60}"
G1 Z+{z_hop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="RETRACT G1 E-{e} F{feedrate}"
G1 E-{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _ZDROP_AFTER_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_drop = params.Z_DROP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_DROP: {z_drop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="COMBINED_ZDROP G1 Z-{z_drop} E{e} F{speed * 60}"
G1 Z-{z_drop} E{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="ZDROP G1 Z-{z_drop} F{speed * 60}"
G1 Z-{z_drop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="EXTRUDE G1 E{e} F{feedrate}"
G1 E{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _EXTRUDE]
gcode =
{% set t = params.T|int %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
DEBUG_ECHO PREFIX="_EXTRUDE" MSG="G1 E{e} F{feedrate * 60}"
G91
M82
G92 E0
G1 E{e} F{feedrate * 60}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _DEACTIVATE_TOOLHEAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_DEACTIVATE_TOOLHEAD" MSG="TOOLHEAD {toolhead}"
{% if toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% endif %}
M106.1 S0
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={toolhead}
[delayed_gcode _INIT_TOOLHEADS]
initial_duration = 0.1
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_IDEX_SINGLE INIT=1
{% if printer.configfile.settings.dual_carriage.safe_distance is defined %}
{% if printer.configfile.settings.dual_carriage.safe_distance|float < 50 %}
{ action_emergency_stop("Dual carriage safe_distance seems to be too low!") }
{% endif %}
{% else %}
{ action_emergency_stop("Dual carriage safe_distance not defined!") }
{% endif %}
[gcode_macro _SET_TOOLHEAD_OFFSET]
gcode =
{% set t = params.T|int %}
{% set move = params.MOVE|default(0)|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="T: {t}, MOVE: {move}"
{% set svv = printer.save_variables.variables %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set move = 0 %}
{% endif %}
{% if svv.idex_applied_offset != t %}
{% if t != printer["gcode_macro RatOS"].default_toolhead|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET X_ADJUST: {(-svv.idex_xoffset)} Y_ADJUST: {(-svv.idex_yoffset)} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={(-svv.idex_xoffset)} Y_ADJUST={(-svv.idex_yoffset)} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {(-svv.idex_zoffset)} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={(-svv.idex_zoffset)} MOVE={move} SPEED={z_speed}
{% else %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_ X_ADJUST: {svv.idex_xoffset} Y_ADJUST: {svv.idex_yoffset} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={svv.idex_xoffset} Y_ADJUST={svv.idex_yoffset} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {svv.idex_zoffset} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE={move} SPEED={z_speed}
{% endif %}
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T{t}"
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={t}
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={t}
{% endif %}
{% endif %}
[gcode_macro TOOLSHIFT_CONFIG]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={params.SPEED|default(300)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={params.ACCEL|default(5000)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_retraction VALUE={params.RETRACT|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_extrusion VALUE={params.EXTRUDE|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_feedrate VALUE={params.FEEDRATE|default(7200)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={params.Z_HOP|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zspeed VALUE={params.Z_SPEED|default(25)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_combined_zhop VALUE={true if params.COMBINED_ZHOP|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_sync_fans VALUE={true if params.SYNC_FANS|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_prepurging_timer VALUE={params.AUTO_PURGE_TIME|default(0)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_purge VALUE={params.PURGE|default(25)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_standby_temp VALUE={params.STANDBY_TEMP|default(-1)|float}
[gcode_macro CALCULATE_DC_ENDSTOP]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% set idex_xoffset = svv.idex_xoffset|float %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|float %}
{% set stepper_x_position_max = printer.configfile.settings.stepper_x.position_max|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set line_1 = "_N_[dual_carriage]" %}
{% set line_2 = "position_max: %.3f" % (dual_carriage_position_max + idex_xoffset) %}
{% set line_3 = "position_endstop: %.3f" % (dual_carriage_position_endstop + idex_xoffset) %}
{% set line_4 = "_N_[gcode_macro RatOS]" %}
{% set line_5 = "variable_bed_margin_x: [%.3f, %.3f]" % (stepper_x_position_endstop|abs, dual_carriage_position_max - stepper_x_position_max + idex_xoffset) %}
{% set line_6 = "_N_[gcode_macro _VAOC]" %}
{% set line_7 = "variable_expected_camera_x_position: %.3f" % idex_xcontrolpoint %}
{% set line_8 = "variable_expected_camera_y_position: %.3f" % idex_ycontrolpoint %}
{% set line_9 = "_N_[gcode_macro T0]" %}
{% set line_10 = "variable_parking_position: %.3f" % (stepper_x_position_endstop + 2) %}
{% set line_11 = "_N_[gcode_macro T1]" %}
{% set line_12 = "variable_parking_position: %.3f" % (dual_carriage_position_endstop + idex_xoffset - 2) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8, line_9, line_10, line_11, line_12)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro INCREASE_Y_MAX]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set stepper_y_position_max = printer.configfile.settings.stepper_y.position_max|float %}
{% set stepper_y_position_endstop = printer.configfile.settings.stepper_y.position_endstop|float %}
{% set line_1 = "_N_[stepper_y]" %}
{% set line_2 = "position_max: %.3f" % (stepper_y_position_max + 1) %}
{% set line_3 = "_N_[gcode_macro RatOS]" %}
{% set line_4 = "variable_bed_margin_y: [%.3f, %.3f]" % (stepper_y_position_endstop|abs, (bed_margin_y[1] + 1)) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro _VAOC]
variable_is_fixed = True
variable_is_started = False
variable_is_started_at_temp = False
variable_additional_safe_distance = 50
variable_safe_z = 30
variable_auto_z_offset_calibration = True
variable_enable_camera_cooling = True
variable_camera_cooling_fan_speed = 0.3
variable_camera_cooling_temperature = 50
variable_toolchange_travel_speed = 300
variable_toolchange_travel_accel = 5000
variable_cache_toolchange_travel_speed = 300
variable_cache_toolchange_travel_accel = 5000
variable_cache_toolchange_zhop = 1.0
variable_t0_toolhead_sensor_enabled = 0
variable_t1_toolhead_sensor_enabled = 0
variable_t0_bowden_sensor_enabled = 0
variable_t1_bowden_sensor_enabled = 0
variable_loaded_skew_profile = ""
gcode =
_ECHO_VAOC_VARS
variable_expected_camera_x_position = 211.854
variable_expected_camera_y_position = 528.378
[gcode_macro _VAOC_START]
description = Called from the front end. If T0_TEMP, T1_TEMP and BED_TEMP parameter are specified, VAOC calibration will start under real conditions at printing temp.
gcode =
{% set t0_temp = params.T0_TEMP|default(0)|int %}
{% set t1_temp = params.T1_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set loaded_skew_profile = printer["gcode_macro SKEW_PROFILE"].loaded_profile|default("") %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=loaded_skew_profile VALUE='"{loaded_skew_profile}"'
{% if t0_temp > 0 and t1_temp > 0 and bed_temp > 0 %}
{% if not is_fixed %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("VAOC calibration at temp works only with a fixed installed VAOC device.") }
{% endif %}
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE=0
{% endif %}
START_PRINT EXTRUDER_TEMP={t0_temp},{t1_temp} EXTRUDER_OTHER_LAYER_TEMP={t0_temp},{t1_temp} BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp} INITIAL_TOOL=0 TOTAL_LAYER_COUNT=1 X0={(printable_x_max / 2 - 10)} Y0={(printable_y_max / 2 - 10)} X1={(printable_x_max / 2 + 10)} Y1={(printable_y_max / 2 + 10)} TOTAL_TOOLSHIFTS=1 FIRST_X={printable_x_max / 2} FIRST_Y={printable_y_max / 2} MIN_X={(printable_x_max / 2 - 10)} MAX_X={(printable_x_max / 2 + 10)} USED_TOOLS=0,1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=True
{% endif %}
_START_VAOC
[gcode_macro _START_VAOC]
description = Called from _VAOC_START. Do not call it manually.
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(printable_x_max/2)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(printable_y_max/2)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
DEBUG_ECHO PREFIX="VAOC_START" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, zcontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, expected_camera_x_position, expected_camera_y_position)}
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_SAFE_Z_HEIGHT
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_speed VALUE={printer["gcode_macro RatOS"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_accel VALUE={printer["gcode_macro RatOS"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_zhop VALUE={printer["gcode_macro RatOS"].toolchange_zhop|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE=0
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"START X_REFERENCE:%.6f Y_REFERENCE:%.6f Z_REFERENCE:%.6f PARK_T0:%.6f PARK_T1:%.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, parking_position_t0, parking_position_t1)}
_LED_VAOC_ON
MAYBE_HOME
M400
_LOAD_RATOS_SKEW_PROFILE
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
IDEX_SINGLE
{% endif %}
{% if is_fixed %}
_SELECT_TOOL T=0 TOOLSHIFT=false
{% if default_toolhead == 0 %}
G1 X{idex_xcontrolpoint} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint + safe_distance + additional_safe_distance} F{speed}
{% else %}
G1 X{idex_xcontrolpoint - safe_distance - additional_safe_distance} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% else %}
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
G1 X{idex_xcontrolpoint} F{speed}
G1 Y{idex_ycontrolpoint} F{speed}
G1 Z{idex_zcontrolpoint} F{z_speed}
_SELECT_TOOL T={default_toolhead} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
{% if not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={default_toolhead}
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=True
[gcode_macro _VAOC_END]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_y = printable_y_max / 2 %}
DEBUG_ECHO PREFIX="_VAOC_END" MSG="printable_y_max: {printable_y_max}, center_y: {center_y}, safe_z: {safe_z}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
G1 Y{center_y} F{speed}
_IDEX_SINGLE INIT=1
_LED_VAOC_OFF
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={printer["gcode_macro _VAOC"].cache_toolchange_zhop|float}
{% if printer["gcode_macro _VAOC"].is_started_at_temp|default(true)|lower == 'true' %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_bowden_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_bowden_sensor_enabled|int}
{% endif %}
{% endif %}
{% set loaded_skew_profile = printer["gcode_macro _VAOC"].loaded_skew_profile|default("") %}
{% if loaded_skew_profile != "" %}
SKEW_PROFILE LOAD={loaded_skew_profile}
{% else %}
SET_SKEW CLEAR=1
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
[gcode_macro _VAOC_LOAD_TOOL]
gcode =
{% set t = params.T|default(0)|int %}
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set auto_temp_offset = true if params.AUTO_TEMP_OFFSET|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set toolhead_zoffset = svv.idex_zoffset|default(0)|float %}
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move T%s to control point: X%.6f Y%.6f Z%.6f IS_FIXED=%s"' % (t, idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, is_fixed)}
{% if not auto_temp_offset and not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={t}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
{% set current_z = printer.toolhead.position.z|float %}
{% set lowest_toolhead_z = [current_z, current_z - toolhead_zoffset]|min %}
{% if lowest_toolhead_z < safe_z %}
G1 Z{[safe_z, safe_z + toolhead_zoffset]|max} F{z_speed}
{% else %}
G1 Z{idex_zcontrolpoint} F{z_speed}
{% endif %}
_SELECT_TOOL T={t} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
G1 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_SET_CAMERA_COOLING]
gcode =
{% set t = params.T|default(0)|int %}
{% set enable_camera_cooling = true if printer["gcode_macro _VAOC"].enable_camera_cooling|default(true)|lower == 'true' else false %}
{% set camera_cooling_temperature = printer["gcode_macro _VAOC"].camera_cooling_temperature|float %}
{% set camera_cooling_fan_speed = printer["gcode_macro _VAOC"].camera_cooling_fan_speed|float %}
{% if printer.heater_bed.temperature >= camera_cooling_temperature and enable_camera_cooling %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={camera_cooling_fan_speed if t == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={camera_cooling_fan_speed if t == 1 else 0}
M106.1 S{camera_cooling_fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% endif %}
[gcode_macro _VAOC_SET_TOOL]
gcode =
{% set svv = printer.save_variables.variables %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set x = printer.gcode_move.gcode_position.x|float %}
{% set y = printer.gcode_move.gcode_position.y|float %}
{% set z = printer.gcode_move.gcode_position.z|float %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={x}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={y}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Control point was set: X%.6f Y%.6f Z%.6f"' % (x, y, z)}
{% else %}
{% set move_diff_x = printer.gcode_move.gcode_position.x|float - svv.idex_xcontrolpoint|float %}
{% set move_diff_y = printer.gcode_move.gcode_position.y|float - svv.idex_ycontrolpoint|float %}
{% set move_diff_z = printer.gcode_move.gcode_position.z|float - svv.idex_zcontrolpoint|float %}
SET_GCODE_OFFSET X_ADJUST={move_diff_x} Y_ADJUST={move_diff_y} Z_ADJUST={move_diff_z} MOVE=0
{% set new_x_offset = svv.idex_xoffset - move_diff_x %}
{% set new_y_offset = svv.idex_yoffset - move_diff_y %}
{% set new_z_offset = svv.idex_zoffset - move_diff_z %}
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE={new_x_offset}
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE={new_y_offset}
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={new_z_offset}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset was set: X%.6f Y%.6f Z%.6f"' % (toolhead, new_x_offset, new_y_offset, new_z_offset)}
{% endif %}
[gcode_macro _VAOC_MOVE]
gcode =
{% set x = params.X|default(0)|float %}
{% set y = params.Y|default(0)|float %}
{% set z = params.Z|default(0)|float %}
G91
{% if z != 0 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 Z%.6f F300"' % (z)}
G1 Z{z} F300
{% else %}
{% if x <=2 and y <=2 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 X%.6f Y%.6f F18000"' % (x, y)}
G1 X{x} Y{y} F18000
{% endif %}
{% endif %}
G90
[gcode_macro _VAOC_CALIBRATE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% if printer["z_offset_probe"] is defined and is_started %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
{% if auto_z_offset %}
_START_VAOC AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_END
{% else %}
_VAOC_LOAD_TOOL T={default_toolhead}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
{% endif %}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_Z_OFFSET
{% endif %}
[gcode_macro _VAOC_PROBE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
{% if not auto_z_offset %}
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
{% endif %}
M400
_VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT
[gcode_macro _VAOC_Z_OFFSET_PROBE_CURRENT_POSITION]
gcode =
Z_OFFSET_PROBE PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_DROP=1 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
[gcode_macro _VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT]
gcode =
{% if printer["z_offset_probe"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE={last_z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Z-offset control point set:: %.6f"' % last_z}
{% else %}
{% set z = svv.idex_zoffsetcontrolpoint|float - last_z %}
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE=0
G0 Z{svv.idex_zcontrolpoint|float} F{z_speed}
SET_GCODE_OFFSET Z_ADJUST={(0 - z)} MOVE=1
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset set: Z %.6f"' % (t, z)}
{% endif %}
{% endif %}
[gcode_macro _VAOC_ECHO_Z_OFFSET]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s toolhead z-offset %.6f"' % (1 if default_toolhead == 0 else 0, svv.idex_zoffset)}
{% if svv.idex_zoffset|abs < 0.02 %}
CONSOLE_ECHO TITLE={'"Perfect toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="You have a perfect toolhead z-offset!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.02 and svv.idex_zoffset|abs < 0.05 %}
CONSOLE_ECHO TITLE={'"Good toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is good!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.05 and svv.idex_zoffset|abs < 0.1 %}
CONSOLE_ECHO TITLE={'"High toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset could be better._N_Use minimum 0.3mm first layer height for copy and mirror mode prints." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.1 and svv.idex_zoffset|abs < 0.2 %}
CONSOLE_ECHO TITLE={'"Bad toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is bad._N_Copy and mirror mode prints are not recommended with it." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.2 %}
CONSOLE_ECHO TITLE={'"Unacceptable toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is unacceptable._N_Do not print in copy and mirror mode with it." TYPE="alert"
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG="Toolhead z-offset calibration done!"
[gcode_macro _VAOC_CALIBRATE_TEMP_OFFSET]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if is_fixed and is_started and printer["z_offset_probe"] is defined and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
_VAOC_LOAD_TOOL T={default_toolhead} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
[gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET=0
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
M400
[gcode_macro _VAOC_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for thermal expansion..."
G4 P240000
RATOS_ECHO PREFIX="VAOC" MSG="Probing with nozzle temperature {temp}°C..."
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _VAOC_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set svv = printer.save_variables.variables %}
{% set msg = '"T0 expansion coefficient %.6fmm_N_T1 expansion coefficient %.6fmm"' % (svv.nozzle_expansion_coefficient_t0, svv.nozzle_expansion_coefficient_t1) %}
CONSOLE_ECHO TITLE="Nozzle expansion coefficients:" MSG={msg} TYPE="success"
[gcode_macro _VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, expected_camera_x_position, expected_camera_y_position)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - expected_camera_x_position)|abs > 5 %}
M84
{ action_raise_error("VAOC x-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_xcontrolpoint, expected_camera_x_position)) }
{% endif %}
{% if (idex_ycontrolpoint - expected_camera_y_position)|abs > 5 %}
M84
{ action_raise_error("VAOC y-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_ycontrolpoint, expected_camera_y_position)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - printer.gcode_move.gcode_position.x|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected y-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_xcontrolpoint, printer.gcode_move.gcode_position.x|float)) }
{% endif %}
{% if (idex_ycontrolpoint - printer.gcode_move.gcode_position.y|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected x-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_ycontrolpoint, printer.gcode_move.gcode_position.y|float)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_SAFE_Z_HEIGHT]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set idex_zoffsetcontrolpoint = svv.idex_zoffsetcontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_SAFE_Z_HEIGHT" MSG={'"idex_zcontrolpoint: %.6f, idex_zoffsetcontrolpoint: %.6f"' % (idex_zcontrolpoint, idex_zoffsetcontrolpoint)}
{% if safe_z < idex_zcontrolpoint + 2 or safe_z < idex_zoffsetcontrolpoint + 2 %}
{action_raise_error("VAOC safe_z value (%.3f) is too low, it must be higher than %.3f" % (safe_z, [idex_zoffsetcontrolpoint + 2, idex_zcontrolpoint + 2]|max))}
{% endif %}
[gcode_macro _VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED]
gcode =
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T0. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T1. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
[gcode_macro _VAOC_RESET]
gcode =
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={expected_camera_x_position}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={expected_camera_y_position}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE=5.0
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE=0.0
RATOS_ECHO PREFIX="VAOC" MSG="VAOC configuration resetted. Please calibrate it before using the printer."
[gcode_macro _ECHO_VAOC_VARS]
description = Echo VAOC variables to the console.
gcode =
{% for var, value in printer["gcode_macro _VAOC"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro _VAOC_SWITCH_LED]
gcode =
{% if params.STATE|default(0)|int == 1 %}
_LED_VAOC_ON
{% else %}
_LED_VAOC_OFF
{% endif %}
[gcode_macro Z_PROBE_TEST_T0]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T0
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST_T1]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T1
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro _VAOC_Z_PROBE_LOOP]
gcode =
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_SHAKE_IT
_VAOC_START
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if primary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T0. Retried {primary_retries} time(s)."
{% endif %}
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
{% if (primary_range - secondary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 is drifting significantly more than T1."
{% endif %}
{% if (secondary_range - primary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 is drifting significantly more than T0."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T0]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T1]
gcode =
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _SHAKE_IT]
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
_Z_HOP
{% for i in range(3) %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 + 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 + 1}
{% endfor %}
{% for i in range(2) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 + 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 + 50}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 1}
{% endfor %}
{% endfor %}
[gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 retries updated: {new_retries}"
[gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 retries updated: {new_retries}"
[gcode_macro _CLEAR_PRIMARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 result set"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 retries"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _CLEAR_SECONDARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 result set"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 retries"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _VAOC_TEST_Z_OFFSET]
gcode =
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[delayed_gcode _IDEX_INIT]
initial_duration = 0.1
gcode =
VERIFY_HYBRID_INVERTED
[gcode_macro Z_TILT_ADJUST]
rename_existing = Z_TILT_ADJUST_ORIG
gcode =
{% set beacon_contact_z_tilt_adjust_samples = printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust_samples|default(2)|int %}
{% set beacon_contact_z_tilt_adjust = true if printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust|default(true)|lower == 'true' else false %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={printer["gcode_macro RatOS"].default_toolhead|default(0)|int} TOOLSHIFT=false
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_tilt_adjust %}
Z_TILT_ADJUST_ORIG PROBE_METHOD=contact SAMPLES={beacon_contact_z_tilt_adjust_samples}
{% else %}
Z_TILT_ADJUST_ORIG
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
STOW_PROBE
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == "copy" %}
_IDEX_COPY
{% elif idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[stepper_x]
position_max = 500
position_endstop = -59.8
position_min = -59.8
step_pin = PF13
dir_pin = x_dir_pin
enable_pin = !PF14
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t0:PB6
[stepper_y]
position_max = 533.65
position_min = -14.35
position_endstop = -14.35
step_pin = PG0
dir_pin = !y_dir_pin
enable_pin = !PF15
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = PG9
[stepper_z]
position_max = 500
position_min = -7
step_pin = PC13
dir_pin = !z0_dir_pin
enable_pin = !PF1
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
homing_speed = 10
endstop_pin = probe:z_virtual_endstop
[bed_mesh]
horizontal_move_z = 2
mesh_min = 20,30
mesh_max = 470,462.5
probe_count = 40,40
fade_start = 1.0
fade_end = 10.0
mesh_pps = 2,2
algorithm = bicubic
bicubic_tension = .2
speed = 600
[z_tilt]
z_positions =
0,0
250,500
500,0
points =
20,10
250,440
480,10
horizontal_move_z = 20
retries = 10
retry_tolerance = 0.02
speed = 600
[extruder]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t0:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t0:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.049
step_pin = toolboard_t0:PD0
dir_pin = toolboard_t0:e_dir_pin
enable_pin = !toolboard_t0:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[firmware_retraction]
retract_speed = 60
unretract_extra_length = 0
unretract_speed = 60
retract_length = 0.5
[extruder1]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t1:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t1:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.03
step_pin = toolboard_t1:PD0
dir_pin = toolboard_t1:e_dir_pin
enable_pin = !toolboard_t1:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[resonance_tester]
accel_chip_x = adxl345 toolboard_t0
accel_chip_y = adxl345 toolboard_t0
probe_points =
250,250,20
[tmc2209 stepper_x]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 dual_carriage]
stealthchop_threshold = 0
interpolate = False
uart_pin = PF2
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD11
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC7
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_y1]
step_pin = PG4
dir_pin = y1_dir_pin
enable_pin = !PA0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
[tmc2209 stepper_z]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_z1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE1
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z1]
step_pin = PE2
dir_pin = !z1_dir_pin
enable_pin = !PD4
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 stepper_z2]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD3
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z2]
step_pin = PE6
dir_pin = !z2_dir_pin
enable_pin = !PE0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 extruder]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t0:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[tmc2209 extruder1]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t1:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[beacon]
serial = /dev/beacon
x_offset = 0
y_offset = 22.5
mesh_main_direction = x
mesh_runs = 1
speed = 15.
lift_speed = 80.
contact_max_hotend_temperature = 275
[delayed_gcode _BEACON_INIT]
initial_duration = 1
gcode =
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(0)|float %}
{% if nozzle_expansion_coefficient_multiplier == 0 %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is not defined %}
{% set nozzle_expansion_coefficient_multiplier = 1.0 %}
{% else %}
{% set nozzle_expansion_coefficient_multiplier = printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier|default(1.0)|float %}
{% endif %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={nozzle_expansion_coefficient_multiplier}
{% endif %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is defined %}
CONSOLE_ECHO TITLE="Deprecated gcode variable" TYPE="warning" MSG={'"Please remove the variable beacon_contact_expansion_multiplier from your config file."'}
{% endif %}
[gcode_macro BEACON_RATOS_CALIBRATION]
gcode =
RATOS_ECHO MSG="Did you mean BEACON_RATOS_CALIBRATE?"
[gcode_macro BEACON_RATOS_CALIBRATE]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
BEACON_INITIAL_CALIBRATION _AUTOMATED=True
{% if beacon_contact_start_print_true_zero %}
BEACON_POKE_TEST _AUTOMATED=True
_BEACON_CHECK_POKE
{% if printer["dual_carriage"] is not defined %}
BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET _AUTOMATED=True
{% endif %}
{% endif %}
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
BEACON_FINAL_CALIBRATION _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% if beacon_contact_start_print_true_zero %}
BEACON_MEASURE_GANTRY_TWIST
_BEACON_MAYBE_SCAN_COMPENSATION
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_OFF
{% endif %}
{% if beacon_contact_start_print_true_zero %}
{% if printer["dual_carriage"] is not defined %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
_BEACON_ECHO_POKE
{% endif %}
RATOS_ECHO MSG="Beacon calibration finished!"
_LED_BEACON_CALIBRATION_END
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
[gcode_macro BEACON_INITIAL_CALIBRATION]
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
MAYBE_HOME X=True Y=True
_LED_BEACON_CALIBRATION_START
G90
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE
_Z_HOP
RATOS_ECHO MSG="Initial beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_FINAL_CALIBRATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
_BEACON_HOME_AND_ABL
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
_LED_BEACON_CALIBRATION_START
G90
G0 Z2 F{z_hop_speed}
RATOS_ECHO MSG="Waiting for calibration temperature..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_Z_HOP
BEACON_AUTO_CALIBRATE
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
_Z_HOP
RATOS_ECHO MSG="Final beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_POKE_TEST]
variable_poke_result_1 = -1
variable_poke_result_2 = -1
variable_poke_result_3 = -1
variable_poke_result_4 = -1
variable_poke_result_5 = -1
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_1 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_2 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_3 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_4 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_5 VALUE=-1
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
G0 Z5 F{z_hop_speed}
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=1
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=2
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=3
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=4
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=5
_Z_HOP
RATOS_ECHO MSG="Beacon poke test finished!"
{% if not automated %}
_BEACON_ECHO_POKE
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_POKE]
gcode =
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
BEACON_POKE speed=3 top=5 bottom={poke_bottom}
BEACON_QUERY
[gcode_macro _BEACON_STORE_POKE]
gcode =
{% set i = params.I|default(1)|int %}
{% set last_z = printer.beacon.last_poke_result|default(0)|float %}
{% if printer.beacon.last_poke_result|lower != "none" %}
{% if printer.beacon.last_poke_result.error == 0 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE={"poke_result_%s" % i} VALUE={printer.beacon.last_poke_result.latency}
{% endif %}
{% endif %}
[gcode_macro _BEACON_CHECK_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% if p1 == -1 or p2 == -1 or p3 == -1 or p4 == -1 or p5 == -1 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test error!") }
{% endif %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg > 6 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test failed!") }
{% endif %}
[gcode_macro _BEACON_ECHO_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg <= 1 %}
{% set type = "success" %}
{% set note = "Extremely low noise, rarely achieved" %}
{% elif avg > 1 and avg <= 4 %}
{% set type = "info" %}
{% set note = "Excellent performance for a typical printer" %}
{% elif avg > 4 and avg <= 8 %}
{% set type = "warning" %}
{% set note = "Acceptable performance, machine may have considerable cyclic axis noise" %}
{% elif avg > 8 and avg <= 11 %}
{% set type = "alert" %}
{% set note = "Not ideal, may want to verify proper mounting or use thinner stackups" %}
{% elif avg > 11 %}
{% set type = "alert" %}
{% set note = "Reason for concern, present setup may be risky to continue with" %}
{% endif %}
CONSOLE_ECHO TITLE="Beacon poke test result:" TYPE={type} MSG={'"Average latency: %.2f_N_%s"' % (avg, note)}
[gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set test_margin = 30 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Nozzle temperature offset calibration..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET=0
{% if not automated %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
{% endif %}
[gcode_macro _BEACON_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="BEACON" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
RATOS_ECHO PREFIX="BEACON" MSG="Probing with nozzle temperature {temp}°C..."
PROBE PROBE_METHOD=contact PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
BEACON_QUERY
G0 Z5 F{z_speed}
[gcode_macro _BEACON_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer.beacon.last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{default_toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
CONSOLE_ECHO TYPE="info" MSG={'"T0 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t0}
{% else %}
CONSOLE_ECHO TYPE="info" MSG={'"T1 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t1}
{% endif %}
[gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET]
variable_runtime_temp = 0
gcode =
{% set toolhead = params.TOOLHEAD|default(0)|int %}
{% set reset = true if params.RESET|default(false)|lower == 'true' else false %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% if reset %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE=0
{% else %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set nozzle_expansion_coefficient_t0 = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if printer["dual_carriage"] is defined %}
{% set nozzle_expansion_coefficient_t1 = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set applied_offset = svv.nozzle_expansion_applied_offset|default(0)|float %}
{% set temp = printer['extruder' if toolhead == 0 else 'extruder1'].target|float %}
{% set temp_offset = temp - beacon_contact_true_zero_temp %}
{% set expansion_coefficient = nozzle_expansion_coefficient_t0 if toolhead == 0 else nozzle_expansion_coefficient_t1 %}
{% set expansion_offset = nozzle_expansion_coefficient_multiplier * (temp_offset * (expansion_coefficient / 100)) %}
{% set new_offset = ((-applied_offset) + expansion_offset) %}
SET_GCODE_OFFSET Z_ADJUST={new_offset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE={expansion_offset}
SET_GCODE_VARIABLE MACRO=_BEACON_SET_NOZZLE_TEMP_OFFSET VARIABLE=runtime_temp VALUE={temp}
RATOS_ECHO PREFIX="BEACON" MSG={'"Nozzle expansion offset of %.6fmm applied to T%s"' % (expansion_offset, toolhead)}
DEBUG_ECHO PREFIX="_BEACON_SET_NOZZLE_TEMP_OFFSET" MSG="multiplier: {nozzle_expansion_coefficient_multiplier}, coefficient: {expansion_coefficient}, temp_offset: {temp_offset}, expansion_offset: {expansion_offset}, applied_offset: {applied_offset}, new_offset: {new_offset}"
{% endif %}
{% endif %}
[gcode_macro BEACON_MEASURE_GANTRY_TWIST]
variable_needs_compensation = False
variable_reference_z = 0.0
variable_front = 0.0
variable_front_left = 0.0
variable_front_right = 0.0
variable_back = 0.0
variable_back_left = 0.0
variable_back_right = 0.0
variable_right = 0.0
variable_left = 0.0
variable_margin_x = 40
variable_margin_y = 40
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=False
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Measure gantry twist..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="center"
G0 X{margin_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_left"
G0 X{safe_home_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front"
G0 X{(printable_x_max - margin_x)} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_right"
G0 X{(printable_x_max - margin_x)} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="right"
G0 X{(printable_x_max - margin_x)} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_right"
G0 X{safe_home_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back"
G0 X{margin_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_left"
G0 X{margin_x} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="left"
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
_BEACON_ECHO_GANTRY_TWIST
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_GANTRY_TWIST]
gcode =
RATOS_ECHO PREFIX="BEACON" MSG="Probing..."
BEACON_OFFSET_COMPARE
BEACON_QUERY
[gcode_macro _BEACON_STORE_GANTRY_TWIST]
gcode =
{% set location = params.LOCATION|lower %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set last_z = printer.beacon.last_offset_result["delta"]|default(0)|float %}
{% if location == "center" %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE={location} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_GANTRY_TWIST]
gcode =
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float * 1000 %}
{% set front_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_left|default(0)|float * 1000 %}
{% set front = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front|default(0)|float * 1000 %}
{% set front_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_right|default(0)|float * 1000 %}
{% set right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].right|default(0)|float * 1000 %}
{% set back_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_right|default(0)|float * 1000 %}
{% set back = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back|default(0)|float * 1000 %}
{% set back_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_left|default(0)|float * 1000 %}
{% set left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].left|default(0)|float * 1000 %}
{% set line_1 = "Front left: %.6fμm" % (front_left) %}
{% set line_2 = "Front center: %.6fμm" % (front) %}
{% set line_3 = "Front right: %.6fμm" % (front_right) %}
{% set line_4 = "Left center: %.6fμm" % (left) %}
{% set line_5 = "Right center: %.6fμm" % (right) %}
{% set line_6 = "Back left: %.6fμm" % (back_left) %}
{% set line_7 = "Back center: %.6fμm" % (back) %}
{% set line_8 = "Back right: %.6fμm" % (back_right) %}
{% set max_value = [(front_left|abs), (front|abs), (front_right|abs), (left|abs), (right|abs), (back_left|abs), (back|abs), (back_right|abs)]|max %}
{% if max_value <= 50 %}
{% set type = "success" %}
{% set recommendation = "Very low gantry twist: %.6fμm._N_No beacon scan compensation needed." % max_value %}
{% elif max_value > 50 and max_value <= 100 %}
{% set type = "info" %}
{% set recommendation = "Low gantry twist: %.6fμm._N_You may experience first layer inconsistensies, consider beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 100 and max_value <= 150 %}
{% set type = "warning" %}
{% set recommendation = "High gantry twist: %.6fμm._N_High chance of first layer problems, beacon scan compensation is highly encouraged." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 150 and max_value <= 200 %}
{% set type = "alert" %}
{% set recommendation = "Very High gantry twist: %.6fμm._N_You will encounter first layer problems on large prints unless you activate beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 200 %}
{% set type = "alert" %}
{% set recommendation = "Extremely high gantry twist: %.6fμm._N_You have significant scan/contact inconsistency which is indicative of mechanical problems, please investigate before resorting to software compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% endif %}
CONSOLE_ECHO TITLE="Gantry twist relative to the center" TYPE={type} MSG={'"_N_%s_N__N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s"' % (recommendation, line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8)}
[gcode_macro BEACON_CREATE_SCAN_COMPENSATION_MESH]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set profile = params.PROFILE|default("Contact")|string %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
{% set probe_count = printer["gcode_macro RatOS"].beacon_scan_compensation_probe_count %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% if not beacon_scan_compensation_enable %}
RATOS_ECHO MSG="Beacon scan compensation is disabled!"
{% else %}
MAYBE_HOME
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_LED_BEACON_CALIBRATION_START
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
RATOS_ECHO MSG="Please wait..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% endif %}
{% if not automated %}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
{% endif %}
{% if printer.z_tilt is defined %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% endif %}
{% if printer.quad_gantry_level is defined %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES=2 SAMPLES_DROP=1 SAMPLES_TOLERANCE_RETRIES=10 PROBE_COUNT={probe_count[0]},{probe_count[1]} PROFILE={profile}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
RATOS_ECHO MSG="Beacon scan compensation mesh created!"
{% if not automated %}
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
{% endif %}
{% endif %}
[gcode_macro _BEACON_APPLY_SCAN_COMPENSATION]
gcode =
{% set beacon_scan_compensation_profile = printer["gcode_macro RatOS"].beacon_scan_compensation_profile %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_SCAN_COMPENSATION" MSG="beacon_scan_compensation_profile {beacon_scan_compensation_profile}, beacon_scan_compensation_enable {beacon_scan_compensation_enable}"
{% if beacon_scan_compensation_enable %}
BEACON_APPLY_SCAN_COMPENSATION PROFILE={beacon_scan_compensation_profile}
{% endif %}
[gcode_macro _BEACON_MAYBE_SCAN_COMPENSATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set needs_scan_compensation = true if printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].needs_compensation|default(false)|lower == 'true' else false %}
{% if needs_scan_compensation %}
BEACON_CREATE_SCAN_COMPENSATION_MESH _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% endif %}
[gcode_macro _BEACON_HOME_AND_ABL]
gcode =
MAYBE_HOME X=True Y=True
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% if needs_rehoming %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% endif %}
[gcode_macro _BEACON_SAVE_MULTIPLIER]
gcode =
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set multiplier = printer["gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER"].runtime_multiplier|default(-1.0)|float %}
DEBUG_ECHO PREFIX="_BEACON_SAVE_MULTIPLIER" MSG="multiplier: {multiplier}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if multiplier > 0 and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={multiplier}
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE=-1.0
CONSOLE_ECHO TITLE="Hotend thermal expansion compensation" TYPE="success" MSG={'"New value is: %.6f_N_The new multiplier value has been saved to the configuration."' % multiplier}
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER]
variable_runtime_multiplier = -1.0
gcode =
{% set toolhead = 0 %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if layer_number == 0 and is_printing_gcode %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Documentation" %}
{% set line_1 = '"Your slicer is not correctly reporting layer information. See the layer change custom g-code in the %s".' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Missing layer information" TYPE="warning" MSG={line_1}
{% endif %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="layer_number: {layer_number}, is_printing_gcode: {is_printing_gcode}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if layer_number == 1 and is_printing_gcode and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if toolhead == 1 %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set beacon_contact_expansion_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set print_temp = printer["gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET"].runtime_temp|default(0)|int %}
{% if print_temp > 0 %}
{% set z_offset = printer.gcode_move.homing_origin.z|float %}
{% set temp_delta = print_temp - beacon_contact_true_zero_temp %}
{% set coefficient_per_degree = nozzle_expansion_coefficient / 100 %}
{% set z_offset_per_degree = z_offset / temp_delta %}
{% set new_multiplier = z_offset_per_degree / coefficient_per_degree %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="print_temp: {print_temp}, z_offset: {z_offset}, temp_delta: {temp_delta}, nozzle_expansion_coefficient: {nozzle_expansion_coefficient}, coefficient_per_degree: {coefficient_per_degree}, z_offset_per_degree: {z_offset_per_degree}, old_multiplier: {beacon_contact_expansion_multiplier}, new_multiplier: {new_multiplier}"
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE={new_multiplier}
{% endif %}
{% endif %}
[fan_generic part_fan_t0]
pin = !toolboard_t0:PA0
cycle_time = 0.00004
[fan_generic part_fan_t1]
pin = !toolboard_t1:PA0
cycle_time = 0.00004
[heater_fan toolhead_cooling_fan_t1]
heater = extruder1
pin = toolboard_t1:PA1
[controller_fan controller_fan]
pin = PD12
[gcode_macro T0]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = True
variable_color = "7bff33"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = -32.8
variable_parking_position = -57.800
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=0 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[gcode_macro T1]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = False
variable_color = "0ea5e9"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = 532.8
variable_parking_position = 556.971
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=1 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[save_variables]
filename = /home/pi/printer_data/config/ratos-variables.cfg
[z_offset_probe]
pin = ^PG10
z_offset = -7
y_offset = 0
x_offset = 37.5
speed = 10
samples = 3
sample_retract_dist = 5
lift_speed = 10.0
samples_result = median
samples_tolerance = 0.2
samples_tolerance_retries = 5
[neopixel vaoc_led]
pin = PB0
chain_count = 6
color_order = GRB
[heater_fan vaoc_fan]
pin = PD13
heater = heater_bed
fan_speed = 1.0
heater_temp = 50
[filament_switch_sensor toolhead_filament_sensor_t0]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t0:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=0
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=0
[gcode_button toolhead_filament_sensor_button_t0]
pin = ^!toolboard_t0:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=0
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=0
{% endif %}
press_gcode =
[filament_switch_sensor toolhead_filament_sensor_t1]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t1:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=1
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=1
[gcode_button toolhead_filament_sensor_button_t1]
pin = ^!toolboard_t1:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=1
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=1
{% endif %}
press_gcode =
[beacon model default]
model_coef = 1.5216898007481126,
1.8902129794265508,
0.831820228817575,
0.3593149586958484,
0.23269392145129414,
0.19533062331679613,
-0.1632586565325532,
-0.17574982456618962,
0.17702053002792054,
0.13435326641891854
model_domain = 1.851328082849494e-07,1.9354184656086437e-07
model_range = 0.200000,5.000000
model_temp = 43.655936
model_offset = -0.05394
[bed_mesh Preparation]
version = 1
points =
-0.123065, -0.129249, -0.137728, -0.143346, -0.146108, -0.151560, -0.155215, -0.159040, -0.159958, -0.164177, -0.166491, -0.171752, -0.176450, -0.180710, -0.184686, -0.190246, -0.195775, -0.202238, -0.207460, -0.213022, -0.218225, -0.220510, -0.220567, -0.219225, -0.217630, -0.212552, -0.206331, -0.200070, -0.194573, -0.188334, -0.180118, -0.172176, -0.168038, -0.164374, -0.159375, -0.153073, -0.146940, -0.141521, -0.135166, -0.127086
-0.088754, -0.096605, -0.102126, -0.105995, -0.109969, -0.114049, -0.118511, -0.121889, -0.124322, -0.126883, -0.131213, -0.135417, -0.139505, -0.143071, -0.147057, -0.152929, -0.157956, -0.164833, -0.170577, -0.176167, -0.181394, -0.184379, -0.183957, -0.184723, -0.181740, -0.178752, -0.172233, -0.167393, -0.161225, -0.155149, -0.148851, -0.144256, -0.140355, -0.137883, -0.132371, -0.128553, -0.122059, -0.115777, -0.111817, -0.103433
-0.059703, -0.065141, -0.068894, -0.072534, -0.074652, -0.078732, -0.083449, -0.087482, -0.090032, -0.093010, -0.095624, -0.100951, -0.104058, -0.107939, -0.110295, -0.114845, -0.122184, -0.128323, -0.134619, -0.141129, -0.146735, -0.150526, -0.151921, -0.151703, -0.149648, -0.145697, -0.140806, -0.136280, -0.130497, -0.125540, -0.120070, -0.115730, -0.115253, -0.113816, -0.111683, -0.107485, -0.102833, -0.098964, -0.092084, -0.083493
-0.035146, -0.038887, -0.040630, -0.042918, -0.045822, -0.048863, -0.053602, -0.057912, -0.061422, -0.063969, -0.067771, -0.070734, -0.074263, -0.077254, -0.079459, -0.084177, -0.089247, -0.097608, -0.105291, -0.111173, -0.118299, -0.123146, -0.124957, -0.125483, -0.121116, -0.117566, -0.112065, -0.108311, -0.103527, -0.098034, -0.093794, -0.092694, -0.092279, -0.092993, -0.091409, -0.090502, -0.087302, -0.082043, -0.077730, -0.068983
-0.014429, -0.015436, -0.015024, -0.015867, -0.016594, -0.019643, -0.023524, -0.028230, -0.032698, -0.035277, -0.037866, -0.041326, -0.042863, -0.045187, -0.048169, -0.051460, -0.057369, -0.064702, -0.072998, -0.082472, -0.088649, -0.094871, -0.098359, -0.099789, -0.097374, -0.090473, -0.085585, -0.080722, -0.076818, -0.073349, -0.069668, -0.068340, -0.069674, -0.071996, -0.071434, -0.069706, -0.067260, -0.064747, -0.060147, -0.051867
0.001800, 0.004209, 0.006295, 0.006641, 0.006498, 0.003907, 0.000374, -0.004775, -0.008574, -0.012033, -0.015343, -0.017616, -0.020077, -0.021090, -0.023071, -0.026600, -0.031917, -0.039089, -0.048471, -0.057699, -0.066738, -0.073148, -0.075881, -0.078085, -0.074661, -0.071015, -0.062931, -0.057662, -0.054662, -0.049156, -0.046409, -0.047290, -0.049401, -0.052189, -0.052468, -0.052381, -0.048999, -0.045375, -0.042758, -0.036124
0.014578, 0.018249, 0.024038, 0.026382, 0.027249, 0.026050, 0.022467, 0.017577, 0.013010, 0.010887, 0.006983, 0.004054, 0.002721, 0.001326, -0.000218, -0.003487, -0.007851, -0.014883, -0.023207, -0.033846, -0.042392, -0.050957, -0.055968, -0.056765, -0.055272, -0.049752, -0.043583, -0.037460, -0.031652, -0.028299, -0.026023, -0.024866, -0.027110, -0.030476, -0.033084, -0.034078, -0.031246, -0.029362, -0.025190, -0.019151
0.024410, 0.030484, 0.035193, 0.039485, 0.041745, 0.040083, 0.037331, 0.032763, 0.028232, 0.025326, 0.021729, 0.020069, 0.017930, 0.018061, 0.015847, 0.013482, 0.008905, 0.001823, -0.007356, -0.016569, -0.026170, -0.033571, -0.037941, -0.040096, -0.038153, -0.033153, -0.025879, -0.019168, -0.014733, -0.010497, -0.008672, -0.007561, -0.010567, -0.014787, -0.015661, -0.017707, -0.017691, -0.014205, -0.012676, -0.006032
0.030350, 0.037321, 0.045452, 0.050793, 0.053375, 0.054499, 0.051059, 0.046846, 0.042496, 0.039367, 0.035643, 0.033919, 0.033912, 0.033623, 0.032081, 0.030054, 0.024662, 0.019256, 0.010309, -0.000351, -0.009383, -0.017529, -0.022320, -0.022585, -0.022214, -0.017406, -0.012453, -0.004461, 0.001580, 0.003945, 0.005930, 0.006089, 0.003042, -0.000316, -0.002673, -0.003751, -0.003717, -0.002638, 0.000226, 0.005144
0.035173, 0.044246, 0.052100, 0.057619, 0.061427, 0.062646, 0.059768, 0.057094, 0.052969, 0.049696, 0.046221, 0.044853, 0.044616, 0.045243, 0.045236, 0.041880, 0.037458, 0.030193, 0.021980, 0.013232, 0.002262, -0.005043, -0.010706, -0.011683, -0.008394, -0.003728, 0.001908, 0.006662, 0.011662, 0.016663, 0.018832, 0.016640, 0.013833, 0.008164, 0.007799, 0.005419, 0.005328, 0.009190, 0.008467, 0.015441
0.037108, 0.045666, 0.056458, 0.063149, 0.067499, 0.069070, 0.068454, 0.065539, 0.062239, 0.059947, 0.057580, 0.054794, 0.056387, 0.057237, 0.057484, 0.055314, 0.050020, 0.043846, 0.035280, 0.025122, 0.016671, 0.008013, 0.002311, 0.000737, 0.001896, 0.008203, 0.014297, 0.020006, 0.024262, 0.026669, 0.029339, 0.030551, 0.026033, 0.021667, 0.017948, 0.016993, 0.017491, 0.017914, 0.020540, 0.025522
0.036352, 0.047193, 0.056745, 0.064612, 0.068634, 0.070738, 0.069708, 0.067799, 0.066444, 0.064284, 0.063129, 0.061805, 0.060988, 0.062269, 0.063716, 0.060863, 0.057021, 0.049768, 0.040718, 0.032150, 0.020744, 0.014030, 0.009615, 0.006588, 0.008979, 0.012564, 0.020268, 0.025138, 0.030238, 0.034561, 0.036879, 0.034610, 0.032263, 0.027581, 0.024798, 0.023672, 0.023321, 0.026978, 0.024620, 0.027896
0.031904, 0.041999, 0.053526, 0.061780, 0.068626, 0.071467, 0.069588, 0.070855, 0.067652, 0.067081, 0.066260, 0.065427, 0.067567, 0.067660, 0.066819, 0.066532, 0.062096, 0.056381, 0.047624, 0.037620, 0.028342, 0.019370, 0.013689, 0.013032, 0.014071, 0.018558, 0.024375, 0.029309, 0.035040, 0.038931, 0.042663, 0.042886, 0.037831, 0.034178, 0.030240, 0.030073, 0.030481, 0.030514, 0.032425, 0.035200
0.027182, 0.039232, 0.050723, 0.059936, 0.065685, 0.068762, 0.069802, 0.067959, 0.067866, 0.067327, 0.067183, 0.067449, 0.068351, 0.070500, 0.070804, 0.066856, 0.063180, 0.057359, 0.048570, 0.041217, 0.030261, 0.023075, 0.018834, 0.015316, 0.018939, 0.022756, 0.029306, 0.034018, 0.038670, 0.043164, 0.045084, 0.044050, 0.042856, 0.037331, 0.034978, 0.032203, 0.031843, 0.034428, 0.032762, 0.037273
0.021053, 0.033448, 0.046106, 0.055345, 0.064261, 0.068907, 0.069228, 0.069829, 0.068287, 0.068723, 0.069343, 0.068829, 0.071972, 0.073165, 0.073793, 0.072091, 0.066945, 0.060901, 0.053179, 0.043877, 0.036784, 0.028377, 0.023620, 0.022244, 0.021968, 0.027336, 0.032852, 0.037884, 0.042949, 0.044947, 0.048544, 0.049110, 0.045085, 0.042044, 0.039134, 0.036728, 0.035119, 0.034480, 0.035005, 0.040348
0.012798, 0.026215, 0.038175, 0.049823, 0.056616, 0.061959, 0.063431, 0.063875, 0.064311, 0.064278, 0.065429, 0.067402, 0.068134, 0.070311, 0.071612, 0.068720, 0.065355, 0.058476, 0.049821, 0.043365, 0.033745, 0.028649, 0.024126, 0.021884, 0.024781, 0.027504, 0.032892, 0.037274, 0.041428, 0.045995, 0.047404, 0.045205, 0.044657, 0.039586, 0.038947, 0.035435, 0.034980, 0.037579, 0.032889, 0.037251
0.002599, 0.016742, 0.028454, 0.039856, 0.050630, 0.057205, 0.057988, 0.060542, 0.060803, 0.062833, 0.063316, 0.063458, 0.067483, 0.068629, 0.069600, 0.068774, 0.065105, 0.060486, 0.053074, 0.043536, 0.036203, 0.030149, 0.025306, 0.023637, 0.024745, 0.030017, 0.034726, 0.038220, 0.042707, 0.043750, 0.047446, 0.047304, 0.044249, 0.040629, 0.037643, 0.037322, 0.036376, 0.036060, 0.034983, 0.039259
-0.009299, 0.003358, 0.016587, 0.028772, 0.037637, 0.045522, 0.048419, 0.050740, 0.052845, 0.054601, 0.054222, 0.056341, 0.057287, 0.060815, 0.062225, 0.059457, 0.058540, 0.052712, 0.045650, 0.039369, 0.029281, 0.023853, 0.020326, 0.017158, 0.020475, 0.024038, 0.029159, 0.033918, 0.035785, 0.040239, 0.040813, 0.040406, 0.039684, 0.033949, 0.033181, 0.032565, 0.029348, 0.033315, 0.026965, 0.030583
-0.026918, -0.010726, 0.002999, 0.014433, 0.026463, 0.034997, 0.038263, 0.042755, 0.042939, 0.045824, 0.048341, 0.048364, 0.051534, 0.052744, 0.054094, 0.054604, 0.051491, 0.048552, 0.042327, 0.033918, 0.027486, 0.020894, 0.015739, 0.013238, 0.014280, 0.018615, 0.022786, 0.027006, 0.032407, 0.034888, 0.037864, 0.036858, 0.033948, 0.030834, 0.029128, 0.027105, 0.027313, 0.024774, 0.024613, 0.027069
-0.040027, -0.025131, -0.010601, 0.002523, 0.013123, 0.021425, 0.026915, 0.029297, 0.032819, 0.034947, 0.036059, 0.038480, 0.039604, 0.041848, 0.043952, 0.042987, 0.042589, 0.037420, 0.031622, 0.024770, 0.017692, 0.011391, 0.007445, 0.004353, 0.006436, 0.009431, 0.015809, 0.020322, 0.022741, 0.028265, 0.028380, 0.028365, 0.028435, 0.021376, 0.020191, 0.019534, 0.016283, 0.019006, 0.011746, 0.014708
-0.056684, -0.040558, -0.026026, -0.013077, 0.001136, 0.010197, 0.014126, 0.019524, 0.020289, 0.024250, 0.027205, 0.027040, 0.032136, 0.032733, 0.036150, 0.035729, 0.033818, 0.032633, 0.025943, 0.018154, 0.011096, 0.004347, 0.000182, -0.001587, -0.000674, 0.003150, 0.008718, 0.014003, 0.019522, 0.021413, 0.024493, 0.023669, 0.021443, 0.017697, 0.014271, 0.011648, 0.010124, 0.007028, 0.008391, 0.011548
-0.070688, -0.054708, -0.038988, -0.022400, -0.012838, -0.002722, 0.002683, 0.005530, 0.009069, 0.011945, 0.013369, 0.016565, 0.019252, 0.022612, 0.026435, 0.026276, 0.025811, 0.021076, 0.014586, 0.009648, 0.000497, -0.005110, -0.010032, -0.013120, -0.009419, -0.005850, 0.001196, 0.007562, 0.011003, 0.016293, 0.018088, 0.015279, 0.015117, 0.005636, 0.004038, 0.002755, -0.002018, 0.003098, -0.003080, -0.000159
-0.089093, -0.069024, -0.051576, -0.039140, -0.023761, -0.014054, -0.008637, -0.004206, -0.002925, 0.000628, 0.004294, 0.005180, 0.012082, 0.014985, 0.018446, 0.019703, 0.018943, 0.015701, 0.008415, 0.001132, -0.005341, -0.012240, -0.017255, -0.018934, -0.018344, -0.013165, -0.006037, 0.001223, 0.007618, 0.009453, 0.012580, 0.011127, 0.007477, 0.001830, -0.001810, -0.004428, -0.005625, -0.007326, -0.005016, -0.000600
-0.099704, -0.080527, -0.064504, -0.047065, -0.036227, -0.025986, -0.020027, -0.016586, -0.013094, -0.010398, -0.007205, -0.002616, 0.000734, 0.006380, 0.011519, 0.011174, 0.009740, 0.006345, 0.000545, -0.006125, -0.015283, -0.021250, -0.024104, -0.027854, -0.024622, -0.019636, -0.011858, -0.003915, 0.000667, 0.007300, 0.007642, 0.003905, 0.002899, -0.006441, -0.009109, -0.009676, -0.012463, -0.007014, -0.012570, -0.007146
-0.114714, -0.093148, -0.075353, -0.061754, -0.045386, -0.035447, -0.029339, -0.024022, -0.022394, -0.017008, -0.013168, -0.011385, -0.002852, 0.000333, 0.005220, 0.006668, 0.006239, 0.003185, -0.002733, -0.010821, -0.017979, -0.026075, -0.029651, -0.031781, -0.028478, -0.022137, -0.015652, -0.008127, -0.002024, 0.000627, 0.005143, 0.004125, -0.000697, -0.005698, -0.011038, -0.012025, -0.011996, -0.012589, -0.010022, -0.005017
-0.122903, -0.103635, -0.085984, -0.068299, -0.055409, -0.045262, -0.039103, -0.034155, -0.030447, -0.026675, -0.022523, -0.017787, -0.012967, -0.006671, -0.001667, -0.001944, -0.001690, -0.006190, -0.012321, -0.018992, -0.026396, -0.032518, -0.035515, -0.038670, -0.034660, -0.028220, -0.021430, -0.013595, -0.009650, -0.004742, -0.002199, -0.005392, -0.005290, -0.012575, -0.015890, -0.016404, -0.019504, -0.013782, -0.018582, -0.014276
-0.134579, -0.113485, -0.095284, -0.079518, -0.062659, -0.052056, -0.046305, -0.039009, -0.037823, -0.031848, -0.027185, -0.024069, -0.016064, -0.013428, -0.007718, -0.004529, -0.006462, -0.009628, -0.015448, -0.022543, -0.030829, -0.037569, -0.039995, -0.040648, -0.038926, -0.033288, -0.025343, -0.019131, -0.012345, -0.009802, -0.006212, -0.006248, -0.010552, -0.013167, -0.017225, -0.018029, -0.017813, -0.019312, -0.017588, -0.012622
-0.141623, -0.121670, -0.102186, -0.085896, -0.071216, -0.060247, -0.053842, -0.047188, -0.042746, -0.037427, -0.034976, -0.028961, -0.023709, -0.016692, -0.012858, -0.012134, -0.011163, -0.015775, -0.023443, -0.028172, -0.036157, -0.042440, -0.044826, -0.047997, -0.043392, -0.036551, -0.030720, -0.023607, -0.017635, -0.012732, -0.009913, -0.014198, -0.013203, -0.020762, -0.021628, -0.022211, -0.024141, -0.018562, -0.021550, -0.018843
-0.153558, -0.131254, -0.112812, -0.097483, -0.078966, -0.067860, -0.060926, -0.053977, -0.052300, -0.044006, -0.039839, -0.035812, -0.028838, -0.024006, -0.019004, -0.016593, -0.019021, -0.020131, -0.025883, -0.034599, -0.040980, -0.047799, -0.051352, -0.052014, -0.049759, -0.042428, -0.034779, -0.027594, -0.022224, -0.019623, -0.014617, -0.015462, -0.018895, -0.023314, -0.026383, -0.027395, -0.026422, -0.027225, -0.024109, -0.018187
-0.161908, -0.140002, -0.120655, -0.102888, -0.087870, -0.077667, -0.069724, -0.063534, -0.057774, -0.052057, -0.047301, -0.041207, -0.036047, -0.031176, -0.024730, -0.024522, -0.023785, -0.027288, -0.033143, -0.038931, -0.048404, -0.054383, -0.057185, -0.059173, -0.055642, -0.049257, -0.042398, -0.033901, -0.029000, -0.023467, -0.020749, -0.023617, -0.023141, -0.030864, -0.033138, -0.032954, -0.034538, -0.029482, -0.033082, -0.028314
-0.174826, -0.151443, -0.130396, -0.116540, -0.098721, -0.086440, -0.078811, -0.071608, -0.069023, -0.060435, -0.055560, -0.050716, -0.042712, -0.037661, -0.034517, -0.031178, -0.032055, -0.033793, -0.038671, -0.045928, -0.052841, -0.060492, -0.063749, -0.063988, -0.062643, -0.056771, -0.049569, -0.041294, -0.034726, -0.031908, -0.028202, -0.029544, -0.031862, -0.035321, -0.038379, -0.038996, -0.038819, -0.039354, -0.037656, -0.031082
-0.183238, -0.161592, -0.141835, -0.122259, -0.107820, -0.096198, -0.087266, -0.081174, -0.074490, -0.069838, -0.064393, -0.057107, -0.050762, -0.045327, -0.038202, -0.038855, -0.038407, -0.041566, -0.047140, -0.051945, -0.061233, -0.066409, -0.069864, -0.071910, -0.067210, -0.062565, -0.055432, -0.048278, -0.044331, -0.038455, -0.036269, -0.038273, -0.038014, -0.045766, -0.046782, -0.045843, -0.049612, -0.044485, -0.046549, -0.043773
-0.193766, -0.171381, -0.150622, -0.136571, -0.116007, -0.105103, -0.095303, -0.087977, -0.084827, -0.076628, -0.071043, -0.067079, -0.058807, -0.053256, -0.047233, -0.043607, -0.045450, -0.047128, -0.052927, -0.059961, -0.065522, -0.072239, -0.075898, -0.075835, -0.075111, -0.067972, -0.061979, -0.053963, -0.049569, -0.047796, -0.043883, -0.043617, -0.047656, -0.050661, -0.053231, -0.054403, -0.054461, -0.055549, -0.052266, -0.047746
-0.201314, -0.179345, -0.161359, -0.141661, -0.125534, -0.113803, -0.104605, -0.097577, -0.091460, -0.084584, -0.081618, -0.073351, -0.066639, -0.060233, -0.053844, -0.052016, -0.050399, -0.053801, -0.060298, -0.064515, -0.073415, -0.079082, -0.082485, -0.085173, -0.080732, -0.075519, -0.069232, -0.061446, -0.057882, -0.054204, -0.050503, -0.055575, -0.054341, -0.063491, -0.062954, -0.061692, -0.063367, -0.060560, -0.063682, -0.062945
-0.210699, -0.186568, -0.169980, -0.155576, -0.134580, -0.123486, -0.114304, -0.104424, -0.101420, -0.092798, -0.086708, -0.083121, -0.072735, -0.068592, -0.062863, -0.059082, -0.060053, -0.060206, -0.063958, -0.071063, -0.077559, -0.085187, -0.086687, -0.088869, -0.087870, -0.081655, -0.074488, -0.068268, -0.062429, -0.060979, -0.056752, -0.057920, -0.060916, -0.066499, -0.069739, -0.070931, -0.070913, -0.070755, -0.068799, -0.063772
-0.219515, -0.197554, -0.177657, -0.160158, -0.145459, -0.131642, -0.122712, -0.114730, -0.108205, -0.102209, -0.096258, -0.088791, -0.081533, -0.074260, -0.066793, -0.066614, -0.064792, -0.068370, -0.072488, -0.076295, -0.085080, -0.090724, -0.095074, -0.097575, -0.093448, -0.090253, -0.083279, -0.075362, -0.072746, -0.067366, -0.066279, -0.070410, -0.069398, -0.077609, -0.078058, -0.078135, -0.084604, -0.079149, -0.080611, -0.079800
-0.230805, -0.207528, -0.186481, -0.172408, -0.153776, -0.143194, -0.132521, -0.122732, -0.119724, -0.111161, -0.104757, -0.098336, -0.089800, -0.085237, -0.079503, -0.074701, -0.074730, -0.077056, -0.080999, -0.087250, -0.090878, -0.098745, -0.100539, -0.104508, -0.101283, -0.096607, -0.088982, -0.085559, -0.079754, -0.079122, -0.075177, -0.075963, -0.081290, -0.085296, -0.088572, -0.088783, -0.090303, -0.090612, -0.089416, -0.085933
-0.237804, -0.216625, -0.196099, -0.177369, -0.162298, -0.151235, -0.142740, -0.134419, -0.126793, -0.120617, -0.114293, -0.107315, -0.098104, -0.090157, -0.083399, -0.082639, -0.080974, -0.083252, -0.088626, -0.094519, -0.101179, -0.107558, -0.109548, -0.114106, -0.110311, -0.106939, -0.099894, -0.093051, -0.091536, -0.087351, -0.087053, -0.090645, -0.091250, -0.099822, -0.100443, -0.101896, -0.103601, -0.100931, -0.103353, -0.101983
-0.247583, -0.224449, -0.204610, -0.192000, -0.171035, -0.160649, -0.151982, -0.142274, -0.139230, -0.129743, -0.123914, -0.119027, -0.108169, -0.102443, -0.095205, -0.091306, -0.092205, -0.092345, -0.096259, -0.103217, -0.108755, -0.115722, -0.119030, -0.120152, -0.118763, -0.111891, -0.108093, -0.102743, -0.098191, -0.095813, -0.095324, -0.097542, -0.103908, -0.108247, -0.112667, -0.113407, -0.114053, -0.115255, -0.113592, -0.108895
-0.258858, -0.235997, -0.216740, -0.198116, -0.183378, -0.171186, -0.161217, -0.155748, -0.147888, -0.142165, -0.135823, -0.126753, -0.118377, -0.109580, -0.102398, -0.099259, -0.097063, -0.101252, -0.106440, -0.110945, -0.118590, -0.125773, -0.130331, -0.133380, -0.130510, -0.125840, -0.121346, -0.113584, -0.112154, -0.108462, -0.107451, -0.111338, -0.113454, -0.123539, -0.127029, -0.125848, -0.131621, -0.126772, -0.129161, -0.126885
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh ratos]
version = 1
points =
0.252421, 0.239918, 0.235079, 0.233044, 0.229596, 0.212449, 0.189631, 0.177265, 0.169883, 0.164401, 0.162956, 0.163382, 0.166705, 0.179165, 0.193577
0.271966, 0.259877, 0.254582, 0.251196, 0.246518, 0.227398, 0.201969, 0.187328, 0.176683, 0.168773, 0.169957, 0.176639, 0.182214, 0.189877, 0.198461
0.276289, 0.267046, 0.261350, 0.255007, 0.248230, 0.229009, 0.203988, 0.191305, 0.185623, 0.181806, 0.180978, 0.181667, 0.184263, 0.193155, 0.203690
0.278889, 0.273241, 0.267160, 0.257355, 0.248146, 0.229016, 0.204779, 0.194759, 0.195556, 0.197049, 0.193377, 0.185856, 0.184502, 0.195611, 0.209394
0.278746, 0.275629, 0.269870, 0.258938, 0.248858, 0.229500, 0.205165, 0.195780, 0.198458, 0.201461, 0.196561, 0.185904, 0.183158, 0.195579, 0.211088
0.276375, 0.276236, 0.271549, 0.260815, 0.250692, 0.230737, 0.205548, 0.195534, 0.197468, 0.199796, 0.194343, 0.182983, 0.180177, 0.193876, 0.210799
0.273524, 0.273458, 0.269603, 0.260653, 0.251723, 0.231624, 0.206002, 0.195409, 0.196267, 0.197753, 0.192971, 0.183368, 0.181615, 0.195760, 0.212938
0.267660, 0.262256, 0.259405, 0.256574, 0.252066, 0.232597, 0.207063, 0.195713, 0.194465, 0.194512, 0.193170, 0.191017, 0.193092, 0.206555, 0.222135
0.261978, 0.251389, 0.249510, 0.252617, 0.252419, 0.233692, 0.208414, 0.196366, 0.192974, 0.191518, 0.193443, 0.198433, 0.204171, 0.216936, 0.230946
0.259175, 0.248781, 0.247703, 0.252469, 0.253528, 0.235805, 0.211588, 0.199323, 0.194060, 0.190904, 0.192775, 0.198523, 0.204714, 0.217544, 0.231592
0.256917, 0.248898, 0.248775, 0.253971, 0.255438, 0.239147, 0.216672, 0.204382, 0.196942, 0.191618, 0.192082, 0.196190, 0.201684, 0.215074, 0.230002
0.258878, 0.252498, 0.252461, 0.256670, 0.257493, 0.241767, 0.220173, 0.208520, 0.201784, 0.196903, 0.196216, 0.197892, 0.202508, 0.217707, 0.234843
0.266676, 0.262097, 0.261261, 0.262395, 0.261081, 0.245358, 0.224295, 0.214415, 0.211973, 0.210659, 0.208388, 0.205266, 0.208274, 0.227810, 0.250023
0.272369, 0.268928, 0.267532, 0.266607, 0.263893, 0.248373, 0.227935, 0.219380, 0.219876, 0.220951, 0.217279, 0.210276, 0.211840, 0.234232, 0.259847
0.272470, 0.268521, 0.267342, 0.267309, 0.265457, 0.251692, 0.233409, 0.225272, 0.224341, 0.223802, 0.218119, 0.207943, 0.207465, 0.228239, 0.252402
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 164.129
max_x = 335.871
min_y = 164.129
max_y = 335.871
[bed_mesh default_01]
version = 1
points =
-0.212352, -0.205004, -0.205688, -0.213947, -0.211584, -0.200827, -0.196079, -0.201497, -0.201616, -0.208425, -0.209947, -0.207257, -0.208137, -0.210397, -0.217396, -0.222770, -0.220129, -0.218163, -0.221850, -0.237017, -0.247459, -0.242211, -0.231428, -0.233658, -0.238247, -0.236157, -0.227367, -0.215174, -0.214324, -0.216396, -0.215984, -0.211921, -0.203751, -0.202477, -0.212640, -0.222181, -0.219244, -0.211084, -0.209151, -0.209082
-0.174162, -0.176047, -0.170487, -0.170548, -0.170736, -0.164118, -0.157555, -0.153439, -0.160425, -0.170282, -0.172797, -0.167139, -0.166458, -0.175026, -0.179929, -0.178620, -0.177640, -0.179906, -0.184836, -0.197635, -0.207979, -0.205003, -0.197052, -0.197250, -0.203982, -0.199476, -0.190324, -0.186099, -0.187066, -0.186672, -0.187746, -0.181171, -0.185153, -0.187589, -0.187063, -0.200665, -0.201051, -0.202709, -0.193542, -0.191586
-0.137100, -0.139551, -0.156952, -0.140436, -0.132315, -0.117612, -0.126367, -0.127171, -0.117222, -0.126918, -0.136512, -0.136358, -0.132073, -0.130702, -0.140103, -0.142380, -0.138235, -0.138905, -0.144252, -0.155403, -0.167395, -0.168131, -0.163644, -0.167313, -0.170169, -0.167668, -0.163673, -0.153559, -0.151257, -0.156368, -0.162458, -0.158603, -0.153421, -0.159541, -0.173014, -0.183822, -0.179305, -0.173713, -0.177083, -0.178655
-0.119638, -0.118582, -0.112676, -0.107016, -0.101057, -0.097609, -0.090568, -0.088846, -0.094353, -0.105808, -0.108640, -0.099508, -0.097061, -0.104063, -0.108925, -0.106601, -0.108711, -0.108244, -0.112043, -0.120678, -0.130435, -0.136258, -0.136819, -0.140693, -0.145176, -0.140418, -0.133156, -0.127840, -0.122126, -0.121636, -0.126438, -0.130351, -0.139794, -0.144111, -0.146054, -0.158204, -0.161518, -0.167826, -0.159598, -0.158650
-0.096835, -0.087718, -0.104672, -0.082461, -0.076224, -0.060838, -0.069516, -0.072615, -0.062211, -0.077871, -0.084714, -0.077026, -0.072760, -0.070095, -0.080251, -0.081571, -0.077742, -0.079221, -0.083101, -0.090649, -0.099299, -0.104793, -0.110080, -0.115975, -0.119470, -0.118751, -0.111056, -0.099818, -0.088329, -0.086065, -0.095142, -0.105657, -0.108794, -0.116773, -0.128079, -0.136836, -0.137575, -0.140247, -0.145489, -0.148040
-0.083209, -0.079868, -0.067185, -0.063731, -0.058642, -0.053051, -0.047765, -0.045331, -0.050266, -0.066491, -0.066941, -0.056015, -0.048217, -0.054259, -0.060356, -0.057978, -0.058606, -0.058994, -0.066141, -0.074500, -0.082524, -0.087903, -0.089955, -0.094768, -0.104398, -0.099852, -0.090725, -0.079565, -0.067033, -0.062767, -0.070707, -0.083459, -0.101043, -0.101848, -0.100333, -0.109638, -0.123028, -0.141217, -0.130959, -0.131217
-0.069730, -0.056597, -0.069495, -0.045018, -0.042152, -0.026485, -0.032235, -0.034557, -0.024843, -0.038262, -0.047943, -0.040534, -0.031409, -0.031423, -0.038290, -0.042184, -0.036914, -0.036003, -0.044482, -0.056018, -0.065785, -0.068729, -0.067646, -0.075299, -0.082594, -0.082415, -0.073119, -0.059632, -0.051532, -0.053502, -0.062114, -0.070318, -0.073796, -0.079949, -0.088985, -0.099045, -0.106334, -0.115317, -0.118710, -0.121606
-0.063230, -0.056601, -0.041980, -0.034523, -0.029628, -0.022591, -0.015527, -0.011458, -0.016579, -0.029089, -0.032697, -0.020075, -0.012276, -0.017379, -0.024206, -0.024615, -0.021741, -0.020420, -0.029944, -0.044031, -0.057771, -0.058946, -0.055658, -0.060140, -0.067052, -0.068268, -0.059032, -0.046807, -0.044834, -0.051708, -0.055075, -0.061517, -0.071357, -0.076336, -0.080810, -0.088325, -0.104141, -0.122163, -0.110924, -0.110569
-0.060174, -0.039395, -0.050614, -0.025623, -0.014566, -0.007533, -0.001840, -0.007895, 0.000069, -0.005943, -0.019542, -0.011396, 0.001031, -0.002683, -0.007624, -0.009318, -0.006436, -0.001552, -0.011221, -0.028696, -0.041084, -0.042016, -0.040203, -0.044466, -0.051808, -0.052518, -0.043417, -0.032423, -0.032810, -0.041661, -0.050081, -0.052858, -0.052876, -0.063332, -0.079570, -0.089959, -0.096716, -0.101982, -0.105016, -0.107001
-0.053710, -0.043327, -0.028031, -0.017850, -0.009484, -0.001637, 0.005673, 0.010586, 0.005636, -0.003814, -0.005362, 0.006161, 0.013608, 0.008057, 0.002322, 0.003612, 0.004110, 0.008068, 0.002083, -0.015465, -0.030949, -0.030547, -0.029409, -0.033287, -0.038682, -0.039024, -0.031263, -0.021618, -0.026750, -0.032994, -0.035691, -0.044157, -0.052114, -0.060215, -0.075515, -0.083466, -0.095327, -0.106548, -0.095535, -0.098521
-0.047254, -0.030528, -0.031638, -0.012849, 0.004841, 0.006983, 0.013694, 0.012846, 0.016138, 0.014432, 0.006226, 0.010452, 0.024727, 0.021013, 0.019524, 0.018961, 0.019665, 0.023419, 0.017911, -0.000232, -0.014022, -0.014730, -0.014596, -0.019038, -0.025992, -0.025129, -0.014481, -0.007814, -0.009829, -0.019165, -0.028011, -0.031947, -0.032988, -0.045983, -0.065714, -0.081242, -0.085685, -0.086933, -0.087880, -0.095017
-0.048876, -0.037640, -0.020639, -0.011257, -0.002252, 0.003293, 0.011320, 0.018432, 0.016599, 0.008416, 0.008857, 0.020046, 0.028597, 0.025368, 0.020894, 0.020093, 0.024371, 0.025767, 0.019986, 0.005394, -0.011722, -0.013006, -0.011459, -0.016446, -0.020481, -0.020572, -0.009700, -0.002004, -0.006115, -0.014821, -0.020690, -0.029257, -0.037335, -0.048699, -0.063009, -0.072149, -0.084081, -0.094853, -0.088026, -0.093326
-0.045599, -0.032489, -0.031909, -0.015132, 0.004367, 0.005761, 0.009753, 0.013737, 0.019610, 0.017209, 0.010670, 0.018033, 0.034446, 0.032759, 0.027419, 0.026150, 0.030680, 0.031041, 0.025393, 0.009631, -0.004301, -0.004888, -0.004235, -0.009507, -0.016274, -0.014927, -0.004799, 0.003089, 0.000024, -0.010745, -0.022641, -0.023781, -0.026245, -0.039501, -0.059650, -0.077316, -0.081899, -0.082664, -0.085848, -0.095630
-0.051719, -0.042516, -0.024727, -0.014881, -0.007962, -0.002778, 0.007253, 0.018564, 0.020549, 0.010749, 0.010767, 0.025842, 0.036605, 0.033660, 0.027884, 0.026999, 0.031138, 0.033807, 0.026322, 0.010483, -0.004168, -0.004458, -0.003391, -0.006828, -0.010159, -0.008629, -0.003788, 0.001726, -0.001831, -0.008376, -0.017421, -0.022119, -0.030860, -0.043583, -0.059511, -0.070434, -0.082378, -0.090458, -0.089146, -0.096370
-0.057793, -0.042621, -0.038750, -0.024348, -0.005081, -0.005268, 0.003206, 0.010779, 0.022189, 0.019209, 0.011044, 0.020911, 0.036400, 0.034032, 0.028483, 0.028491, 0.032888, 0.035226, 0.029869, 0.013138, -0.000218, -0.000329, 0.001627, -0.003569, -0.009235, -0.007042, -0.000417, 0.003729, 0.000901, -0.010109, -0.017801, -0.018479, -0.021562, -0.036566, -0.057392, -0.075915, -0.079832, -0.081904, -0.088661, -0.100886
-0.067526, -0.055309, -0.036025, -0.024537, -0.017287, -0.011391, 0.002241, 0.016031, 0.017569, 0.008104, 0.006919, 0.022812, 0.035649, 0.030569, 0.025295, 0.026158, 0.028120, 0.032186, 0.028803, 0.014355, -0.001453, -0.003540, 0.000052, -0.001443, -0.003511, -0.005267, -0.001147, 0.000925, -0.004403, -0.009193, -0.012170, -0.019738, -0.029104, -0.044019, -0.060224, -0.070235, -0.081397, -0.094197, -0.096617, -0.101341
-0.075428, -0.058510, -0.049621, -0.037169, -0.011246, -0.010479, -0.006396, 0.006504, 0.015749, 0.012822, 0.006671, 0.016924, 0.032039, 0.031328, 0.026985, 0.027980, 0.030920, 0.032808, 0.031615, 0.018644, 0.001923, 0.000053, 0.003103, -0.001638, -0.003420, -0.005222, -0.000500, 0.001731, -0.003233, -0.012132, -0.017811, -0.019364, -0.021427, -0.036729, -0.058064, -0.075307, -0.078393, -0.086764, -0.096422, -0.104641
-0.092209, -0.073958, -0.053538, -0.041213, -0.031588, -0.024989, -0.011064, 0.002184, 0.004486, -0.004082, -0.003293, 0.012688, 0.024729, 0.023376, 0.016493, 0.016586, 0.021829, 0.027456, 0.025131, 0.008832, -0.008327, -0.010361, -0.007077, -0.007777, -0.007766, -0.011707, -0.013024, -0.007518, -0.012126, -0.020229, -0.024097, -0.030067, -0.037289, -0.049421, -0.062891, -0.078169, -0.090757, -0.105824, -0.111811, -0.117777
-0.106289, -0.086122, -0.074620, -0.056172, -0.033359, -0.034200, -0.027585, -0.014357, -0.003523, -0.003173, -0.008568, 0.004560, 0.019812, 0.016370, 0.013293, 0.013211, 0.017172, 0.021237, 0.018588, 0.001698, -0.012144, -0.012347, -0.010917, -0.015273, -0.018952, -0.021509, -0.017029, -0.011164, -0.014443, -0.027155, -0.036630, -0.037423, -0.036926, -0.049532, -0.067352, -0.090672, -0.098946, -0.105902, -0.117845, -0.128940
-0.119843, -0.099551, -0.077375, -0.061466, -0.050643, -0.047894, -0.033252, -0.019023, -0.014146, -0.020387, -0.016146, -0.000891, 0.012049, 0.008154, 0.002012, 0.003114, 0.007794, 0.012077, 0.007700, -0.011028, -0.026025, -0.024384, -0.020351, -0.023849, -0.027654, -0.030259, -0.025713, -0.018766, -0.022065, -0.032647, -0.040511, -0.047076, -0.052786, -0.064445, -0.079572, -0.097204, -0.110174, -0.127382, -0.136959, -0.142453
-0.135881, -0.113617, -0.095958, -0.075519, -0.053636, -0.051158, -0.045442, -0.035110, -0.023830, -0.022073, -0.025648, -0.012523, 0.002373, 0.000009, -0.002147, -0.001985, 0.000331, 0.003723, -0.002529, -0.020264, -0.031099, -0.030751, -0.027355, -0.031960, -0.040301, -0.040107, -0.030883, -0.023717, -0.024764, -0.038626, -0.049844, -0.052232, -0.052227, -0.068758, -0.088853, -0.110131, -0.118940, -0.125623, -0.139267, -0.150404
-0.147234, -0.122517, -0.096928, -0.081168, -0.067667, -0.057299, -0.044252, -0.032443, -0.030321, -0.037537, -0.034091, -0.017946, -0.003430, -0.003912, -0.009807, -0.011897, -0.008144, -0.003054, -0.009226, -0.026037, -0.039774, -0.038967, -0.034867, -0.037244, -0.043301, -0.045683, -0.040373, -0.031648, -0.032516, -0.041435, -0.049670, -0.058216, -0.068111, -0.083771, -0.099720, -0.113914, -0.127152, -0.147164, -0.154335, -0.160429
-0.158273, -0.133270, -0.115417, -0.091514, -0.067230, -0.058936, -0.052044, -0.044265, -0.035939, -0.036139, -0.040261, -0.027272, -0.013186, -0.013542, -0.013861, -0.013039, -0.008873, -0.007381, -0.013661, -0.028296, -0.039834, -0.040777, -0.038878, -0.043689, -0.052118, -0.049598, -0.040967, -0.033006, -0.034674, -0.046396, -0.055599, -0.059550, -0.064319, -0.081374, -0.102252, -0.123352, -0.133457, -0.141361, -0.153732, -0.162842
-0.163985, -0.137959, -0.112560, -0.096319, -0.080136, -0.066032, -0.055239, -0.045154, -0.040025, -0.045969, -0.043949, -0.027366, -0.013946, -0.015938, -0.020205, -0.020363, -0.015098, -0.009180, -0.014372, -0.029472, -0.043361, -0.047060, -0.044514, -0.046874, -0.049002, -0.048900, -0.044376, -0.038649, -0.038640, -0.044392, -0.051377, -0.063703, -0.075619, -0.090800, -0.106410, -0.117386, -0.134056, -0.156076, -0.161317, -0.164352
-0.169328, -0.145232, -0.130536, -0.106804, -0.079563, -0.069719, -0.064499, -0.057419, -0.044854, -0.043388, -0.046350, -0.033538, -0.019578, -0.019911, -0.022262, -0.020217, -0.013577, -0.011777, -0.018283, -0.032001, -0.041685, -0.042622, -0.043564, -0.047741, -0.053702, -0.051118, -0.042753, -0.035469, -0.036813, -0.048548, -0.057071, -0.062776, -0.066666, -0.081272, -0.102125, -0.120857, -0.133965, -0.144835, -0.155386, -0.162296
-0.174195, -0.147149, -0.124193, -0.107844, -0.092439, -0.079965, -0.067838, -0.054727, -0.047991, -0.051406, -0.048628, -0.034037, -0.018244, -0.018863, -0.023209, -0.024508, -0.018643, -0.012967, -0.019073, -0.034525, -0.047431, -0.049212, -0.046173, -0.045697, -0.047429, -0.048119, -0.044775, -0.039874, -0.039932, -0.045759, -0.051624, -0.065144, -0.076265, -0.090425, -0.103435, -0.113760, -0.131897, -0.154919, -0.160239, -0.165805
-0.182561, -0.157658, -0.140669, -0.116638, -0.091799, -0.084003, -0.077296, -0.067061, -0.054018, -0.051473, -0.055342, -0.041953, -0.026010, -0.024838, -0.024730, -0.024400, -0.020117, -0.017292, -0.025480, -0.038031, -0.045972, -0.049371, -0.048599, -0.050784, -0.053543, -0.049795, -0.041647, -0.037489, -0.040859, -0.050387, -0.059536, -0.064606, -0.070159, -0.084596, -0.102330, -0.120388, -0.134318, -0.147666, -0.158329, -0.169645
-0.185359, -0.157558, -0.131731, -0.117546, -0.100084, -0.089652, -0.077197, -0.060971, -0.055224, -0.060475, -0.059241, -0.041946, -0.025511, -0.023695, -0.026481, -0.028896, -0.022794, -0.017925, -0.027362, -0.038360, -0.051689, -0.054773, -0.050138, -0.050791, -0.051434, -0.051241, -0.049361, -0.044589, -0.044599, -0.049575, -0.058380, -0.071201, -0.081492, -0.095400, -0.106904, -0.120585, -0.141445, -0.162992, -0.166815, -0.176471
-0.196082, -0.166958, -0.148924, -0.124362, -0.099268, -0.089224, -0.083847, -0.072393, -0.059968, -0.060778, -0.063197, -0.051714, -0.035522, -0.031973, -0.029103, -0.027414, -0.026238, -0.025612, -0.033610, -0.043246, -0.051063, -0.053604, -0.050845, -0.057947, -0.064302, -0.060114, -0.051503, -0.046237, -0.047593, -0.058820, -0.068816, -0.072418, -0.075854, -0.092028, -0.110957, -0.130835, -0.142765, -0.155778, -0.168639, -0.177908
-0.200300, -0.171321, -0.144331, -0.127095, -0.109905, -0.096309, -0.083512, -0.071281, -0.065010, -0.070142, -0.069848, -0.053726, -0.036597, -0.033447, -0.035503, -0.035330, -0.034016, -0.029435, -0.034186, -0.045152, -0.058465, -0.061283, -0.059673, -0.061314, -0.065187, -0.066523, -0.062808, -0.057136, -0.057148, -0.061304, -0.068774, -0.081868, -0.092308, -0.105321, -0.119247, -0.130699, -0.148070, -0.174184, -0.181326, -0.188999
-0.210978, -0.184754, -0.163399, -0.136324, -0.110831, -0.098993, -0.092695, -0.082435, -0.072148, -0.071655, -0.075002, -0.062925, -0.046288, -0.044239, -0.043506, -0.039959, -0.039265, -0.038697, -0.042598, -0.053324, -0.062799, -0.062659, -0.060035, -0.067710, -0.075688, -0.075506, -0.069265, -0.060182, -0.061386, -0.069283, -0.078029, -0.085454, -0.089592, -0.101379, -0.120476, -0.138711, -0.151708, -0.165282, -0.178453, -0.189651
-0.213823, -0.186222, -0.158513, -0.140422, -0.121378, -0.106957, -0.093131, -0.083539, -0.078151, -0.080226, -0.076733, -0.061965, -0.045421, -0.045943, -0.050881, -0.051294, -0.046266, -0.040289, -0.043641, -0.058750, -0.072077, -0.071710, -0.069723, -0.071302, -0.076957, -0.083019, -0.080095, -0.069503, -0.067251, -0.073316, -0.080551, -0.094333, -0.104093, -0.113464, -0.122254, -0.135871, -0.157887, -0.184133, -0.193983, -0.202171
-0.223648, -0.196956, -0.172755, -0.145972, -0.124713, -0.111993, -0.104786, -0.095984, -0.083477, -0.078793, -0.079990, -0.068091, -0.052115, -0.051193, -0.053526, -0.053014, -0.049966, -0.044288, -0.049525, -0.062762, -0.073232, -0.072006, -0.071171, -0.076765, -0.083899, -0.085304, -0.076928, -0.068839, -0.070375, -0.080444, -0.089973, -0.095778, -0.098567, -0.110535, -0.127832, -0.145316, -0.162515, -0.178885, -0.192816, -0.203364
-0.224755, -0.195540, -0.167739, -0.151826, -0.137850, -0.123829, -0.108701, -0.096483, -0.087211, -0.086128, -0.083904, -0.067125, -0.051459, -0.049813, -0.056470, -0.059854, -0.054588, -0.045736, -0.050423, -0.065929, -0.080947, -0.080407, -0.076883, -0.079984, -0.087131, -0.090107, -0.086714, -0.078370, -0.078387, -0.087787, -0.093730, -0.106154, -0.117145, -0.127281, -0.135589, -0.151872, -0.173965, -0.198997, -0.208778, -0.217297
-0.236412, -0.208303, -0.185907, -0.160665, -0.142679, -0.134650, -0.122917, -0.108172, -0.091731, -0.088118, -0.090214, -0.076740, -0.061674, -0.059377, -0.060620, -0.061344, -0.058130, -0.051690, -0.057795, -0.072844, -0.082404, -0.083815, -0.080383, -0.085699, -0.094873, -0.094414, -0.088375, -0.083196, -0.083701, -0.096367, -0.106204, -0.112475, -0.116630, -0.129931, -0.148242, -0.168045, -0.183552, -0.192899, -0.207597, -0.218212
-0.237287, -0.206152, -0.179789, -0.165392, -0.153328, -0.141575, -0.124247, -0.107707, -0.098006, -0.098279, -0.094075, -0.076129, -0.058939, -0.055824, -0.061223, -0.066850, -0.061029, -0.050364, -0.056406, -0.073349, -0.088519, -0.089802, -0.085554, -0.090894, -0.095761, -0.097451, -0.097298, -0.091280, -0.091221, -0.098982, -0.105068, -0.120914, -0.134946, -0.148633, -0.161257, -0.175263, -0.191837, -0.210962, -0.224154, -0.234785
-0.244892, -0.219822, -0.198629, -0.172720, -0.154475, -0.144890, -0.135139, -0.120020, -0.105250, -0.101039, -0.101008, -0.087588, -0.070567, -0.067107, -0.067615, -0.068201, -0.064559, -0.058672, -0.066341, -0.081607, -0.091026, -0.090784, -0.089355, -0.097357, -0.106002, -0.103992, -0.096717, -0.090707, -0.094152, -0.111377, -0.122097, -0.130857, -0.139237, -0.152123, -0.171285, -0.193055, -0.212451, -0.227079, -0.238595, -0.241892
-0.241288, -0.214481, -0.186985, -0.170045, -0.155410, -0.144508, -0.132037, -0.117802, -0.107757, -0.109608, -0.103491, -0.082870, -0.064308, -0.064005, -0.065106, -0.068039, -0.062985, -0.058956, -0.066495, -0.080766, -0.096005, -0.100514, -0.097092, -0.099911, -0.107930, -0.111969, -0.109479, -0.106917, -0.110140, -0.116409, -0.122318, -0.136523, -0.153991, -0.173235, -0.191881, -0.208770, -0.224630, -0.242501, -0.255860, -0.270545
-0.252568, -0.229471, -0.209208, -0.181703, -0.157178, -0.147318, -0.139416, -0.127420, -0.115907, -0.114291, -0.108872, -0.094413, -0.078117, -0.077561, -0.077469, -0.075725, -0.069815, -0.065316, -0.075619, -0.092149, -0.101235, -0.103101, -0.098071, -0.104493, -0.118503, -0.122364, -0.117171, -0.112725, -0.112465, -0.124729, -0.137475, -0.146765, -0.160303, -0.178019, -0.202943, -0.226301, -0.241417, -0.253458, -0.270105, -0.279430
-0.253365, -0.231416, -0.201769, -0.183800, -0.168858, -0.155590, -0.141248, -0.127344, -0.119347, -0.120530, -0.110964, -0.091796, -0.076677, -0.075151, -0.079195, -0.078767, -0.071936, -0.065997, -0.076345, -0.093900, -0.108021, -0.111656, -0.108413, -0.112178, -0.123620, -0.133219, -0.132920, -0.129961, -0.128081, -0.139346, -0.152586, -0.163616, -0.178862, -0.199189, -0.219177, -0.237676, -0.256572, -0.280020, -0.289513, -0.302499
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh Contact]
version = 1
points =
0.083125, 0.029844, -0.025938, -0.024844, -0.070313, -0.093906, -0.093750, -0.177969, -0.125938, -0.174688, -0.115000, -0.088125, -0.057031, -0.029219, 0.016406
0.191562, 0.169219, 0.124687, 0.104531, 0.061250, 0.037344, 0.016250, -0.051250, -0.045313, -0.053906, -0.015000, -0.011250, 0.020156, 0.066875, 0.076250
0.248281, 0.228437, 0.177344, 0.169062, 0.133125, 0.132656, 0.094844, 0.047187, 0.042500, 0.049062, 0.067187, 0.088281, 0.092344, 0.122812, 0.146875
0.290469, 0.291562, 0.258281, 0.235625, 0.212344, 0.180469, 0.161562, 0.108125, 0.091719, 0.075469, 0.149219, 0.109219, 0.142969, 0.142969, 0.164844
0.290312, 0.320469, 0.270156, 0.252969, 0.236562, 0.205156, 0.201719, 0.160469, 0.156406, 0.136875, 0.192500, 0.184219, 0.200312, 0.202812, 0.206562
0.298125, 0.361250, 0.322031, 0.290469, 0.285937, 0.256562, 0.247031, 0.191250, 0.167500, 0.181094, 0.201406, 0.212812, 0.185469, 0.206875, 0.215781
0.283281, 0.311562, 0.287500, 0.294062, 0.284375, 0.273437, 0.248594, 0.195469, 0.201719, 0.182812, 0.216094, 0.234062, 0.230781, 0.238125, 0.244062
0.254844, 0.279375, 0.269531, 0.291406, 0.273594, 0.275469, 0.252187, 0.195625, 0.198594, 0.177656, 0.217187, 0.225469, 0.217187, 0.229531, 0.220000
0.231406, 0.249531, 0.260312, 0.286094, 0.275000, 0.247031, 0.252969, 0.198281, 0.190937, 0.203750, 0.236406, 0.223437, 0.237812, 0.226250, 0.222031
0.208125, 0.259219, 0.252812, 0.262031, 0.264844, 0.247656, 0.256719, 0.209531, 0.191562, 0.198750, 0.235000, 0.229219, 0.216094, 0.240781, 0.243281
0.183125, 0.238594, 0.252500, 0.269687, 0.275937, 0.267969, 0.264219, 0.219375, 0.220937, 0.208906, 0.268281, 0.239375, 0.233594, 0.251719, 0.245469
0.184531, 0.232031, 0.261719, 0.258437, 0.276875, 0.265781, 0.269375, 0.234375, 0.226094, 0.198906, 0.249219, 0.236562, 0.243750, 0.228906, 0.249219
0.164531, 0.239687, 0.261250, 0.266094, 0.281250, 0.270937, 0.308906, 0.236094, 0.236719, 0.215000, 0.294219, 0.258906, 0.241406, 0.256719, 0.261562
0.184062, 0.245625, 0.241562, 0.264062, 0.299062, 0.306406, 0.291562, 0.251250, 0.262969, 0.226875, 0.290625, 0.265781, 0.252500, 0.267187, 0.260625
0.164844, 0.251875, 0.245000, 0.258281, 0.279219, 0.279062, 0.298750, 0.259219, 0.248906, 0.240156, 0.293125, 0.273750, 0.255312, 0.246406, 0.255156
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 469.96000000000004
min_y = 30.0
max_y = 439.91999999999985
=======================
Extruder max_extrude_ratio=0.598682
Extruder max_extrude_ratio=0.598682
mcu 'mcu': Starting serial connect
mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/RatOS/btt-octopus-11: [Errno 2] No such file or directory: '/dev/RatOS/btt-octopus-11'
webhooks client 4104927696: New connection
webhooks client 4104927696: Client info {'program': 'Moonraker', 'version': 'v0.9.3-0-g71f9e67'}
webhooks client 4104927696: Disconnected
Starting Klippy...
Args: ['/home/pi/klipper/klippy/klippy.py', '/home/pi/printer_data/config/printer.cfg', '-l', '/home/pi/printer_data/logs/klippy.log', '-I', '/home/pi/printer_data/comms/klippy.serial', '-a', '/home/pi/printer_data/comms/klippy.sock']
Git version: 'v0.12.0-396-gb7233d11-dirty'
Untracked files: klippy/extras/beacon.py, klippy/extras/gcode_shell_command.py, klippy/extras/linear_movement_vibrations.py, klippy/extras/ratos.py, klippy/extras/ratos_homing.py, klippy/extras/resonance_generator.py, klippy/extras/z_offset_probe.py, klippy/kinematics/ratos_hybrid_corexy.py
Branch: master
Remote: origin
Tracked URL: https://github.com/Klipper3d/klipper.git
CPU: 4 core ?
Python: '3.9.2 (default, Mar 20 2025, 22:21:41) \n[GCC 10.2.1 20210110]'
Start printer at Thu Oct 16 15:27:25 2025 (1760624845.3 20.1)
===== Config file =====
[mcu rpi]
serial = /tmp/klipper_host_mcu
[board_pins btt-octopus-11]
aliases =
x_step_pin=PF13,
x_dir_pin=PF12,
x_enable_pin=PF14,
x_uart_pin=PC4,
x_diag_pin=PG6,
x_endstop_pin=PG6,
dual_carriage_step_pin=PF9,
dual_carriage_dir_pin=PF10,
dual_carriage_enable_pin=PG2,
dual_carriage_uart_pin=PF2,
dual_carriage_diag_pin=PG12,
dual_carriage_endstop_pin=PG12,
y_step_pin=PG0,
y_dir_pin=PG1,
y_enable_pin=PF15,
y_uart_pin=PD11,
y_diag_pin=PG9,
y_endstop_pin=PG9,
y1_step_pin=PG4,
y1_dir_pin=PC1,
y1_enable_pin=PA0,
y1_uart_pin=PC7,
y1_diag_pin=PG11,
y1_endstop_pin=PG11,
z0_step_pin=PC13,
z0_dir_pin=PF0,
z0_enable_pin=PF1,
z0_uart_pin=PE4,
z0_diag_pin=PG13,
z1_step_pin=PE2,
z1_dir_pin=PE3,
z1_enable_pin=PD4,
z1_uart_pin=PE1,
z1_diag_pin=PG14,
z2_step_pin=PE6,
z2_dir_pin=PA14,
z2_enable_pin=PE0,
z2_uart_pin=PD3,
z2_diag_pin=PG15,
e_step_pin=PF11,
e_dir_pin=PG3,
e_enable_pin=PG5,
e_uart_pin=PC6,
e_heater_pin=PA2,
e_sensor_pin=PF4,
stepper_spi_mosi_pin=PA7,
stepper_spi_miso_pin=PA6,
stepper_spi_sclk_pin=PA5,
adxl345_cs_pin=PA15,
bltouch_sensor_pin=PB7,
bltouch_control_pin=PB6,
probe_pin=PB7,
fan_part_cooling_pin=PA8,
fan_toolhead_cooling_pin=PE5,
fan_controller_board_pin=PD12,
heater_bed_heating_pin=PA1,
heater_bed_sensor_pin=PF3,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu]
serial = /dev/RatOS/btt-octopus-11
[temperature_sensor Octopus_V1.1_F446]
sensor_type = temperature_mcu
[adxl345 controlboard]
cs_pin = PA15
spi_bus = spi3
[board_pins toolboard_t0]
mcu = toolboard_t0
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t0]
serial = /dev/RatOS/btt-ebb42-12-t0
[temperature_sensor EBB42_v1.2_T0]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t0
[adxl345 toolboard_t0]
axes_map = x, z, y
cs_pin = toolboard_t0:PB12
spi_software_mosi_pin = toolboard_t0:PB11
spi_software_miso_pin = toolboard_t0:PB2
spi_software_sclk_pin = toolboard_t0:PB10
[board_pins toolboard_t1]
mcu = toolboard_t1
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t1]
serial = /dev/RatOS/btt-ebb42-12-t1
[temperature_sensor EBB42_v1.2_T1]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t1
[adxl345 toolboard_t1]
axes_map = x, z, y
cs_pin = toolboard_t1:PB12
spi_software_mosi_pin = toolboard_t1:PB11
spi_software_miso_pin = toolboard_t1:PB2
spi_software_sclk_pin = toolboard_t1:PB10
[gcode_macro RatOS]
variable_homing = "endstops"
variable_z_probe = "static"
variable_sensorless_x_current = 0.6
variable_sensorless_y_current = 0.9
variable_safe_home_x = "middle"
variable_safe_home_y = "middle"
variable_driver_type_x = "tmc2209"
variable_driver_type_y = "tmc2209"
variable_stowable_probe_stop_on_error = False
variable_chamber_filter_enable = True
variable_chamber_filter_speed = 0.5
variable_chamber_filter_disable_speed = 1.0
variable_chamber_filter_enable_at = "after_print_start"
variable_chamber_filter_disable_period = 300
variable_chamber_filter_disable_bed_temp = 0
variable_chamber_heater_enable = True
variable_chamber_heater_bed_temp = 115
variable_chamber_heater_preheating_temp = 150
variable_chamber_heater_heating_temp_offset = 25
variable_chamber_heater_control_external_heater = False
variable_chamber_heater_air_circulation_enable = True
variable_chamber_heater_air_circulation_fan_speed = 0.35
variable_chamber_heater_air_circulation_y_pos = 0
variable_chamber_heater_air_circulation_z_pos = 100
variable_chamber_heater_extra_fan_speed = 1.0
variable_chamber_heater_filter_fan_speed = 1.0
variable_led_status_action = 0.0,1.0,1.0
variable_led_status_success = 0.0,1.0,0.0
variable_led_status_error = 1.0,0.0,1.0
variable_led_status_on = 1.0,1.0,1.0
variable_led_status_off = 0.0,0.0,1.0
variable_led_status_standby = 0.1,0.1,0.1
variable_led_status_heating = 1.0,0.0,0.0
variable_led_status_cooling = 0.0,0.0,1.0
variable_calibrate_bed_mesh = True
variable_adaptive_mesh = True
variable_start_print_park_in = "back"
variable_start_print_park_z_height = 50
variable_end_print_park_in = "front"
variable_pause_print_park_in = "front"
variable_end_print_park_z_hop = 20
variable_nozzle_priming = "primeblob"
variable_nozzle_prime_start_x = "max"
variable_nozzle_prime_start_y = "min"
variable_nozzle_prime_direction = "auto"
variable_nozzle_prime_bridge_fan = 102
variable_probe_for_priming_result = None
variable_probe_for_priming_end_result = None
variable_probe_for_priming_result_t1 = None
variable_probe_for_priming_end_result_t1 = None
variable_probe_for_priming_disable_mesh_constraints = False
variable_adaptive_prime_offset_threshold = -1.0
variable_last_z_offset = None
variable_runout_park_in = "front"
variable_enable_unload_tip_forming = False
variable_filament_unload_length = 150
description = RatOS variable storage macro, will echo variables to the console when run.
variable_relative_extrusion = True
variable_force_absolute_position = False
variable_preheat_extruder = True
variable_preheat_extruder_temp = 150
variable_macro_travel_speed = 600
variable_macro_travel_accel = 8000
variable_macro_z_speed = 15
variable_bed_margin_x = [59.8, 59.8]
variable_bed_margin_y = [14.35, 33.65]
variable_printable_x_min = 0
variable_printable_x_max = 0
variable_printable_y_min = 0
variable_printable_y_max = 0
variable_end_print_motors_off = True
variable_status_color_ok = "00FF00"
variable_status_color_error = "FF0000"
variable_status_color_unknown = "FFFF00"
variable_end_print_retract_filament = 10
gcode =
ECHO_RATOS_VARS
variable_auto_center_subject = False
variable_toolchange_zhop = 2.0
variable_toolchange_zspeed = 25
variable_toolchange_sync_fans = False
variable_toolchange_combined_zhop = False
variable_toolchange_travel_speed = 600
variable_toolchange_travel_accel = 8000
variable_toolchange_extrusion = 2.0
variable_toolchange_retraction = 2.0
variable_toolchange_feedrate = 7200
variable_toolchange_prepurging_timer = 0
variable_toolchange_standby_temp = -1
variable_toolchange_purge = 25
variable_toolchange_first_purge = 50
variable_beacon_bed_mesh_scv = 25
variable_beacon_contact_z_homing = False
variable_beacon_contact_start_print_true_zero = True
variable_beacon_contact_wipe_before_true_zero = True
variable_beacon_contact_true_zero_temp = 150
variable_beacon_contact_prime_probing = True
variable_beacon_contact_expansion_compensation = True
variable_beacon_contact_bed_mesh = False
variable_beacon_contact_bed_mesh_samples = 2
variable_beacon_contact_z_tilt_adjust = False
variable_beacon_contact_z_tilt_adjust_samples = 2
variable_beacon_scan_compensation_enable = True
variable_beacon_scan_compensation_profile = "ratos"
variable_beacon_scan_compensation_probe_count = 15,15
variable_beacon_contact_poke_bottom_limit = -1
variable_homing_x = "endstop"
variable_homing_y = "endstop"
variable_default_toolhead = 0
variable_adxl_chip = ["adxl345 toolboard_t0", "adxl345 toolboard_t1"]
variable_shaper_x_freq = [52.8, 49.2, 50.7, 48.8]
variable_shaper_y_freq = [38.2, 37.0, 32.3, 33.1]
variable_shaper_x_type = ["mzv", "mzv", "mzv", "mzv"]
variable_shaper_y_type = ["mzv", "mzv", "mzv", "mzv"]
variable_x_driver_types = ["tmc2209"]
variable_x_axes = ["x"]
variable_y_driver_types = ["tmc2209", "tmc2209"]
variable_y_axes = ["y", "y1"]
variable_z_driver_types = ["tmc2209", "tmc2209", "tmc2209"]
variable_z_axes = ["z", "z1", "z2"]
variable_home_y_first = True
[ratos_homing]
axes = xyz
z_hop = 15
z_hop_speed = 15
gcode =
_LED_ON
{% set prev_stop_on_error = printer["gcode_macro RatOS"].stowable_probe_stop_on_error %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set target_idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE=True
M400
G90
{% set X = true if params.X is defined else false %}
{% set Y = true if params.Y is defined else false %}
{% set Z = true if params.Z is defined else false %}
{% if printer["gcode_macro RatOS"].home_y_first|default(false)|lower == 'true' %}
HOME_Y X={X} Y={Y} Z={Z}
HOME_X X={X} Y={Y} Z={Z}
{% else %}
HOME_X X={X} Y={Y} Z={Z}
HOME_Y X={X} Y={Y} Z={Z}
{% endif %}
HOME_Z X={X} Y={Y} Z={Z}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE={prev_stop_on_error}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[gcode_macro HOME_X]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_x = printer["gcode_macro RatOS"].homing_x|lower %}
{% set homing_x = homing_x if homing_x else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_X" MSG="printable_x_max: {printable_x_max}, safe_home_x: {safe_home_x}, axis_maximum.x: {printer.toolhead.axis_maximum.x}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}"
{% if X or not Y and not Z %}
{% if homing_x == 'endstop' %}
G28 X
{% elif homing_x == 'sensorless' %}
{% if printer["dual_carriage"] is defined %}
{ action_emergency_stop("sensorless homing not supported on IDEX!") }
{% endif %}
HOME_X_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_x to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_x, homing)) }
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1} MODE=PRIMARY
G1 X{parking_position} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% endif %}
{% set x_homed = True %}
G0 X{safe_home_x} F{speed}
M400
{% endif %}
[gcode_macro HOME_Y]
gcode =
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_y = printer["gcode_macro RatOS"].homing_y|lower %}
{% set homing_y = homing_y if homing_y else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Y" MSG="printable_y_max: {printable_y_max}, safe_home_y: {safe_home_y}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}"
{% if Y or not X and not Z %}
{% if homing_y == 'endstop' %}
G28 Y
{% elif homing_y == 'sensorless' %}
HOME_Y_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_y to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_y, homing)) }
{% endif %}
{% set y_homed = True %}
G0 Y{safe_home_y} F{speed}
{% endif %}
[gcode_macro HOME_Z]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set z_probe = printer["gcode_macro RatOS"].z_probe %}
{% set beacon_contact_z_homing = true if printer["gcode_macro RatOS"].beacon_contact_z_homing|default(false)|lower == 'true' else false %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Z" MSG="x_homed: {x_homed}, y_homed: {y_homed}, z_probe: {z_probe}, beacon_contact_z_homing: {beacon_contact_z_homing}"
{% if Z or not Y and not X %}
RATOS_ECHO MSG="Homing Z"
{% if x_homed == False or y_homed == False %}
{ action_emergency_stop("X and Y must be homed before homing Z") }
{% else %}
{% if z_probe == "stowable" %}
DEPLOY_PROBE
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
STOW_PROBE
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
{% endif %}
{% endif %}
{% endif %}
[gcode_macro HOME_X_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
G4 P300
G28 X
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
[gcode_macro HOME_Y_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
G4 P300
G28 Y
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
[gcode_macro _Z_HOP]
description = Move Z axis up by Z_HOP distance at Z_HOP_SPEED. In relative mode it will move Z axis up by Z_HOP distance. In absolute mode it will move Z axis to Z_HOP distance.
gcode =
{% set z_hop = printer.configfile.config.ratos_homing.z_hop|float %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
G0 Z{z_hop} F{z_hop_speed}
[gcode_macro _MOVE_TO_SAFE_Z_HOME]
description = Move to safe home position with optional Z_HOP (pass Z_HOP=True as parameter)
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% if params.Z_HOP is defined %}
_Z_HOP
{% endif %}
DEBUG_ECHO PREFIX="_MOVE_TO_SAFE_Z_HOME" MSG="axis_maximum.x: {printer.toolhead.axis_maximum.x}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}, safe_home_x: {safe_home_x}, safe_home_y: {safe_home_y}, printable_x_max: {printable_x_max}, printable_y_max: {printable_y_max}"
G0 X{safe_home_x} Y{safe_home_y} F{speed}
[gcode_macro MAYBE_HOME]
description = Only home unhomed axis
variable_is_kinematic_position_overriden = False
gcode =
{% if printer["gcode_macro MAYBE_HOME"].is_kinematic_position_overriden|lower == 'true' %}
RATOS_ECHO MSG="SET_CENTER_KINEMATIC_POSITION has been abused. Homing all axes. Please refrain from using SET_CENTER_KINEMATIC_POSITION outside of debugging purposes."
G28
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=False
{% else %}
{% set axes = '' %}
{% set isHomed = true %}
{% set axesToHome = '' %}
{% if params.X is defined %}
{% set axes = axes ~ 'X ' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% endif %}
{% if params.Y is defined %}
{% set axes = axes ~ 'Y ' %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% endif %}
{% if params.Z is defined %}
{% set axes = axes ~ 'Z ' %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if params.X is not defined and params.Y is not defined and params.Z is not defined %}
{% set axes = '' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if isHomed is false %}
RATOS_ECHO MSG="Homing {axesToHome}"
G28 {axesToHome}
{% else %}
RATOS_ECHO MSG="All requested axes already homed, skipping.."
{% endif %}
{% endif %}
[gcode_macro PID_CALIBRATE_HOTEND]
description = Perform a PID calibration test for a given extruder heater.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set temp = params.TEMP|default(220)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_HOTEND" MSG="TEMP={temp}"
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO MSG="PID calibration hotend heater T0 at {temp}°C..."
PID_CALIBRATE HEATER=extruder TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
{% if toolhead==0 or toolhead==1 %}
RATOS_ECHO MSG="PID calibration hotend heater T{toolhead} at {temp}°C..."
PID_CALIBRATE HEATER=extruder{'' if toolhead==0 else toolhead} TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_BED]
description = Perform a PID calibration test for the bed heater.
gcode =
{% set temp = params.TEMP|default(80)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_BED" MSG="TEMP={temp}"
RATOS_ECHO MSG="PID calibration bed heater at {temp}°C..."
PID_CALIBRATE HEATER=heater_bed TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_CHAMBER_HEATER]
description = Perform a PID calibration test for the chamber heater.
gcode =
{% set temp = params.TEMP|default(150)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_CHAMBER_HEATER" MSG="TEMP={temp}"
{% if printer["heater_generic chamber_heater"] is defined %}
RATOS_ECHO MSG="PID calibration chamber heater at {temp}°C..."
PID_CALIBRATE HEATER=chamber_heater TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_heater" %}
{% set link_text = "RatOS Chamber Heater" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber heater found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro INITIALIZE_PA_TUNING]
description = Start a pressure advance tuning tower.
gcode =
{% set start = params.START|default(0.0)|float %}
{% set factor = params.FACTOR|default(0.001)|float %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if is_printing_gcode and layer_number < 2 %}
DEBUG_ECHO PREFIX="START_PA_TOWER" MSG="START: {start}, FACTOR: {factor}"
RATOS_ECHO MSG="Starting presssure advance tuning tower..."
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START={start} FACTOR={factor}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro CHAMBER_FILTER_ON]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro CHAMBER_FILTER_OFF]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Deactivating chamber filter..."
_CHAMBER_FILTER_TURN_OFF
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro _CHAMBER_FILTER_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set chamber_filter_enable_at = printer["gcode_macro RatOS"].chamber_filter_enable_at|default('after_print_start')|lower %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_ON" MSG="at: {at}, chamber_filter_enable: {chamber_filter_enable}, chamber_filter_enable_at: {chamber_filter_enable_at}, chamber_filter_speed: {chamber_filter_speed}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if chamber_filter_enable_at == at %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON AT={at}
{% if chamber_filter_enable_at == "print_end" %}
_LED_CHAMBER_FILTER_ON
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_FILTER_OFF]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF" MSG="chamber_filter_enable: {chamber_filter_enable}, filter_disable_period: {filter_disable_period}, filter_disable_bed_temp: {filter_disable_bed_temp}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_period > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting {filter_disable_period} seconds before turning chamber filter off..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION={filter_disable_period}
{% endif %}
{% if filter_disable_bed_temp > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting for bed temp to cool down to {filter_disable_bed_temp}°C to turn filter off..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=0 MAXIMUM={filter_disable_bed_temp}
_CHAMBER_FILTER_TURN_OFF
_LED_CHAMBER_FILTER_OFF
{% endif %}
{% endif %}
[delayed_gcode _CHAMBER_FILTER_OFF_TIMER]
gcode =
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF_TIMER" MSG="executed"
_CHAMBER_FILTER_TURN_OFF
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Chamber filter turned off!"
_LED_CHAMBER_FILTER_OFF
[gcode_macro _CHAMBER_FILTER_TURN_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_speed|default(0)|float %}
{% if at == "print_end" %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_disable_speed|default(0)|float %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION=0
SET_FAN_SPEED FAN=filter SPEED={chamber_filter_speed}
[gcode_macro _CHAMBER_FILTER_TURN_OFF]
gcode =
SET_FAN_SPEED FAN=filter SPEED=0
[gcode_macro _CHAMBER_FILTER_SANITY_CHECK]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_bed_temp > 0 and filter_disable_period > 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable, not both.")}
{% endif %}
{% if filter_disable_bed_temp == 0 and filter_disable_period == 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable.")}
{% endif %}
{% endif %}
[gcode_macro CHAMBER_HEATER_ON]
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(45)|int %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp} IS_FROM_START_PRINT=False
[gcode_macro CHAMBER_HEATER_OFF]
gcode =
_CHAMBER_HEATER_OFF
[gcode_macro _CHAMBER_HEATER_ON]
variable_chamber_temp = 0
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set is_from_start_print = true if params.IS_FROM_START_PRINT|default(True)|lower == 'true' else false %}
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set chamber_heater_enable = true if printer["gcode_macro RatOS"].chamber_heater_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
{% set chamber_heater_preheating_temp = printer["gcode_macro RatOS"].chamber_heater_preheating_temp|default(150)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set chamber_heater_control_external_heater = true if printer["gcode_macro RatOS"].chamber_heater_control_external_heater|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_enable = true if printer["gcode_macro RatOS"].chamber_heater_air_circulation_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_fan_speed = printer["gcode_macro RatOS"].chamber_heater_air_circulation_fan_speed|default(0.35)|float %}
{% set chamber_heater_air_circulation_y_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_y_pos|default(0)|float %}
{% set chamber_heater_air_circulation_z_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_z_pos|default(100)|float %}
DEBUG_ECHO PREFIX="_CHAMBER_HEATER_ON" MSG="chamber_heater_enable: {chamber_heater_enable}, chamber_heater_preheating_temp: {chamber_heater_preheating_temp}, chamber_heater_heating_temp_offset: {chamber_heater_heating_temp_offset}, bed_temp: {bed_temp}, chamber_temp: {chamber_temp}, start_chamber_temp: {start_chamber_temp}"
{% if chamber_heater_enable and chamber_temp > 0 and chamber_heater_bed_temp > 0 %}
_LED_HEATING
RATOS_ECHO MSG="Preheating chamber to {(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}°C..."
{% set chamber_temp_sensor = "extruder" %}
{% if printer["dual_carriage"] is defined and default_toolhead == 1 %}
{% set chamber_temp_sensor = "extruder1" %}
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% set chamber_temp_sensor = "temperature_sensor chamber" %}
{% endif %}
{% set current_chamber_temp = printer['%s' % chamber_temp_sensor].temperature|int %}
{% set needs_heating = current_chamber_temp < (start_chamber_temp if start_chamber_temp > 0 else chamber_temp) %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_BEFORE_PREHEATING
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
{% if not is_from_start_print %}
MAYBE_HOME
{% endif %}
G0 Z{chamber_heater_air_circulation_z_pos} F{z_speed}
G0 Y{chamber_heater_air_circulation_y_pos} F{speed}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 1 else 0}
{% else %}
M106 S{(255 * chamber_heater_air_circulation_fan_speed)}
{% endif %}
{% else %}
{% if is_from_start_print %}
G0 Z{z} F{z_speed}
{% endif %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE={chamber_temp}
{% if needs_heating %}
M140 S{chamber_heater_bed_temp}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={chamber_heater_preheating_temp}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if needs_heating %}
_CHAMBER_HEATER_EXTRA_FAN_ON
{% endif %}
{% if needs_heating %}
TEMPERATURE_WAIT SENSOR="{chamber_temp_sensor}" MINIMUM={(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% endif %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED=0
_CHAMBER_FILTER_ON AT="before_print_start"
{% endif %}
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
G28 Z
{% endif %}
{% endif %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_AFTER_PREHEATING
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% if printer["heater_generic chamber_heater"] is defined %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined and chamber_heater_control_external_heater %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
_LED_SUCCESS
{% endif %}
[gcode_macro _CHAMBER_HEATER_OFF]
gcode =
RATOS_ECHO MSG="Deactivating chamber heater..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=0
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE=0
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
_CHAMBER_HEATER_EXTRA_FAN_OFF
[delayed_gcode _CHAMBER_HEATER_CONTROL]
initial_duration = 0.
gcode =
{% set chamber_temp = printer["gcode_macro _CHAMBER_HEATER_ON"].chamber_temp|default(0)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set current_chamber_temp = printer['temperature_sensor chamber'].temperature|int %}
{% if current_chamber_temp < chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if current_chamber_temp >= chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_ON]
gcode =
{% set chamber_heater_extra_fan_speed = printer["gcode_macro RatOS"].chamber_heater_extra_fan_speed|default(0.0)|float %}
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
{% if chamber_heater_extra_fan_speed > 0 %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED={chamber_heater_extra_fan_speed}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_OFF]
gcode =
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED=0
{% endif %}
[gcode_macro _USER_CHAMBER_HEATER_BEFORE_PREHEATING]
description = Will be executed before chamber preheating, only if heating is needed.
gcode =
[gcode_macro _USER_CHAMBER_HEATER_AFTER_PREHEATING]
description = Will be executed after chamber preheating, only if heating was needed.
gcode =
[gcode_macro _LED_START_PRINTING]
gcode =
_LED_ACTION
[gcode_macro _LED_START_PRINTING_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_PRINTING]
gcode =
_LED_ON TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_PAUSE]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_ON]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_OFF]
gcode =
_LED_STANDBY
[gcode_macro _LED_LOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_LOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_RUNOUT]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_CLOG]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_UNLOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_UNLOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_DEACTIVATE_TOOLHEAD]
gcode =
_LED_OFF TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_STANDBY]
gcode =
_LED_STANDBY TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_WAKEUP]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_MOTORS_OFF]
gcode =
_LED_STANDBY
_LED_VAOC_OFF
[gcode_macro _LED_INPUT_SHAPER_START]
gcode =
_LED_ACTION
[gcode_macro _LED_INPUT_SHAPER_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_START]
gcode =
_LED_ACTION
[gcode_macro _LED_BEACON_CALIBRATION_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_VAOC_ON]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=1.0 GREEN=1.0 BLUE=1.0
{% endif %}
[gcode_macro _LED_VAOC_OFF]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=0.0 GREEN=0.0 BLUE=0.0
{% endif %}
[gcode_macro _LED_ACTION]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_action %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SUCCESS]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_success %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_HEATING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_heating %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_COOLING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_cooling %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ERROR]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_error %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ON]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_on %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_OFF]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_off %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_STANDBY]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_standby %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
{% if toolhead >= 0 %}
{% if printer['neopixel nozzle_led_t%s' % toolhead] is defined %}
SET_LED LED={'nozzle_led_t%s' % toolhead} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% else %}
{% if printer['neopixel nozzle_led_t0'] is defined %}
SET_LED LED={'nozzle_led_t0'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% if printer['neopixel nozzle_led_t1'] is defined %}
SET_LED LED={'nozzle_led_t1'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% endif %}
_USER_LED_SET { rawparams }
[gcode_macro _USER_LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
[gcode_macro LOAD_FILAMENT]
description = Loads new filament. Note: be careful with PETG, make sure you inspect the tip of your filament before loading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% if filament_name == '' or filament_type == '' %}
{% set filament_name = 'unknown' %}
{% set filament_type = 'unknown' %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_LOAD_FILAMENT TEMP={temp} NAME={filament_name} TYPE={filament_type}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_LOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME={filament_name} TYPE={filament_type}
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _DEFAULT_LOAD_FILAMENT]
description = Load filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_LOAD_FILAMENT" MSG="TEMP={temp}"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=load_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
_LOAD_FILAMENT TOOLHEAD=0
RESTORE_GCODE_STATE NAME=load_state
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD=0
[gcode_macro _IDEX_LOAD_FILAMENT]
description = Load filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_LOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
_LOAD_FILAMENT TOOLHEAD={toolhead} TEMP={temp}
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into hotend.."
G92 E0
G0 E{extruder_gear_to_cooling_position_distance} F{extruder_load_speed}
G92 E0
M400
RATOS_ECHO MSG="Filament loaded into hotend."
[gcode_macro _LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set load_speed = printer["gcode_macro T%s" % toolhead].filament_load_speed|float * 60 %}
{% set filament_loading_nozzle_offset = printer["gcode_macro T%s" % toolhead].filament_loading_nozzle_offset|float %}
{% set cooling_position_to_nozzle_distance = printer["gcode_macro T%s" % toolhead].cooling_position_to_nozzle_distance|float %}
{% set purge_after_load = printer["gcode_macro T%s" % toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into nozzle... Please wait!"
G92 E0
G0 E{cooling_position_to_nozzle_distance + filament_loading_nozzle_offset} F{load_speed}
G92 E0
G4 P1000
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge_after_load}
RATOS_ECHO MSG="Filament loaded into nozzle!"
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
{% set filament_grabbing_length = printer["gcode_macro T%s" % toolhead].filament_grabbing_length|float %}
{% set filament_grabbing_speed = printer["gcode_macro T%s" % toolhead].filament_grabbing_speed|float %}
{% set resume_after_insert = true if printer["gcode_macro T%s" % toolhead].resume_after_insert|default(true)|lower == 'true' else false %}
{% set enable_insert_detection = true if printer["gcode_macro T%s" % toolhead].enable_insert_detection|default(true)|lower == 'true' else false %}
{% set current_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% if enable_insert_detection %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="toolhead: {toolhead}, filament_grabbing_length: {filament_grabbing_length}, filament_grabbing_speed: {filament_grabbing_speed}, current_idex_mode: {current_idex_mode}"
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
FORCE_MOVE STEPPER={'extruder%s' % ('' if toolhead == 0 else toolhead)} DISTANCE={filament_grabbing_length} VELOCITY={filament_grabbing_speed}
M400
{% if printer.pause_resume.is_paused %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% if resume_after_insert %}
RESUME
{% endif %}
{% else %}
{% if not printer.virtual_sdcard.is_active %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
[gcode_macro _PURGE_BEFORE_UNLOAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set purge_before_unload = printer["gcode_macro T%s" % toolhead].purge_before_unload|float %}
DEBUG_ECHO PREFIX="_PURGE_BEFORE_UNLOAD" MSG="TOOLHEAD: {toolhead}"
{% if purge_before_unload > 0 %}
G92 E0
G0 E{purge_before_unload} F300
G92 E0
M400
{% endif %}
[gcode_macro _PURGE_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set e = params.E|int %}
{% set r = params.R|default(0)|int %}
DEBUG_ECHO PREFIX="_PURGE_FILAMENT" MSG="TOOLHEAD: {toolhead}, E: {e}"
{% if e > 0 %}
G92 E0
G0 E{e} F300
G92 E0
M400
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={0.4 if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={0.4 if toolhead == 1 else 0}
{% else %}
M106 S{(255 * 0.4)}
{% endif %}
{% endif %}
G4 P3000
{% if r > 0 %}
G92 E0
G0 E-{r} F300
G92 E0
M400
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_PARKING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_PARKING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_LOADING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_LOADING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if act_t == toolhead %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{loading_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CLEANING_MOVE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined and printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set cleaning_position = loading_position %}
{% if loading_position == parking_position %}
{% if loading_position > 0 %}
{% set cleaning_position = loading_position - 30 %}
{% else %}
{% set cleaning_position = loading_position + 30 %}
{% endif %}
{% endif %}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _START_PRINT_BED_MESH]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
SET_MACRO_TRAVEL_SETTINGS
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set X=[params.X0|default(-1)|float, params.X1|default(-1)|float] %}
{% set Y=[params.Y0|default(-1)|float, params.Y1|default(-1)|float] %}
DEBUG_ECHO PREFIX="_START_PRINT_BED_MESH" MSG="idex_mode: {idex_mode}, X: {X}, Y: {Y}"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set X=[0, printable_x_max] %}
{% endif %}
{% set beacon_bed_mesh_scv = printer["gcode_macro RatOS"].beacon_bed_mesh_scv|default(25)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% if printer.configfile.settings.beacon is defined and not beacon_contact_bed_mesh %}
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={beacon_bed_mesh_scv}
{% endif %}
{% set default_profile = printer["gcode_macro RatOS"].bed_mesh_profile|default('ratos') %}
{% if printer["gcode_macro RatOS"].calibrate_bed_mesh|lower == 'true' %}
BED_MESH_CLEAR
{% if printer["gcode_macro RatOS"].adaptive_mesh|lower == 'true' %}
CALIBRATE_ADAPTIVE_MESH PROFILE={default_profile} X0={X[0]} X1={X[1]} Y0={Y[0]} Y1={Y[1]} T={params.T|int} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={idex_mode}
{% else %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% endif %}
BED_MESH_PROFILE LOAD={default_profile}
{% elif printer["gcode_macro RatOS"].bed_mesh_profile is defined %}
BED_MESH_CLEAR
BED_MESH_PROFILE LOAD={printer["gcode_macro RatOS"].bed_mesh_profile}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
[gcode_macro CALIBRATE_ADAPTIVE_MESH]
gcode =
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set default_profile = params.PROFILE %}
{% set x0 = params.X0|default(-1)|float %}
{% set y0 = params.Y0|default(-1)|float %}
{% set x1 = params.X1|default(-1)|float %}
{% set y1 = params.Y1|default(-1)|float %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Recieved coordinates X0={x0} Y0={y0} X1={x1} Y1={y1}"
{% if x0 >= x1 or y0 >= y1 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Invalid coordinates received. Please check your slicer settings. Falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float %}
{% set mesh_x0 = [[x0, max_x]|min, min_x]|max %}
{% set mesh_y0 = [[y0, max_y]|min, min_y]|max %}
{% set mesh_x1 = [[x1, max_x]|min, min_x]|max %}
{% set mesh_y1 = [[y1, max_y]|min, min_y]|max %}
{% if mesh_x0 == min_x and mesh_y0 == min_y and mesh_x1 == max_x and mesh_y1 == max_y %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Print is using the full bed, falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% set probe_count_x = mesh_config.probe_count.split(",")[0]|int %}
{% if mesh_config.probe_count.split(",")|length == 2 %}
{% set probe_count_y = mesh_config.probe_count.split(",")[1]|int %}
{% else %}
{% set probe_count_y = mesh_config.probe_count.split(",")[0]|int %}
{% endif %}
{% set probe_x_step = (max_x - min_x) / probe_count_x %}
{% set probe_y_step = (max_y - min_y) / probe_count_y %}
{% set mesh_count_x = ([(mesh_x1 - mesh_x0) / probe_x_step, 3]|max)|int %}
{% set mesh_count_y = ([(mesh_y1 - mesh_y0) / probe_y_step, 3]|max)|int %}
{% set min_mesh_count = [mesh_count_x, mesh_count_y]|min %}
{% set max_mesh_count = [mesh_count_x, mesh_count_y]|max %}
{% set algorithm = mesh_config.algorithm %}
{% if algorithm|lower == 'lagrange' and max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="cannot exceed a probe_count of 6 when using lagrange interpolation. Falling back to bicubic interpolation."
{% set algorithm = 'bicubic' %}
{% endif %}
{% if algorithm|lower == 'bicubic' and min_mesh_count < 4 %}
{% if max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="invalid probe_count option when using bicubic interpolation. Combination of 3 points on one axis with more than 6 on another is not permitted. Forcing minimum mesh count to be 4."
{% set min_mesh_count = 4 %}
{% else %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="bicubic interpolation with a probe_count of less than 4 points detected. Forcing lagrange interpolation."
{% set algorithm = 'lagrange' %}
{% endif %}
{% endif %}
{% set mesh_count_x = ([min_mesh_count, mesh_count_x]|max)|int %}
{% set mesh_count_x = ([max_mesh_count, mesh_count_x]|min)|int %}
{% set mesh_count_y = ([min_mesh_count, mesh_count_y]|max)|int %}
{% set mesh_count_y = ([max_mesh_count, mesh_count_y]|min)|int %}
{% set should_prime = printer["gcode_macro RatOS"].nozzle_priming == 'primeblob' %}
{% if printer["dual_carriage"] is not defined %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% else %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% endif %}
{% if printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 != 0 and probe_first %}
{% set probe_first = false %}
{% elif printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 == 0 and not probe_first %}
{% set probe_first = true %}
{% endif %}
{% if should_prime and probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="mesh coordinates X0={mesh_x0} Y0={mesh_y0} X1={mesh_x1} Y1={mesh_y1}"
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% if should_prime and not probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
STOW_PROBE
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M84]
rename_existing = M84.1
gcode =
M84.1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
{% if printer["dual_carriage"] is defined %}
_SET_TOOLHEAD_OFFSET T={printer["gcode_macro RatOS"].default_toolhead|int} MOVE=0
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro _VAOC"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
{% endif %}
SET_GCODE_OFFSET X=0 Y=0 Z=0 MOVE=0
_IDEX_SINGLE INIT=1
{% endif %}
SET_SKEW CLEAR=1
_LED_MOTORS_OFF
[gcode_macro M104]
rename_existing = M104.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
DEBUG_ECHO PREFIX="M104" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set temperature_offset_t0 = printer["gcode_macro T0"].temperature_offset|default(0)|int %}
{% set temperature_offset_t1 = printer["gcode_macro T1"].temperature_offset|default(0)|int %}
{% set s0 = [s + temperature_offset_t0, 0]|max %}
{% set s1 = [s + temperature_offset_t1, 0]|max %}
{% if temperature_offset_t0 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t0}°C added to toolhead T0."
{% endif %}
{% if temperature_offset_t1 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t1}°C added to toolhead T1."
{% endif %}
{% else %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
M104.1 S{s0} T0
M104.1 S{s1} T1
{% else %}
M104.1 S{s} T{t}
{% endif %}
{% endif %}
[gcode_macro M109]
rename_existing = M109.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
DEBUG_ECHO PREFIX="M109" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M109" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
M109.1 S{s} T{t}
{% endif %}
[gcode_macro SET_HEATER_TEMPERATURE]
rename_existing = SET_HEATER_TEMPERATURE_BASE
gcode =
{% set heater = params.HEATER|default("") %}
{% set target = params.TARGET|default(0)|int %}
DEBUG_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="heater: {heater}, target: {target}"
{% if heater|lower == "extruder" or heater|lower == "extruder1" %}
{% set t = 0 if heater|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and target > 0 %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set target = [target + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
SET_HEATER_TEMPERATURE_BASE HEATER="{heater}" TARGET={target}
[gcode_macro TEMPERATURE_WAIT]
rename_existing = TEMPERATURE_WAIT_BASE
gcode =
{% set sensor = params.SENSOR|default("") %}
{% set minimum = params.MINIMUM|default(-1)|int %}
{% set maximum = params.MAXIMUM|default(-1)|int %}
DEBUG_ECHO PREFIX="TEMPERATURE_WAIT" MSG="sensor: {sensor}, minimum: {minimum}, maximum: {maximum}"
{% if sensor|lower == "extruder" or sensor|lower == "extruder1" %}
{% set t = 0 if sensor|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and (minimum > 0 or maximum > 0) %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% if minimum > -1 %}
{% set minimum = [minimum + temperature_offset, 0]|max %}
{% endif %}
{% if maximum > -1 %}
{% set maximum = [maximum + temperature_offset, 0]|max %}
{% endif %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% if minimum > -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum} MAXIMUM={maximum}
{% elif minimum > -1 and maximum == -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum}
{% elif minimum == -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MAXIMUM={maximum}
{% endif %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature for toolhead T{t} reached."
[gcode_macro SET_GCODE_OFFSET]
rename_existing = SET_GCODE_OFFSET_ORG
gcode =
SET_GCODE_OFFSET_ORG { rawparams }
{% if printer.configfile.settings.beacon is defined and (params.Z_ADJUST is defined or params.Z is defined) %}
_BEACON_APPLY_RUNTIME_MULTIPLIER
{% endif %}
[gcode_macro SDCARD_PRINT_FILE]
rename_existing = SDCARD_PRINT_FILE_BASE
gcode =
{% if printer["ratos"] is defined %}
PROCESS_GCODE_FILE { rawparams }
{% else %}
SDCARD_PRINT_FILE_BASE { rawparams }
{% endif %}
[gcode_macro SKEW_PROFILE]
rename_existing = SKEW_PROFILE_BASE
variable_loaded_profile = ""
gcode =
{% if params.LOAD is defined %}
{% if printer.configfile.settings["skew_correction %s" % params.LOAD] is defined %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='"{params.LOAD}"'
{% endif %}
{% endif %}
SKEW_PROFILE_BASE { rawparams }
[gcode_macro SET_SKEW]
rename_existing = SET_SKEW_BASE
gcode =
{% if params.CLEAR is defined %}
{% if params.CLEAR|default(0)|int == 1 %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='""'
{% endif %}
{% endif %}
SET_SKEW_BASE { rawparams }
[gcode_macro SET_VELOCITY_LIMIT]
rename_existing = SET_VELOCITY_LIMIT_BASE
gcode =
{% if params.ACCEL_TO_DECEL is defined %}
{% if params.ACCEL is defined %}
{% set accel = params.ACCEL|float %}
{% else %}
{% set accel = printer.toolhead.max_accel|float %}
{% endif %}
{% if params.VELOCITY is defined %}
{% set velocity = params.VELOCITY|float %}
{% else %}
{% set velocity = printer.toolhead.max_velocity|float %}
{% endif %}
{% if params.SQUARE_CORNER_VELOCITY is defined %}
{% set scv = params.SQUARE_CORNER_VELOCITY|float %}
{% else %}
{% set scv = printer.toolhead.square_corner_velocity|float %}
{% endif %}
{% set mcr = params.ACCEL_TO_DECEL|float / accel %}
DEBUG_ECHO PREFIX="SET_VELOCITY_LIMIT" MSG="ACCEL={accel}, VELOCITY={velocity}, SQUARE_CORNER_VELOCITY={scv}, MINIMUM_CRUISE_RATIO={mcr}"
SET_VELOCITY_LIMIT_BASE ACCEL={accel} VELOCITY={velocity} SQUARE_CORNER_VELOCITY={scv} MINIMUM_CRUISE_RATIO={1-mcr}
{% else %}
SET_VELOCITY_LIMIT_BASE { rawparams }
{% endif %}
[gcode_macro _START_PRINT_PARK]
gcode =
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_x = printer["gcode_macro RatOS"].start_print_park_x %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% endif %}
{% if printer["dual_carriage"] is defined and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
{% if printer["gcode_macro RatOS"].start_print_park_x is defined and printer["gcode_macro RatOS"].start_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="start_print_park_x is ignored for IDEX printers"
{% endif %}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={start_print_park_in} X={start_print_park_x}
G0 Z{z} F{z_speed}
[gcode_macro _END_PRINT_PARK]
gcode =
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro RatOS"].end_print_park_x is defined and printer["gcode_macro RatOS"].end_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="end_print_park_x is ignored for IDEX printers"
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={printer["gcode_macro RatOS"].end_print_park_in} X={printer["gcode_macro RatOS"].end_print_park_x}
[gcode_macro _PARK]
gcode =
{% set x = params.X %}
{% set location = params.LOCATION|default('back')|lower %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set nozzle_priming = printer["gcode_macro RatOS"].nozzle_priming|lower %}
CACHE_TOOLHEAD_SETTINGS KEY="park"
SET_MACRO_TRAVEL_SETTINGS
{% if x != '' %}
{% if x|float >= printer.toolhead.axis_minimum.x + 5 and x|float <= printable_x_max - 5 %}
{% set park_x = x|float %}
{% else %}
{action_respond_info('The requested X co-ordinate is outside the defined axis bounds - using defaults')}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% else %}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% set park_y = printable_y_max - 15 %}
{% if location == 'front' %}
{% set park_y = printer.toolhead.axis_minimum.y + 5 %}
{% elif location == 'center' %}
{% set park_y = printable_y_max / 2 %}
{% elif location == 'primeblob' and printer["dual_carriage"] is defined %}
{% set park_y = printable_y_max - 15 %}
{% endif %}
{% if location == 'primeblob' and printer["dual_carriage"] is not defined %}
{% if (nozzle_priming == 'primeblob' or nozzle_priming == 'primeline') %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set park_x = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set park_x = printable_x_max - 5 %}
{% else %}
{% set park_x = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set park_y = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set park_y = printable_y_max - 5 %}
{% else %}
{% set park_y = nozzle_prime_start_y|float %}
{% endif %}
{% endif %}
{% endif %}
G90
{% if printer["dual_carriage"] is not defined %}
G0 X{park_x} Y{park_y} F{speed}
{% else %}
G0 Y{park_y} F{speed}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="park"
[gcode_macro SAVE_PROBE_RESULT]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
{% set last_z_offset = 9999.9 %}
{% if printer.configfile.settings.beacon is defined %}
{% set current_z = printer.toolhead.position.z|float %}
{% if beacon_contact_prime_probing %}
{% set last_z_offset = printer.beacon.last_z_result %}
{% else %}
{% set last_z_offset = printer.beacon.last_sample.dist - current_z %}
{% endif %}
{% elif printer.configfile.settings.bltouch is defined %}
{% set config_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% elif printer.configfile.settings.probe is defined %}
{% set config_offset = printer.configfile.settings.probe.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Saving offset adjustment of {last_z_offset} in {params.VARIABLE|default('last_z_offset')}"
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE={params.VARIABLE|default('last_z_offset')} VALUE={last_z_offset}
[gcode_macro PROBE_FOR_PRIMING]
gcode =
{% set probe_for_priming_disable_mesh_constraints = true if printer["gcode_macro RatOS"].probe_for_priming_disable_mesh_constraints|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower != 'false' %}
SAVE_GCODE_STATE NAME=probe_for_priming_state
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the prime location.."
CACHE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
SET_MACRO_TRAVEL_SETTINGS
{% set t = params.TOOLHEAD|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% if idex_mode == '' %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% if t == 0 %}
{% set x_start = 5 %}
{% else %}
{% set x_start = printable_x_max - 5 %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% endif %}
{% endif %}
{% set z = printer.configfile.settings.bed_mesh.horizontal_move_z|float %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% if printer.configfile.settings.bltouch is defined %}
{% set x_offset = printer.configfile.settings.bltouch.x_offset|float %}
{% set y_offset = printer.configfile.settings.bltouch.y_offset|float %}
{% set z_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% elif printer.configfile.settings.probe is defined %}
{% set x_offset = printer.configfile.settings.probe.x_offset|float %}
{% set y_offset = printer.configfile.settings.probe.y_offset|float %}
{% set z_offset = printer.configfile.settings.probe.z_offset|float %}
{% elif printer.configfile.settings.beacon is defined %}
{% set x_offset = printer.configfile.settings.beacon.x_offset|float %}
{% set y_offset = printer.configfile.settings.beacon.y_offset|float %}
{% set z_offset = printer.configfile.settings.beacon.trigger_distance|float %}
{% else %}
{ action_raise_error("No probe, beacon or bltouch section found. Adaptive priming only works with a [probe], [beacon] or [bltouch] section defined.") }
{% endif %}
{% if z < z_offset %}
{ action_raise_error("Horizontal move Z ({z}) is below your probe's Z offset ({z_offset}). Please adjust your horizontal_move_z setting in [bed_mesh] to be above {z}.") }
{% endif %}
{% if not probe_for_priming_disable_mesh_constraints %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float - x_offset %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float - y_offset %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float - x_offset %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float - y_offset %}
{% set x_start = [[x_start, max_x]|min, min_x]|max %}
{% set y_start = [[y_start, max_y]|min, min_y]|max %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the start of the prime location at {x_start}, {y_start}"
G90
M83
G0 Z{z} F{z_speed}
G1 X{x_start} Y{y_start} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result
{% endif %}
{% if idex_mode == '' %}
{% set x_end = x_start %}
{% set y_end = y_start + 45 %}
{% else %}
{% if t==1 %}
{% set x_end = x_start - 45 %}
{% else %}
{% set x_end = x_start + 45 %}
{% endif %}
{% set y_end = y_start %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the end of the prime location at {x_end}, {y_end}"
G1 X{x_end} Y{y_end} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result
{% endif %}
RESTORE_GCODE_STATE NAME=probe_for_priming_state
RESTORE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
{% endif %}
[gcode_macro RESET_PRIME_PROBE_STATE]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result VALUE=None
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result_t1 VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result_t1 VALUE=None
{% endif %}
[gcode_macro PROBE_CURRENT_POSITION]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
SAVE_GCODE_STATE NAME=probe_current_position_state
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
ASSERT_PROBE_DEPLOYED
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_prime_probing %}
PROBE PROBE_METHOD=contact SAMPLES=1
{% else %}
PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
BEACON_QUERY
{% else %}
RESTORE_GCODE_STATE NAME=probe_current_position_state MOVE=1 MOVE_SPEED={printer["gcode_macro RatOS"].macro_z_speed|float}
{% endif %}
[gcode_macro PRIME_BLOB]
description = Prints a primeblob, used internally, if configured, as part of the START_PRINT macro.
variable_x_offset = 5
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="prime_blob"
SET_MACRO_TRAVEL_SETTINGS
RATOS_ECHO PREFIX="Priming" MSG="Priming nozzle with prime blob.."
{% set current_toolhead = 0 %}
{% set target_idex_mode = '' %}
{% set extruder = 'extruder' %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE is defined %}
{% set target_idex_mode = params.IDEX_MODE|default('')|lower %}
{% else %}
{ action_raise_error("IDEX_MODE parameter not found for PRIME_BLOB macro. This is likely a bug.") }
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Priming in IDEX {target_idex_mode} mode.."
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set current_toolhead = 1 if current_idex_mode=='primary' else 0 %}
{% set extruder = 'extruder1' if current_toolhead == 1 else 'extruder' %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
SAVE_GCODE_STATE NAME=prime_blob_state
{% endif %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set fan_speed = printer["gcode_macro RatOS"].nozzle_prime_bridge_fan|float %}
{% set nozzle_diameter = printer.configfile.settings[extruder].nozzle_diameter|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set has_start_offset_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) != 9999.9 %}
{% if printer["dual_carriage"] is defined %}
{% set has_start_offset_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) != 9999.9 %}
{% endif %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_z_height = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set nozzle_prime_direction = printer["gcode_macro RatOS"].nozzle_prime_direction|lower %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% if target_idex_mode == '' %}
{% set x_factor = 0 %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% set y_factor = 1 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% set y_factor = -1 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% if nozzle_prime_start_y|float < printable_y_max / 2 %}
{% set y_factor = 1 %}
{% else %}
{% set y_factor = -1 %}
{% endif %}
{% endif %}
{% if nozzle_prime_direction == 'forwards' %}
{% set y_factor = 1 %}
{% elif nozzle_prime_direction == 'backwards' %}
{% set y_factor = -1 %}
{% endif %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% else %}
{% set z = start_print_park_z_height %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% set y_factor = 0 %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set x_start = center_x / 2 + 5 %}
{% set x_factor = 1 %}
{% else %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% if current_toolhead == 0 %}
{% set x_start = 55 %}
{% set x_factor = -1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 55 %}
{% set x_factor = 1 %}
{% endif %}
{% else %}
{% if current_toolhead == 0 %}
{% set x_start = 5 %}
{% set x_factor = 1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 5 %}
{% set x_factor = -1 %}
{% endif %}
{% endif %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_x_max - 5 %}
{% endif %}
{% set z = 10 %}
{% endif %}
{% set start_z_offset = 0 %}
{% set end_z_offset = 0 %}
{% if has_start_offset_t0 %}
{% set start_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) %}
{% set end_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_end_result|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t0) ) }
{% endif %}
{% if end_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t0) ) }
{% endif %}
{% set start_z_offset = start_z_probe_result_t0 %}
{% set end_z_offset = end_z_probe_result_t0 %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if current_toolhead == 1 or both_toolheads or target_idex_mode == "copy" or target_idex_mode == "mirror" %}
{% if has_start_offset_t1 %}
{% set start_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) %}
{% set end_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_end_result_t1|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t1) ) }
{% endif %}
{% if end_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t1) ) }
{% endif %}
{% set start_z_offset = [start_z_offset, start_z_probe_result_t1]|max %}
{% set end_z_offset = [end_z_offset, start_z_probe_result_t1]|max %}
{% endif %}
{% endif %}
{% if target_idex_mode != 'copy' and target_idex_mode != 'mirror' %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% set original_start_z_offset = start_z_offset %}
{% set original_end_z_offset = end_z_offset %}
{% set start_z_offset = original_end_z_offset %}
{% set end_z_offset = original_start_z_offset %}
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={current_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="PRIME_BLOB" MSG="x_start: {x_start}, y_start: {y_start}, x_factor: {x_factor}, y_factor: {y_factor}, z: {z}, start_z_offset: {start_z_offset}, end_z_offset: {end_z_offset}"
G90
M83
RATOS_ECHO PREFIX="Priming" MSG="Lifting Z to {z}.."
G0 Z{z} F{z_speed}
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% if start_print_park_in != 'primeblob' %}
G1 X{x_start} F{speed}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% endif %}
{% else %}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% if target_idex_mode=="copy" or target_idex_mode=="mirror" %}
RATOS_ECHO PREFIX="Priming" MSG="Mirroring move to {x_start}, {y_start} along the edge of the print area.."
_IDEX_MIRROR PRIMING=1
{% else %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% endif %}
G1 X{x_start} F{speed}
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Starting prime blob.."
G1 Z{0.5 + start_z_offset} F{z_speed}
G1 Y{y_start} F{speed}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
M106 S{fan_speed}
G1 Z5 F100 E5
G92 E0
RATOS_ECHO PREFIX="Priming" MSG="Bridging with {((fan_speed/255) * 100)|int}% fan speed.."
G1 F3000 X{x_start + (15 * x_factor)} Y{y_start + (15 * y_factor)} E{1 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (20 * x_factor)} Y{y_start + (20 * y_factor)} Z{3.8 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (34 * x_factor)} Y{y_start + (34 * y_factor)} Z{2.6 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (38 * x_factor)} Y{y_start + (38 * y_factor)} Z{1.4 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (42 * x_factor)} Y{y_start + (42 * y_factor)} Z{0.2 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
M106 S0
G1 F3000 X{x_start + (46 * x_factor)} Y{y_start + (46 * y_factor)} Z{0.2 + end_z_offset} E0.6
G1 F{speed} X{x_start + (50 * x_factor)} Y{y_start + (50 * y_factor)}
{% if target_idex_mode == "copy" or target_idex_mode == "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if target_idex_mode == "copy" %}
{% if first_y >= 0 %}
_IDEX_COPY DANCE=0 Y={first_y}
{% else %}
_IDEX_COPY DANCE=0 Y={params.Y1}
{% endif %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
RESTORE_GCODE_STATE NAME=prime_blob_state
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="prime_blob"
G92 E0
[gcode_macro UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% set temp = params.TEMP|default(220)|int %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_UNLOAD_FILAMENT TEMP={temp} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _LEGACY_UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set unload_speed = 5 * 60 %}
{% set unload_length = printer["gcode_macro RatOS"].filament_unload_length|float %}
M117 Unloading filament...
G0 E10 F300
G0 E-5 F3600
G4 P3000
G0 E5 F6000
G0 E-15 F6000
G0 E-{unload_length} F{unload_speed}
_CLEANING_MOVE TOOLHEAD={toolhead}
M117 Filament unloaded!
RESPOND MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _DEFAULT_UNLOAD_FILAMENT]
description = Unload filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_UNLOAD_FILAMENT" MSG="TEMP: {temp}"
_LED_UNLOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=unload_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD=0 NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TOOLHEAD=0
{% endif %}
RESTORE_GCODE_STATE NAME=unload_state
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD=0
[gcode_macro _IDEX_UNLOAD_FILAMENT]
description = Unload filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_UNLOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead}
{% endif %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Unloading filament from nozzle to cooling zone... Please wait!"
_PURGE_BEFORE_UNLOAD TOOLHEAD={toolhead}
{% if printer["gcode_macro _UNLOAD_WITHOUT_TIP_FORMING"] is defined %}
_UNLOAD_WITHOUT_TIP_FORMING TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_UNLOAD_WITH_TIP_FORMING NAME='{filament_name}' TYPE='{filament_type}'
{% endif %}
G4 P3000
[gcode_macro _UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
{% set tooolhead_sensor_to_extruder_gear_distance = printer["gcode_macro T%s" % toolhead].tooolhead_sensor_to_extruder_gear_distance|float %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER" MSG="TOOLHEAD: {toolhead}"
G0 E-{extruder_gear_to_cooling_position_distance + tooolhead_sensor_to_extruder_gear_distance + 50} F{extruder_load_speed}
RATOS_ECHO MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _UNLOAD_WITH_TIP_FORMING]
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% if filament_name != '' and filament_type != '' %}
_UNLOAD_KNOWN_FILAMENT NAME={filament_name} TYPE={filament_type}
{% else %}
_UNLOAD_UNKNOWN_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _UNLOAD_KNOWN_FILAMENT]
description = User overrideable tip forming macro if slicer filament profiles are known
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
RATOS_ECHO PREFIX="FILAMENT TYPE" MSG='{filament_type}'
RATOS_ECHO PREFIX="FILAMENT PROFILE" MSG='{filament_name}'
{% if filament_name == "Prusament PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% elif filament_name == "Nobufil PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% else %}
RATOS_ECHO PREFIX="_UNLOAD_KNOWN_FILAMENT" MSG="Filament profile not found!"
_UNLOAD_UNKNOWN_FILAMENT
{% endif %}
[gcode_macro _UNLOAD_UNKNOWN_FILAMENT]
description = User overrideable standard tip forming macro
gcode =
DEBUG_ECHO PREFIX="_UNLOAD_UNKNOWN_FILAMENT" MSG="Using standard tip forming macro!"
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
[gcode_macro _TIP_FORMING]
gcode =
{% set cooling_moves = params.COOLING_MOVES|default(4)|int %}
{% set cooling_move_length = params.COOLING_MOVE_LENGTH|default(10)|float %}
{% set start_cooling_speed = params.START_COOLING_SPEED|default(10)|float * 60 %}
{% set end_cooling_speed = params.END_COOLING_SPEED|default(50)|float * 60 %}
{% if cooling_moves == 0 %}
{% set cooling_move_length = 0 %}
{% endif %}
{% set dip = true if params.DIP|default(false)|lower == "true" else false %}
{% set dip_length = params.DIP_LENGTH|default(22)|float %}
{% set dip_speed = params.DIP_SPEED|default(30)|float * 60 %}
{% set dip_retract_speed = params.DIP_RETRACT_SPEED|default(70)|float * 60 %}
{% set retract_length = params.RETRACT_LENGTH|default(18)|float %}
{% set start_retract_speed = params.START_RETRACT_SPEED|default(120)|float * 60 %}
{% set end_retract_speed = params.END_RETRACT_SPEED|default(20)|float * 60 %}
DEBUG_ECHO PREFIX="_TIP_FORMING" MSG="cooling_moves: {cooling_moves}, cooling_move_length: {cooling_move_length}, start_cooling_speed: {start_cooling_speed}, end_cooling_speed: {end_cooling_speed}, dip: {dip}, dip_length: {dip_length}, dip_speed: {dip_speed}, dip_retract_speed: {dip_retract_speed}, retract_length: {retract_length}, start_retract_speed: {start_retract_speed}, end_retract_speed: {end_retract_speed}"
M220 S100
G92 E0
{% set retract = retract_length + cooling_move_length / 2 - 15 %}
G1 E-15 F{start_retract_speed}
G1 E-{0.7 * retract} F{1.0 * end_retract_speed}
G1 E-{0.2 * retract} F{0.5 * end_retract_speed}
G1 E-{0.1 * retract} F{0.3 * end_retract_speed}
G92 E0
{% if cooling_moves > 0 %}
{% set i = (end_cooling_speed - start_cooling_speed) / (2 * cooling_moves - 1) %}
{% for m in range(cooling_moves) %}
G1 E{cooling_move_length} F{(start_cooling_speed + i * m * 2)}
G1 E-{cooling_move_length} F{(start_cooling_speed + i * (m * 2 + 1))}
{% endfor %}
{% endif %}
G92 E0
{% if dip %}
G1 E{dip_length} F{dip_speed}
G4 P100
G1 E-{dip_length} F{dip_retract_speed}
{% endif %}
G92 E0
M400
[gcode_macro _ON_FILAMENT_SENSOR_BUTTON_PRESSED]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_SENSOR_BUTTON_PRESSED" MSG="TOOLHEAD: {toolhead}"
{% if not printer.virtual_sdcard.is_active %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_FILAMENT_END]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set clogged = true if params.CLOGGED|default(false)|lower == 'true' else false %}
{% set unload_after_runout = printer["gcode_macro T%s" % toolhead].unload_after_runout|float %}
{% if clogged %}
_LED_FILAMENT_CLOG TOOLHEAD={toolhead}
{% else %}
_LED_FILAMENT_RUNOUT TOOLHEAD={toolhead}
{% endif %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_END" MSG="TOOLHEAD: {toolhead}"
{% if printer.virtual_sdcard.is_active %}
{% if not printer.pause_resume.is_paused %}
PAUSE RUNOUT=True
{% endif %}
{% if not clogged and unload_after_runout %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% if not clogged and printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true'%}
_JOIN_SPOOL TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M600]
description = Executes a color change by pausing the printer an unloading the filament.
gcode =
PAUSE
UNLOAD_FILAMENT
RATOS_ECHO MSG="Please load new filament and resume"
[gcode_macro COLD_PULL]
description = Automated hotend cold pull.
gcode =
{% set extrusion_temp = params.EXTRUSION_TEMP|default(220)|int %}
{% set cold_pull_temp = params.COLD_PULL_TEMP|default(80)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% if printer["dual_carriage"] is not defined %}
{% set toolhead = 0 %}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead != 0 and toolhead != 1 %}
{action_raise_error("Please select toolhead! 0 = left, 1 = right toolhead")}
{% endif %}
{% endif %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
SAVE_GCODE_STATE NAME=cold_pull_state
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
RATOS_ECHO MSG="Heating T{toolhead} to {extrusion_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={extrusion_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={extrusion_temp} MAXIMUM={extrusion_temp + 2}
G4 P3000
RATOS_ECHO MSG="extruding..."
G92 E0
G1 E30 F300
G92 E0
RATOS_ECHO MSG="Heating T{toolhead} to {cold_pull_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={cold_pull_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={cold_pull_temp} MAXIMUM={cold_pull_temp + 2}
G4 P10000
RATOS_ECHO MSG="cold pull..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-40 VELOCITY=5 ACCEL=100
RATOS_ECHO MSG="eject filament..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-200 VELOCITY=20 ACCEL=500
RATOS_ECHO MSG="cooling down extruder..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
RESTORE_GCODE_STATE NAME=cold_pull_state
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
CONSOLE_ECHO TITLE="Cold pull finished!" MSG="Please remove the filament from the PTFE tube and cut the end off. Do NOT try to load it again." TYPE="warning"
[gcode_macro _USER_START_PRINT_BEFORE_HOMING]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_BED]
gcode =
[gcode_macro _USER_START_PRINT_BED_MESH]
gcode =
[gcode_macro _USER_START_PRINT_PARK]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
[gcode_macro _USER_START_PRINT_HEAT_CHAMBER]
description = Uses the extruder sensor to wait for chamber temp. Override the _START_PRINT_HEAT_CHAMBER macro to implement heated chamber handling.
gcode =
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
[gcode_macro _USER_END_PRINT_BEFORE_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_AFTER_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_PARK]
gcode =
[gcode_macro _USER_END_PRINT_FINISHED]
description = User hook for when the print is finished after gcode state has been restored.
gcode =
[gcode_macro _USER_START_PRINT]
gcode =
[gcode_macro _USER_END_START_PRINT]
gcode =
[gcode_macro _USER_START_FEATURE]
gcode =
[gcode_macro _USER_END_FEATURE]
gcode =
[gcode_macro ECHO_T_VARS]
description = Echo Toolhead variables to the console.
gcode =
{% set t = params.T|default(0) %}
RATOS_ECHO MSG="T{t} Variables"
{% for var, value in printer["gcode_macro T%s" % t].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro ECHO_RATOS_VARS]
description = Echo RatOS variables to the console.
gcode =
{% for var, value in printer["gcode_macro RatOS"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[delayed_gcode RATOS_INIT]
initial_duration = 0.1
gcode =
_LED_STANDBY
CALCULATE_PRINTABLE_AREA
INITIAL_FRONTEND_UPDATE
_CHAMBER_FILTER_SANITY_CHECK
[delayed_gcode RATOS_LOGO]
initial_duration = 2
gcode =
HELLO_RATOS
[gcode_macro INITIAL_FRONTEND_UPDATE]
gcode =
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_error = printer["gcode_macro RatOS"].status_color_error|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_unknown}"'
{% endif %}
{% set t0_sensor = "undefined" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
{% set t0_sensor = "detected" %}
{% else %}
{% set t0_sensor = "empty" %}
{% endif %}
{% else %}
{% set t0_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set t1_sensor = "undefined" %}
{% if printer["dual_carriage"] is defined and printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
{% set t1_sensor = "detected" %}
{% else %}
{% set t1_sensor = "empty" %}
{% endif %}
{% else %}
{% set t1_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set svv = printer.save_variables.variables %}
{% if svv.t0_filament is defined and printer["gcode_macro T0"] is defined %}
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
{% if t0_sensor != "empty" %}
{% set t0_filament_type = svv.t0_filament[0]|default('')|string %}
{% set t0_filament_name = svv.t0_filament[1]|default('')|string %}
{% set t0_filament_temp = svv.t0_filament[2]|default(0)|float %}
{% if t0_filament_name != '' and t0_filament_type != '' and t0_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{t0_filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{t0_filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={t0_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
{% if svv.t1_filament is defined and printer["gcode_macro T1"] is defined %}
{% if printer["gcode_macro T1"].filament_name is defined and printer["gcode_macro T1"].filament_type is defined and printer["gcode_macro T1"].filament_temp is defined %}
{% if t1_sensor != "empty" %}
{% set t1_filament_type = svv.t1_filament[0]|default('')|string %}
{% set t1_filament_name = svv.t1_filament[1]|default('')|string %}
{% set t1_filament_temp = svv.t1_filament[2]|default(0)|float %}
{% if t1_filament_name != '' and t1_filament_type != '' and t1_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='"{t1_filament_name}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='"{t1_filament_type}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE={t1_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t1_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro CALCULATE_PRINTABLE_AREA]
gcode =
{% set bed_margin_x = printer["gcode_macro RatOS"].bed_margin_x %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set tool = 0 if printer["gcode_macro T0"] is not defined or printer["gcode_macro T0"].active else 1 %}
{% set max_x = printer.toolhead.axis_maximum.x if printer["dual_carriage"] is defined and tool == 0 else printer.toolhead.axis_maximum.x - bed_margin_x[1] %}
{% if printer["dual_carriage"] is defined %}
{% set max_x = printer.toolhead.axis_maximum.x %}
{% endif %}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="printer.toolhead.axis_maximum.x {printer.toolhead.axis_maximum.x}"
{% set max_y = printer.toolhead.axis_maximum.y - bed_margin_y[1]%}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_x_max VALUE={max_x}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_y_max VALUE={max_y}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="Printable area calculated: X: 0,{max_x} Y: 0,{max_y}"
[gcode_macro CACHE_TOOLHEAD_SETTINGS]
variable_cache = {"global": {"accel": 1000, "ratio": 0.5, "speed": 50, "scv": 5}}
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set dummy = cache.__setitem__(key, {"accel": printer.toolhead.max_accel, "ratio": printer.toolhead.minimum_cruise_ratio, "speed": printer.toolhead.max_velocity, "scv": printer.toolhead.square_corner_velocity}) %}
SET_GCODE_VARIABLE MACRO=CACHE_TOOLHEAD_SETTINGS VARIABLE=cache VALUE="{cache | pprint | replace("\n", "") | replace("\"", "\\\"")}"
DEBUG_ECHO PREFIX="CACHE_TOOLHEAD_SETTINGS" MSG="Toolhead settings cached for {key}. {printer.toolhead.max_accel} accel, {printer.toolhead.minimum_cruise_ratio} ratio, {printer.toolhead.max_velocity} velocity, {printer.toolhead.square_corner_velocity} scv."
[gcode_macro RESTORE_TOOLHEAD_SETTINGS]
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set values = printer["gcode_macro CACHE_TOOLHEAD_SETTINGS"].cache.__getitem__(key) %}
{% if values is not defined or values == 'None' %}
{ action_raise_error("RESTORE_TOOLHEAD_SETTINGS: Toolhead settings not cached for key '" ~ key ~ "'.") }
{% endif %}
SET_VELOCITY_LIMIT ACCEL={values.accel} MINIMUM_CRUISE_RATIO={values.ratio} VELOCITY={values.speed} SQUARE_CORNER_VELOCITY={values.scv}
DEBUG_ECHO PREFIX="RESTORE_TOOLHEAD_SETTINGS" MSG="Toolhead settings restored. {values.accel} accel, {values.ratio} ratio, {values.speed} velocity, {values.scv} scv."
[gcode_macro SET_MACRO_TRAVEL_SETTINGS]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set accel = printer["gcode_macro RatOS"].macro_travel_accel %}
SET_VELOCITY_LIMIT ACCEL={accel} MINIMUM_CRUISE_RATIO=0.5 VELOCITY={speed} SQUARE_CORNER_VELOCITY={5}
DEBUG_ECHO PREFIX="SET_MACRO_TRAVEL_SETTINGS" MSG="Macro travel settings set. {accel} accel, {speed} velocity"
[gcode_macro SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% if printer["dual_carriage"] is not defined %}
SET_KINEMATIC_POSITION X={printable_x_max / 2} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
{% else %}
IDEX_SET_CENTER_KINEMATIC_POSITION
{% endif %}
[gcode_macro IDEX_SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x - (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x + (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
[gcode_macro VERIFY_HYBRID_INVERTED]
gcode =
{% set inverted = False %}
{% if printer.configfile.settings.ratos_hybrid_corexy is defined and printer.configfile.settings.ratos_hybrid_corexy.inverted is defined %}
{% if printer.configfile.settings.ratos_hybrid_corexy.inverted|lower == 'true' %}
{% set inverted = True %}
{% endif %}
{% endif %}
{% if inverted == False %}
{ action_emergency_stop("ratos_hybrid_corexy NOT INVERTED! Inverted hybrid core-xy bugfix not detected.") }
{% endif %}
[gcode_macro RATOS_ECHO]
gcode =
{% set prefix = "RatOS" %}
{% set debug = params.DEBUG|default(0)|int %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " | " ~ params.PREFIX %}
{% endif %}
{% set prefix = prefix ~ ":" %}
{% set msg = "" %}
{% if params.MSG is defined %}
{% set msg = params.MSG %}
{% else %}
{% set msg = "No msg parameter provided (this is a bug or unintended use)." %}
{% endif %}
{% if not debug %}
M117 {prefix} {msg}
{% endif %}
RATOS_LOG PREFIX="{prefix}" MSG="{msg}"
{% if not debug %}
RESPOND PREFIX="{prefix}" MSG="{msg}"
{% else %}
CONSOLE_ECHO TITLE="{prefix}" TYPE="debug" MSG="{msg}"
{% endif %}
[gcode_macro ENABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=True
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=prefix_filter VALUE="'{params.FILTER|default('')|lower}'"
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging enabled."
[gcode_macro DISABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=False
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging disabled."
[gcode_macro DEBUG_ECHO]
variable_enabled = False
variable_prefix_filter = ''
gcode =
{% set prefix = "DEBUG" %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " - " ~ params.PREFIX %}
{% endif %}
{% if enabled and (prefix_filter|lower == '' or prefix_filter|lower in params.PREFIX|lower) %}
RATOS_ECHO PREFIX="{prefix}" MSG="{params.MSG}" DEBUG=1
{% endif %}
[gcode_macro START_FEATURE]
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="Start {params.FEATURE} feature gcode"
{% set scv = printer.toolhead.square_corner_velocity|int|default(5) %}
{% set accel = printer.toolhead.max_accel|int|default(10000) %}
{% set ratio = printer.toolhead.minimum_cruise_ratio|float|default(0.5) %}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="scv" VALUE={scv}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="accel" VALUE={accel}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="ratio" VALUE={ratio}
_USER_START_FEATURE FEATURE="{params.FEATURE}"
[gcode_macro END_FEATURE]
variable_scv = 5
variable_accel = 10000
variable_ratio = 0.5
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="End {params.FEATURE} feature gcode"
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={scv} ACCEL={accel} MINIMUM_CRUISE_RATIO={ratio}
_USER_END_FEATURE FEATURE="{params.FEATURE}" SCV={scv} ACCEL={accel} RATIO={ratio}
[gcode_macro _ON_LAYER_CHANGE]
variable_layer_number = 0
description = INTERNAL USE ONLY. Call it from the slicers after layer change custom gcode
gcode =
{% set layer = params.LAYER|int %}
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE={layer}
SET_PRINT_STATS_INFO CURRENT_LAYER={layer}
[gcode_macro _LEARN_MORE_CALIBRATION]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/calibration" %}
{% set link_text = "RatOS Calibration Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_CHAMBER_FILTER]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter Control" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_FILAMENT]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/filaments" %}
{% set link_text = "RatOS Filament Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _CONSOLE_SAVE_CONFIG]
gcode =
M118 Click SAVE_CONFIG to save the settings to your printer.cfg.
[gcode_macro SAVE_Z_OFFSET]
gcode =
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SAVE_MULTIPLIER
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _LOAD_RATOS_SKEW_PROFILE]
gcode =
{% set ratos_skew_profile = printer["gcode_macro RatOS"].skew_profile|default("") %}
{% if ratos_skew_profile != "" %}
{% if printer.configfile.config["skew_correction %s" % ratos_skew_profile] is defined %}
SKEW_PROFILE LOAD={ratos_skew_profile}
GET_CURRENT_SKEW
{% else %}
{% set line_1 = '"Could not find skew profile %s!_N_Clearing skew correction."' % ratos_skew_profile %}
CONSOLE_ECHO TITLE="Missing skew profile!" TYPE="warning" MSG={line_1}
SET_SKEW CLEAR=1
{% endif %}
{% endif %}
[gcode_macro M601]
gcode =
PAUSE
[gcode_macro PAUSE]
description = Pauses the print
rename_existing = PAUSE_BASE
variable_extrude = 1.5
variable_retract = 1.5
variable_fan_speed = 0
variable_idex_mode = ""
variable_idex_toolhead = 0
variable_idex_toolhead_x = 0.0
variable_idex_toolhead_y = 0.0
variable_idex_toolhead_z = 0.0
gcode =
{% set runout_detected = true if params.RUNOUT|default(false)|lower == 'true' else false %}
_LED_PAUSE
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set idex_toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
SAVE_GCODE_STATE NAME=PAUSE_state
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_mode VALUE='"{idex_mode}"'
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={idex_toolhead}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_x VALUE={printer.gcode_move.gcode_position.x|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_y VALUE={printer.gcode_move.gcode_position.y|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_z VALUE={printer.gcode_move.gcode_position.z|float}
DEBUG_ECHO PREFIX="PAUSE" MSG="idex_mode: {idex_mode}, idex_toolhead: {idex_toolhead}, idex_toolhead_x: {idex_toolhead_x}, idex_toolhead_y: {idex_toolhead_y}, idex_toolhead_z: {idex_toolhead_z}"
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
CACHE_TOOLHEAD_SETTINGS KEY="pause"
SET_MACRO_TRAVEL_SETTINGS
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% if current_z < (max_z - 20.0) %}
{% set z_safe = 20.0 %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
PAUSE_BASE
{% if printer["dual_carriage"] is not defined %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan"].speed|float}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
{% if idex_toolhead == 0 %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t1"].speed|float}
{% endif %}
{% endif %}
{% endif %}
M106 S0
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if idex_mode != '' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set R = printer["gcode_macro PAUSE"].retract|float %}
{% if can_extrude %}
G91
G1 E-{R} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].pause_print_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].pause_print_park_in %}
{% if runout_detected %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].runout_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].runout_park_in %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
DEBUG_ECHO PREFIX="PAUSE" MSG="z_speed: {z_speed}, pause_print_park_x: {pause_print_park_x}, pause_print_park_in: {pause_print_park_in}, default_toolhead: {default_toolhead}"
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F{z_speed}
G90
{% if printer["dual_carriage"] is not defined %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% else %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
_IDEX_SINGLE X={parking_position}
{% else %}
PARK_TOOLHEAD
{% endif %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="pause"
[gcode_macro RESUME]
description = Resumes the print if the printer is paused.
rename_existing = RESUME_BASE
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set target_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set target_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% endif %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if target_idex_mode != '' %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set fan_speed = printer["gcode_macro PAUSE"].fan_speed|float %}
{% if printer["dual_carriage"] is not defined %}
M106 S{(fan_speed * 255)}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% else %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% else %}
{% if printer["gcode_macro PAUSE"].idex_toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% endif %}
{% endif %}
M106.1 S{fan_speed}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY DANCE=0
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR DANCE=0
{% else %}
{% if params.TOOLHEAD is defined %}
_SELECT_TOOL T={params.TOOLHEAD} X=-1 Y=-1 TOOLSHIFT=false
{% else %}
_SELECT_TOOL T={printer["gcode_macro PAUSE"].idex_toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% endif %}
{% set x = printer["gcode_macro PAUSE"].idex_toolhead_x|float %}
{% set y = printer["gcode_macro PAUSE"].idex_toolhead_y|float %}
{% set z = printer["gcode_macro PAUSE"].idex_toolhead_z|float %}
G1 X{x} Y{y} Z{z} F{speed}
{% if params.TOOLHEAD is defined %}
SAVE_GCODE_STATE NAME=PAUSE_STATE
{% endif %}
{% endif %}
{% if params.TOOLHEAD is not defined %}
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
{% if can_extrude %}
G91
G1 E{E} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 MOVE_SPEED={speed}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
RESUME_BASE
_LED_PRINTING
[gcode_macro CANCEL_PRINT]
description = Cancels the printer
rename_existing = CANCEL_PRINT_BASE
gcode =
END_PRINT
TURN_OFF_HEATERS
CLEAR_PAUSE
CANCEL_PRINT_BASE
[gcode_macro START_PRINT]
description = Start print procedure, use this in your Slicer.
variable_post_processor_version = 2
variable_is_printing_gcode = False
variable_both_toolheads = True
variable_object_xoffset = 0
variable_first_x = -1
variable_first_y = -1
variable_total_toolshifts = 0
variable_initial_tool = 0
variable_extruder_first_layer_temp = ""
variable_extruder_other_layer_temp = ""
gcode =
{% if "xyz" in printer.toolhead.homed_axes and printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% if printer["gcode_macro _VAOC"].is_started|default(true)|lower == 'true' %}
_VAOC_END
{% endif %}
{% endif %}
_LED_START_PRINTING
CACHE_TOOLHEAD_SETTINGS KEY="start_print"
_USER_START_PRINT { rawparams }
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set z_probe_stowable = printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set X0 = params.X0|default(-1)|float %}
{% set X1 = params.X1|default(-1)|float %}
{% set Y0 = params.Y0|default(-1)|float %}
{% set Y1 = params.Y1|default(-1)|float %}
{% if first_x == -1 or first_y == -1 %}
{% set first_x = params.FIRST_X|default(-1)|float %}
{% set first_y = params.FIRST_Y|default(-1)|float %}
{% endif %}
{% set total_toolshifts = params.TOTAL_TOOLSHIFTS|default(0)|int %}
{% set initial_tool = params.INITIAL_TOOL|default(default_toolhead)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(printer.heater_bed.target, true)|float %}
{% set total_layer_count = params.TOTAL_LAYER_COUNT|default(0)|int %}
{% set extruder_first_layer_temp = (params.EXTRUDER_TEMP|default("")).split(",") %}
RATOS_ECHO MSG="First print coordinates X:{first_x} Y:{first_y}"
{% if params.TOTAL_LAYER_COUNT is not defined %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Configuration" %}
{% set line_1 = '"Your slicer gcode settings are not up to date._N_Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Incomplete Slicer Configuration detected" TYPE="warning" MSG={line_1}
{% endif %}
SET_PRINT_STATS_INFO CURRENT_LAYER=1
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE=1
{% if total_layer_count > 0 %}
SET_PRINT_STATS_INFO TOTAL_LAYER={total_layer_count}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads %}
{% set initial_tool = 0 if initial_tool == 1 else 1 %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% set both_toolheads = true %}
{% if total_toolshifts == 0 %}
{% set both_toolheads = false %}
{% endif %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
{% endif %}
{% if both_toolheads and (idex_mode == "copy" or idex_mode == "mirror") %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Gcode tool changes found. Copy and mirror mode do not support toolchanges.")}
{% endif %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set both_toolheads = true %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=initial_tool VALUE={initial_tool}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_x VALUE={first_x}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_y VALUE={first_y}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=total_toolshifts VALUE={total_toolshifts}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=both_toolheads VALUE={both_toolheads}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_first_layer_temp VALUE="'{params.EXTRUDER_TEMP}'"
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_other_layer_temp VALUE="'{params.EXTRUDER_OTHER_LAYER_TEMP}'"
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE=0
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set stepper_x_position_min = printer.configfile.settings.stepper_x.position_min|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set x_parking_space = parking_position_t0 - (stepper_x_position_endstop , stepper_x_position_min)|max %}
{% set dc_parking_space = (dual_carriage_position_endstop , dual_carriage_position_max)|min - parking_position_t1 %}
{% if svv.idex_xoffset|abs >= (x_parking_space - 0.5) or svv.idex_xoffset|abs >= (dc_parking_space - 0.5) %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Toolhead x-offset is too high for the available parking space. Calibrate your X and DC endstop positions and make sure you stay below 1mm." % (copy_mode_max_width)) }
{% endif %}
{% endif %}
{% if (idex_mode == "copy" or idex_mode == "mirror") and printer.configfile.settings.ratos.enable_gcode_transform %}
{% if params.MIN_X is not defined or params.MAX_X is not defined %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Something went wrong! Missing important post processor start print parameter!") }
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE=0
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set boundary_box_min_x = params.MIN_X|default(0)|float %}
{% set boundary_box_max_x = params.MAX_X|default(printable_x_max)|float %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
{% set boundary_box_max_x = boundary_box_max_x + svv.idex_xoffset %}
{% else %}
{% set boundary_box_min_x = boundary_box_min_x - svv.idex_xoffset %}
{% endif %}
{% set center_x = printable_x_max / 2.0 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set object_width = boundary_box_max_x - boundary_box_min_x %}
{% set copy_mode_max_width = center_x %}
{% set mirror_mode_max_width = center_x - safe_distance / 2.0 %}
DEBUG_ECHO PREFIX="START_PRINT" MSG="OBJECT_WIDTH: {object_width} BOUNDARY_BOX_MIN_X: {boundary_box_min_x} BOUNDARY_BOX_MAX_X: {boundary_box_max_x} CENTER_X: {center_x} SAFE_DISTANCE: {safe_distance}"
{% if idex_mode == "copy" and object_width > copy_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for copy mode! Max supported width is %s mm" % (copy_mode_max_width)) }
{% endif %}
{% if idex_mode == "mirror" and object_width > mirror_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for mirror mode! Max supported width is %s mm" % (mirror_mode_max_width)) }
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = (printable_x_max - boundary_box_max_x - boundary_box_min_x) / 2 %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE={object_xoffset}
{% endif %}
{% endif %}
{% set has_initial_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_initial_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined and both_toolheads %}
{% set has_secondary_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_secondary_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
_CHAMBER_FILTER_ON AT="before_print_start"
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true' %}
{% if both_toolheads %}
RATOS_ECHO MSG="Spool join is not possible if both toolheads are in use!"
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == '' %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
{% endif %}
{% endif %}
CLEAR_PAUSE
{% if printer["gcode_macro RatOS"].force_absolute_position|lower == 'true' %}
G90
{% endif %}
SAVE_GCODE_STATE NAME=start_print_state
G21
G90
M82
_USER_START_PRINT_BEFORE_HOMING { rawparams }
{% if z_probe_stowable == true %}
STOWABLE_PROBE_BEGIN_BATCH
{% endif %}
MAYBE_HOME
_Z_HOP
{% if idex_mode != '' and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
PARK_TOOLHEAD
{% endif %}
{% if chamber_temp > 0 %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED={printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float}
{% endif %}
{% endif %}
_CHAMBER_HEATER_ON START_CHAMBER_TEMP={start_chamber_temp} CHAMBER_TEMP={chamber_temp}
_USER_START_PRINT_HEAT_CHAMBER { rawparams } CHAMBER_TEMP={chamber_temp}
{% endif %}
_START_PRINT_BEFORE_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
RATOS_ECHO MSG="Heating bed..."
M190 S{bed_temp}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_BED { rawparams }
_START_PRINT_AFTER_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
_USER_START_PRINT_BED_MESH { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_BED_MESH X0={X0} X1={X1} Y0={Y0} Y1={Y1} T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if z_probe_stowable == true %}
STOWABLE_PROBE_END_BATCH
{% endif %}
{% if idex_mode == '' %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={extruder_first_layer_temp[1]|float}
{% endif %}
{% endif %}
_USER_START_PRINT_PARK { rawparams }
_START_PRINT_PARK
RATOS_ECHO MSG="Heating Extruder..."
{% if idex_mode == '' %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder1" MINIMUM={extruder_first_layer_temp[1]|float} MAXIMUM={extruder_first_layer_temp[1]|float + 5}
{% endif %}
{% endif %}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
{% if idex_mode == '' %}
_LED_PRINTING
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
_LED_PRINTING
{% else %}
{% if both_toolheads %}
_LED_PRINTING TOOLHEAD={initial_tool}
{% if toolchange_standby_temp > -1 %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={0 if initial_tool == 1 else 1}
{% else %}
_LED_PRINTING TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% else %}
_LED_PRINTING TOOLHEAD={initial_tool}
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% endif %}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_EXTRUDER { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_AFTER_HEATING_EXTRUDER X0={X0} X1={X1} Y0={Y0} Y1={Y1} INITIAL_TOOLHEAD={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if idex_mode != '' %}
{% if not both_toolheads %}
{% if initial_tool != default_toolhead %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if initial_tool == 1 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% set x_offset = printer.toolhead.position.x|float - printer.gcode_move.gcode_position.x|float %}
{% endif %}
RESTORE_GCODE_STATE NAME=start_print_state
{% if idex_mode != '' %}
{% set act_idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% if act_idex_mode == "copy" or act_idex_mode == "mirror" %}
SET_GCODE_OFFSET X={x_offset} MOVE=0
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% if idex_mode == "copy" and idex_mode != act_idex_mode %}
_IDEX_COPY DANCE=0
{% elif idex_mode == "mirror" and idex_mode != act_idex_mode %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
RATOS_ECHO MSG="Adjusting object x-offset by {(object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={object_xoffset} MOVE=0
{% endif %}
{% else %}
_SELECT_TOOL T={initial_tool} TOOLSHIFT=false
{% if initial_tool != default_toolhead %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_SET_TOOLHEAD_OFFSET T={initial_tool} MOVE=0
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={initial_tool}
{% endif %}
_SET_EXTRUSION_MODE
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={printer["print_stats"].print_duration}
{% endif %}
_USER_END_START_PRINT { rawparams }
G92 E0
_CHAMBER_FILTER_ON AT="after_print_start"
RATOS_ECHO MSG="Printing..."
[gcode_macro _START_PRINT_BEFORE_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set is_stowable_probe = true if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Pre-heating extruder..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={min_temp}
{% else %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET={min_temp}
{% endif %}
{% else %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
{% endif %}
{% endif %}
{% if not is_stowable_probe %}
{% if printer["dual_carriage"] is defined and act_t != default_toolhead %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
{% endif %}
RATOS_ECHO MSG="Heat soaking z probe..."
{% if auto_z_offset_calibration %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% if default_toolhead == 0 %}
_SELECT_TOOL T=0 TOOLSHIFT=false
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% elif default_toolhead == 1 %}
_SELECT_TOOL T=1 TOOLSHIFT=false
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% endif %}
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% endif %}
G0 Z2 F{z_speed}
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Waiting for extruder to be preheated..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
{% if default_toolhead == 0 %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_Z_HOP
{% endif %}
{% if auto_z_offset_calibration %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={default_toolhead}
_SELECT_TOOL T={0 if default_toolhead == 1 else 1} X={parking_position_t0 if default_toolhead == 1 else parking_position_t1} Y=0 TOOLSHIFT=false
_CLEANING_MOVE TOOLHEAD={0 if default_toolhead == 1 else 1}
_VAOC_CALIBRATE_Z_OFFSET AUTO_Z_OFFSET=True
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=false
{% endif %}
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
{% if needs_rehoming %}
G28 Z
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% if beacon_contact_wipe_before_true_zero %}
_START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE
{% endif %}
_START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
G0 Z5 F{z_speed}
G0 X50 Y10 F{speed}
PROBE PROBE_METHOD=contact SAMPLES=1
BEACON_QUERY
[gcode_macro _START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_true_zero_location = printer["gcode_macro RatOS"].beacon_contact_true_zero_location|default("front")|lower %}
{% set beacon_contact_true_zero_margin_x = printer["gcode_macro RatOS"].beacon_contact_true_zero_margin_x|default(30)|int %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_wipe_before_true_zero %}
{% if printer.beacon.last_probe_result|lower == "ok" %}
{% set last_z_offset = printer.beacon.last_z_result %}
RATOS_ECHO MSG="Auto calibration nozzle wipe with probe result {last_z_offset}..."
G0 Z{(0.2 + last_z_offset)} F{z_speed}
G0 X70 F300
{% else %}
RATOS_ECHO MSG="Skipping auto calibration nozzle wipe because probing failed!"
{% endif %}
{% endif %}
G0 Z5 F{z_speed}
_MOVE_TO_SAFE_Z_HOME
RATOS_ECHO MSG="Heating extruder to probing temperature..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={beacon_contact_true_zero_temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={beacon_contact_true_zero_temp} MAXIMUM={beacon_contact_true_zero_temp + 5}
RATOS_ECHO MSG="Beacon contact auto calibration..."
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
G0 Z5 F{z_speed}
[gcode_macro _START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set first_x = printer["gcode_macro START_PRINT"].first_x|default(-1)|float %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2.0 %}
{% set center_y = printable_y_max / 2.0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% if printer["dual_carriage"] is defined %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% endif %}
{% set X0 = params.X0|default(-1)|int %}
{% set X1 = params.X1|default(-1)|int %}
{% set Y0 = params.Y0|default(-1)|int %}
{% set Y1 = params.Y1|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% if idex_mode == '' %}
_PRIME
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
RATOS_ECHO PREFIX="IDEX" MSG="using combined prime offset for IDEX {idex_mode} mode"
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
{% if both_toolheads %}
{% if initial_toolhead == 0 %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T{initial_toolhead}"
_SELECT_TOOL T={initial_toolhead} TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% endif %}
{% endif %}
CACHE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
SET_MACRO_TRAVEL_SETTINGS
{% if (X0 > -1 and Y1 > -1) or (first_x > 0 and first_y > 0) %}
{% if printer["dual_carriage"] is defined %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
{% set first_z = 1 %}
{% else %}
{% set first_z = 3 %}
{% endif %}
{% if idex_mode == "mirror" %}
{% if first_y >= 0 %}
G0 Y{first_y} F{speed}
{% else %}
G0 Y{Y1} F{speed}
{% endif %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={initial_toolhead}
_PURGE_FILAMENT TOOLHEAD={initial_toolhead} E={printer["gcode_macro RatOS"].toolchange_first_purge|default(50)|float}
_CLEANING_MOVE TOOLHEAD={initial_toolhead}
{% endif %}
{% if first_x >= 0 and first_y >= 0 %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% else %}
{% set first_x = X0 %}
{% set first_y = Y0 %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'min' %}
{% set first_x = X0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'max' %}
{% set first_x = X1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|float <= center_x %}
{% set first_x = X0 %}
{% else %}
{% set first_x = X1 %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'min' %}
{% set first_y = Y0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'max' %}
{% set first_y = Y1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|float <= center_y %}
{% set first_y = Y0 %}
{% else %}
{% set first_y = Y1 %}
{% endif %}
{% endif %}
{% endif %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% endif %}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
_LOAD_RATOS_SKEW_PROFILE
[gcode_macro _PRIME]
gcode =
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
PRIME_BLOB INITIAL_TOOLHEAD={params.INITIAL_TOOLHEAD} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={params.IDEX_MODE} Y1={params.Y1}
{% else %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE == "copy" %}
_IDEX_COPY DANCE=0
{% elif params.IDEX_MODE == "mirror" %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro END_PRINT]
description = End print procedure, use this in your Slicer.
gcode =
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SAVE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = printer["gcode_macro START_PRINT"].object_xoffset|default(0)|float %}
RATOS_ECHO MSG="Adjusting object x-offset by {(0-object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={(0-object_xoffset)}
{% endif %}
{% endif %}
_USER_END_PRINT_BEFORE_HEATERS_OFF { rawparams }
_END_PRINT_BEFORE_HEATERS_OFF
TURN_OFF_HEATERS
_USER_END_PRINT_AFTER_HEATERS_OFF { rawparams }
_END_PRINT_AFTER_HEATERS_OFF
_USER_END_PRINT_PARK { rawparams }
_END_PRINT_PARK
{% if printer["gcode_macro RatOS"].skew_profile is defined %}
SET_SKEW CLEAR=1
{% endif %}
{% if printer["dual_carriage"] is not defined and printer["gcode_macro RatOS"].end_print_motors_off|lower != 'false' %}
M84
{% endif %}
M107
BED_MESH_CLEAR
RATOS_ECHO MSG="Done :)"
RESTORE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
M84
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
{% if printer["dual_carriage"] is not defined %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SET_GCODE_OFFSET Z=0 MOVE=0
{% endif %}
{% endif %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print"
_CHAMBER_FILTER_ON AT="print_end"
_CHAMBER_FILTER_OFF
_CHAMBER_HEATER_OFF
_USER_END_PRINT_FINISHED { rawparams }
[gcode_macro _END_PRINT_BEFORE_HEATERS_OFF]
gcode =
RATOS_ECHO MSG="Cleaning up..."
[gcode_macro _END_PRINT_AFTER_HEATERS_OFF]
gcode =
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% set z_hop = printer["gcode_macro RatOS"].end_print_park_z_hop|float %}
{% set r = printer["gcode_macro RatOS"].end_print_retract_filament|default(4)|float %}
{% if current_z < (max_z - z_hop) %}
{% set z_safe = z_hop %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
G91
G1 E-2 F3600
G0 Z{z_safe} F3600
G1 E-{(r-2)} F3600
G90
[gcode_macro _SET_EXTRUSION_MODE]
gcode =
{% if printer["gcode_macro RatOS"].relative_extrusion|lower == 'true' %}
M83
{% else %}
M82
{% endif %}
[gcode_macro GENERATE_SHAPER_GRAPHS]
description = Genarates input shaper resonances graphs for analysis. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set hz_per_sec = params.HZ_PER_SEC|default(1)|float %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set copy_mode_offset = printable_x_max / 4.0 %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% else %}
_IDEX_SINGLE
{% endif %}
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
{% if idex_mode != 'copy' and idex_mode != 'mirror' %}
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
{% endif %}
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Shaper graph"
[gcode_shell_command generate_shaper_graph_x]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-x.sh
timeout = 60.
verbose = True
[gcode_shell_command generate_shaper_graph_y]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-y.sh
timeout = 60.
verbose = True
[gcode_macro MEASURE_COREXY_BELT_TENSION]
description = Generates resonance graph used to ensure belts are equally tensioned. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
_IDEX_SINGLE
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if measure_t1 == false or measure_t0 == false %}
{action_raise_error("Axis specified. Not supported for belt tension on Y.")}
{% else %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
G4 P5000
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
PARK_TOOLHEAD
{% endif %}
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if params.TOOLHEAD is not defined %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
G1 X{parking_position_t1} F{speed}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
{% if params.TOOLHEAD is not defined %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Belt Tension Graph"
[gcode_shell_command generate_belt_tension_graph]
command = /home/pi/printer_data/config/RatOS/scripts/generate-belt-tension-graph.sh
timeout = 90.
verbose = True
[idle_timeout]
gcode =
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused|lower == 'false' %}
RATOS_ECHO PREFIX="IDLE" MSG="2 hours since last activity. Powering off heaters and motors.."
TURN_OFF_HEATERS
M84
{% endif %}
{% endif %}
timeout = 7200
[temperature_sensor raspberry_pi]
sensor_type = temperature_host
[skew_correction]
[input_shaper]
[virtual_sdcard]
path = ~/printer_data/gcodes
[display_status]
[pause_resume]
[force_move]
enable_force_move = True
[respond]
[resonance_generator]
[ratos]
allow_unknown_gcode_generator = True
enable_gcode_transform = True
allow_unsupported_slicer_versions = True
[exclude_object]
[heater_bed]
heater_pin = heater_bed_heating_pin
sensor_pin = heater_bed_sensor_pin
sensor_type = Generic 3950
min_temp = 0
max_temp = 140
pwm_cycle_time = 0.02
control = pid
pid_kp = 65.045
pid_ki = 1.953
pid_kd = 541.497
[fan]
pin = rpi:gpio4
shutdown_speed = 1.0
[heater_fan toolhead_cooling_fan]
pin = toolboard_t0:PA1
fan_speed = 1
heater = extruder
[printer]
kinematics = ratos_hybrid_corexy
max_velocity = 800
max_accel = 10000
minimum_cruise_ratio = 0.5
max_z_velocity = 50
max_z_accel = 600
square_corner_velocity = 5
[ratos_hybrid_corexy]
inverted = true
[dual_carriage]
axis = x
safe_distance = 55
position_max = 558.971
position_endstop = 558.971
position_min = 0
step_pin = PF9
dir_pin = dual_carriage_dir_pin
enable_pin = !PG2
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t1:PB6
[gcode_macro IDEX_SINGLE]
gcode =
_IDEX_REMAP_TOOLHEADS ENABLE=False
_IDEX_SINGLE
[gcode_macro _IDEX_SINGLE]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_single"
SET_MACRO_TRAVEL_SETTINGS
{% set init = params.INIT|default(0)|int %}
{% set new_x = params.X|default(-1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_act_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_default_t = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="init: {init}, new_x: {new_x}, idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, act_t: {act_t}"
{% if idex_mode == "copy" or idex_mode == "mirror" or init == 1 %}
{% if 'x' in printer.toolhead.homed_axes %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="reset gcode offset"
G1 X{center_x} F{(speed)}
SET_GCODE_OFFSET X_ADJUST={center_x / 2} MOVE=0
{% endif %}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="activate default carriage"
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% if 'x' in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolheads"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
G90
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position."
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1}
G1 X{parking_position_default_t} F{speed}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move default toolhead to its new position."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% if new_x == -1 %}
{% set new_x = center_x %}
{% endif %}
G1 X{new_x} F{speed}
M400
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="X Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set extruder motion queue."
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if default_toolhead==0 else default_toolhead}
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolhead offset."
_SET_TOOLHEAD_OFFSET T={default_toolhead}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set input shaper."
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[default_toolhead]|float)} SHAPER_FREQ_Y={(shaper_y_freq[default_toolhead]|float)} SHAPER_TYPE_X={(shaper_x_type[default_toolhead]|lower)} SHAPER_TYPE_Y={(shaper_y_type[default_toolhead]|lower)}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="update Frontend."
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if default_toolhead==0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if default_toolhead==1 else False}
{% else %}
{% if "xyz" in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_single"
[gcode_macro IDEX_COPY]
gcode =
_IDEX_COPY
[gcode_macro _IDEX_COPY]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_copy"
SET_MACRO_TRAVEL_SETTINGS
{% set y = params.Y|default(-1)|int %}
{% set dance = params.DANCE|default(1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_COPY" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}, y: {y}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "copy" %}
{% if idex_mode == "mirror" %}
{% if y>=0 %}
G1 X{center_x} Y{y} F{(speed)}
{% else %}
G1 X{center_x} F{(speed)}
{% endif %}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
{% if idex_mode != "mirror" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "mirror" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance == 1 %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[2]|float)} SHAPER_FREQ_Y={(shaper_y_freq[2]|float)} SHAPER_TYPE_X={(shaper_x_type[2]|lower)} SHAPER_TYPE_Y={(shaper_y_type[2]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_copy"
[gcode_macro IDEX_MIRROR]
gcode =
_IDEX_MIRROR
[gcode_macro _IDEX_MIRROR]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_mirror"
SET_MACRO_TRAVEL_SETTINGS
{% set dance = params.DANCE|default(1)|int %}
{% set priming = params.PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_MIRROR" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "mirror" %}
{% if idex_mode == "copy" %}
G1 X{center_x} F{(speed)}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS MIRROR_PRIMING={params.PRIMING}
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
{% if idex_mode != "copy" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "copy" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance and not priming %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[3]|float)} SHAPER_FREQ_Y={(shaper_y_freq[3]|float)} SHAPER_TYPE_X={(shaper_x_type[3]|lower)} SHAPER_TYPE_Y={(shaper_y_type[3]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_mirror"
[gcode_macro _IDEX_SET_TOOLHEADS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
SET_MACRO_TRAVEL_SETTINGS
{% set mirror_priming = params.MIRROR_PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position_inactive_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="_IDEX_SET_TOOLHEADS" MSG="idex_mode: {idex_mode}, act_t: {act_t}, center_x: {center_x}, mirror_priming: {mirror_priming}"
{% if act_t != default_toolhead %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE=1
{% endif %}
{% if mirror_priming %}
{% if parking_position_t0|abs < parking_position_t1 - printable_x_max %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{printable_x_max + parking_position_t0|abs} F{(speed)}
{% else %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{0 - (parking_position_t1 - printable_x_max)} F{(speed)}
{% endif %}
{% else %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1} MODE=PRIMARY
G1 X{parking_position_inactive_t} F{(speed)}
{% if act_t==1 %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{center_x / 2} F{(speed)}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
[gcode_macro IDEX_PARK]
gcode =
PARK_TOOLHEAD
[gcode_macro PARK_TOOLHEAD]
gcode =
{% set idex_mode = 'none' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode=='primary' else 0 %}
DEBUG_ECHO PREFIX="PARK_TOOLHEAD" MSG="Parking T{act_t}.."
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set parking_position_inact_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set printable_y_min = printer["gcode_macro RatOS"].printable_y_min|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% if idex_mode != "copy" and idex_mode != "mirror" and 'xy' in printer.toolhead.homed_axes %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% elif printer.toolhead.position.y|float < printable_y_min %}
G1 Y{printable_y_min} F{speed}
{% endif %}
SAVE_GCODE_STATE NAME=_PARK_TOOLHEAD
G90
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0.5
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_inact_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
SET_VELOCITY_LIMIT ACCEL={printer.toolhead.max_accel} MINIMUM_CRUISE_RATIO=0.5
M400
RESTORE_GCODE_STATE NAME=_PARK_TOOLHEAD
{% endif %}
[gcode_macro JOIN_SPOOLS]
gcode =
{% set spools = params.SPOOLS|default("") %}
{% if spools == "" %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{% if spools != "0,1" and spools != "1,0" %}
RATOS_ECHO MSG="Wrong spool configuration!"
RATOS_ECHO MSG="Join Spools = JOIN_SPOOLS SPOOLS=0,1"
RATOS_ECHO MSG="Deactivate = JOIN_SPOOLS SPOOLS="
{% else %}
{% if spools == "0,1" or spools == "1,0" %}
_IDEX_JOIN_SPOOLS ENABLE=true
{% else %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_JOIN_SPOOLS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if enable %}
{% set has_t0_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t1_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t0_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined else false %}
{% set has_t1_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined else false %}
{% if (has_t0_toolhead_filament_sensor and has_t1_toolhead_filament_sensor) or (has_t0_bowden_filament_sensor and has_t1_bowden_filament_sensor) %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=True
RATOS_ECHO MSG="Spool joining enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Can not enable spool joining! No filament sensors found."
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining deactivated!"
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining is not possible in copy and mirror mode!"
{% endif %}
[gcode_macro _JOIN_SPOOL]
gcode =
{% set old_toolhead = params.TOOLHEAD|int %}
{% set new_toolhead = 0 if old_toolhead == 1 else 1 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set purge_after_load = printer["gcode_macro T%s" % new_toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_JOIN_SPOOL" MSG="toolhead: {new_toolhead}"
{% set has_filament = true %}
{% set has_new_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% set has_new_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% if has_new_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_new_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_filament %}
RATOS_ECHO MSG="Joining spools! Please wait for extruder to heat up...."
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={new_toolhead}
_DEACTIVATE_TOOLHEAD TOOLHEAD={old_toolhead}
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set extruder_temp = extruder_first_layer_temp[new_toolhead]|float %}
{% else %}
{% set extruder_temp = extruder_other_layer_temp[new_toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if new_toolhead == 0 else 'extruder1'} TARGET={extruder_temp}
TEMPERATURE_WAIT SENSOR={'extruder' if new_toolhead == 0 else 'extruder1'} MINIMUM={extruder_temp} MAXIMUM={extruder_temp + 5}
{% if purge_after_load > 0 %}
SET_DUAL_CARRIAGE CARRIAGE={new_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_toolhead == 0 else new_toolhead}
_MOVE_TO_LOADING_POSITION TOOLHEAD={new_toolhead}
_PURGE_FILAMENT TOOLHEAD={new_toolhead} E={purge_after_load}
_CLEANING_MOVE TOOLHEAD={new_toolhead}
SET_DUAL_CARRIAGE CARRIAGE={old_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if old_toolhead == 0 else old_toolhead}
{% endif %}
RESUME TOOLHEAD={new_toolhead}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{ action_raise_error("Spool join failed! No filament found or filament sensor is disabled.") }
{% endif %}
[gcode_macro REMAP_TOOLHEADS]
gcode =
{% set toolheads = params.TOOLHEADS|default("") %}
{% if toolheads == "" %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% else %}
{% if toolheads != "0,1" and toolheads != "1,0" %}
RATOS_ECHO MSG="Wrong toolhead configuration!"
RATOS_ECHO MSG="Remap = REMAP_TOOLHEADS TOOLHEADS=0,1"
RATOS_ECHO MSG="Deactivate = REMAP_TOOLHEADS TOOLHEADS="
{% else %}
{% if toolheads == "0,1" or toolheads == "1,0" %}
_IDEX_REMAP_TOOLHEADS ENABLE=true
_IDEX_SINGLE
{% else %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_REMAP_TOOLHEADS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if not enable or (idex_mode != "copy" and idex_mode != "mirror") %}
{% if enable %}
RATOS_ECHO MSG="Toolhead remapping enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Toolhead remapping deactivated!"
{% endif %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE={enable}
{% else %}
RATOS_ECHO MSG="Toolhead remapping not possible in copy and mirror mode!"
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
{% endif %}
[gcode_macro SHAPER_CALIBRATE]
rename_existing = SHAPER_CALIBRATE_ORG
gcode =
RATOS_ECHO PREFIX="IDEX" MSG="SHAPER_CALIBRATE is useless on IDEX machines. Please use the GENERATE_SHAPER_GRAPHS macro and type the values into `variable_shaper_*_freq` and `variable_shaper_*_type manually`."
[gcode_shell_command generate_shaper_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-shaper-graph.sh
timeout = 120.
verbose = True
[gcode_shell_command generate_tension_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-belt-tension-graph.sh
timeout = 120.
verbose = True
[gcode_macro SET_PRESSURE_ADVANCE]
variable_snyc_toolheads = False
rename_existing = SET_PRESSURE_ADVANCE_BASE
gcode =
{% if params.SYNC_TOOLHEADS is defined %}
{% set snyc_toolheads = true if params.SYNC_TOOLHEADS|default(false)|lower == 'true' else false %}
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=True
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="Syncing toolheads..."
{% else %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' or snyc_toolheads %}
{% set advance = params.ADVANCE|default(printer['extruder'].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['extruder'].smooth_time|float)|float %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T0"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder' ADVANCE={advance} SMOOTH_TIME={smooth_time}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T1"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder1' ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% else %}
{% set extruder = 'extruder' if act_t == 0 else 'extruder1' %}
{% if params.EXTRUDER is defined %}
{% set extruder = params.EXTRUDER %}
{% endif %}
{% if extruder == 'extruder' or extruder == 'extruder1' %}
{% set advance = params.ADVANCE|default(printer['%s' % extruder].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['%s' % extruder].smooth_time|float)|float %}
SET_PRESSURE_ADVANCE_BASE EXTRUDER={extruder} ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% if params.EXTRUDER is not defined %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG={"T%s" % act_t}
{% endif %}
{% else %}
SET_PRESSURE_ADVANCE_BASE { rawparams }
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M106]
rename_existing = M106.1
variable_swap_speed = -1
gcode =
{% set s = [[params.S|default(255)|int, 255]|min, 0]|max %}
{% set p = params.P|default(-1)|int %}
{% set speed = s / 255 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set t = 1 if idex_mode=='primary' else 0 %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(0)|int == 1 else false %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set sync_fans = true %}
{% endif %}
{% if sync_fans and idex_mode != "copy" and idex_mode != "mirror" %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int %}
{% if toolshift_count > total_toolshifts %}
{% set sync_fans = false %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE=-1
{% if p == -1 %}
{% if speed == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed}
{% else %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE={speed}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={(speed if (t == 0 or sync_fans) else 0)}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={(speed if (t == 1 or sync_fans) else 0)}
{% endif %}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed if t == p else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed if t == p else 0}
{% endif %}
M106.1 S{s}
[gcode_macro M107]
rename_existing = M107.1
gcode =
{% set p = params.P|default(-1)|int %}
M106 S0 P{p}
[gcode_macro _SELECT_TOOL]
variable_last_timestamp = 0
gcode =
{% if params.T is defined %}
{% set idex_mode = '' %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if "xyz" not in printer.toolhead.homed_axes and (idex_mode == "copy" or idex_mode == "mirror") %}
_IDEX_SINGLE
{% set idex_mode = 'reset' %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set new_t = params.T|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads and is_printing_gcode %}
{% set new_t = 0 if new_t == 1 else 1 %}
{% endif %}
{% set toolchange_prepurging_timer = printer["gcode_macro RatOS"].toolchange_prepurging_timer|default(0)|int %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
DEBUG_ECHO PREFIX="_SELECT_TOOL" MSG="act_t: {act_t}, new_t: {new_t}, is_printing_gcode: {is_printing_gcode}, swap_toolheads: {swap_toolheads}, toolchange_standby_temp: {toolchange_standby_temp}"
{% set act_extruder = 'extruder%s' % ('' if new_t == 0 else new_t) %}
{% if new_t != act_t or printer.toolhead.extruder != act_extruder or idex_mode == 'reset' %}
RATOS_ECHO PREFIX="IDEX" MSG="Selecting T{new_t}.."
M220 S100
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(1)|int == 1 else false %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set toolshift = false %}
{% endif %}
{% set fan_speed = printer["fan_generic part_fan_t%s" % act_t].speed %}
{% set deactivate_toolhead = false %}
{% if is_printing_gcode %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int + 1 %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE={toolshift_count}
{% if toolshift_count == total_toolshifts %}
{% set deactivate_toolhead = true %}
{% endif %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % new_t].standby|default(false)|lower == 'true' else false %}
{% set needs_purging = false %}
{% set wake_up_purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% if is_printing_gcode and toolchange_prepurging_timer > 0 and wake_up_purge > 0 %}
{% set new_timestamp = printer["print_stats"].print_duration %}
{% set elapsed_time = new_timestamp - last_timestamp %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={new_timestamp}
{% if elapsed_time > toolchange_prepurging_timer %}
{% set needs_purging = true %}
{% endif %}
{% endif %}
{% set first_use_purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% if toolshift_count == 1 and first_use_purge > 0 %}
{% set needs_purging = true %}
{% endif %}
{% if is_printing_gcode and (toolchange_standby_temp > -1 or needs_purging or needs_wakeup) %}
_TOOLHEAD_STANDBY TOOLHEAD={act_t}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
_TOOLHEAD_WAKEUP TOOLHEAD={new_t} X={new_x} Y={new_y} Z={new_z} FAN_SPEED={fan_speed} TOOLSHIFT_COUNT={toolshift_count}
{% else %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(false)|lower == 'true' else false %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if (new_t == 0 or sync_fans) else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if (new_t == 1 or sync_fans) else 0}
M106.1 S{fan_speed}
{% endif %}
_TOOLCHANGE T={new_t} X={new_x} Y={new_y} Z={new_z} PARK_T0={park_t0} PARK_T1={park_t1} TOOLSHIFT={toolshift}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[new_t]|float)} SHAPER_FREQ_Y={(shaper_y_freq[new_t]|float)} SHAPER_TYPE_X={(shaper_x_type[new_t]|lower)} SHAPER_TYPE_Y={(shaper_y_type[new_t]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if new_t == 0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if new_t == 1 else False}
{% if 'x' in printer.toolhead.homed_axes %}
{% set sanity_check_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if new_t == 0 %}
{% if printer.toolhead.extruder == 'extruder' %}
{% if sanity_check_idex_mode == 'primary' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% elif new_t == 1 %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% if sanity_check_idex_mode == 'inactive' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
G90
G92 E0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _TOOLHEAD_STANDBY]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
RATOS_ECHO PREFIX="IDEX" MSG="Putting toolhead T{toolhead} into standby mode."
DEBUG_ECHO PREFIX="_TOOLHEAD_STANDBY" MSG="toolhead: {toolhead}, config_z_hop: {config_z_hop}, toolchange_standby_temp: {toolchange_standby_temp}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={toolhead} SYNC=0
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={toolhead}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% if toolchange_standby_temp > -1 %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=True
{% endif %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={toolhead}
[gcode_macro _TOOLHEAD_WAKEUP]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set fan_speed = params.FAN_SPEED|float %}
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift_count = params.TOOLSHIFT_COUNT|default(0)|int %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% if toolshift_count == 1 %}
{% set purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % toolhead].standby|default(false)|lower == 'true' else false %}
RATOS_ECHO PREFIX="IDEX" MSG="Waking up toolhead T{toolhead}. Please wait for extruder to heat up..."
DEBUG_ECHO PREFIX="_TOOLHEAD_WAKEUP" MSG="toolhead: {toolhead}, fan_speed: {fan_speed}, new_x: {new_x}, new_y: {new_y}, new_z: {new_z}, config_z_hop: {config_z_hop}"
_LED_TOOLHEAD_WAKEUP TOOLHEAD={toolhead}
SET_DUAL_CARRIAGE CARRIAGE={toolhead} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={toolhead} MOVE=1
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if toolhead == 0 else toolhead}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if needs_wakeup %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set temp = extruder_first_layer_temp[toolhead]|float %}
{% else %}
{% set temp = extruder_other_layer_temp[toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
TEMPERATURE_WAIT SENSOR={'extruder' if toolhead == 0 else 'extruder1'} MINIMUM={temp} MAXIMUM={temp + 5}
{% endif %}
_LED_PRINTING TOOLHEAD={toolhead}
{% if purge > 0 %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge}
_CLEANING_MOVE TOOLHEAD={toolhead}
{% endif %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if toolhead == 1 else 0}
M106.1 S{fan_speed}
{% endif %}
G92 E0
G1 E-{e} F{feedrate}
G92 E0
{% if new_x >= 0 and new_y >= 0 %}
G1 X{new_x} Y{new_y} F{speed}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={config_z_hop} T={toolhead} SYNC=0
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=False
[gcode_macro _TOOLCHANGE]
variable_toolshift_count = 0
gcode =
{% set new_t = params.T|default(-1)|int %}
{% set new_x = params.X|default(-1.0)|float %}
{% set new_y = params.Y|default(-1.0)|float %}
{% set new_z = params.Z|default(-1.0)|float %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(true)|lower == 'true' else false %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T: {new_t}, X: {new_x}, Y: {new_y}, Z: {new_z}, PARK_T0: {park_t0}, PARK_T1: {park_t1}, IS_PRINTING_GCODE: {is_printing_gcode}, TOOLSHIFT: {toolshift}"
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% if park_t0 >= 0 and park_t1 >= 0 %}
{% set parking_position_t0 = park_t0 %}
{% set parking_position_t1 = park_t1 %}
{% set parking_position_act_t = park_t0 if act_t == 0 else park_t1 %}
{% endif %}
{% if not is_printing_gcode and not toolshift %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Changing tool to T{new_t} without retracting/extruding or moving the toolheads except for parking."
{% if "xyz" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
G90
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% if not is_printing_gcode and toolshift and new_x < 0 and new_y < 0 %}
{% set new_x = center_x %}
{% set new_y = printer.gcode_move.gcode_position.y|float %}
{% endif %}
{% if new_x < 0 or new_y < 0 %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="No new X or Y position given, parking the active toolhead and activating the new toolhead without moving it."
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={new_t}
{% if "x" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
{% if is_printing_gcode %}
_EXTRUDE T={new_t}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% if "xyz" not in printer.toolhead.homed_axes %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% set svv = printer.save_variables.variables %}
{% if new_t == default_toolhead %}
{% set xoffset = svv.idex_xoffset %}
{% set yoffset = svv.idex_yoffset %}
{% set zoffset = svv.idex_zoffset %}
{% else %}
{% set xoffset = 0 - svv.idex_xoffset %}
{% set yoffset = 0 - svv.idex_yoffset %}
{% set zoffset = 0 - svv.idex_zoffset %}
{% endif %}
{% if svv.idex_applied_offset == new_t %}
{% set xoffset = 0 %}
{% set yoffset = 0 %}
{% set zoffset = 0 %}
{% endif %}
{% set gcode_z = printer.gcode_move.gcode_position.z|float %}
{% set toolhead_z = printer.toolhead.position.z|float %}
{% if new_t == 0 %}
{% set t0_act_x = parking_position_t0 %}
{% set t1_act_x = printer.toolhead.position.x|float %}
{% set t0_new_x = new_x %}
{% set t1_new_x = parking_position_t1 %}
{% set t0_distance = t0_new_x - t0_act_x %}
{% set t1_distance = t1_new_x - t1_act_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T0."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x + (t1_new_x - t1_act_x)} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t0_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=0
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T0: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% elif new_t == 1 %}
{% set t0_act_x = printer.toolhead.position.x|float %}
{% set t1_act_x = parking_position_t1 %}
{% set t0_new_x = parking_position_t0 %}
{% set t1_new_x = new_x %}
{% set t0_distance = t0_act_x - t0_new_x %}
{% set t1_distance = t1_act_x - t1_new_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T1."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x - t1_distance + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t1_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=1
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T1: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% endif %}
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
{% endif %}
[gcode_macro _ZHOP_BEFORE_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_hop = params.Z_HOP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_HOP: {z_hop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="COMBINED_ZHOP G1 Z+{z_hop} E-{e} F{speed * 60}"
G1 Z+{z_hop} E-{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="ZHOP G1 Z+{z_hop} F{speed * 60}"
G1 Z+{z_hop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="RETRACT G1 E-{e} F{feedrate}"
G1 E-{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _ZDROP_AFTER_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_drop = params.Z_DROP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_DROP: {z_drop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="COMBINED_ZDROP G1 Z-{z_drop} E{e} F{speed * 60}"
G1 Z-{z_drop} E{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="ZDROP G1 Z-{z_drop} F{speed * 60}"
G1 Z-{z_drop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="EXTRUDE G1 E{e} F{feedrate}"
G1 E{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _EXTRUDE]
gcode =
{% set t = params.T|int %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
DEBUG_ECHO PREFIX="_EXTRUDE" MSG="G1 E{e} F{feedrate * 60}"
G91
M82
G92 E0
G1 E{e} F{feedrate * 60}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _DEACTIVATE_TOOLHEAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_DEACTIVATE_TOOLHEAD" MSG="TOOLHEAD {toolhead}"
{% if toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% endif %}
M106.1 S0
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={toolhead}
[delayed_gcode _INIT_TOOLHEADS]
initial_duration = 0.1
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_IDEX_SINGLE INIT=1
{% if printer.configfile.settings.dual_carriage.safe_distance is defined %}
{% if printer.configfile.settings.dual_carriage.safe_distance|float < 50 %}
{ action_emergency_stop("Dual carriage safe_distance seems to be too low!") }
{% endif %}
{% else %}
{ action_emergency_stop("Dual carriage safe_distance not defined!") }
{% endif %}
[gcode_macro _SET_TOOLHEAD_OFFSET]
gcode =
{% set t = params.T|int %}
{% set move = params.MOVE|default(0)|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="T: {t}, MOVE: {move}"
{% set svv = printer.save_variables.variables %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set move = 0 %}
{% endif %}
{% if svv.idex_applied_offset != t %}
{% if t != printer["gcode_macro RatOS"].default_toolhead|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET X_ADJUST: {(-svv.idex_xoffset)} Y_ADJUST: {(-svv.idex_yoffset)} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={(-svv.idex_xoffset)} Y_ADJUST={(-svv.idex_yoffset)} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {(-svv.idex_zoffset)} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={(-svv.idex_zoffset)} MOVE={move} SPEED={z_speed}
{% else %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_ X_ADJUST: {svv.idex_xoffset} Y_ADJUST: {svv.idex_yoffset} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={svv.idex_xoffset} Y_ADJUST={svv.idex_yoffset} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {svv.idex_zoffset} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE={move} SPEED={z_speed}
{% endif %}
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T{t}"
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={t}
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={t}
{% endif %}
{% endif %}
[gcode_macro TOOLSHIFT_CONFIG]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={params.SPEED|default(300)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={params.ACCEL|default(5000)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_retraction VALUE={params.RETRACT|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_extrusion VALUE={params.EXTRUDE|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_feedrate VALUE={params.FEEDRATE|default(7200)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={params.Z_HOP|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zspeed VALUE={params.Z_SPEED|default(25)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_combined_zhop VALUE={true if params.COMBINED_ZHOP|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_sync_fans VALUE={true if params.SYNC_FANS|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_prepurging_timer VALUE={params.AUTO_PURGE_TIME|default(0)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_purge VALUE={params.PURGE|default(25)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_standby_temp VALUE={params.STANDBY_TEMP|default(-1)|float}
[gcode_macro CALCULATE_DC_ENDSTOP]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% set idex_xoffset = svv.idex_xoffset|float %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|float %}
{% set stepper_x_position_max = printer.configfile.settings.stepper_x.position_max|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set line_1 = "_N_[dual_carriage]" %}
{% set line_2 = "position_max: %.3f" % (dual_carriage_position_max + idex_xoffset) %}
{% set line_3 = "position_endstop: %.3f" % (dual_carriage_position_endstop + idex_xoffset) %}
{% set line_4 = "_N_[gcode_macro RatOS]" %}
{% set line_5 = "variable_bed_margin_x: [%.3f, %.3f]" % (stepper_x_position_endstop|abs, dual_carriage_position_max - stepper_x_position_max + idex_xoffset) %}
{% set line_6 = "_N_[gcode_macro _VAOC]" %}
{% set line_7 = "variable_expected_camera_x_position: %.3f" % idex_xcontrolpoint %}
{% set line_8 = "variable_expected_camera_y_position: %.3f" % idex_ycontrolpoint %}
{% set line_9 = "_N_[gcode_macro T0]" %}
{% set line_10 = "variable_parking_position: %.3f" % (stepper_x_position_endstop + 2) %}
{% set line_11 = "_N_[gcode_macro T1]" %}
{% set line_12 = "variable_parking_position: %.3f" % (dual_carriage_position_endstop + idex_xoffset - 2) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8, line_9, line_10, line_11, line_12)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro INCREASE_Y_MAX]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set stepper_y_position_max = printer.configfile.settings.stepper_y.position_max|float %}
{% set stepper_y_position_endstop = printer.configfile.settings.stepper_y.position_endstop|float %}
{% set line_1 = "_N_[stepper_y]" %}
{% set line_2 = "position_max: %.3f" % (stepper_y_position_max + 1) %}
{% set line_3 = "_N_[gcode_macro RatOS]" %}
{% set line_4 = "variable_bed_margin_y: [%.3f, %.3f]" % (stepper_y_position_endstop|abs, (bed_margin_y[1] + 1)) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro _VAOC]
variable_is_fixed = True
variable_is_started = False
variable_is_started_at_temp = False
variable_additional_safe_distance = 50
variable_safe_z = 30
variable_auto_z_offset_calibration = True
variable_enable_camera_cooling = True
variable_camera_cooling_fan_speed = 0.3
variable_camera_cooling_temperature = 50
variable_toolchange_travel_speed = 300
variable_toolchange_travel_accel = 5000
variable_cache_toolchange_travel_speed = 300
variable_cache_toolchange_travel_accel = 5000
variable_cache_toolchange_zhop = 1.0
variable_t0_toolhead_sensor_enabled = 0
variable_t1_toolhead_sensor_enabled = 0
variable_t0_bowden_sensor_enabled = 0
variable_t1_bowden_sensor_enabled = 0
variable_loaded_skew_profile = ""
gcode =
_ECHO_VAOC_VARS
variable_expected_camera_x_position = 211.854
variable_expected_camera_y_position = 528.378
[gcode_macro _VAOC_START]
description = Called from the front end. If T0_TEMP, T1_TEMP and BED_TEMP parameter are specified, VAOC calibration will start under real conditions at printing temp.
gcode =
{% set t0_temp = params.T0_TEMP|default(0)|int %}
{% set t1_temp = params.T1_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set loaded_skew_profile = printer["gcode_macro SKEW_PROFILE"].loaded_profile|default("") %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=loaded_skew_profile VALUE='"{loaded_skew_profile}"'
{% if t0_temp > 0 and t1_temp > 0 and bed_temp > 0 %}
{% if not is_fixed %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("VAOC calibration at temp works only with a fixed installed VAOC device.") }
{% endif %}
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE=0
{% endif %}
START_PRINT EXTRUDER_TEMP={t0_temp},{t1_temp} EXTRUDER_OTHER_LAYER_TEMP={t0_temp},{t1_temp} BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp} INITIAL_TOOL=0 TOTAL_LAYER_COUNT=1 X0={(printable_x_max / 2 - 10)} Y0={(printable_y_max / 2 - 10)} X1={(printable_x_max / 2 + 10)} Y1={(printable_y_max / 2 + 10)} TOTAL_TOOLSHIFTS=1 FIRST_X={printable_x_max / 2} FIRST_Y={printable_y_max / 2} MIN_X={(printable_x_max / 2 - 10)} MAX_X={(printable_x_max / 2 + 10)} USED_TOOLS=0,1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=True
{% endif %}
_START_VAOC
[gcode_macro _START_VAOC]
description = Called from _VAOC_START. Do not call it manually.
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(printable_x_max/2)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(printable_y_max/2)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
DEBUG_ECHO PREFIX="VAOC_START" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, zcontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, expected_camera_x_position, expected_camera_y_position)}
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_SAFE_Z_HEIGHT
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_speed VALUE={printer["gcode_macro RatOS"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_accel VALUE={printer["gcode_macro RatOS"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_zhop VALUE={printer["gcode_macro RatOS"].toolchange_zhop|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE=0
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"START X_REFERENCE:%.6f Y_REFERENCE:%.6f Z_REFERENCE:%.6f PARK_T0:%.6f PARK_T1:%.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, parking_position_t0, parking_position_t1)}
_LED_VAOC_ON
MAYBE_HOME
M400
_LOAD_RATOS_SKEW_PROFILE
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
IDEX_SINGLE
{% endif %}
{% if is_fixed %}
_SELECT_TOOL T=0 TOOLSHIFT=false
{% if default_toolhead == 0 %}
G1 X{idex_xcontrolpoint} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint + safe_distance + additional_safe_distance} F{speed}
{% else %}
G1 X{idex_xcontrolpoint - safe_distance - additional_safe_distance} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% else %}
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
G1 X{idex_xcontrolpoint} F{speed}
G1 Y{idex_ycontrolpoint} F{speed}
G1 Z{idex_zcontrolpoint} F{z_speed}
_SELECT_TOOL T={default_toolhead} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
{% if not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={default_toolhead}
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=True
[gcode_macro _VAOC_END]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_y = printable_y_max / 2 %}
DEBUG_ECHO PREFIX="_VAOC_END" MSG="printable_y_max: {printable_y_max}, center_y: {center_y}, safe_z: {safe_z}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
G1 Y{center_y} F{speed}
_IDEX_SINGLE INIT=1
_LED_VAOC_OFF
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={printer["gcode_macro _VAOC"].cache_toolchange_zhop|float}
{% if printer["gcode_macro _VAOC"].is_started_at_temp|default(true)|lower == 'true' %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_bowden_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_bowden_sensor_enabled|int}
{% endif %}
{% endif %}
{% set loaded_skew_profile = printer["gcode_macro _VAOC"].loaded_skew_profile|default("") %}
{% if loaded_skew_profile != "" %}
SKEW_PROFILE LOAD={loaded_skew_profile}
{% else %}
SET_SKEW CLEAR=1
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
[gcode_macro _VAOC_LOAD_TOOL]
gcode =
{% set t = params.T|default(0)|int %}
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set auto_temp_offset = true if params.AUTO_TEMP_OFFSET|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set toolhead_zoffset = svv.idex_zoffset|default(0)|float %}
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move T%s to control point: X%.6f Y%.6f Z%.6f IS_FIXED=%s"' % (t, idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, is_fixed)}
{% if not auto_temp_offset and not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={t}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
{% set current_z = printer.toolhead.position.z|float %}
{% set lowest_toolhead_z = [current_z, current_z - toolhead_zoffset]|min %}
{% if lowest_toolhead_z < safe_z %}
G1 Z{[safe_z, safe_z + toolhead_zoffset]|max} F{z_speed}
{% else %}
G1 Z{idex_zcontrolpoint} F{z_speed}
{% endif %}
_SELECT_TOOL T={t} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
G1 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_SET_CAMERA_COOLING]
gcode =
{% set t = params.T|default(0)|int %}
{% set enable_camera_cooling = true if printer["gcode_macro _VAOC"].enable_camera_cooling|default(true)|lower == 'true' else false %}
{% set camera_cooling_temperature = printer["gcode_macro _VAOC"].camera_cooling_temperature|float %}
{% set camera_cooling_fan_speed = printer["gcode_macro _VAOC"].camera_cooling_fan_speed|float %}
{% if printer.heater_bed.temperature >= camera_cooling_temperature and enable_camera_cooling %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={camera_cooling_fan_speed if t == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={camera_cooling_fan_speed if t == 1 else 0}
M106.1 S{camera_cooling_fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% endif %}
[gcode_macro _VAOC_SET_TOOL]
gcode =
{% set svv = printer.save_variables.variables %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set x = printer.gcode_move.gcode_position.x|float %}
{% set y = printer.gcode_move.gcode_position.y|float %}
{% set z = printer.gcode_move.gcode_position.z|float %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={x}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={y}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Control point was set: X%.6f Y%.6f Z%.6f"' % (x, y, z)}
{% else %}
{% set move_diff_x = printer.gcode_move.gcode_position.x|float - svv.idex_xcontrolpoint|float %}
{% set move_diff_y = printer.gcode_move.gcode_position.y|float - svv.idex_ycontrolpoint|float %}
{% set move_diff_z = printer.gcode_move.gcode_position.z|float - svv.idex_zcontrolpoint|float %}
SET_GCODE_OFFSET X_ADJUST={move_diff_x} Y_ADJUST={move_diff_y} Z_ADJUST={move_diff_z} MOVE=0
{% set new_x_offset = svv.idex_xoffset - move_diff_x %}
{% set new_y_offset = svv.idex_yoffset - move_diff_y %}
{% set new_z_offset = svv.idex_zoffset - move_diff_z %}
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE={new_x_offset}
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE={new_y_offset}
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={new_z_offset}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset was set: X%.6f Y%.6f Z%.6f"' % (toolhead, new_x_offset, new_y_offset, new_z_offset)}
{% endif %}
[gcode_macro _VAOC_MOVE]
gcode =
{% set x = params.X|default(0)|float %}
{% set y = params.Y|default(0)|float %}
{% set z = params.Z|default(0)|float %}
G91
{% if z != 0 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 Z%.6f F300"' % (z)}
G1 Z{z} F300
{% else %}
{% if x <=2 and y <=2 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 X%.6f Y%.6f F18000"' % (x, y)}
G1 X{x} Y{y} F18000
{% endif %}
{% endif %}
G90
[gcode_macro _VAOC_CALIBRATE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% if printer["z_offset_probe"] is defined and is_started %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
{% if auto_z_offset %}
_START_VAOC AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_END
{% else %}
_VAOC_LOAD_TOOL T={default_toolhead}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
{% endif %}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_Z_OFFSET
{% endif %}
[gcode_macro _VAOC_PROBE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
{% if not auto_z_offset %}
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
{% endif %}
M400
_VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT
[gcode_macro _VAOC_Z_OFFSET_PROBE_CURRENT_POSITION]
gcode =
Z_OFFSET_PROBE PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_DROP=1 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
[gcode_macro _VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT]
gcode =
{% if printer["z_offset_probe"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE={last_z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Z-offset control point set:: %.6f"' % last_z}
{% else %}
{% set z = svv.idex_zoffsetcontrolpoint|float - last_z %}
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE=0
G0 Z{svv.idex_zcontrolpoint|float} F{z_speed}
SET_GCODE_OFFSET Z_ADJUST={(0 - z)} MOVE=1
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset set: Z %.6f"' % (t, z)}
{% endif %}
{% endif %}
[gcode_macro _VAOC_ECHO_Z_OFFSET]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s toolhead z-offset %.6f"' % (1 if default_toolhead == 0 else 0, svv.idex_zoffset)}
{% if svv.idex_zoffset|abs < 0.02 %}
CONSOLE_ECHO TITLE={'"Perfect toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="You have a perfect toolhead z-offset!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.02 and svv.idex_zoffset|abs < 0.05 %}
CONSOLE_ECHO TITLE={'"Good toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is good!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.05 and svv.idex_zoffset|abs < 0.1 %}
CONSOLE_ECHO TITLE={'"High toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset could be better._N_Use minimum 0.3mm first layer height for copy and mirror mode prints." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.1 and svv.idex_zoffset|abs < 0.2 %}
CONSOLE_ECHO TITLE={'"Bad toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is bad._N_Copy and mirror mode prints are not recommended with it." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.2 %}
CONSOLE_ECHO TITLE={'"Unacceptable toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is unacceptable._N_Do not print in copy and mirror mode with it." TYPE="alert"
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG="Toolhead z-offset calibration done!"
[gcode_macro _VAOC_CALIBRATE_TEMP_OFFSET]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if is_fixed and is_started and printer["z_offset_probe"] is defined and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
_VAOC_LOAD_TOOL T={default_toolhead} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
[gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET=0
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
M400
[gcode_macro _VAOC_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for thermal expansion..."
G4 P240000
RATOS_ECHO PREFIX="VAOC" MSG="Probing with nozzle temperature {temp}°C..."
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _VAOC_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set svv = printer.save_variables.variables %}
{% set msg = '"T0 expansion coefficient %.6fmm_N_T1 expansion coefficient %.6fmm"' % (svv.nozzle_expansion_coefficient_t0, svv.nozzle_expansion_coefficient_t1) %}
CONSOLE_ECHO TITLE="Nozzle expansion coefficients:" MSG={msg} TYPE="success"
[gcode_macro _VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, expected_camera_x_position, expected_camera_y_position)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - expected_camera_x_position)|abs > 5 %}
M84
{ action_raise_error("VAOC x-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_xcontrolpoint, expected_camera_x_position)) }
{% endif %}
{% if (idex_ycontrolpoint - expected_camera_y_position)|abs > 5 %}
M84
{ action_raise_error("VAOC y-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_ycontrolpoint, expected_camera_y_position)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - printer.gcode_move.gcode_position.x|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected y-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_xcontrolpoint, printer.gcode_move.gcode_position.x|float)) }
{% endif %}
{% if (idex_ycontrolpoint - printer.gcode_move.gcode_position.y|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected x-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_ycontrolpoint, printer.gcode_move.gcode_position.y|float)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_SAFE_Z_HEIGHT]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set idex_zoffsetcontrolpoint = svv.idex_zoffsetcontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_SAFE_Z_HEIGHT" MSG={'"idex_zcontrolpoint: %.6f, idex_zoffsetcontrolpoint: %.6f"' % (idex_zcontrolpoint, idex_zoffsetcontrolpoint)}
{% if safe_z < idex_zcontrolpoint + 2 or safe_z < idex_zoffsetcontrolpoint + 2 %}
{action_raise_error("VAOC safe_z value (%.3f) is too low, it must be higher than %.3f" % (safe_z, [idex_zoffsetcontrolpoint + 2, idex_zcontrolpoint + 2]|max))}
{% endif %}
[gcode_macro _VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED]
gcode =
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T0. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T1. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
[gcode_macro _VAOC_RESET]
gcode =
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={expected_camera_x_position}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={expected_camera_y_position}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE=5.0
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE=0.0
RATOS_ECHO PREFIX="VAOC" MSG="VAOC configuration resetted. Please calibrate it before using the printer."
[gcode_macro _ECHO_VAOC_VARS]
description = Echo VAOC variables to the console.
gcode =
{% for var, value in printer["gcode_macro _VAOC"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro _VAOC_SWITCH_LED]
gcode =
{% if params.STATE|default(0)|int == 1 %}
_LED_VAOC_ON
{% else %}
_LED_VAOC_OFF
{% endif %}
[gcode_macro Z_PROBE_TEST_T0]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T0
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST_T1]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T1
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro _VAOC_Z_PROBE_LOOP]
gcode =
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_SHAKE_IT
_VAOC_START
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if primary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T0. Retried {primary_retries} time(s)."
{% endif %}
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
{% if (primary_range - secondary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 is drifting significantly more than T1."
{% endif %}
{% if (secondary_range - primary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 is drifting significantly more than T0."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T0]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T1]
gcode =
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _SHAKE_IT]
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
_Z_HOP
{% for i in range(3) %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 + 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 + 1}
{% endfor %}
{% for i in range(2) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 + 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 + 50}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 1}
{% endfor %}
{% endfor %}
[gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 retries updated: {new_retries}"
[gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 retries updated: {new_retries}"
[gcode_macro _CLEAR_PRIMARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 result set"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 retries"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _CLEAR_SECONDARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 result set"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 retries"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _VAOC_TEST_Z_OFFSET]
gcode =
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[delayed_gcode _IDEX_INIT]
initial_duration = 0.1
gcode =
VERIFY_HYBRID_INVERTED
[gcode_macro Z_TILT_ADJUST]
rename_existing = Z_TILT_ADJUST_ORIG
gcode =
{% set beacon_contact_z_tilt_adjust_samples = printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust_samples|default(2)|int %}
{% set beacon_contact_z_tilt_adjust = true if printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust|default(true)|lower == 'true' else false %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={printer["gcode_macro RatOS"].default_toolhead|default(0)|int} TOOLSHIFT=false
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_tilt_adjust %}
Z_TILT_ADJUST_ORIG PROBE_METHOD=contact SAMPLES={beacon_contact_z_tilt_adjust_samples}
{% else %}
Z_TILT_ADJUST_ORIG
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
STOW_PROBE
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == "copy" %}
_IDEX_COPY
{% elif idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[stepper_x]
position_max = 500
position_endstop = -59.8
position_min = -59.8
step_pin = PF13
dir_pin = x_dir_pin
enable_pin = !PF14
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t0:PB6
[stepper_y]
position_max = 533.65
position_min = -14.35
position_endstop = -14.35
step_pin = PG0
dir_pin = !y_dir_pin
enable_pin = !PF15
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = PG9
[stepper_z]
position_max = 500
position_min = -7
step_pin = PC13
dir_pin = !z0_dir_pin
enable_pin = !PF1
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
homing_speed = 10
endstop_pin = probe:z_virtual_endstop
[bed_mesh]
horizontal_move_z = 2
mesh_min = 20,30
mesh_max = 470,462.5
probe_count = 40,40
fade_start = 1.0
fade_end = 10.0
mesh_pps = 2,2
algorithm = bicubic
bicubic_tension = .2
speed = 600
[z_tilt]
z_positions =
0,0
250,500
500,0
points =
20,10
250,440
480,10
horizontal_move_z = 20
retries = 10
retry_tolerance = 0.02
speed = 600
[extruder]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t0:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t0:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.049
step_pin = toolboard_t0:PD0
dir_pin = toolboard_t0:e_dir_pin
enable_pin = !toolboard_t0:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[firmware_retraction]
retract_speed = 60
unretract_extra_length = 0
unretract_speed = 60
retract_length = 0.5
[extruder1]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t1:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t1:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.03
step_pin = toolboard_t1:PD0
dir_pin = toolboard_t1:e_dir_pin
enable_pin = !toolboard_t1:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[resonance_tester]
accel_chip_x = adxl345 toolboard_t0
accel_chip_y = adxl345 toolboard_t0
probe_points =
250,250,20
[tmc2209 stepper_x]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 dual_carriage]
stealthchop_threshold = 0
interpolate = False
uart_pin = PF2
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD11
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC7
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_y1]
step_pin = PG4
dir_pin = y1_dir_pin
enable_pin = !PA0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
[tmc2209 stepper_z]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_z1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE1
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z1]
step_pin = PE2
dir_pin = !z1_dir_pin
enable_pin = !PD4
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 stepper_z2]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD3
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z2]
step_pin = PE6
dir_pin = !z2_dir_pin
enable_pin = !PE0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 extruder]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t0:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[tmc2209 extruder1]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t1:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[beacon]
serial = /dev/beacon
x_offset = 0
y_offset = 22.5
mesh_main_direction = x
mesh_runs = 1
speed = 15.
lift_speed = 80.
contact_max_hotend_temperature = 275
[delayed_gcode _BEACON_INIT]
initial_duration = 1
gcode =
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(0)|float %}
{% if nozzle_expansion_coefficient_multiplier == 0 %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is not defined %}
{% set nozzle_expansion_coefficient_multiplier = 1.0 %}
{% else %}
{% set nozzle_expansion_coefficient_multiplier = printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier|default(1.0)|float %}
{% endif %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={nozzle_expansion_coefficient_multiplier}
{% endif %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is defined %}
CONSOLE_ECHO TITLE="Deprecated gcode variable" TYPE="warning" MSG={'"Please remove the variable beacon_contact_expansion_multiplier from your config file."'}
{% endif %}
[gcode_macro BEACON_RATOS_CALIBRATION]
gcode =
RATOS_ECHO MSG="Did you mean BEACON_RATOS_CALIBRATE?"
[gcode_macro BEACON_RATOS_CALIBRATE]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
BEACON_INITIAL_CALIBRATION _AUTOMATED=True
{% if beacon_contact_start_print_true_zero %}
BEACON_POKE_TEST _AUTOMATED=True
_BEACON_CHECK_POKE
{% if printer["dual_carriage"] is not defined %}
BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET _AUTOMATED=True
{% endif %}
{% endif %}
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
BEACON_FINAL_CALIBRATION _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% if beacon_contact_start_print_true_zero %}
BEACON_MEASURE_GANTRY_TWIST
_BEACON_MAYBE_SCAN_COMPENSATION
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_OFF
{% endif %}
{% if beacon_contact_start_print_true_zero %}
{% if printer["dual_carriage"] is not defined %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
_BEACON_ECHO_POKE
{% endif %}
RATOS_ECHO MSG="Beacon calibration finished!"
_LED_BEACON_CALIBRATION_END
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
[gcode_macro BEACON_INITIAL_CALIBRATION]
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
MAYBE_HOME X=True Y=True
_LED_BEACON_CALIBRATION_START
G90
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE
_Z_HOP
RATOS_ECHO MSG="Initial beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_FINAL_CALIBRATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
_BEACON_HOME_AND_ABL
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
_LED_BEACON_CALIBRATION_START
G90
G0 Z2 F{z_hop_speed}
RATOS_ECHO MSG="Waiting for calibration temperature..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_Z_HOP
BEACON_AUTO_CALIBRATE
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
_Z_HOP
RATOS_ECHO MSG="Final beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_POKE_TEST]
variable_poke_result_1 = -1
variable_poke_result_2 = -1
variable_poke_result_3 = -1
variable_poke_result_4 = -1
variable_poke_result_5 = -1
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_1 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_2 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_3 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_4 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_5 VALUE=-1
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
G0 Z5 F{z_hop_speed}
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=1
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=2
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=3
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=4
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=5
_Z_HOP
RATOS_ECHO MSG="Beacon poke test finished!"
{% if not automated %}
_BEACON_ECHO_POKE
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_POKE]
gcode =
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
BEACON_POKE speed=3 top=5 bottom={poke_bottom}
BEACON_QUERY
[gcode_macro _BEACON_STORE_POKE]
gcode =
{% set i = params.I|default(1)|int %}
{% set last_z = printer.beacon.last_poke_result|default(0)|float %}
{% if printer.beacon.last_poke_result|lower != "none" %}
{% if printer.beacon.last_poke_result.error == 0 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE={"poke_result_%s" % i} VALUE={printer.beacon.last_poke_result.latency}
{% endif %}
{% endif %}
[gcode_macro _BEACON_CHECK_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% if p1 == -1 or p2 == -1 or p3 == -1 or p4 == -1 or p5 == -1 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test error!") }
{% endif %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg > 6 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test failed!") }
{% endif %}
[gcode_macro _BEACON_ECHO_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg <= 1 %}
{% set type = "success" %}
{% set note = "Extremely low noise, rarely achieved" %}
{% elif avg > 1 and avg <= 4 %}
{% set type = "info" %}
{% set note = "Excellent performance for a typical printer" %}
{% elif avg > 4 and avg <= 8 %}
{% set type = "warning" %}
{% set note = "Acceptable performance, machine may have considerable cyclic axis noise" %}
{% elif avg > 8 and avg <= 11 %}
{% set type = "alert" %}
{% set note = "Not ideal, may want to verify proper mounting or use thinner stackups" %}
{% elif avg > 11 %}
{% set type = "alert" %}
{% set note = "Reason for concern, present setup may be risky to continue with" %}
{% endif %}
CONSOLE_ECHO TITLE="Beacon poke test result:" TYPE={type} MSG={'"Average latency: %.2f_N_%s"' % (avg, note)}
[gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set test_margin = 30 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Nozzle temperature offset calibration..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET=0
{% if not automated %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
{% endif %}
[gcode_macro _BEACON_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="BEACON" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
RATOS_ECHO PREFIX="BEACON" MSG="Probing with nozzle temperature {temp}°C..."
PROBE PROBE_METHOD=contact PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
BEACON_QUERY
G0 Z5 F{z_speed}
[gcode_macro _BEACON_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer.beacon.last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{default_toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
CONSOLE_ECHO TYPE="info" MSG={'"T0 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t0}
{% else %}
CONSOLE_ECHO TYPE="info" MSG={'"T1 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t1}
{% endif %}
[gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET]
variable_runtime_temp = 0
gcode =
{% set toolhead = params.TOOLHEAD|default(0)|int %}
{% set reset = true if params.RESET|default(false)|lower == 'true' else false %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% if reset %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE=0
{% else %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set nozzle_expansion_coefficient_t0 = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if printer["dual_carriage"] is defined %}
{% set nozzle_expansion_coefficient_t1 = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set applied_offset = svv.nozzle_expansion_applied_offset|default(0)|float %}
{% set temp = printer['extruder' if toolhead == 0 else 'extruder1'].target|float %}
{% set temp_offset = temp - beacon_contact_true_zero_temp %}
{% set expansion_coefficient = nozzle_expansion_coefficient_t0 if toolhead == 0 else nozzle_expansion_coefficient_t1 %}
{% set expansion_offset = nozzle_expansion_coefficient_multiplier * (temp_offset * (expansion_coefficient / 100)) %}
{% set new_offset = ((-applied_offset) + expansion_offset) %}
SET_GCODE_OFFSET Z_ADJUST={new_offset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE={expansion_offset}
SET_GCODE_VARIABLE MACRO=_BEACON_SET_NOZZLE_TEMP_OFFSET VARIABLE=runtime_temp VALUE={temp}
RATOS_ECHO PREFIX="BEACON" MSG={'"Nozzle expansion offset of %.6fmm applied to T%s"' % (expansion_offset, toolhead)}
DEBUG_ECHO PREFIX="_BEACON_SET_NOZZLE_TEMP_OFFSET" MSG="multiplier: {nozzle_expansion_coefficient_multiplier}, coefficient: {expansion_coefficient}, temp_offset: {temp_offset}, expansion_offset: {expansion_offset}, applied_offset: {applied_offset}, new_offset: {new_offset}"
{% endif %}
{% endif %}
[gcode_macro BEACON_MEASURE_GANTRY_TWIST]
variable_needs_compensation = False
variable_reference_z = 0.0
variable_front = 0.0
variable_front_left = 0.0
variable_front_right = 0.0
variable_back = 0.0
variable_back_left = 0.0
variable_back_right = 0.0
variable_right = 0.0
variable_left = 0.0
variable_margin_x = 40
variable_margin_y = 40
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=False
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Measure gantry twist..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="center"
G0 X{margin_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_left"
G0 X{safe_home_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front"
G0 X{(printable_x_max - margin_x)} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_right"
G0 X{(printable_x_max - margin_x)} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="right"
G0 X{(printable_x_max - margin_x)} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_right"
G0 X{safe_home_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back"
G0 X{margin_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_left"
G0 X{margin_x} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="left"
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
_BEACON_ECHO_GANTRY_TWIST
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_GANTRY_TWIST]
gcode =
RATOS_ECHO PREFIX="BEACON" MSG="Probing..."
BEACON_OFFSET_COMPARE
BEACON_QUERY
[gcode_macro _BEACON_STORE_GANTRY_TWIST]
gcode =
{% set location = params.LOCATION|lower %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set last_z = printer.beacon.last_offset_result["delta"]|default(0)|float %}
{% if location == "center" %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE={location} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_GANTRY_TWIST]
gcode =
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float * 1000 %}
{% set front_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_left|default(0)|float * 1000 %}
{% set front = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front|default(0)|float * 1000 %}
{% set front_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_right|default(0)|float * 1000 %}
{% set right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].right|default(0)|float * 1000 %}
{% set back_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_right|default(0)|float * 1000 %}
{% set back = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back|default(0)|float * 1000 %}
{% set back_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_left|default(0)|float * 1000 %}
{% set left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].left|default(0)|float * 1000 %}
{% set line_1 = "Front left: %.6fμm" % (front_left) %}
{% set line_2 = "Front center: %.6fμm" % (front) %}
{% set line_3 = "Front right: %.6fμm" % (front_right) %}
{% set line_4 = "Left center: %.6fμm" % (left) %}
{% set line_5 = "Right center: %.6fμm" % (right) %}
{% set line_6 = "Back left: %.6fμm" % (back_left) %}
{% set line_7 = "Back center: %.6fμm" % (back) %}
{% set line_8 = "Back right: %.6fμm" % (back_right) %}
{% set max_value = [(front_left|abs), (front|abs), (front_right|abs), (left|abs), (right|abs), (back_left|abs), (back|abs), (back_right|abs)]|max %}
{% if max_value <= 50 %}
{% set type = "success" %}
{% set recommendation = "Very low gantry twist: %.6fμm._N_No beacon scan compensation needed." % max_value %}
{% elif max_value > 50 and max_value <= 100 %}
{% set type = "info" %}
{% set recommendation = "Low gantry twist: %.6fμm._N_You may experience first layer inconsistensies, consider beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 100 and max_value <= 150 %}
{% set type = "warning" %}
{% set recommendation = "High gantry twist: %.6fμm._N_High chance of first layer problems, beacon scan compensation is highly encouraged." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 150 and max_value <= 200 %}
{% set type = "alert" %}
{% set recommendation = "Very High gantry twist: %.6fμm._N_You will encounter first layer problems on large prints unless you activate beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 200 %}
{% set type = "alert" %}
{% set recommendation = "Extremely high gantry twist: %.6fμm._N_You have significant scan/contact inconsistency which is indicative of mechanical problems, please investigate before resorting to software compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% endif %}
CONSOLE_ECHO TITLE="Gantry twist relative to the center" TYPE={type} MSG={'"_N_%s_N__N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s"' % (recommendation, line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8)}
[gcode_macro BEACON_CREATE_SCAN_COMPENSATION_MESH]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set profile = params.PROFILE|default("Contact")|string %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
{% set probe_count = printer["gcode_macro RatOS"].beacon_scan_compensation_probe_count %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% if not beacon_scan_compensation_enable %}
RATOS_ECHO MSG="Beacon scan compensation is disabled!"
{% else %}
MAYBE_HOME
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_LED_BEACON_CALIBRATION_START
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
RATOS_ECHO MSG="Please wait..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% endif %}
{% if not automated %}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
{% endif %}
{% if printer.z_tilt is defined %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% endif %}
{% if printer.quad_gantry_level is defined %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES=2 SAMPLES_DROP=1 SAMPLES_TOLERANCE_RETRIES=10 PROBE_COUNT={probe_count[0]},{probe_count[1]} PROFILE={profile}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
RATOS_ECHO MSG="Beacon scan compensation mesh created!"
{% if not automated %}
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
{% endif %}
{% endif %}
[gcode_macro _BEACON_APPLY_SCAN_COMPENSATION]
gcode =
{% set beacon_scan_compensation_profile = printer["gcode_macro RatOS"].beacon_scan_compensation_profile %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_SCAN_COMPENSATION" MSG="beacon_scan_compensation_profile {beacon_scan_compensation_profile}, beacon_scan_compensation_enable {beacon_scan_compensation_enable}"
{% if beacon_scan_compensation_enable %}
BEACON_APPLY_SCAN_COMPENSATION PROFILE={beacon_scan_compensation_profile}
{% endif %}
[gcode_macro _BEACON_MAYBE_SCAN_COMPENSATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set needs_scan_compensation = true if printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].needs_compensation|default(false)|lower == 'true' else false %}
{% if needs_scan_compensation %}
BEACON_CREATE_SCAN_COMPENSATION_MESH _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% endif %}
[gcode_macro _BEACON_HOME_AND_ABL]
gcode =
MAYBE_HOME X=True Y=True
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% if needs_rehoming %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% endif %}
[gcode_macro _BEACON_SAVE_MULTIPLIER]
gcode =
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set multiplier = printer["gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER"].runtime_multiplier|default(-1.0)|float %}
DEBUG_ECHO PREFIX="_BEACON_SAVE_MULTIPLIER" MSG="multiplier: {multiplier}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if multiplier > 0 and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={multiplier}
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE=-1.0
CONSOLE_ECHO TITLE="Hotend thermal expansion compensation" TYPE="success" MSG={'"New value is: %.6f_N_The new multiplier value has been saved to the configuration."' % multiplier}
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER]
variable_runtime_multiplier = -1.0
gcode =
{% set toolhead = 0 %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if layer_number == 0 and is_printing_gcode %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Documentation" %}
{% set line_1 = '"Your slicer is not correctly reporting layer information. See the layer change custom g-code in the %s".' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Missing layer information" TYPE="warning" MSG={line_1}
{% endif %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="layer_number: {layer_number}, is_printing_gcode: {is_printing_gcode}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if layer_number == 1 and is_printing_gcode and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if toolhead == 1 %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set beacon_contact_expansion_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set print_temp = printer["gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET"].runtime_temp|default(0)|int %}
{% if print_temp > 0 %}
{% set z_offset = printer.gcode_move.homing_origin.z|float %}
{% set temp_delta = print_temp - beacon_contact_true_zero_temp %}
{% set coefficient_per_degree = nozzle_expansion_coefficient / 100 %}
{% set z_offset_per_degree = z_offset / temp_delta %}
{% set new_multiplier = z_offset_per_degree / coefficient_per_degree %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="print_temp: {print_temp}, z_offset: {z_offset}, temp_delta: {temp_delta}, nozzle_expansion_coefficient: {nozzle_expansion_coefficient}, coefficient_per_degree: {coefficient_per_degree}, z_offset_per_degree: {z_offset_per_degree}, old_multiplier: {beacon_contact_expansion_multiplier}, new_multiplier: {new_multiplier}"
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE={new_multiplier}
{% endif %}
{% endif %}
[fan_generic part_fan_t0]
pin = !toolboard_t0:PA0
cycle_time = 0.00004
[fan_generic part_fan_t1]
pin = !toolboard_t1:PA0
cycle_time = 0.00004
[heater_fan toolhead_cooling_fan_t1]
heater = extruder1
pin = toolboard_t1:PA1
[controller_fan controller_fan]
pin = PD12
[gcode_macro T0]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = True
variable_color = "7bff33"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = -32.8
variable_parking_position = -57.800
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=0 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[gcode_macro T1]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = False
variable_color = "0ea5e9"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = 532.8
variable_parking_position = 556.971
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=1 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[save_variables]
filename = /home/pi/printer_data/config/ratos-variables.cfg
[z_offset_probe]
pin = ^PG10
z_offset = -7
y_offset = 0
x_offset = 37.5
speed = 10
samples = 3
sample_retract_dist = 5
lift_speed = 10.0
samples_result = median
samples_tolerance = 0.2
samples_tolerance_retries = 5
[neopixel vaoc_led]
pin = PB0
chain_count = 6
color_order = GRB
[heater_fan vaoc_fan]
pin = PD13
heater = heater_bed
fan_speed = 1.0
heater_temp = 50
[filament_switch_sensor toolhead_filament_sensor_t0]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t0:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=0
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=0
[gcode_button toolhead_filament_sensor_button_t0]
pin = ^!toolboard_t0:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=0
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=0
{% endif %}
press_gcode =
[filament_switch_sensor toolhead_filament_sensor_t1]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t1:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=1
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=1
[gcode_button toolhead_filament_sensor_button_t1]
pin = ^!toolboard_t1:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=1
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=1
{% endif %}
press_gcode =
[beacon model default]
model_coef = 1.5216898007481126,
1.8902129794265508,
0.831820228817575,
0.3593149586958484,
0.23269392145129414,
0.19533062331679613,
-0.1632586565325532,
-0.17574982456618962,
0.17702053002792054,
0.13435326641891854
model_domain = 1.851328082849494e-07,1.9354184656086437e-07
model_range = 0.200000,5.000000
model_temp = 43.655936
model_offset = -0.05394
[bed_mesh Preparation]
version = 1
points =
-0.123065, -0.129249, -0.137728, -0.143346, -0.146108, -0.151560, -0.155215, -0.159040, -0.159958, -0.164177, -0.166491, -0.171752, -0.176450, -0.180710, -0.184686, -0.190246, -0.195775, -0.202238, -0.207460, -0.213022, -0.218225, -0.220510, -0.220567, -0.219225, -0.217630, -0.212552, -0.206331, -0.200070, -0.194573, -0.188334, -0.180118, -0.172176, -0.168038, -0.164374, -0.159375, -0.153073, -0.146940, -0.141521, -0.135166, -0.127086
-0.088754, -0.096605, -0.102126, -0.105995, -0.109969, -0.114049, -0.118511, -0.121889, -0.124322, -0.126883, -0.131213, -0.135417, -0.139505, -0.143071, -0.147057, -0.152929, -0.157956, -0.164833, -0.170577, -0.176167, -0.181394, -0.184379, -0.183957, -0.184723, -0.181740, -0.178752, -0.172233, -0.167393, -0.161225, -0.155149, -0.148851, -0.144256, -0.140355, -0.137883, -0.132371, -0.128553, -0.122059, -0.115777, -0.111817, -0.103433
-0.059703, -0.065141, -0.068894, -0.072534, -0.074652, -0.078732, -0.083449, -0.087482, -0.090032, -0.093010, -0.095624, -0.100951, -0.104058, -0.107939, -0.110295, -0.114845, -0.122184, -0.128323, -0.134619, -0.141129, -0.146735, -0.150526, -0.151921, -0.151703, -0.149648, -0.145697, -0.140806, -0.136280, -0.130497, -0.125540, -0.120070, -0.115730, -0.115253, -0.113816, -0.111683, -0.107485, -0.102833, -0.098964, -0.092084, -0.083493
-0.035146, -0.038887, -0.040630, -0.042918, -0.045822, -0.048863, -0.053602, -0.057912, -0.061422, -0.063969, -0.067771, -0.070734, -0.074263, -0.077254, -0.079459, -0.084177, -0.089247, -0.097608, -0.105291, -0.111173, -0.118299, -0.123146, -0.124957, -0.125483, -0.121116, -0.117566, -0.112065, -0.108311, -0.103527, -0.098034, -0.093794, -0.092694, -0.092279, -0.092993, -0.091409, -0.090502, -0.087302, -0.082043, -0.077730, -0.068983
-0.014429, -0.015436, -0.015024, -0.015867, -0.016594, -0.019643, -0.023524, -0.028230, -0.032698, -0.035277, -0.037866, -0.041326, -0.042863, -0.045187, -0.048169, -0.051460, -0.057369, -0.064702, -0.072998, -0.082472, -0.088649, -0.094871, -0.098359, -0.099789, -0.097374, -0.090473, -0.085585, -0.080722, -0.076818, -0.073349, -0.069668, -0.068340, -0.069674, -0.071996, -0.071434, -0.069706, -0.067260, -0.064747, -0.060147, -0.051867
0.001800, 0.004209, 0.006295, 0.006641, 0.006498, 0.003907, 0.000374, -0.004775, -0.008574, -0.012033, -0.015343, -0.017616, -0.020077, -0.021090, -0.023071, -0.026600, -0.031917, -0.039089, -0.048471, -0.057699, -0.066738, -0.073148, -0.075881, -0.078085, -0.074661, -0.071015, -0.062931, -0.057662, -0.054662, -0.049156, -0.046409, -0.047290, -0.049401, -0.052189, -0.052468, -0.052381, -0.048999, -0.045375, -0.042758, -0.036124
0.014578, 0.018249, 0.024038, 0.026382, 0.027249, 0.026050, 0.022467, 0.017577, 0.013010, 0.010887, 0.006983, 0.004054, 0.002721, 0.001326, -0.000218, -0.003487, -0.007851, -0.014883, -0.023207, -0.033846, -0.042392, -0.050957, -0.055968, -0.056765, -0.055272, -0.049752, -0.043583, -0.037460, -0.031652, -0.028299, -0.026023, -0.024866, -0.027110, -0.030476, -0.033084, -0.034078, -0.031246, -0.029362, -0.025190, -0.019151
0.024410, 0.030484, 0.035193, 0.039485, 0.041745, 0.040083, 0.037331, 0.032763, 0.028232, 0.025326, 0.021729, 0.020069, 0.017930, 0.018061, 0.015847, 0.013482, 0.008905, 0.001823, -0.007356, -0.016569, -0.026170, -0.033571, -0.037941, -0.040096, -0.038153, -0.033153, -0.025879, -0.019168, -0.014733, -0.010497, -0.008672, -0.007561, -0.010567, -0.014787, -0.015661, -0.017707, -0.017691, -0.014205, -0.012676, -0.006032
0.030350, 0.037321, 0.045452, 0.050793, 0.053375, 0.054499, 0.051059, 0.046846, 0.042496, 0.039367, 0.035643, 0.033919, 0.033912, 0.033623, 0.032081, 0.030054, 0.024662, 0.019256, 0.010309, -0.000351, -0.009383, -0.017529, -0.022320, -0.022585, -0.022214, -0.017406, -0.012453, -0.004461, 0.001580, 0.003945, 0.005930, 0.006089, 0.003042, -0.000316, -0.002673, -0.003751, -0.003717, -0.002638, 0.000226, 0.005144
0.035173, 0.044246, 0.052100, 0.057619, 0.061427, 0.062646, 0.059768, 0.057094, 0.052969, 0.049696, 0.046221, 0.044853, 0.044616, 0.045243, 0.045236, 0.041880, 0.037458, 0.030193, 0.021980, 0.013232, 0.002262, -0.005043, -0.010706, -0.011683, -0.008394, -0.003728, 0.001908, 0.006662, 0.011662, 0.016663, 0.018832, 0.016640, 0.013833, 0.008164, 0.007799, 0.005419, 0.005328, 0.009190, 0.008467, 0.015441
0.037108, 0.045666, 0.056458, 0.063149, 0.067499, 0.069070, 0.068454, 0.065539, 0.062239, 0.059947, 0.057580, 0.054794, 0.056387, 0.057237, 0.057484, 0.055314, 0.050020, 0.043846, 0.035280, 0.025122, 0.016671, 0.008013, 0.002311, 0.000737, 0.001896, 0.008203, 0.014297, 0.020006, 0.024262, 0.026669, 0.029339, 0.030551, 0.026033, 0.021667, 0.017948, 0.016993, 0.017491, 0.017914, 0.020540, 0.025522
0.036352, 0.047193, 0.056745, 0.064612, 0.068634, 0.070738, 0.069708, 0.067799, 0.066444, 0.064284, 0.063129, 0.061805, 0.060988, 0.062269, 0.063716, 0.060863, 0.057021, 0.049768, 0.040718, 0.032150, 0.020744, 0.014030, 0.009615, 0.006588, 0.008979, 0.012564, 0.020268, 0.025138, 0.030238, 0.034561, 0.036879, 0.034610, 0.032263, 0.027581, 0.024798, 0.023672, 0.023321, 0.026978, 0.024620, 0.027896
0.031904, 0.041999, 0.053526, 0.061780, 0.068626, 0.071467, 0.069588, 0.070855, 0.067652, 0.067081, 0.066260, 0.065427, 0.067567, 0.067660, 0.066819, 0.066532, 0.062096, 0.056381, 0.047624, 0.037620, 0.028342, 0.019370, 0.013689, 0.013032, 0.014071, 0.018558, 0.024375, 0.029309, 0.035040, 0.038931, 0.042663, 0.042886, 0.037831, 0.034178, 0.030240, 0.030073, 0.030481, 0.030514, 0.032425, 0.035200
0.027182, 0.039232, 0.050723, 0.059936, 0.065685, 0.068762, 0.069802, 0.067959, 0.067866, 0.067327, 0.067183, 0.067449, 0.068351, 0.070500, 0.070804, 0.066856, 0.063180, 0.057359, 0.048570, 0.041217, 0.030261, 0.023075, 0.018834, 0.015316, 0.018939, 0.022756, 0.029306, 0.034018, 0.038670, 0.043164, 0.045084, 0.044050, 0.042856, 0.037331, 0.034978, 0.032203, 0.031843, 0.034428, 0.032762, 0.037273
0.021053, 0.033448, 0.046106, 0.055345, 0.064261, 0.068907, 0.069228, 0.069829, 0.068287, 0.068723, 0.069343, 0.068829, 0.071972, 0.073165, 0.073793, 0.072091, 0.066945, 0.060901, 0.053179, 0.043877, 0.036784, 0.028377, 0.023620, 0.022244, 0.021968, 0.027336, 0.032852, 0.037884, 0.042949, 0.044947, 0.048544, 0.049110, 0.045085, 0.042044, 0.039134, 0.036728, 0.035119, 0.034480, 0.035005, 0.040348
0.012798, 0.026215, 0.038175, 0.049823, 0.056616, 0.061959, 0.063431, 0.063875, 0.064311, 0.064278, 0.065429, 0.067402, 0.068134, 0.070311, 0.071612, 0.068720, 0.065355, 0.058476, 0.049821, 0.043365, 0.033745, 0.028649, 0.024126, 0.021884, 0.024781, 0.027504, 0.032892, 0.037274, 0.041428, 0.045995, 0.047404, 0.045205, 0.044657, 0.039586, 0.038947, 0.035435, 0.034980, 0.037579, 0.032889, 0.037251
0.002599, 0.016742, 0.028454, 0.039856, 0.050630, 0.057205, 0.057988, 0.060542, 0.060803, 0.062833, 0.063316, 0.063458, 0.067483, 0.068629, 0.069600, 0.068774, 0.065105, 0.060486, 0.053074, 0.043536, 0.036203, 0.030149, 0.025306, 0.023637, 0.024745, 0.030017, 0.034726, 0.038220, 0.042707, 0.043750, 0.047446, 0.047304, 0.044249, 0.040629, 0.037643, 0.037322, 0.036376, 0.036060, 0.034983, 0.039259
-0.009299, 0.003358, 0.016587, 0.028772, 0.037637, 0.045522, 0.048419, 0.050740, 0.052845, 0.054601, 0.054222, 0.056341, 0.057287, 0.060815, 0.062225, 0.059457, 0.058540, 0.052712, 0.045650, 0.039369, 0.029281, 0.023853, 0.020326, 0.017158, 0.020475, 0.024038, 0.029159, 0.033918, 0.035785, 0.040239, 0.040813, 0.040406, 0.039684, 0.033949, 0.033181, 0.032565, 0.029348, 0.033315, 0.026965, 0.030583
-0.026918, -0.010726, 0.002999, 0.014433, 0.026463, 0.034997, 0.038263, 0.042755, 0.042939, 0.045824, 0.048341, 0.048364, 0.051534, 0.052744, 0.054094, 0.054604, 0.051491, 0.048552, 0.042327, 0.033918, 0.027486, 0.020894, 0.015739, 0.013238, 0.014280, 0.018615, 0.022786, 0.027006, 0.032407, 0.034888, 0.037864, 0.036858, 0.033948, 0.030834, 0.029128, 0.027105, 0.027313, 0.024774, 0.024613, 0.027069
-0.040027, -0.025131, -0.010601, 0.002523, 0.013123, 0.021425, 0.026915, 0.029297, 0.032819, 0.034947, 0.036059, 0.038480, 0.039604, 0.041848, 0.043952, 0.042987, 0.042589, 0.037420, 0.031622, 0.024770, 0.017692, 0.011391, 0.007445, 0.004353, 0.006436, 0.009431, 0.015809, 0.020322, 0.022741, 0.028265, 0.028380, 0.028365, 0.028435, 0.021376, 0.020191, 0.019534, 0.016283, 0.019006, 0.011746, 0.014708
-0.056684, -0.040558, -0.026026, -0.013077, 0.001136, 0.010197, 0.014126, 0.019524, 0.020289, 0.024250, 0.027205, 0.027040, 0.032136, 0.032733, 0.036150, 0.035729, 0.033818, 0.032633, 0.025943, 0.018154, 0.011096, 0.004347, 0.000182, -0.001587, -0.000674, 0.003150, 0.008718, 0.014003, 0.019522, 0.021413, 0.024493, 0.023669, 0.021443, 0.017697, 0.014271, 0.011648, 0.010124, 0.007028, 0.008391, 0.011548
-0.070688, -0.054708, -0.038988, -0.022400, -0.012838, -0.002722, 0.002683, 0.005530, 0.009069, 0.011945, 0.013369, 0.016565, 0.019252, 0.022612, 0.026435, 0.026276, 0.025811, 0.021076, 0.014586, 0.009648, 0.000497, -0.005110, -0.010032, -0.013120, -0.009419, -0.005850, 0.001196, 0.007562, 0.011003, 0.016293, 0.018088, 0.015279, 0.015117, 0.005636, 0.004038, 0.002755, -0.002018, 0.003098, -0.003080, -0.000159
-0.089093, -0.069024, -0.051576, -0.039140, -0.023761, -0.014054, -0.008637, -0.004206, -0.002925, 0.000628, 0.004294, 0.005180, 0.012082, 0.014985, 0.018446, 0.019703, 0.018943, 0.015701, 0.008415, 0.001132, -0.005341, -0.012240, -0.017255, -0.018934, -0.018344, -0.013165, -0.006037, 0.001223, 0.007618, 0.009453, 0.012580, 0.011127, 0.007477, 0.001830, -0.001810, -0.004428, -0.005625, -0.007326, -0.005016, -0.000600
-0.099704, -0.080527, -0.064504, -0.047065, -0.036227, -0.025986, -0.020027, -0.016586, -0.013094, -0.010398, -0.007205, -0.002616, 0.000734, 0.006380, 0.011519, 0.011174, 0.009740, 0.006345, 0.000545, -0.006125, -0.015283, -0.021250, -0.024104, -0.027854, -0.024622, -0.019636, -0.011858, -0.003915, 0.000667, 0.007300, 0.007642, 0.003905, 0.002899, -0.006441, -0.009109, -0.009676, -0.012463, -0.007014, -0.012570, -0.007146
-0.114714, -0.093148, -0.075353, -0.061754, -0.045386, -0.035447, -0.029339, -0.024022, -0.022394, -0.017008, -0.013168, -0.011385, -0.002852, 0.000333, 0.005220, 0.006668, 0.006239, 0.003185, -0.002733, -0.010821, -0.017979, -0.026075, -0.029651, -0.031781, -0.028478, -0.022137, -0.015652, -0.008127, -0.002024, 0.000627, 0.005143, 0.004125, -0.000697, -0.005698, -0.011038, -0.012025, -0.011996, -0.012589, -0.010022, -0.005017
-0.122903, -0.103635, -0.085984, -0.068299, -0.055409, -0.045262, -0.039103, -0.034155, -0.030447, -0.026675, -0.022523, -0.017787, -0.012967, -0.006671, -0.001667, -0.001944, -0.001690, -0.006190, -0.012321, -0.018992, -0.026396, -0.032518, -0.035515, -0.038670, -0.034660, -0.028220, -0.021430, -0.013595, -0.009650, -0.004742, -0.002199, -0.005392, -0.005290, -0.012575, -0.015890, -0.016404, -0.019504, -0.013782, -0.018582, -0.014276
-0.134579, -0.113485, -0.095284, -0.079518, -0.062659, -0.052056, -0.046305, -0.039009, -0.037823, -0.031848, -0.027185, -0.024069, -0.016064, -0.013428, -0.007718, -0.004529, -0.006462, -0.009628, -0.015448, -0.022543, -0.030829, -0.037569, -0.039995, -0.040648, -0.038926, -0.033288, -0.025343, -0.019131, -0.012345, -0.009802, -0.006212, -0.006248, -0.010552, -0.013167, -0.017225, -0.018029, -0.017813, -0.019312, -0.017588, -0.012622
-0.141623, -0.121670, -0.102186, -0.085896, -0.071216, -0.060247, -0.053842, -0.047188, -0.042746, -0.037427, -0.034976, -0.028961, -0.023709, -0.016692, -0.012858, -0.012134, -0.011163, -0.015775, -0.023443, -0.028172, -0.036157, -0.042440, -0.044826, -0.047997, -0.043392, -0.036551, -0.030720, -0.023607, -0.017635, -0.012732, -0.009913, -0.014198, -0.013203, -0.020762, -0.021628, -0.022211, -0.024141, -0.018562, -0.021550, -0.018843
-0.153558, -0.131254, -0.112812, -0.097483, -0.078966, -0.067860, -0.060926, -0.053977, -0.052300, -0.044006, -0.039839, -0.035812, -0.028838, -0.024006, -0.019004, -0.016593, -0.019021, -0.020131, -0.025883, -0.034599, -0.040980, -0.047799, -0.051352, -0.052014, -0.049759, -0.042428, -0.034779, -0.027594, -0.022224, -0.019623, -0.014617, -0.015462, -0.018895, -0.023314, -0.026383, -0.027395, -0.026422, -0.027225, -0.024109, -0.018187
-0.161908, -0.140002, -0.120655, -0.102888, -0.087870, -0.077667, -0.069724, -0.063534, -0.057774, -0.052057, -0.047301, -0.041207, -0.036047, -0.031176, -0.024730, -0.024522, -0.023785, -0.027288, -0.033143, -0.038931, -0.048404, -0.054383, -0.057185, -0.059173, -0.055642, -0.049257, -0.042398, -0.033901, -0.029000, -0.023467, -0.020749, -0.023617, -0.023141, -0.030864, -0.033138, -0.032954, -0.034538, -0.029482, -0.033082, -0.028314
-0.174826, -0.151443, -0.130396, -0.116540, -0.098721, -0.086440, -0.078811, -0.071608, -0.069023, -0.060435, -0.055560, -0.050716, -0.042712, -0.037661, -0.034517, -0.031178, -0.032055, -0.033793, -0.038671, -0.045928, -0.052841, -0.060492, -0.063749, -0.063988, -0.062643, -0.056771, -0.049569, -0.041294, -0.034726, -0.031908, -0.028202, -0.029544, -0.031862, -0.035321, -0.038379, -0.038996, -0.038819, -0.039354, -0.037656, -0.031082
-0.183238, -0.161592, -0.141835, -0.122259, -0.107820, -0.096198, -0.087266, -0.081174, -0.074490, -0.069838, -0.064393, -0.057107, -0.050762, -0.045327, -0.038202, -0.038855, -0.038407, -0.041566, -0.047140, -0.051945, -0.061233, -0.066409, -0.069864, -0.071910, -0.067210, -0.062565, -0.055432, -0.048278, -0.044331, -0.038455, -0.036269, -0.038273, -0.038014, -0.045766, -0.046782, -0.045843, -0.049612, -0.044485, -0.046549, -0.043773
-0.193766, -0.171381, -0.150622, -0.136571, -0.116007, -0.105103, -0.095303, -0.087977, -0.084827, -0.076628, -0.071043, -0.067079, -0.058807, -0.053256, -0.047233, -0.043607, -0.045450, -0.047128, -0.052927, -0.059961, -0.065522, -0.072239, -0.075898, -0.075835, -0.075111, -0.067972, -0.061979, -0.053963, -0.049569, -0.047796, -0.043883, -0.043617, -0.047656, -0.050661, -0.053231, -0.054403, -0.054461, -0.055549, -0.052266, -0.047746
-0.201314, -0.179345, -0.161359, -0.141661, -0.125534, -0.113803, -0.104605, -0.097577, -0.091460, -0.084584, -0.081618, -0.073351, -0.066639, -0.060233, -0.053844, -0.052016, -0.050399, -0.053801, -0.060298, -0.064515, -0.073415, -0.079082, -0.082485, -0.085173, -0.080732, -0.075519, -0.069232, -0.061446, -0.057882, -0.054204, -0.050503, -0.055575, -0.054341, -0.063491, -0.062954, -0.061692, -0.063367, -0.060560, -0.063682, -0.062945
-0.210699, -0.186568, -0.169980, -0.155576, -0.134580, -0.123486, -0.114304, -0.104424, -0.101420, -0.092798, -0.086708, -0.083121, -0.072735, -0.068592, -0.062863, -0.059082, -0.060053, -0.060206, -0.063958, -0.071063, -0.077559, -0.085187, -0.086687, -0.088869, -0.087870, -0.081655, -0.074488, -0.068268, -0.062429, -0.060979, -0.056752, -0.057920, -0.060916, -0.066499, -0.069739, -0.070931, -0.070913, -0.070755, -0.068799, -0.063772
-0.219515, -0.197554, -0.177657, -0.160158, -0.145459, -0.131642, -0.122712, -0.114730, -0.108205, -0.102209, -0.096258, -0.088791, -0.081533, -0.074260, -0.066793, -0.066614, -0.064792, -0.068370, -0.072488, -0.076295, -0.085080, -0.090724, -0.095074, -0.097575, -0.093448, -0.090253, -0.083279, -0.075362, -0.072746, -0.067366, -0.066279, -0.070410, -0.069398, -0.077609, -0.078058, -0.078135, -0.084604, -0.079149, -0.080611, -0.079800
-0.230805, -0.207528, -0.186481, -0.172408, -0.153776, -0.143194, -0.132521, -0.122732, -0.119724, -0.111161, -0.104757, -0.098336, -0.089800, -0.085237, -0.079503, -0.074701, -0.074730, -0.077056, -0.080999, -0.087250, -0.090878, -0.098745, -0.100539, -0.104508, -0.101283, -0.096607, -0.088982, -0.085559, -0.079754, -0.079122, -0.075177, -0.075963, -0.081290, -0.085296, -0.088572, -0.088783, -0.090303, -0.090612, -0.089416, -0.085933
-0.237804, -0.216625, -0.196099, -0.177369, -0.162298, -0.151235, -0.142740, -0.134419, -0.126793, -0.120617, -0.114293, -0.107315, -0.098104, -0.090157, -0.083399, -0.082639, -0.080974, -0.083252, -0.088626, -0.094519, -0.101179, -0.107558, -0.109548, -0.114106, -0.110311, -0.106939, -0.099894, -0.093051, -0.091536, -0.087351, -0.087053, -0.090645, -0.091250, -0.099822, -0.100443, -0.101896, -0.103601, -0.100931, -0.103353, -0.101983
-0.247583, -0.224449, -0.204610, -0.192000, -0.171035, -0.160649, -0.151982, -0.142274, -0.139230, -0.129743, -0.123914, -0.119027, -0.108169, -0.102443, -0.095205, -0.091306, -0.092205, -0.092345, -0.096259, -0.103217, -0.108755, -0.115722, -0.119030, -0.120152, -0.118763, -0.111891, -0.108093, -0.102743, -0.098191, -0.095813, -0.095324, -0.097542, -0.103908, -0.108247, -0.112667, -0.113407, -0.114053, -0.115255, -0.113592, -0.108895
-0.258858, -0.235997, -0.216740, -0.198116, -0.183378, -0.171186, -0.161217, -0.155748, -0.147888, -0.142165, -0.135823, -0.126753, -0.118377, -0.109580, -0.102398, -0.099259, -0.097063, -0.101252, -0.106440, -0.110945, -0.118590, -0.125773, -0.130331, -0.133380, -0.130510, -0.125840, -0.121346, -0.113584, -0.112154, -0.108462, -0.107451, -0.111338, -0.113454, -0.123539, -0.127029, -0.125848, -0.131621, -0.126772, -0.129161, -0.126885
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh ratos]
version = 1
points =
0.252421, 0.239918, 0.235079, 0.233044, 0.229596, 0.212449, 0.189631, 0.177265, 0.169883, 0.164401, 0.162956, 0.163382, 0.166705, 0.179165, 0.193577
0.271966, 0.259877, 0.254582, 0.251196, 0.246518, 0.227398, 0.201969, 0.187328, 0.176683, 0.168773, 0.169957, 0.176639, 0.182214, 0.189877, 0.198461
0.276289, 0.267046, 0.261350, 0.255007, 0.248230, 0.229009, 0.203988, 0.191305, 0.185623, 0.181806, 0.180978, 0.181667, 0.184263, 0.193155, 0.203690
0.278889, 0.273241, 0.267160, 0.257355, 0.248146, 0.229016, 0.204779, 0.194759, 0.195556, 0.197049, 0.193377, 0.185856, 0.184502, 0.195611, 0.209394
0.278746, 0.275629, 0.269870, 0.258938, 0.248858, 0.229500, 0.205165, 0.195780, 0.198458, 0.201461, 0.196561, 0.185904, 0.183158, 0.195579, 0.211088
0.276375, 0.276236, 0.271549, 0.260815, 0.250692, 0.230737, 0.205548, 0.195534, 0.197468, 0.199796, 0.194343, 0.182983, 0.180177, 0.193876, 0.210799
0.273524, 0.273458, 0.269603, 0.260653, 0.251723, 0.231624, 0.206002, 0.195409, 0.196267, 0.197753, 0.192971, 0.183368, 0.181615, 0.195760, 0.212938
0.267660, 0.262256, 0.259405, 0.256574, 0.252066, 0.232597, 0.207063, 0.195713, 0.194465, 0.194512, 0.193170, 0.191017, 0.193092, 0.206555, 0.222135
0.261978, 0.251389, 0.249510, 0.252617, 0.252419, 0.233692, 0.208414, 0.196366, 0.192974, 0.191518, 0.193443, 0.198433, 0.204171, 0.216936, 0.230946
0.259175, 0.248781, 0.247703, 0.252469, 0.253528, 0.235805, 0.211588, 0.199323, 0.194060, 0.190904, 0.192775, 0.198523, 0.204714, 0.217544, 0.231592
0.256917, 0.248898, 0.248775, 0.253971, 0.255438, 0.239147, 0.216672, 0.204382, 0.196942, 0.191618, 0.192082, 0.196190, 0.201684, 0.215074, 0.230002
0.258878, 0.252498, 0.252461, 0.256670, 0.257493, 0.241767, 0.220173, 0.208520, 0.201784, 0.196903, 0.196216, 0.197892, 0.202508, 0.217707, 0.234843
0.266676, 0.262097, 0.261261, 0.262395, 0.261081, 0.245358, 0.224295, 0.214415, 0.211973, 0.210659, 0.208388, 0.205266, 0.208274, 0.227810, 0.250023
0.272369, 0.268928, 0.267532, 0.266607, 0.263893, 0.248373, 0.227935, 0.219380, 0.219876, 0.220951, 0.217279, 0.210276, 0.211840, 0.234232, 0.259847
0.272470, 0.268521, 0.267342, 0.267309, 0.265457, 0.251692, 0.233409, 0.225272, 0.224341, 0.223802, 0.218119, 0.207943, 0.207465, 0.228239, 0.252402
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 164.129
max_x = 335.871
min_y = 164.129
max_y = 335.871
[bed_mesh default_01]
version = 1
points =
-0.212352, -0.205004, -0.205688, -0.213947, -0.211584, -0.200827, -0.196079, -0.201497, -0.201616, -0.208425, -0.209947, -0.207257, -0.208137, -0.210397, -0.217396, -0.222770, -0.220129, -0.218163, -0.221850, -0.237017, -0.247459, -0.242211, -0.231428, -0.233658, -0.238247, -0.236157, -0.227367, -0.215174, -0.214324, -0.216396, -0.215984, -0.211921, -0.203751, -0.202477, -0.212640, -0.222181, -0.219244, -0.211084, -0.209151, -0.209082
-0.174162, -0.176047, -0.170487, -0.170548, -0.170736, -0.164118, -0.157555, -0.153439, -0.160425, -0.170282, -0.172797, -0.167139, -0.166458, -0.175026, -0.179929, -0.178620, -0.177640, -0.179906, -0.184836, -0.197635, -0.207979, -0.205003, -0.197052, -0.197250, -0.203982, -0.199476, -0.190324, -0.186099, -0.187066, -0.186672, -0.187746, -0.181171, -0.185153, -0.187589, -0.187063, -0.200665, -0.201051, -0.202709, -0.193542, -0.191586
-0.137100, -0.139551, -0.156952, -0.140436, -0.132315, -0.117612, -0.126367, -0.127171, -0.117222, -0.126918, -0.136512, -0.136358, -0.132073, -0.130702, -0.140103, -0.142380, -0.138235, -0.138905, -0.144252, -0.155403, -0.167395, -0.168131, -0.163644, -0.167313, -0.170169, -0.167668, -0.163673, -0.153559, -0.151257, -0.156368, -0.162458, -0.158603, -0.153421, -0.159541, -0.173014, -0.183822, -0.179305, -0.173713, -0.177083, -0.178655
-0.119638, -0.118582, -0.112676, -0.107016, -0.101057, -0.097609, -0.090568, -0.088846, -0.094353, -0.105808, -0.108640, -0.099508, -0.097061, -0.104063, -0.108925, -0.106601, -0.108711, -0.108244, -0.112043, -0.120678, -0.130435, -0.136258, -0.136819, -0.140693, -0.145176, -0.140418, -0.133156, -0.127840, -0.122126, -0.121636, -0.126438, -0.130351, -0.139794, -0.144111, -0.146054, -0.158204, -0.161518, -0.167826, -0.159598, -0.158650
-0.096835, -0.087718, -0.104672, -0.082461, -0.076224, -0.060838, -0.069516, -0.072615, -0.062211, -0.077871, -0.084714, -0.077026, -0.072760, -0.070095, -0.080251, -0.081571, -0.077742, -0.079221, -0.083101, -0.090649, -0.099299, -0.104793, -0.110080, -0.115975, -0.119470, -0.118751, -0.111056, -0.099818, -0.088329, -0.086065, -0.095142, -0.105657, -0.108794, -0.116773, -0.128079, -0.136836, -0.137575, -0.140247, -0.145489, -0.148040
-0.083209, -0.079868, -0.067185, -0.063731, -0.058642, -0.053051, -0.047765, -0.045331, -0.050266, -0.066491, -0.066941, -0.056015, -0.048217, -0.054259, -0.060356, -0.057978, -0.058606, -0.058994, -0.066141, -0.074500, -0.082524, -0.087903, -0.089955, -0.094768, -0.104398, -0.099852, -0.090725, -0.079565, -0.067033, -0.062767, -0.070707, -0.083459, -0.101043, -0.101848, -0.100333, -0.109638, -0.123028, -0.141217, -0.130959, -0.131217
-0.069730, -0.056597, -0.069495, -0.045018, -0.042152, -0.026485, -0.032235, -0.034557, -0.024843, -0.038262, -0.047943, -0.040534, -0.031409, -0.031423, -0.038290, -0.042184, -0.036914, -0.036003, -0.044482, -0.056018, -0.065785, -0.068729, -0.067646, -0.075299, -0.082594, -0.082415, -0.073119, -0.059632, -0.051532, -0.053502, -0.062114, -0.070318, -0.073796, -0.079949, -0.088985, -0.099045, -0.106334, -0.115317, -0.118710, -0.121606
-0.063230, -0.056601, -0.041980, -0.034523, -0.029628, -0.022591, -0.015527, -0.011458, -0.016579, -0.029089, -0.032697, -0.020075, -0.012276, -0.017379, -0.024206, -0.024615, -0.021741, -0.020420, -0.029944, -0.044031, -0.057771, -0.058946, -0.055658, -0.060140, -0.067052, -0.068268, -0.059032, -0.046807, -0.044834, -0.051708, -0.055075, -0.061517, -0.071357, -0.076336, -0.080810, -0.088325, -0.104141, -0.122163, -0.110924, -0.110569
-0.060174, -0.039395, -0.050614, -0.025623, -0.014566, -0.007533, -0.001840, -0.007895, 0.000069, -0.005943, -0.019542, -0.011396, 0.001031, -0.002683, -0.007624, -0.009318, -0.006436, -0.001552, -0.011221, -0.028696, -0.041084, -0.042016, -0.040203, -0.044466, -0.051808, -0.052518, -0.043417, -0.032423, -0.032810, -0.041661, -0.050081, -0.052858, -0.052876, -0.063332, -0.079570, -0.089959, -0.096716, -0.101982, -0.105016, -0.107001
-0.053710, -0.043327, -0.028031, -0.017850, -0.009484, -0.001637, 0.005673, 0.010586, 0.005636, -0.003814, -0.005362, 0.006161, 0.013608, 0.008057, 0.002322, 0.003612, 0.004110, 0.008068, 0.002083, -0.015465, -0.030949, -0.030547, -0.029409, -0.033287, -0.038682, -0.039024, -0.031263, -0.021618, -0.026750, -0.032994, -0.035691, -0.044157, -0.052114, -0.060215, -0.075515, -0.083466, -0.095327, -0.106548, -0.095535, -0.098521
-0.047254, -0.030528, -0.031638, -0.012849, 0.004841, 0.006983, 0.013694, 0.012846, 0.016138, 0.014432, 0.006226, 0.010452, 0.024727, 0.021013, 0.019524, 0.018961, 0.019665, 0.023419, 0.017911, -0.000232, -0.014022, -0.014730, -0.014596, -0.019038, -0.025992, -0.025129, -0.014481, -0.007814, -0.009829, -0.019165, -0.028011, -0.031947, -0.032988, -0.045983, -0.065714, -0.081242, -0.085685, -0.086933, -0.087880, -0.095017
-0.048876, -0.037640, -0.020639, -0.011257, -0.002252, 0.003293, 0.011320, 0.018432, 0.016599, 0.008416, 0.008857, 0.020046, 0.028597, 0.025368, 0.020894, 0.020093, 0.024371, 0.025767, 0.019986, 0.005394, -0.011722, -0.013006, -0.011459, -0.016446, -0.020481, -0.020572, -0.009700, -0.002004, -0.006115, -0.014821, -0.020690, -0.029257, -0.037335, -0.048699, -0.063009, -0.072149, -0.084081, -0.094853, -0.088026, -0.093326
-0.045599, -0.032489, -0.031909, -0.015132, 0.004367, 0.005761, 0.009753, 0.013737, 0.019610, 0.017209, 0.010670, 0.018033, 0.034446, 0.032759, 0.027419, 0.026150, 0.030680, 0.031041, 0.025393, 0.009631, -0.004301, -0.004888, -0.004235, -0.009507, -0.016274, -0.014927, -0.004799, 0.003089, 0.000024, -0.010745, -0.022641, -0.023781, -0.026245, -0.039501, -0.059650, -0.077316, -0.081899, -0.082664, -0.085848, -0.095630
-0.051719, -0.042516, -0.024727, -0.014881, -0.007962, -0.002778, 0.007253, 0.018564, 0.020549, 0.010749, 0.010767, 0.025842, 0.036605, 0.033660, 0.027884, 0.026999, 0.031138, 0.033807, 0.026322, 0.010483, -0.004168, -0.004458, -0.003391, -0.006828, -0.010159, -0.008629, -0.003788, 0.001726, -0.001831, -0.008376, -0.017421, -0.022119, -0.030860, -0.043583, -0.059511, -0.070434, -0.082378, -0.090458, -0.089146, -0.096370
-0.057793, -0.042621, -0.038750, -0.024348, -0.005081, -0.005268, 0.003206, 0.010779, 0.022189, 0.019209, 0.011044, 0.020911, 0.036400, 0.034032, 0.028483, 0.028491, 0.032888, 0.035226, 0.029869, 0.013138, -0.000218, -0.000329, 0.001627, -0.003569, -0.009235, -0.007042, -0.000417, 0.003729, 0.000901, -0.010109, -0.017801, -0.018479, -0.021562, -0.036566, -0.057392, -0.075915, -0.079832, -0.081904, -0.088661, -0.100886
-0.067526, -0.055309, -0.036025, -0.024537, -0.017287, -0.011391, 0.002241, 0.016031, 0.017569, 0.008104, 0.006919, 0.022812, 0.035649, 0.030569, 0.025295, 0.026158, 0.028120, 0.032186, 0.028803, 0.014355, -0.001453, -0.003540, 0.000052, -0.001443, -0.003511, -0.005267, -0.001147, 0.000925, -0.004403, -0.009193, -0.012170, -0.019738, -0.029104, -0.044019, -0.060224, -0.070235, -0.081397, -0.094197, -0.096617, -0.101341
-0.075428, -0.058510, -0.049621, -0.037169, -0.011246, -0.010479, -0.006396, 0.006504, 0.015749, 0.012822, 0.006671, 0.016924, 0.032039, 0.031328, 0.026985, 0.027980, 0.030920, 0.032808, 0.031615, 0.018644, 0.001923, 0.000053, 0.003103, -0.001638, -0.003420, -0.005222, -0.000500, 0.001731, -0.003233, -0.012132, -0.017811, -0.019364, -0.021427, -0.036729, -0.058064, -0.075307, -0.078393, -0.086764, -0.096422, -0.104641
-0.092209, -0.073958, -0.053538, -0.041213, -0.031588, -0.024989, -0.011064, 0.002184, 0.004486, -0.004082, -0.003293, 0.012688, 0.024729, 0.023376, 0.016493, 0.016586, 0.021829, 0.027456, 0.025131, 0.008832, -0.008327, -0.010361, -0.007077, -0.007777, -0.007766, -0.011707, -0.013024, -0.007518, -0.012126, -0.020229, -0.024097, -0.030067, -0.037289, -0.049421, -0.062891, -0.078169, -0.090757, -0.105824, -0.111811, -0.117777
-0.106289, -0.086122, -0.074620, -0.056172, -0.033359, -0.034200, -0.027585, -0.014357, -0.003523, -0.003173, -0.008568, 0.004560, 0.019812, 0.016370, 0.013293, 0.013211, 0.017172, 0.021237, 0.018588, 0.001698, -0.012144, -0.012347, -0.010917, -0.015273, -0.018952, -0.021509, -0.017029, -0.011164, -0.014443, -0.027155, -0.036630, -0.037423, -0.036926, -0.049532, -0.067352, -0.090672, -0.098946, -0.105902, -0.117845, -0.128940
-0.119843, -0.099551, -0.077375, -0.061466, -0.050643, -0.047894, -0.033252, -0.019023, -0.014146, -0.020387, -0.016146, -0.000891, 0.012049, 0.008154, 0.002012, 0.003114, 0.007794, 0.012077, 0.007700, -0.011028, -0.026025, -0.024384, -0.020351, -0.023849, -0.027654, -0.030259, -0.025713, -0.018766, -0.022065, -0.032647, -0.040511, -0.047076, -0.052786, -0.064445, -0.079572, -0.097204, -0.110174, -0.127382, -0.136959, -0.142453
-0.135881, -0.113617, -0.095958, -0.075519, -0.053636, -0.051158, -0.045442, -0.035110, -0.023830, -0.022073, -0.025648, -0.012523, 0.002373, 0.000009, -0.002147, -0.001985, 0.000331, 0.003723, -0.002529, -0.020264, -0.031099, -0.030751, -0.027355, -0.031960, -0.040301, -0.040107, -0.030883, -0.023717, -0.024764, -0.038626, -0.049844, -0.052232, -0.052227, -0.068758, -0.088853, -0.110131, -0.118940, -0.125623, -0.139267, -0.150404
-0.147234, -0.122517, -0.096928, -0.081168, -0.067667, -0.057299, -0.044252, -0.032443, -0.030321, -0.037537, -0.034091, -0.017946, -0.003430, -0.003912, -0.009807, -0.011897, -0.008144, -0.003054, -0.009226, -0.026037, -0.039774, -0.038967, -0.034867, -0.037244, -0.043301, -0.045683, -0.040373, -0.031648, -0.032516, -0.041435, -0.049670, -0.058216, -0.068111, -0.083771, -0.099720, -0.113914, -0.127152, -0.147164, -0.154335, -0.160429
-0.158273, -0.133270, -0.115417, -0.091514, -0.067230, -0.058936, -0.052044, -0.044265, -0.035939, -0.036139, -0.040261, -0.027272, -0.013186, -0.013542, -0.013861, -0.013039, -0.008873, -0.007381, -0.013661, -0.028296, -0.039834, -0.040777, -0.038878, -0.043689, -0.052118, -0.049598, -0.040967, -0.033006, -0.034674, -0.046396, -0.055599, -0.059550, -0.064319, -0.081374, -0.102252, -0.123352, -0.133457, -0.141361, -0.153732, -0.162842
-0.163985, -0.137959, -0.112560, -0.096319, -0.080136, -0.066032, -0.055239, -0.045154, -0.040025, -0.045969, -0.043949, -0.027366, -0.013946, -0.015938, -0.020205, -0.020363, -0.015098, -0.009180, -0.014372, -0.029472, -0.043361, -0.047060, -0.044514, -0.046874, -0.049002, -0.048900, -0.044376, -0.038649, -0.038640, -0.044392, -0.051377, -0.063703, -0.075619, -0.090800, -0.106410, -0.117386, -0.134056, -0.156076, -0.161317, -0.164352
-0.169328, -0.145232, -0.130536, -0.106804, -0.079563, -0.069719, -0.064499, -0.057419, -0.044854, -0.043388, -0.046350, -0.033538, -0.019578, -0.019911, -0.022262, -0.020217, -0.013577, -0.011777, -0.018283, -0.032001, -0.041685, -0.042622, -0.043564, -0.047741, -0.053702, -0.051118, -0.042753, -0.035469, -0.036813, -0.048548, -0.057071, -0.062776, -0.066666, -0.081272, -0.102125, -0.120857, -0.133965, -0.144835, -0.155386, -0.162296
-0.174195, -0.147149, -0.124193, -0.107844, -0.092439, -0.079965, -0.067838, -0.054727, -0.047991, -0.051406, -0.048628, -0.034037, -0.018244, -0.018863, -0.023209, -0.024508, -0.018643, -0.012967, -0.019073, -0.034525, -0.047431, -0.049212, -0.046173, -0.045697, -0.047429, -0.048119, -0.044775, -0.039874, -0.039932, -0.045759, -0.051624, -0.065144, -0.076265, -0.090425, -0.103435, -0.113760, -0.131897, -0.154919, -0.160239, -0.165805
-0.182561, -0.157658, -0.140669, -0.116638, -0.091799, -0.084003, -0.077296, -0.067061, -0.054018, -0.051473, -0.055342, -0.041953, -0.026010, -0.024838, -0.024730, -0.024400, -0.020117, -0.017292, -0.025480, -0.038031, -0.045972, -0.049371, -0.048599, -0.050784, -0.053543, -0.049795, -0.041647, -0.037489, -0.040859, -0.050387, -0.059536, -0.064606, -0.070159, -0.084596, -0.102330, -0.120388, -0.134318, -0.147666, -0.158329, -0.169645
-0.185359, -0.157558, -0.131731, -0.117546, -0.100084, -0.089652, -0.077197, -0.060971, -0.055224, -0.060475, -0.059241, -0.041946, -0.025511, -0.023695, -0.026481, -0.028896, -0.022794, -0.017925, -0.027362, -0.038360, -0.051689, -0.054773, -0.050138, -0.050791, -0.051434, -0.051241, -0.049361, -0.044589, -0.044599, -0.049575, -0.058380, -0.071201, -0.081492, -0.095400, -0.106904, -0.120585, -0.141445, -0.162992, -0.166815, -0.176471
-0.196082, -0.166958, -0.148924, -0.124362, -0.099268, -0.089224, -0.083847, -0.072393, -0.059968, -0.060778, -0.063197, -0.051714, -0.035522, -0.031973, -0.029103, -0.027414, -0.026238, -0.025612, -0.033610, -0.043246, -0.051063, -0.053604, -0.050845, -0.057947, -0.064302, -0.060114, -0.051503, -0.046237, -0.047593, -0.058820, -0.068816, -0.072418, -0.075854, -0.092028, -0.110957, -0.130835, -0.142765, -0.155778, -0.168639, -0.177908
-0.200300, -0.171321, -0.144331, -0.127095, -0.109905, -0.096309, -0.083512, -0.071281, -0.065010, -0.070142, -0.069848, -0.053726, -0.036597, -0.033447, -0.035503, -0.035330, -0.034016, -0.029435, -0.034186, -0.045152, -0.058465, -0.061283, -0.059673, -0.061314, -0.065187, -0.066523, -0.062808, -0.057136, -0.057148, -0.061304, -0.068774, -0.081868, -0.092308, -0.105321, -0.119247, -0.130699, -0.148070, -0.174184, -0.181326, -0.188999
-0.210978, -0.184754, -0.163399, -0.136324, -0.110831, -0.098993, -0.092695, -0.082435, -0.072148, -0.071655, -0.075002, -0.062925, -0.046288, -0.044239, -0.043506, -0.039959, -0.039265, -0.038697, -0.042598, -0.053324, -0.062799, -0.062659, -0.060035, -0.067710, -0.075688, -0.075506, -0.069265, -0.060182, -0.061386, -0.069283, -0.078029, -0.085454, -0.089592, -0.101379, -0.120476, -0.138711, -0.151708, -0.165282, -0.178453, -0.189651
-0.213823, -0.186222, -0.158513, -0.140422, -0.121378, -0.106957, -0.093131, -0.083539, -0.078151, -0.080226, -0.076733, -0.061965, -0.045421, -0.045943, -0.050881, -0.051294, -0.046266, -0.040289, -0.043641, -0.058750, -0.072077, -0.071710, -0.069723, -0.071302, -0.076957, -0.083019, -0.080095, -0.069503, -0.067251, -0.073316, -0.080551, -0.094333, -0.104093, -0.113464, -0.122254, -0.135871, -0.157887, -0.184133, -0.193983, -0.202171
-0.223648, -0.196956, -0.172755, -0.145972, -0.124713, -0.111993, -0.104786, -0.095984, -0.083477, -0.078793, -0.079990, -0.068091, -0.052115, -0.051193, -0.053526, -0.053014, -0.049966, -0.044288, -0.049525, -0.062762, -0.073232, -0.072006, -0.071171, -0.076765, -0.083899, -0.085304, -0.076928, -0.068839, -0.070375, -0.080444, -0.089973, -0.095778, -0.098567, -0.110535, -0.127832, -0.145316, -0.162515, -0.178885, -0.192816, -0.203364
-0.224755, -0.195540, -0.167739, -0.151826, -0.137850, -0.123829, -0.108701, -0.096483, -0.087211, -0.086128, -0.083904, -0.067125, -0.051459, -0.049813, -0.056470, -0.059854, -0.054588, -0.045736, -0.050423, -0.065929, -0.080947, -0.080407, -0.076883, -0.079984, -0.087131, -0.090107, -0.086714, -0.078370, -0.078387, -0.087787, -0.093730, -0.106154, -0.117145, -0.127281, -0.135589, -0.151872, -0.173965, -0.198997, -0.208778, -0.217297
-0.236412, -0.208303, -0.185907, -0.160665, -0.142679, -0.134650, -0.122917, -0.108172, -0.091731, -0.088118, -0.090214, -0.076740, -0.061674, -0.059377, -0.060620, -0.061344, -0.058130, -0.051690, -0.057795, -0.072844, -0.082404, -0.083815, -0.080383, -0.085699, -0.094873, -0.094414, -0.088375, -0.083196, -0.083701, -0.096367, -0.106204, -0.112475, -0.116630, -0.129931, -0.148242, -0.168045, -0.183552, -0.192899, -0.207597, -0.218212
-0.237287, -0.206152, -0.179789, -0.165392, -0.153328, -0.141575, -0.124247, -0.107707, -0.098006, -0.098279, -0.094075, -0.076129, -0.058939, -0.055824, -0.061223, -0.066850, -0.061029, -0.050364, -0.056406, -0.073349, -0.088519, -0.089802, -0.085554, -0.090894, -0.095761, -0.097451, -0.097298, -0.091280, -0.091221, -0.098982, -0.105068, -0.120914, -0.134946, -0.148633, -0.161257, -0.175263, -0.191837, -0.210962, -0.224154, -0.234785
-0.244892, -0.219822, -0.198629, -0.172720, -0.154475, -0.144890, -0.135139, -0.120020, -0.105250, -0.101039, -0.101008, -0.087588, -0.070567, -0.067107, -0.067615, -0.068201, -0.064559, -0.058672, -0.066341, -0.081607, -0.091026, -0.090784, -0.089355, -0.097357, -0.106002, -0.103992, -0.096717, -0.090707, -0.094152, -0.111377, -0.122097, -0.130857, -0.139237, -0.152123, -0.171285, -0.193055, -0.212451, -0.227079, -0.238595, -0.241892
-0.241288, -0.214481, -0.186985, -0.170045, -0.155410, -0.144508, -0.132037, -0.117802, -0.107757, -0.109608, -0.103491, -0.082870, -0.064308, -0.064005, -0.065106, -0.068039, -0.062985, -0.058956, -0.066495, -0.080766, -0.096005, -0.100514, -0.097092, -0.099911, -0.107930, -0.111969, -0.109479, -0.106917, -0.110140, -0.116409, -0.122318, -0.136523, -0.153991, -0.173235, -0.191881, -0.208770, -0.224630, -0.242501, -0.255860, -0.270545
-0.252568, -0.229471, -0.209208, -0.181703, -0.157178, -0.147318, -0.139416, -0.127420, -0.115907, -0.114291, -0.108872, -0.094413, -0.078117, -0.077561, -0.077469, -0.075725, -0.069815, -0.065316, -0.075619, -0.092149, -0.101235, -0.103101, -0.098071, -0.104493, -0.118503, -0.122364, -0.117171, -0.112725, -0.112465, -0.124729, -0.137475, -0.146765, -0.160303, -0.178019, -0.202943, -0.226301, -0.241417, -0.253458, -0.270105, -0.279430
-0.253365, -0.231416, -0.201769, -0.183800, -0.168858, -0.155590, -0.141248, -0.127344, -0.119347, -0.120530, -0.110964, -0.091796, -0.076677, -0.075151, -0.079195, -0.078767, -0.071936, -0.065997, -0.076345, -0.093900, -0.108021, -0.111656, -0.108413, -0.112178, -0.123620, -0.133219, -0.132920, -0.129961, -0.128081, -0.139346, -0.152586, -0.163616, -0.178862, -0.199189, -0.219177, -0.237676, -0.256572, -0.280020, -0.289513, -0.302499
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh Contact]
version = 1
points =
0.083125, 0.029844, -0.025938, -0.024844, -0.070313, -0.093906, -0.093750, -0.177969, -0.125938, -0.174688, -0.115000, -0.088125, -0.057031, -0.029219, 0.016406
0.191562, 0.169219, 0.124687, 0.104531, 0.061250, 0.037344, 0.016250, -0.051250, -0.045313, -0.053906, -0.015000, -0.011250, 0.020156, 0.066875, 0.076250
0.248281, 0.228437, 0.177344, 0.169062, 0.133125, 0.132656, 0.094844, 0.047187, 0.042500, 0.049062, 0.067187, 0.088281, 0.092344, 0.122812, 0.146875
0.290469, 0.291562, 0.258281, 0.235625, 0.212344, 0.180469, 0.161562, 0.108125, 0.091719, 0.075469, 0.149219, 0.109219, 0.142969, 0.142969, 0.164844
0.290312, 0.320469, 0.270156, 0.252969, 0.236562, 0.205156, 0.201719, 0.160469, 0.156406, 0.136875, 0.192500, 0.184219, 0.200312, 0.202812, 0.206562
0.298125, 0.361250, 0.322031, 0.290469, 0.285937, 0.256562, 0.247031, 0.191250, 0.167500, 0.181094, 0.201406, 0.212812, 0.185469, 0.206875, 0.215781
0.283281, 0.311562, 0.287500, 0.294062, 0.284375, 0.273437, 0.248594, 0.195469, 0.201719, 0.182812, 0.216094, 0.234062, 0.230781, 0.238125, 0.244062
0.254844, 0.279375, 0.269531, 0.291406, 0.273594, 0.275469, 0.252187, 0.195625, 0.198594, 0.177656, 0.217187, 0.225469, 0.217187, 0.229531, 0.220000
0.231406, 0.249531, 0.260312, 0.286094, 0.275000, 0.247031, 0.252969, 0.198281, 0.190937, 0.203750, 0.236406, 0.223437, 0.237812, 0.226250, 0.222031
0.208125, 0.259219, 0.252812, 0.262031, 0.264844, 0.247656, 0.256719, 0.209531, 0.191562, 0.198750, 0.235000, 0.229219, 0.216094, 0.240781, 0.243281
0.183125, 0.238594, 0.252500, 0.269687, 0.275937, 0.267969, 0.264219, 0.219375, 0.220937, 0.208906, 0.268281, 0.239375, 0.233594, 0.251719, 0.245469
0.184531, 0.232031, 0.261719, 0.258437, 0.276875, 0.265781, 0.269375, 0.234375, 0.226094, 0.198906, 0.249219, 0.236562, 0.243750, 0.228906, 0.249219
0.164531, 0.239687, 0.261250, 0.266094, 0.281250, 0.270937, 0.308906, 0.236094, 0.236719, 0.215000, 0.294219, 0.258906, 0.241406, 0.256719, 0.261562
0.184062, 0.245625, 0.241562, 0.264062, 0.299062, 0.306406, 0.291562, 0.251250, 0.262969, 0.226875, 0.290625, 0.265781, 0.252500, 0.267187, 0.260625
0.164844, 0.251875, 0.245000, 0.258281, 0.279219, 0.279062, 0.298750, 0.259219, 0.248906, 0.240156, 0.293125, 0.273750, 0.255312, 0.246406, 0.255156
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 469.96000000000004
min_y = 30.0
max_y = 439.91999999999985
=======================
Extruder max_extrude_ratio=0.598682
Extruder max_extrude_ratio=0.598682
mcu 'mcu': Starting serial connect
webhooks client 4104880104: New connection
webhooks client 4104880104: Client info {'program': 'Moonraker', 'version': 'v0.9.3-0-g71f9e67'}
Loaded MCU 'mcu' 130 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'mcu' config: ADC_MAX=4095 BUS_PINS_i2c1=PB6,PB7 BUS_PINS_i2c1a=PB8,PB9 BUS_PINS_i2c2=PB10,PB11 BUS_PINS_i2c3=PA8,PC9 BUS_PINS_sdio=PC12,PD2,PC8,PC9,PC10,PC11 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 BUS_PINS_spi3a=PC11,PC12,PC10 BUS_PINS_spi4=PE13,PE14,PE12 CLOCK_FREQ=180000000 MCU=stm32f446xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PH0,PH1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu 'rpi': Starting connect
Loaded MCU 'rpi' 119 commands (?-20240727_132503-fv-az659-741 / gcc: (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110 binutils: (GNU Binutils for Raspbian) 2.35.2)
MCU 'rpi' config: ADC_MAX=4095 CLOCK_FREQ=50000000 MCU=linux PCA9685_MAX=4096 PWM_MAX=32768 STATS_SUMSQ_BASE=256
mcu 'toolboard_t0': Starting serial connect
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 30.624119167, '#receive_time': 30.652472296}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 30.730288185, '#receive_time': 30.754468907}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 360096331, 'value': 7438, '#name': 'analog_in_state', '#sent_time': 30.730288185, '#receive_time': 30.765477222}
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 362656331, 'value': 10878, '#name': 'analog_in_state', '#sent_time': 30.7813765, '#receive_time': 30.805490092}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 30.832417055, '#receive_time': 30.856428518}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 30.934579814, '#receive_time': 30.958413111}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 31.038019759, '#receive_time': 31.060545759}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 379296331, 'value': 7435, '#name': 'analog_in_state', '#sent_time': 31.038019759, '#receive_time': 31.06556874}
Loaded MCU 'toolboard_t0' 118 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'toolboard_t0' config: ADC_MAX=4095 BUS_PINS_i2c1_PA9_PA10=PA9,PA10 BUS_PINS_i2c1_PB6_PB7=PB6,PB7 BUS_PINS_i2c1_PB8_PB9=PB8,PB9 BUS_PINS_i2c2_PB10_PB11=PB10,PB11 BUS_PINS_i2c2_PB13_PB14=PB13,PB14 BUS_PINS_i2c3_PB3_PB4=PB3,PB4 BUS_PINS_i2c3_PC0_PC1=PC0,PC1 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2_PB2_PB11_PB10=PB2,PB11,PB10 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=64000000 MCU=stm32g0b1xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu 'toolboard_t1': Starting serial connect
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 381856331, 'value': 10879, '#name': 'analog_in_state', '#sent_time': 31.084578148, '#receive_time': 31.105598074}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 31.084578148, '#receive_time': 31.1625175}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 31.084578148, '#receive_time': 31.264531962}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 398496331, 'value': 7432, '#name': 'analog_in_state', '#sent_time': 31.084578148, '#receive_time': 31.365549536}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 31.084578148, '#receive_time': 31.366487203}
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 401056331, 'value': 10879, '#name': 'analog_in_state', '#sent_time': 31.084578148, '#receive_time': 31.405499388}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 31.084578148, '#receive_time': 31.468498222}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 31.084578148, '#receive_time': 31.570495610000002}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 417696331, 'value': 7434, '#name': 'analog_in_state', '#sent_time': 31.084578148, '#receive_time': 31.66550374}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 31.084578148, '#receive_time': 31.672463758}
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 420256331, 'value': 10878, '#name': 'analog_in_state', '#sent_time': 31.084578148, '#receive_time': 31.70549524}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 31.084578148, '#receive_time': 31.77445674}
Loaded MCU 'toolboard_t1' 118 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'toolboard_t1' config: ADC_MAX=4095 BUS_PINS_i2c1_PA9_PA10=PA9,PA10 BUS_PINS_i2c1_PB6_PB7=PB6,PB7 BUS_PINS_i2c1_PB8_PB9=PB8,PB9 BUS_PINS_i2c2_PB10_PB11=PB10,PB11 BUS_PINS_i2c2_PB13_PB14=PB13,PB14 BUS_PINS_i2c3_PB3_PB4=PB3,PB4 BUS_PINS_i2c3_PC0_PC1=PC0,PC1 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2_PB2_PB11_PB10=PB2,PB11,PB10 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=64000000 MCU=stm32g0b1xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu_temperature 'mcu' nominal base=-273.935743 slope=1315.662651
mcu_temperature 'toolboard_t0' nominal base=-262.897727 slope=1279.687500
mcu_temperature 'toolboard_t1' nominal base=-268.850575 slope=1294.396552
mcu 'beacon': Starting serial connect
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 31.790650925, '#receive_time': 31.876479425}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 436896331, 'value': 7436, '#name': 'analog_in_state', '#sent_time': 31.790650925, '#receive_time': 31.965557388}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 31.790650925, '#receive_time': 31.978415332}
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 439456331, 'value': 10879, '#name': 'analog_in_state', '#sent_time': 31.790650925, '#receive_time': 32.005509129}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 32.069292666, '#receive_time': 32.080516332}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 32.069292666, '#receive_time': 32.182436703}
mcu 'toolboard_t0': got {'oid': 6, 'next_clock': 456096331, 'value': 7438, '#name': 'analog_in_state', '#sent_time': 32.069292666, '#receive_time': 32.265532684}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 32.069292666, '#receive_time': 32.284462036}
mcu 'toolboard_t0': got {'oid': 10, 'next_clock': 458656331, 'value': 10877, '#name': 'analog_in_state', '#sent_time': 32.069292666, '#receive_time': 32.305518221}
mcu 'toolboard_t0': got {'oid': 9, 'ack_count': 1, 'state': b'\x03\x01\x03\x01\x03\x01\x03\x01', '#name': 'buttons_state', '#sent_time': 32.069292666, '#receive_time': 32.386501721}
Loaded MCU 'beacon' 45 commands (Beacon 2.1.0 / )
MCU 'beacon' config: ADC_MAX=4095 BEACON_ACCEL_BITS=12 BEACON_ACCEL_SCALE_16G=7.81 BEACON_ACCEL_SCALE_2G=0.98 BEACON_ACCEL_SCALE_4G=1.95 BEACON_ACCEL_SCALE_8G=3.91 BEACON_ADC_SMOOTH_COUNT=16 BEACON_HAS_ACCEL=1 BEACON_REV=H CLOCK_FREQ=32000000 MCU=beacon STATS_SUMSQ_BASE=256
Sending MCU 'mcu' printer configuration...
Configured MCU 'mcu' (1024 moves)
Sending MCU 'rpi' printer configuration...
Configured MCU 'rpi' (1024 moves)
Configured MCU 'toolboard_t0' (1024 moves)
Sending MCU 'toolboard_t1' printer configuration...
Configured MCU 'toolboard_t1' (1024 moves)
Starting heater checks for heater_bed
bed_mesh: generated points
Index | Tool Adjusted | Probe
0 | (20.0, 7.5) | (20.0, 30.0)
1 | (31.5, 7.5) | (31.5, 30.0)
2 | (43.1, 7.5) | (43.1, 30.0)
3 | (54.6, 7.5) | (54.6, 30.0)
4 | (66.1, 7.5) | (66.1, 30.0)
5 | (77.7, 7.5) | (77.7, 30.0)
6 | (89.2, 7.5) | (89.2, 30.0)
7 | (100.7, 7.5) | (100.7, 30.0)
8 | (112.2, 7.5) | (112.2, 30.0)
9 | (123.8, 7.5) | (123.8, 30.0)
10 | (135.3, 7.5) | (135.3, 30.0)
11 | (146.8, 7.5) | (146.8, 30.0)
12 | (158.4, 7.5) | (158.4, 30.0)
13 | (169.9, 7.5) | (169.9, 30.0)
14 | (181.4, 7.5) | (181.4, 30.0)
15 | (192.9, 7.5) | (192.9, 30.0)
16 | (204.5, 7.5) | (204.5, 30.0)
17 | (216.0, 7.5) | (216.0, 30.0)
18 | (227.5, 7.5) | (227.5, 30.0)
19 | (239.1, 7.5) | (239.1, 30.0)
20 | (250.6, 7.5) | (250.6, 30.0)
21 | (262.1, 7.5) | (262.1, 30.0)
22 | (273.7, 7.5) | (273.7, 30.0)
23 | (285.2, 7.5) | (285.2, 30.0)
24 | (296.7, 7.5) | (296.7, 30.0)
25 | (308.2, 7.5) | (308.2, 30.0)
26 | (319.8, 7.5) | (319.8, 30.0)
27 | (331.3, 7.5) | (331.3, 30.0)
28 | (342.8, 7.5) | (342.8, 30.0)
29 | (354.4, 7.5) | (354.4, 30.0)
30 | (365.9, 7.5) | (365.9, 30.0)
31 | (377.4, 7.5) | (377.4, 30.0)
32 | (389.0, 7.5) | (389.0, 30.0)
33 | (400.5, 7.5) | (400.5, 30.0)
34 | (412.0, 7.5) | (412.0, 30.0)
35 | (423.5, 7.5) | (423.5, 30.0)
36 | (435.1, 7.5) | (435.1, 30.0)
37 | (446.6, 7.5) | (446.6, 30.0)
38 | (458.1, 7.5) | (458.1, 30.0)
39 | (469.7, 7.5) | (469.7, 30.0)
40 | (469.7, 18.6) | (469.7, 41.1)
41 | (458.1, 18.6) | (458.1, 41.1)
42 | (446.6, 18.6) | (446.6, 41.1)
43 | (435.1, 18.6) | (435.1, 41.1)
44 | (423.5, 18.6) | (423.5, 41.1)
45 | (412.0, 18.6) | (412.0, 41.1)
46 | (400.5, 18.6) | (400.5, 41.1)
47 | (389.0, 18.6) | (389.0, 41.1)
48 | (377.4, 18.6) | (377.4, 41.1)
49 | (365.9, 18.6) | (365.9, 41.1)
50 | (354.4, 18.6) | (354.4, 41.1)
51 | (342.8, 18.6) | (342.8, 41.1)
52 | (331.3, 18.6) | (331.3, 41.1)
53 | (319.8, 18.6) | (319.8, 41.1)
54 | (308.2, 18.6) | (308.2, 41.1)
55 | (296.7, 18.6) | (296.7, 41.1)
56 | (285.2, 18.6) | (285.2, 41.1)
57 | (273.7, 18.6) | (273.7, 41.1)
58 | (262.1, 18.6) | (262.1, 41.1)
59 | (250.6, 18.6) | (250.6, 41.1)
60 | (239.1, 18.6) | (239.1, 41.1)
61 | (227.5, 18.6) | (227.5, 41.1)
62 | (216.0, 18.6) | (216.0, 41.1)
63 | (204.5, 18.6) | (204.5, 41.1)
64 | (192.9, 18.6) | (192.9, 41.1)
65 | (181.4, 18.6) | (181.4, 41.1)
66 | (169.9, 18.6) | (169.9, 41.1)
67 | (158.4, 18.6) | (158.4, 41.1)
68 | (146.8, 18.6) | (146.8, 41.1)
69 | (135.3, 18.6) | (135.3, 41.1)
70 | (123.8, 18.6) | (123.8, 41.1)
71 | (112.2, 18.6) | (112.2, 41.1)
72 | (100.7, 18.6) | (100.7, 41.1)
73 | (89.2, 18.6) | (89.2, 41.1)
74 | (77.6, 18.6) | (77.6, 41.1)
75 | (66.1, 18.6) | (66.1, 41.1)
76 | (54.6, 18.6) | (54.6, 41.1)
77 | (43.1, 18.6) | (43.1, 41.1)
78 | (31.5, 18.6) | (31.5, 41.1)
79 | (20.0, 18.6) | (20.0, 41.1)
80 | (20.0, 29.7) | (20.0, 52.2)
81 | (31.5, 29.7) | (31.5, 52.2)
82 | (43.1, 29.7) | (43.1, 52.2)
83 | (54.6, 29.7) | (54.6, 52.2)
84 | (66.1, 29.7) | (66.1, 52.2)
85 | (77.7, 29.7) | (77.7, 52.2)
86 | (89.2, 29.7) | (89.2, 52.2)
87 | (100.7, 29.7) | (100.7, 52.2)
88 | (112.2, 29.7) | (112.2, 52.2)
89 | (123.8, 29.7) | (123.8, 52.2)
90 | (135.3, 29.7) | (135.3, 52.2)
91 | (146.8, 29.7) | (146.8, 52.2)
92 | (158.4, 29.7) | (158.4, 52.2)
93 | (169.9, 29.7) | (169.9, 52.2)
94 | (181.4, 29.7) | (181.4, 52.2)
95 | (192.9, 29.7) | (192.9, 52.2)
96 | (204.5, 29.7) | (204.5, 52.2)
97 | (216.0, 29.7) | (216.0, 52.2)
98 | (227.5, 29.7) | (227.5, 52.2)
99 | (239.1, 29.7) | (239.1, 52.2)
100 | (250.6, 29.7) | (250.6, 52.2)
101 | (262.1, 29.7) | (262.1, 52.2)
102 | (273.7, 29.7) | (273.7, 52.2)
103 | (285.2, 29.7) | (285.2, 52.2)
104 | (296.7, 29.7) | (296.7, 52.2)
105 | (308.2, 29.7) | (308.2, 52.2)
106 | (319.8, 29.7) | (319.8, 52.2)
107 | (331.3, 29.7) | (331.3, 52.2)
108 | (342.8, 29.7) | (342.8, 52.2)
109 | (354.4, 29.7) | (354.4, 52.2)
110 | (365.9, 29.7) | (365.9, 52.2)
111 | (377.4, 29.7) | (377.4, 52.2)
112 | (389.0, 29.7) | (389.0, 52.2)
113 | (400.5, 29.7) | (400.5, 52.2)
114 | (412.0, 29.7) | (412.0, 52.2)
115 | (423.5, 29.7) | (423.5, 52.2)
116 | (435.1, 29.7) | (435.1, 52.2)
117 | (446.6, 29.7) | (446.6, 52.2)
118 | (458.1, 29.7) | (458.1, 52.2)
119 | (469.7, 29.7) | (469.7, 52.2)
120 | (469.7, 40.7) | (469.7, 63.2)
121 | (458.1, 40.7) | (458.1, 63.2)
122 | (446.6, 40.7) | (446.6, 63.2)
123 | (435.1, 40.7) | (435.1, 63.2)
124 | (423.5, 40.7) | (423.5, 63.2)
125 | (412.0, 40.7) | (412.0, 63.2)
126 | (400.5, 40.7) | (400.5, 63.2)
127 | (389.0, 40.7) | (389.0, 63.2)
128 | (377.4, 40.7) | (377.4, 63.2)
129 | (365.9, 40.7) | (365.9, 63.2)
130 | (354.4, 40.7) | (354.4, 63.2)
131 | (342.8, 40.7) | (342.8, 63.2)
132 | (331.3, 40.7) | (331.3, 63.2)
133 | (319.8, 40.7) | (319.8, 63.2)
134 | (308.2, 40.7) | (308.2, 63.2)
135 | (296.7, 40.7) | (296.7, 63.2)
136 | (285.2, 40.7) | (285.2, 63.2)
137 | (273.7, 40.7) | (273.7, 63.2)
138 | (262.1, 40.7) | (262.1, 63.2)
139 | (250.6, 40.7) | (250.6, 63.2)
140 | (239.1, 40.7) | (239.1, 63.2)
141 | (227.5, 40.7) | (227.5, 63.2)
142 | (216.0, 40.7) | (216.0, 63.2)
143 | (204.5, 40.7) | (204.5, 63.2)
144 | (192.9, 40.7) | (192.9, 63.2)
145 | (181.4, 40.7) | (181.4, 63.2)
146 | (169.9, 40.7) | (169.9, 63.2)
147 | (158.4, 40.7) | (158.4, 63.2)
148 | (146.8, 40.7) | (146.8, 63.2)
149 | (135.3, 40.7) | (135.3, 63.2)
150 | (123.8, 40.7) | (123.8, 63.2)
151 | (112.2, 40.7) | (112.2, 63.2)
152 | (100.7, 40.7) | (100.7, 63.2)
153 | (89.2, 40.7) | (89.2, 63.2)
154 | (77.6, 40.7) | (77.6, 63.2)
155 | (66.1, 40.7) | (66.1, 63.2)
156 | (54.6, 40.7) | (54.6, 63.2)
157 | (43.1, 40.7) | (43.1, 63.2)
158 | (31.5, 40.7) | (31.5, 63.2)
159 | (20.0, 40.7) | (20.0, 63.2)
160 | (20.0, 51.8) | (20.0, 74.3)
161 | (31.5, 51.8) | (31.5, 74.3)
162 | (43.1, 51.8) | (43.1, 74.3)
163 | (54.6, 51.8) | (54.6, 74.3)
164 | (66.1, 51.8) | (66.1, 74.3)
165 | (77.7, 51.8) | (77.7, 74.3)
166 | (89.2, 51.8) | (89.2, 74.3)
167 | (100.7, 51.8) | (100.7, 74.3)
168 | (112.2, 51.8) | (112.2, 74.3)
169 | (123.8, 51.8) | (123.8, 74.3)
170 | (135.3, 51.8) | (135.3, 74.3)
171 | (146.8, 51.8) | (146.8, 74.3)
172 | (158.4, 51.8) | (158.4, 74.3)
173 | (169.9, 51.8) | (169.9, 74.3)
174 | (181.4, 51.8) | (181.4, 74.3)
175 | (192.9, 51.8) | (192.9, 74.3)
176 | (204.5, 51.8) | (204.5, 74.3)
177 | (216.0, 51.8) | (216.0, 74.3)
178 | (227.5, 51.8) | (227.5, 74.3)
179 | (239.1, 51.8) | (239.1, 74.3)
180 | (250.6, 51.8) | (250.6, 74.3)
181 | (262.1, 51.8) | (262.1, 74.3)
182 | (273.7, 51.8) | (273.7, 74.3)
183 | (285.2, 51.8) | (285.2, 74.3)
184 | (296.7, 51.8) | (296.7, 74.3)
185 | (308.2, 51.8) | (308.2, 74.3)
186 | (319.8, 51.8) | (319.8, 74.3)
187 | (331.3, 51.8) | (331.3, 74.3)
188 | (342.8, 51.8) | (342.8, 74.3)
189 | (354.4, 51.8) | (354.4, 74.3)
190 | (365.9, 51.8) | (365.9, 74.3)
191 | (377.4, 51.8) | (377.4, 74.3)
192 | (389.0, 51.8) | (389.0, 74.3)
193 | (400.5, 51.8) | (400.5, 74.3)
194 | (412.0, 51.8) | (412.0, 74.3)
195 | (423.5, 51.8) | (423.5, 74.3)
196 | (435.1, 51.8) | (435.1, 74.3)
197 | (446.6, 51.8) | (446.6, 74.3)
198 | (458.1, 51.8) | (458.1, 74.3)
199 | (469.7, 51.8) | (469.7, 74.3)
200 | (469.7, 62.9) | (469.7, 85.4)
201 | (458.1, 62.9) | (458.1, 85.4)
202 | (446.6, 62.9) | (446.6, 85.4)
203 | (435.1, 62.9) | (435.1, 85.4)
204 | (423.5, 62.9) | (423.5, 85.4)
205 | (412.0, 62.9) | (412.0, 85.4)
206 | (400.5, 62.9) | (400.5, 85.4)
207 | (389.0, 62.9) | (389.0, 85.4)
208 | (377.4, 62.9) | (377.4, 85.4)
209 | (365.9, 62.9) | (365.9, 85.4)
210 | (354.4, 62.9) | (354.4, 85.4)
211 | (342.8, 62.9) | (342.8, 85.4)
212 | (331.3, 62.9) | (331.3, 85.4)
213 | (319.8, 62.9) | (319.8, 85.4)
214 | (308.2, 62.9) | (308.2, 85.4)
215 | (296.7, 62.9) | (296.7, 85.4)
216 | (285.2, 62.9) | (285.2, 85.4)
217 | (273.7, 62.9) | (273.7, 85.4)
218 | (262.1, 62.9) | (262.1, 85.4)
219 | (250.6, 62.9) | (250.6, 85.4)
220 | (239.1, 62.9) | (239.1, 85.4)
221 | (227.5, 62.9) | (227.5, 85.4)
222 | (216.0, 62.9) | (216.0, 85.4)
223 | (204.5, 62.9) | (204.5, 85.4)
224 | (192.9, 62.9) | (192.9, 85.4)
225 | (181.4, 62.9) | (181.4, 85.4)
226 | (169.9, 62.9) | (169.9, 85.4)
227 | (158.4, 62.9) | (158.4, 85.4)
228 | (146.8, 62.9) | (146.8, 85.4)
229 | (135.3, 62.9) | (135.3, 85.4)
230 | (123.8, 62.9) | (123.8, 85.4)
231 | (112.2, 62.9) | (112.2, 85.4)
232 | (100.7, 62.9) | (100.7, 85.4)
233 | (89.2, 62.9) | (89.2, 85.4)
234 | (77.6, 62.9) | (77.6, 85.4)
235 | (66.1, 62.9) | (66.1, 85.4)
236 | (54.6, 62.9) | (54.6, 85.4)
237 | (43.1, 62.9) | (43.1, 85.4)
238 | (31.5, 62.9) | (31.5, 85.4)
239 | (20.0, 62.9) | (20.0, 85.4)
240 | (20.0, 74.0) | (20.0, 96.5)
241 | (31.5, 74.0) | (31.5, 96.5)
242 | (43.1, 74.0) | (43.1, 96.5)
243 | (54.6, 74.0) | (54.6, 96.5)
244 | (66.1, 74.0) | (66.1, 96.5)
245 | (77.7, 74.0) | (77.7, 96.5)
246 | (89.2, 74.0) | (89.2, 96.5)
247 | (100.7, 74.0) | (100.7, 96.5)
248 | (112.2, 74.0) | (112.2, 96.5)
249 | (123.8, 74.0) | (123.8, 96.5)
250 | (135.3, 74.0) | (135.3, 96.5)
251 | (146.8, 74.0) | (146.8, 96.5)
252 | (158.4, 74.0) | (158.4, 96.5)
253 | (169.9, 74.0) | (169.9, 96.5)
254 | (181.4, 74.0) | (181.4, 96.5)
255 | (192.9, 74.0) | (192.9, 96.5)
256 | (204.5, 74.0) | (204.5, 96.5)
257 | (216.0, 74.0) | (216.0, 96.5)
258 | (227.5, 74.0) | (227.5, 96.5)
259 | (239.1, 74.0) | (239.1, 96.5)
260 | (250.6, 74.0) | (250.6, 96.5)
261 | (262.1, 74.0) | (262.1, 96.5)
262 | (273.7, 74.0) | (273.7, 96.5)
263 | (285.2, 74.0) | (285.2, 96.5)
264 | (296.7, 74.0) | (296.7, 96.5)
265 | (308.2, 74.0) | (308.2, 96.5)
266 | (319.8, 74.0) | (319.8, 96.5)
267 | (331.3, 74.0) | (331.3, 96.5)
268 | (342.8, 74.0) | (342.8, 96.5)
269 | (354.4, 74.0) | (354.4, 96.5)
270 | (365.9, 74.0) | (365.9, 96.5)
271 | (377.4, 74.0) | (377.4, 96.5)
272 | (389.0, 74.0) | (389.0, 96.5)
273 | (400.5, 74.0) | (400.5, 96.5)
274 | (412.0, 74.0) | (412.0, 96.5)
275 | (423.5, 74.0) | (423.5, 96.5)
276 | (435.1, 74.0) | (435.1, 96.5)
277 | (446.6, 74.0) | (446.6, 96.5)
278 | (458.1, 74.0) | (458.1, 96.5)
279 | (469.7, 74.0) | (469.7, 96.5)
280 | (469.7, 85.1) | (469.7, 107.6)
281 | (458.1, 85.1) | (458.1, 107.6)
282 | (446.6, 85.1) | (446.6, 107.6)
283 | (435.1, 85.1) | (435.1, 107.6)
284 | (423.5, 85.1) | (423.5, 107.6)
285 | (412.0, 85.1) | (412.0, 107.6)
286 | (400.5, 85.1) | (400.5, 107.6)
287 | (389.0, 85.1) | (389.0, 107.6)
288 | (377.4, 85.1) | (377.4, 107.6)
289 | (365.9, 85.1) | (365.9, 107.6)
290 | (354.4, 85.1) | (354.4, 107.6)
291 | (342.8, 85.1) | (342.8, 107.6)
292 | (331.3, 85.1) | (331.3, 107.6)
293 | (319.8, 85.1) | (319.8, 107.6)
294 | (308.2, 85.1) | (308.2, 107.6)
295 | (296.7, 85.1) | (296.7, 107.6)
296 | (285.2, 85.1) | (285.2, 107.6)
297 | (273.7, 85.1) | (273.7, 107.6)
298 | (262.1, 85.1) | (262.1, 107.6)
299 | (250.6, 85.1) | (250.6, 107.6)
300 | (239.1, 85.1) | (239.1, 107.6)
301 | (227.5, 85.1) | (227.5, 107.6)
302 | (216.0, 85.1) | (216.0, 107.6)
303 | (204.5, 85.1) | (204.5, 107.6)
304 | (192.9, 85.1) | (192.9, 107.6)
305 | (181.4, 85.1) | (181.4, 107.6)
306 | (169.9, 85.1) | (169.9, 107.6)
307 | (158.4, 85.1) | (158.4, 107.6)
308 | (146.8, 85.1) | (146.8, 107.6)
309 | (135.3, 85.1) | (135.3, 107.6)
310 | (123.8, 85.1) | (123.8, 107.6)
311 | (112.2, 85.1) | (112.2, 107.6)
312 | (100.7, 85.1) | (100.7, 107.6)
313 | (89.2, 85.1) | (89.2, 107.6)
314 | (77.6, 85.1) | (77.6, 107.6)
315 | (66.1, 85.1) | (66.1, 107.6)
316 | (54.6, 85.1) | (54.6, 107.6)
317 | (43.1, 85.1) | (43.1, 107.6)
318 | (31.5, 85.1) | (31.5, 107.6)
319 | (20.0, 85.1) | (20.0, 107.6)
320 | (20.0, 96.1) | (20.0, 118.6)
321 | (31.5, 96.1) | (31.5, 118.6)
322 | (43.1, 96.1) | (43.1, 118.6)
323 | (54.6, 96.1) | (54.6, 118.6)
324 | (66.1, 96.1) | (66.1, 118.6)
325 | (77.7, 96.1) | (77.7, 118.6)
326 | (89.2, 96.1) | (89.2, 118.6)
327 | (100.7, 96.1) | (100.7, 118.6)
328 | (112.2, 96.1) | (112.2, 118.6)
329 | (123.8, 96.1) | (123.8, 118.6)
330 | (135.3, 96.1) | (135.3, 118.6)
331 | (146.8, 96.1) | (146.8, 118.6)
332 | (158.4, 96.1) | (158.4, 118.6)
333 | (169.9, 96.1) | (169.9, 118.6)
334 | (181.4, 96.1) | (181.4, 118.6)
335 | (192.9, 96.1) | (192.9, 118.6)
336 | (204.5, 96.1) | (204.5, 118.6)
337 | (216.0, 96.1) | (216.0, 118.6)
338 | (227.5, 96.1) | (227.5, 118.6)
339 | (239.1, 96.1) | (239.1, 118.6)
340 | (250.6, 96.1) | (250.6, 118.6)
341 | (262.1, 96.1) | (262.1, 118.6)
342 | (273.7, 96.1) | (273.7, 118.6)
343 | (285.2, 96.1) | (285.2, 118.6)
344 | (296.7, 96.1) | (296.7, 118.6)
345 | (308.2, 96.1) | (308.2, 118.6)
346 | (319.8, 96.1) | (319.8, 118.6)
347 | (331.3, 96.1) | (331.3, 118.6)
348 | (342.8, 96.1) | (342.8, 118.6)
349 | (354.4, 96.1) | (354.4, 118.6)
350 | (365.9, 96.1) | (365.9, 118.6)
351 | (377.4, 96.1) | (377.4, 118.6)
352 | (389.0, 96.1) | (389.0, 118.6)
353 | (400.5, 96.1) | (400.5, 118.6)
354 | (412.0, 96.1) | (412.0, 118.6)
355 | (423.5, 96.1) | (423.5, 118.6)
356 | (435.1, 96.1) | (435.1, 118.6)
357 | (446.6, 96.1) | (446.6, 118.6)
358 | (458.1, 96.1) | (458.1, 118.6)
359 | (469.7, 96.1) | (469.7, 118.6)
360 | (469.7, 107.2) | (469.7, 129.7)
361 | (458.1, 107.2) | (458.1, 129.7)
362 | (446.6, 107.2) | (446.6, 129.7)
363 | (435.1, 107.2) | (435.1, 129.7)
364 | (423.5, 107.2) | (423.5, 129.7)
365 | (412.0, 107.2) | (412.0, 129.7)
366 | (400.5, 107.2) | (400.5, 129.7)
367 | (389.0, 107.2) | (389.0, 129.7)
368 | (377.4, 107.2) | (377.4, 129.7)
369 | (365.9, 107.2) | (365.9, 129.7)
370 | (354.4, 107.2) | (354.4, 129.7)
371 | (342.8, 107.2) | (342.8, 129.7)
372 | (331.3, 107.2) | (331.3, 129.7)
373 | (319.8, 107.2) | (319.8, 129.7)
374 | (308.2, 107.2) | (308.2, 129.7)
375 | (296.7, 107.2) | (296.7, 129.7)
376 | (285.2, 107.2) | (285.2, 129.7)
377 | (273.7, 107.2) | (273.7, 129.7)
378 | (262.1, 107.2) | (262.1, 129.7)
379 | (250.6, 107.2) | (250.6, 129.7)
380 | (239.1, 107.2) | (239.1, 129.7)
381 | (227.5, 107.2) | (227.5, 129.7)
382 | (216.0, 107.2) | (216.0, 129.7)
383 | (204.5, 107.2) | (204.5, 129.7)
384 | (192.9, 107.2) | (192.9, 129.7)
385 | (181.4, 107.2) | (181.4, 129.7)
386 | (169.9, 107.2) | (169.9, 129.7)
387 | (158.4, 107.2) | (158.4, 129.7)
388 | (146.8, 107.2) | (146.8, 129.7)
389 | (135.3, 107.2) | (135.3, 129.7)
390 | (123.8, 107.2) | (123.8, 129.7)
391 | (112.2, 107.2) | (112.2, 129.7)
392 | (100.7, 107.2) | (100.7, 129.7)
393 | (89.2, 107.2) | (89.2, 129.7)
394 | (77.6, 107.2) | (77.6, 129.7)
395 | (66.1, 107.2) | (66.1, 129.7)
396 | (54.6, 107.2) | (54.6, 129.7)
397 | (43.1, 107.2) | (43.1, 129.7)
398 | (31.5, 107.2) | (31.5, 129.7)
399 | (20.0, 107.2) | (20.0, 129.7)
400 | (20.0, 118.3) | (20.0, 140.8)
401 | (31.5, 118.3) | (31.5, 140.8)
402 | (43.1, 118.3) | (43.1, 140.8)
403 | (54.6, 118.3) | (54.6, 140.8)
404 | (66.1, 118.3) | (66.1, 140.8)
405 | (77.7, 118.3) | (77.7, 140.8)
406 | (89.2, 118.3) | (89.2, 140.8)
407 | (100.7, 118.3) | (100.7, 140.8)
408 | (112.2, 118.3) | (112.2, 140.8)
409 | (123.8, 118.3) | (123.8, 140.8)
410 | (135.3, 118.3) | (135.3, 140.8)
411 | (146.8, 118.3) | (146.8, 140.8)
412 | (158.4, 118.3) | (158.4, 140.8)
413 | (169.9, 118.3) | (169.9, 140.8)
414 | (181.4, 118.3) | (181.4, 140.8)
415 | (192.9, 118.3) | (192.9, 140.8)
416 | (204.5, 118.3) | (204.5, 140.8)
417 | (216.0, 118.3) | (216.0, 140.8)
418 | (227.5, 118.3) | (227.5, 140.8)
419 | (239.1, 118.3) | (239.1, 140.8)
420 | (250.6, 118.3) | (250.6, 140.8)
421 | (262.1, 118.3) | (262.1, 140.8)
422 | (273.7, 118.3) | (273.7, 140.8)
423 | (285.2, 118.3) | (285.2, 140.8)
424 | (296.7, 118.3) | (296.7, 140.8)
425 | (308.2, 118.3) | (308.2, 140.8)
426 | (319.8, 118.3) | (319.8, 140.8)
427 | (331.3, 118.3) | (331.3, 140.8)
428 | (342.8, 118.3) | (342.8, 140.8)
429 | (354.4, 118.3) | (354.4, 140.8)
430 | (365.9, 118.3) | (365.9, 140.8)
431 | (377.4, 118.3) | (377.4, 140.8)
432 | (389.0, 118.3) | (389.0, 140.8)
433 | (400.5, 118.3) | (400.5, 140.8)
434 | (412.0, 118.3) | (412.0, 140.8)
435 | (423.5, 118.3) | (423.5, 140.8)
436 | (435.1, 118.3) | (435.1, 140.8)
437 | (446.6, 118.3) | (446.6, 140.8)
438 | (458.1, 118.3) | (458.1, 140.8)
439 | (469.7, 118.3) | (469.7, 140.8)
440 | (469.7, 129.4) | (469.7, 151.9)
441 | (458.1, 129.4) | (458.1, 151.9)
442 | (446.6, 129.4) | (446.6, 151.9)
443 | (435.1, 129.4) | (435.1, 151.9)
444 | (423.5, 129.4) | (423.5, 151.9)
445 | (412.0, 129.4) | (412.0, 151.9)
446 | (400.5, 129.4) | (400.5, 151.9)
447 | (389.0, 129.4) | (389.0, 151.9)
448 | (377.4, 129.4) | (377.4, 151.9)
449 | (365.9, 129.4) | (365.9, 151.9)
450 | (354.4, 129.4) | (354.4, 151.9)
451 | (342.8, 129.4) | (342.8, 151.9)
452 | (331.3, 129.4) | (331.3, 151.9)
453 | (319.8, 129.4) | (319.8, 151.9)
454 | (308.2, 129.4) | (308.2, 151.9)
455 | (296.7, 129.4) | (296.7, 151.9)
456 | (285.2, 129.4) | (285.2, 151.9)
457 | (273.7, 129.4) | (273.7, 151.9)
458 | (262.1, 129.4) | (262.1, 151.9)
459 | (250.6, 129.4) | (250.6, 151.9)
460 | (239.1, 129.4) | (239.1, 151.9)
461 | (227.5, 129.4) | (227.5, 151.9)
462 | (216.0, 129.4) | (216.0, 151.9)
463 | (204.5, 129.4) | (204.5, 151.9)
464 | (192.9, 129.4) | (192.9, 151.9)
465 | (181.4, 129.4) | (181.4, 151.9)
466 | (169.9, 129.4) | (169.9, 151.9)
467 | (158.4, 129.4) | (158.4, 151.9)
468 | (146.8, 129.4) | (146.8, 151.9)
469 | (135.3, 129.4) | (135.3, 151.9)
470 | (123.8, 129.4) | (123.8, 151.9)
471 | (112.2, 129.4) | (112.2, 151.9)
472 | (100.7, 129.4) | (100.7, 151.9)
473 | (89.2, 129.4) | (89.2, 151.9)
474 | (77.6, 129.4) | (77.6, 151.9)
475 | (66.1, 129.4) | (66.1, 151.9)
476 | (54.6, 129.4) | (54.6, 151.9)
477 | (43.1, 129.4) | (43.1, 151.9)
478 | (31.5, 129.4) | (31.5, 151.9)
479 | (20.0, 129.4) | (20.0, 151.9)
480 | (20.0, 140.5) | (20.0, 163.0)
481 | (31.5, 140.5) | (31.5, 163.0)
482 | (43.1, 140.5) | (43.1, 163.0)
483 | (54.6, 140.5) | (54.6, 163.0)
484 | (66.1, 140.5) | (66.1, 163.0)
485 | (77.7, 140.5) | (77.7, 163.0)
486 | (89.2, 140.5) | (89.2, 163.0)
487 | (100.7, 140.5) | (100.7, 163.0)
488 | (112.2, 140.5) | (112.2, 163.0)
489 | (123.8, 140.5) | (123.8, 163.0)
490 | (135.3, 140.5) | (135.3, 163.0)
491 | (146.8, 140.5) | (146.8, 163.0)
492 | (158.4, 140.5) | (158.4, 163.0)
493 | (169.9, 140.5) | (169.9, 163.0)
494 | (181.4, 140.5) | (181.4, 163.0)
495 | (192.9, 140.5) | (192.9, 163.0)
496 | (204.5, 140.5) | (204.5, 163.0)
497 | (216.0, 140.5) | (216.0, 163.0)
498 | (227.5, 140.5) | (227.5, 163.0)
499 | (239.1, 140.5) | (239.1, 163.0)
500 | (250.6, 140.5) | (250.6, 163.0)
501 | (262.1, 140.5) | (262.1, 163.0)
502 | (273.7, 140.5) | (273.7, 163.0)
503 | (285.2, 140.5) | (285.2, 163.0)
504 | (296.7, 140.5) | (296.7, 163.0)
505 | (308.2, 140.5) | (308.2, 163.0)
506 | (319.8, 140.5) | (319.8, 163.0)
507 | (331.3, 140.5) | (331.3, 163.0)
508 | (342.8, 140.5) | (342.8, 163.0)
509 | (354.4, 140.5) | (354.4, 163.0)
510 | (365.9, 140.5) | (365.9, 163.0)
511 | (377.4, 140.5) | (377.4, 163.0)
512 | (389.0, 140.5) | (389.0, 163.0)
513 | (400.5, 140.5) | (400.5, 163.0)
514 | (412.0, 140.5) | (412.0, 163.0)
515 | (423.5, 140.5) | (423.5, 163.0)
516 | (435.1, 140.5) | (435.1, 163.0)
517 | (446.6, 140.5) | (446.6, 163.0)
518 | (458.1, 140.5) | (458.1, 163.0)
519 | (469.7, 140.5) | (469.7, 163.0)
520 | (469.7, 151.5) | (469.7, 174.0)
521 | (458.1, 151.5) | (458.1, 174.0)
522 | (446.6, 151.5) | (446.6, 174.0)
523 | (435.1, 151.5) | (435.1, 174.0)
524 | (423.5, 151.5) | (423.5, 174.0)
525 | (412.0, 151.5) | (412.0, 174.0)
526 | (400.5, 151.5) | (400.5, 174.0)
527 | (389.0, 151.5) | (389.0, 174.0)
528 | (377.4, 151.5) | (377.4, 174.0)
529 | (365.9, 151.5) | (365.9, 174.0)
530 | (354.4, 151.5) | (354.4, 174.0)
531 | (342.8, 151.5) | (342.8, 174.0)
532 | (331.3, 151.5) | (331.3, 174.0)
533 | (319.8, 151.5) | (319.8, 174.0)
534 | (308.2, 151.5) | (308.2, 174.0)
535 | (296.7, 151.5) | (296.7, 174.0)
536 | (285.2, 151.5) | (285.2, 174.0)
537 | (273.7, 151.5) | (273.7, 174.0)
538 | (262.1, 151.5) | (262.1, 174.0)
539 | (250.6, 151.5) | (250.6, 174.0)
540 | (239.1, 151.5) | (239.1, 174.0)
541 | (227.5, 151.5) | (227.5, 174.0)
542 | (216.0, 151.5) | (216.0, 174.0)
543 | (204.5, 151.5) | (204.5, 174.0)
544 | (192.9, 151.5) | (192.9, 174.0)
545 | (181.4, 151.5) | (181.4, 174.0)
546 | (169.9, 151.5) | (169.9, 174.0)
547 | (158.4, 151.5) | (158.4, 174.0)
548 | (146.8, 151.5) | (146.8, 174.0)
549 | (135.3, 151.5) | (135.3, 174.0)
550 | (123.8, 151.5) | (123.8, 174.0)
551 | (112.2, 151.5) | (112.2, 174.0)
552 | (100.7, 151.5) | (100.7, 174.0)
553 | (89.2, 151.5) | (89.2, 174.0)
554 | (77.6, 151.5) | (77.6, 174.0)
555 | (66.1, 151.5) | (66.1, 174.0)
556 | (54.6, 151.5) | (54.6, 174.0)
557 | (43.1, 151.5) | (43.1, 174.0)
558 | (31.5, 151.5) | (31.5, 174.0)
559 | (20.0, 151.5) | (20.0, 174.0)
560 | (20.0, 162.6) | (20.0, 185.1)
561 | (31.5, 162.6) | (31.5, 185.1)
562 | (43.1, 162.6) | (43.1, 185.1)
563 | (54.6, 162.6) | (54.6, 185.1)
564 | (66.1, 162.6) | (66.1, 185.1)
565 | (77.7, 162.6) | (77.7, 185.1)
566 | (89.2, 162.6) | (89.2, 185.1)
567 | (100.7, 162.6) | (100.7, 185.1)
568 | (112.2, 162.6) | (112.2, 185.1)
569 | (123.8, 162.6) | (123.8, 185.1)
570 | (135.3, 162.6) | (135.3, 185.1)
571 | (146.8, 162.6) | (146.8, 185.1)
572 | (158.4, 162.6) | (158.4, 185.1)
573 | (169.9, 162.6) | (169.9, 185.1)
574 | (181.4, 162.6) | (181.4, 185.1)
575 | (192.9, 162.6) | (192.9, 185.1)
576 | (204.5, 162.6) | (204.5, 185.1)
577 | (216.0, 162.6) | (216.0, 185.1)
578 | (227.5, 162.6) | (227.5, 185.1)
579 | (239.1, 162.6) | (239.1, 185.1)
580 | (250.6, 162.6) | (250.6, 185.1)
581 | (262.1, 162.6) | (262.1, 185.1)
582 | (273.7, 162.6) | (273.7, 185.1)
583 | (285.2, 162.6) | (285.2, 185.1)
584 | (296.7, 162.6) | (296.7, 185.1)
585 | (308.2, 162.6) | (308.2, 185.1)
586 | (319.8, 162.6) | (319.8, 185.1)
587 | (331.3, 162.6) | (331.3, 185.1)
588 | (342.8, 162.6) | (342.8, 185.1)
589 | (354.4, 162.6) | (354.4, 185.1)
590 | (365.9, 162.6) | (365.9, 185.1)
591 | (377.4, 162.6) | (377.4, 185.1)
592 | (389.0, 162.6) | (389.0, 185.1)
593 | (400.5, 162.6) | (400.5, 185.1)
594 | (412.0, 162.6) | (412.0, 185.1)
595 | (423.5, 162.6) | (423.5, 185.1)
596 | (435.1, 162.6) | (435.1, 185.1)
597 | (446.6, 162.6) | (446.6, 185.1)
598 | (458.1, 162.6) | (458.1, 185.1)
599 | (469.7, 162.6) | (469.7, 185.1)
600 | (469.7, 173.7) | (469.7, 196.2)
601 | (458.1, 173.7) | (458.1, 196.2)
602 | (446.6, 173.7) | (446.6, 196.2)
603 | (435.1, 173.7) | (435.1, 196.2)
604 | (423.5, 173.7) | (423.5, 196.2)
605 | (412.0, 173.7) | (412.0, 196.2)
606 | (400.5, 173.7) | (400.5, 196.2)
607 | (389.0, 173.7) | (389.0, 196.2)
608 | (377.4, 173.7) | (377.4, 196.2)
609 | (365.9, 173.7) | (365.9, 196.2)
610 | (354.4, 173.7) | (354.4, 196.2)
611 | (342.8, 173.7) | (342.8, 196.2)
612 | (331.3, 173.7) | (331.3, 196.2)
613 | (319.8, 173.7) | (319.8, 196.2)
614 | (308.2, 173.7) | (308.2, 196.2)
615 | (296.7, 173.7) | (296.7, 196.2)
616 | (285.2, 173.7) | (285.2, 196.2)
617 | (273.7, 173.7) | (273.7, 196.2)
618 | (262.1, 173.7) | (262.1, 196.2)
619 | (250.6, 173.7) | (250.6, 196.2)
620 | (239.1, 173.7) | (239.1, 196.2)
621 | (227.5, 173.7) | (227.5, 196.2)
622 | (216.0, 173.7) | (216.0, 196.2)
623 | (204.5, 173.7) | (204.5, 196.2)
624 | (192.9, 173.7) | (192.9, 196.2)
625 | (181.4, 173.7) | (181.4, 196.2)
626 | (169.9, 173.7) | (169.9, 196.2)
627 | (158.4, 173.7) | (158.4, 196.2)
628 | (146.8, 173.7) | (146.8, 196.2)
629 | (135.3, 173.7) | (135.3, 196.2)
630 | (123.8, 173.7) | (123.8, 196.2)
631 | (112.2, 173.7) | (112.2, 196.2)
632 | (100.7, 173.7) | (100.7, 196.2)
633 | (89.2, 173.7) | (89.2, 196.2)
634 | (77.6, 173.7) | (77.6, 196.2)
635 | (66.1, 173.7) | (66.1, 196.2)
636 | (54.6, 173.7) | (54.6, 196.2)
637 | (43.1, 173.7) | (43.1, 196.2)
638 | (31.5, 173.7) | (31.5, 196.2)
639 | (20.0, 173.7) | (20.0, 196.2)
640 | (20.0, 184.8) | (20.0, 207.3)
641 | (31.5, 184.8) | (31.5, 207.3)
642 | (43.1, 184.8) | (43.1, 207.3)
643 | (54.6, 184.8) | (54.6, 207.3)
644 | (66.1, 184.8) | (66.1, 207.3)
645 | (77.7, 184.8) | (77.7, 207.3)
646 | (89.2, 184.8) | (89.2, 207.3)
647 | (100.7, 184.8) | (100.7, 207.3)
648 | (112.2, 184.8) | (112.2, 207.3)
649 | (123.8, 184.8) | (123.8, 207.3)
650 | (135.3, 184.8) | (135.3, 207.3)
651 | (146.8, 184.8) | (146.8, 207.3)
652 | (158.4, 184.8) | (158.4, 207.3)
653 | (169.9, 184.8) | (169.9, 207.3)
654 | (181.4, 184.8) | (181.4, 207.3)
655 | (192.9, 184.8) | (192.9, 207.3)
656 | (204.5, 184.8) | (204.5, 207.3)
657 | (216.0, 184.8) | (216.0, 207.3)
658 | (227.5, 184.8) | (227.5, 207.3)
659 | (239.1, 184.8) | (239.1, 207.3)
660 | (250.6, 184.8) | (250.6, 207.3)
661 | (262.1, 184.8) | (262.1, 207.3)
662 | (273.7, 184.8) | (273.7, 207.3)
663 | (285.2, 184.8) | (285.2, 207.3)
664 | (296.7, 184.8) | (296.7, 207.3)
665 | (308.2, 184.8) | (308.2, 207.3)
666 | (319.8, 184.8) | (319.8, 207.3)
667 | (331.3, 184.8) | (331.3, 207.3)
668 | (342.8, 184.8) | (342.8, 207.3)
669 | (354.4, 184.8) | (354.4, 207.3)
670 | (365.9, 184.8) | (365.9, 207.3)
671 | (377.4, 184.8) | (377.4, 207.3)
672 | (389.0, 184.8) | (389.0, 207.3)
673 | (400.5, 184.8) | (400.5, 207.3)
674 | (412.0, 184.8) | (412.0, 207.3)
675 | (423.5, 184.8) | (423.5, 207.3)
676 | (435.1, 184.8) | (435.1, 207.3)
677 | (446.6, 184.8) | (446.6, 207.3)
678 | (458.1, 184.8) | (458.1, 207.3)
679 | (469.7, 184.8) | (469.7, 207.3)
680 | (469.7, 195.9) | (469.7, 218.4)
681 | (458.1, 195.9) | (458.1, 218.4)
682 | (446.6, 195.9) | (446.6, 218.4)
683 | (435.1, 195.9) | (435.1, 218.4)
684 | (423.5, 195.9) | (423.5, 218.4)
685 | (412.0, 195.9) | (412.0, 218.4)
686 | (400.5, 195.9) | (400.5, 218.4)
687 | (389.0, 195.9) | (389.0, 218.4)
688 | (377.4, 195.9) | (377.4, 218.4)
689 | (365.9, 195.9) | (365.9, 218.4)
690 | (354.4, 195.9) | (354.4, 218.4)
691 | (342.8, 195.9) | (342.8, 218.4)
692 | (331.3, 195.9) | (331.3, 218.4)
693 | (319.8, 195.9) | (319.8, 218.4)
694 | (308.2, 195.9) | (308.2, 218.4)
695 | (296.7, 195.9) | (296.7, 218.4)
696 | (285.2, 195.9) | (285.2, 218.4)
697 | (273.7, 195.9) | (273.7, 218.4)
698 | (262.1, 195.9) | (262.1, 218.4)
699 | (250.6, 195.9) | (250.6, 218.4)
700 | (239.1, 195.9) | (239.1, 218.4)
701 | (227.5, 195.9) | (227.5, 218.4)
702 | (216.0, 195.9) | (216.0, 218.4)
703 | (204.5, 195.9) | (204.5, 218.4)
704 | (192.9, 195.9) | (192.9, 218.4)
705 | (181.4, 195.9) | (181.4, 218.4)
706 | (169.9, 195.9) | (169.9, 218.4)
707 | (158.4, 195.9) | (158.4, 218.4)
708 | (146.8, 195.9) | (146.8, 218.4)
709 | (135.3, 195.9) | (135.3, 218.4)
710 | (123.8, 195.9) | (123.8, 218.4)
711 | (112.2, 195.9) | (112.2, 218.4)
712 | (100.7, 195.9) | (100.7, 218.4)
713 | (89.2, 195.9) | (89.2, 218.4)
714 | (77.6, 195.9) | (77.6, 218.4)
715 | (66.1, 195.9) | (66.1, 218.4)
716 | (54.6, 195.9) | (54.6, 218.4)
717 | (43.1, 195.9) | (43.1, 218.4)
718 | (31.5, 195.9) | (31.5, 218.4)
719 | (20.0, 195.9) | (20.0, 218.4)
720 | (20.0, 206.9) | (20.0, 229.4)
721 | (31.5, 206.9) | (31.5, 229.4)
722 | (43.1, 206.9) | (43.1, 229.4)
723 | (54.6, 206.9) | (54.6, 229.4)
724 | (66.1, 206.9) | (66.1, 229.4)
725 | (77.7, 206.9) | (77.7, 229.4)
726 | (89.2, 206.9) | (89.2, 229.4)
727 | (100.7, 206.9) | (100.7, 229.4)
728 | (112.2, 206.9) | (112.2, 229.4)
729 | (123.8, 206.9) | (123.8, 229.4)
730 | (135.3, 206.9) | (135.3, 229.4)
731 | (146.8, 206.9) | (146.8, 229.4)
732 | (158.4, 206.9) | (158.4, 229.4)
733 | (169.9, 206.9) | (169.9, 229.4)
734 | (181.4, 206.9) | (181.4, 229.4)
735 | (192.9, 206.9) | (192.9, 229.4)
736 | (204.5, 206.9) | (204.5, 229.4)
737 | (216.0, 206.9) | (216.0, 229.4)
738 | (227.5, 206.9) | (227.5, 229.4)
739 | (239.1, 206.9) | (239.1, 229.4)
740 | (250.6, 206.9) | (250.6, 229.4)
741 | (262.1, 206.9) | (262.1, 229.4)
742 | (273.7, 206.9) | (273.7, 229.4)
743 | (285.2, 206.9) | (285.2, 229.4)
744 | (296.7, 206.9) | (296.7, 229.4)
745 | (308.2, 206.9) | (308.2, 229.4)
746 | (319.8, 206.9) | (319.8, 229.4)
747 | (331.3, 206.9) | (331.3, 229.4)
748 | (342.8, 206.9) | (342.8, 229.4)
749 | (354.4, 206.9) | (354.4, 229.4)
750 | (365.9, 206.9) | (365.9, 229.4)
751 | (377.4, 206.9) | (377.4, 229.4)
752 | (389.0, 206.9) | (389.0, 229.4)
753 | (400.5, 206.9) | (400.5, 229.4)
754 | (412.0, 206.9) | (412.0, 229.4)
755 | (423.5, 206.9) | (423.5, 229.4)
756 | (435.1, 206.9) | (435.1, 229.4)
757 | (446.6, 206.9) | (446.6, 229.4)
758 | (458.1, 206.9) | (458.1, 229.4)
759 | (469.7, 206.9) | (469.7, 229.4)
760 | (469.7, 218.0) | (469.7, 240.5)
761 | (458.1, 218.0) | (458.1, 240.5)
762 | (446.6, 218.0) | (446.6, 240.5)
763 | (435.1, 218.0) | (435.1, 240.5)
764 | (423.5, 218.0) | (423.5, 240.5)
765 | (412.0, 218.0) | (412.0, 240.5)
766 | (400.5, 218.0) | (400.5, 240.5)
767 | (389.0, 218.0) | (389.0, 240.5)
768 | (377.4, 218.0) | (377.4, 240.5)
769 | (365.9, 218.0) | (365.9, 240.5)
770 | (354.4, 218.0) | (354.4, 240.5)
771 | (342.8, 218.0) | (342.8, 240.5)
772 | (331.3, 218.0) | (331.3, 240.5)
773 | (319.8, 218.0) | (319.8, 240.5)
774 | (308.2, 218.0) | (308.2, 240.5)
775 | (296.7, 218.0) | (296.7, 240.5)
776 | (285.2, 218.0) | (285.2, 240.5)
777 | (273.7, 218.0) | (273.7, 240.5)
778 | (262.1, 218.0) | (262.1, 240.5)
779 | (250.6, 218.0) | (250.6, 240.5)
780 | (239.1, 218.0) | (239.1, 240.5)
781 | (227.5, 218.0) | (227.5, 240.5)
782 | (216.0, 218.0) | (216.0, 240.5)
783 | (204.5, 218.0) | (204.5, 240.5)
784 | (192.9, 218.0) | (192.9, 240.5)
785 | (181.4, 218.0) | (181.4, 240.5)
786 | (169.9, 218.0) | (169.9, 240.5)
787 | (158.4, 218.0) | (158.4, 240.5)
788 | (146.8, 218.0) | (146.8, 240.5)
789 | (135.3, 218.0) | (135.3, 240.5)
790 | (123.8, 218.0) | (123.8, 240.5)
791 | (112.2, 218.0) | (112.2, 240.5)
792 | (100.7, 218.0) | (100.7, 240.5)
793 | (89.2, 218.0) | (89.2, 240.5)
794 | (77.6, 218.0) | (77.6, 240.5)
795 | (66.1, 218.0) | (66.1, 240.5)
796 | (54.6, 218.0) | (54.6, 240.5)
797 | (43.1, 218.0) | (43.1, 240.5)
798 | (31.5, 218.0) | (31.5, 240.5)
799 | (20.0, 218.0) | (20.0, 240.5)
800 | (20.0, 229.1) | (20.0, 251.6)
801 | (31.5, 229.1) | (31.5, 251.6)
802 | (43.1, 229.1) | (43.1, 251.6)
803 | (54.6, 229.1) | (54.6, 251.6)
804 | (66.1, 229.1) | (66.1, 251.6)
805 | (77.7, 229.1) | (77.7, 251.6)
806 | (89.2, 229.1) | (89.2, 251.6)
807 | (100.7, 229.1) | (100.7, 251.6)
808 | (112.2, 229.1) | (112.2, 251.6)
809 | (123.8, 229.1) | (123.8, 251.6)
810 | (135.3, 229.1) | (135.3, 251.6)
811 | (146.8, 229.1) | (146.8, 251.6)
812 | (158.4, 229.1) | (158.4, 251.6)
813 | (169.9, 229.1) | (169.9, 251.6)
814 | (181.4, 229.1) | (181.4, 251.6)
815 | (192.9, 229.1) | (192.9, 251.6)
816 | (204.5, 229.1) | (204.5, 251.6)
817 | (216.0, 229.1) | (216.0, 251.6)
818 | (227.5, 229.1) | (227.5, 251.6)
819 | (239.1, 229.1) | (239.1, 251.6)
820 | (250.6, 229.1) | (250.6, 251.6)
821 | (262.1, 229.1) | (262.1, 251.6)
822 | (273.7, 229.1) | (273.7, 251.6)
823 | (285.2, 229.1) | (285.2, 251.6)
824 | (296.7, 229.1) | (296.7, 251.6)
825 | (308.2, 229.1) | (308.2, 251.6)
826 | (319.8, 229.1) | (319.8, 251.6)
827 | (331.3, 229.1) | (331.3, 251.6)
828 | (342.8, 229.1) | (342.8, 251.6)
829 | (354.4, 229.1) | (354.4, 251.6)
830 | (365.9, 229.1) | (365.9, 251.6)
831 | (377.4, 229.1) | (377.4, 251.6)
832 | (389.0, 229.1) | (389.0, 251.6)
833 | (400.5, 229.1) | (400.5, 251.6)
834 | (412.0, 229.1) | (412.0, 251.6)
835 | (423.5, 229.1) | (423.5, 251.6)
836 | (435.1, 229.1) | (435.1, 251.6)
837 | (446.6, 229.1) | (446.6, 251.6)
838 | (458.1, 229.1) | (458.1, 251.6)
839 | (469.7, 229.1) | (469.7, 251.6)
840 | (469.7, 240.2) | (469.7, 262.7)
841 | (458.1, 240.2) | (458.1, 262.7)
842 | (446.6, 240.2) | (446.6, 262.7)
843 | (435.1, 240.2) | (435.1, 262.7)
844 | (423.5, 240.2) | (423.5, 262.7)
845 | (412.0, 240.2) | (412.0, 262.7)
846 | (400.5, 240.2) | (400.5, 262.7)
847 | (389.0, 240.2) | (389.0, 262.7)
848 | (377.4, 240.2) | (377.4, 262.7)
849 | (365.9, 240.2) | (365.9, 262.7)
850 | (354.4, 240.2) | (354.4, 262.7)
851 | (342.8, 240.2) | (342.8, 262.7)
852 | (331.3, 240.2) | (331.3, 262.7)
853 | (319.8, 240.2) | (319.8, 262.7)
854 | (308.2, 240.2) | (308.2, 262.7)
855 | (296.7, 240.2) | (296.7, 262.7)
856 | (285.2, 240.2) | (285.2, 262.7)
857 | (273.7, 240.2) | (273.7, 262.7)
858 | (262.1, 240.2) | (262.1, 262.7)
859 | (250.6, 240.2) | (250.6, 262.7)
860 | (239.1, 240.2) | (239.1, 262.7)
861 | (227.5, 240.2) | (227.5, 262.7)
862 | (216.0, 240.2) | (216.0, 262.7)
863 | (204.5, 240.2) | (204.5, 262.7)
864 | (192.9, 240.2) | (192.9, 262.7)
865 | (181.4, 240.2) | (181.4, 262.7)
866 | (169.9, 240.2) | (169.9, 262.7)
867 | (158.4, 240.2) | (158.4, 262.7)
868 | (146.8, 240.2) | (146.8, 262.7)
869 | (135.3, 240.2) | (135.3, 262.7)
870 | (123.8, 240.2) | (123.8, 262.7)
871 | (112.2, 240.2) | (112.2, 262.7)
872 | (100.7, 240.2) | (100.7, 262.7)
873 | (89.2, 240.2) | (89.2, 262.7)
874 | (77.6, 240.2) | (77.6, 262.7)
875 | (66.1, 240.2) | (66.1, 262.7)
876 | (54.6, 240.2) | (54.6, 262.7)
877 | (43.1, 240.2) | (43.1, 262.7)
878 | (31.5, 240.2) | (31.5, 262.7)
879 | (20.0, 240.2) | (20.0, 262.7)
880 | (20.0, 251.3) | (20.0, 273.8)
881 | (31.5, 251.3) | (31.5, 273.8)
882 | (43.1, 251.3) | (43.1, 273.8)
883 | (54.6, 251.3) | (54.6, 273.8)
884 | (66.1, 251.3) | (66.1, 273.8)
885 | (77.7, 251.3) | (77.7, 273.8)
886 | (89.2, 251.3) | (89.2, 273.8)
887 | (100.7, 251.3) | (100.7, 273.8)
888 | (112.2, 251.3) | (112.2, 273.8)
889 | (123.8, 251.3) | (123.8, 273.8)
890 | (135.3, 251.3) | (135.3, 273.8)
891 | (146.8, 251.3) | (146.8, 273.8)
892 | (158.4, 251.3) | (158.4, 273.8)
893 | (169.9, 251.3) | (169.9, 273.8)
894 | (181.4, 251.3) | (181.4, 273.8)
895 | (192.9, 251.3) | (192.9, 273.8)
896 | (204.5, 251.3) | (204.5, 273.8)
897 | (216.0, 251.3) | (216.0, 273.8)
898 | (227.5, 251.3) | (227.5, 273.8)
899 | (239.1, 251.3) | (239.1, 273.8)
900 | (250.6, 251.3) | (250.6, 273.8)
901 | (262.1, 251.3) | (262.1, 273.8)
902 | (273.7, 251.3) | (273.7, 273.8)
903 | (285.2, 251.3) | (285.2, 273.8)
904 | (296.7, 251.3) | (296.7, 273.8)
905 | (308.2, 251.3) | (308.2, 273.8)
906 | (319.8, 251.3) | (319.8, 273.8)
907 | (331.3, 251.3) | (331.3, 273.8)
908 | (342.8, 251.3) | (342.8, 273.8)
909 | (354.4, 251.3) | (354.4, 273.8)
910 | (365.9, 251.3) | (365.9, 273.8)
911 | (377.4, 251.3) | (377.4, 273.8)
912 | (389.0, 251.3) | (389.0, 273.8)
913 | (400.5, 251.3) | (400.5, 273.8)
914 | (412.0, 251.3) | (412.0, 273.8)
915 | (423.5, 251.3) | (423.5, 273.8)
916 | (435.1, 251.3) | (435.1, 273.8)
917 | (446.6, 251.3) | (446.6, 273.8)
918 | (458.1, 251.3) | (458.1, 273.8)
919 | (469.7, 251.3) | (469.7, 273.8)
920 | (469.7, 262.3) | (469.7, 284.8)
921 | (458.1, 262.3) | (458.1, 284.8)
922 | (446.6, 262.3) | (446.6, 284.8)
923 | (435.1, 262.3) | (435.1, 284.8)
924 | (423.5, 262.3) | (423.5, 284.8)
925 | (412.0, 262.3) | (412.0, 284.8)
926 | (400.5, 262.3) | (400.5, 284.8)
927 | (389.0, 262.3) | (389.0, 284.8)
928 | (377.4, 262.3) | (377.4, 284.8)
929 | (365.9, 262.3) | (365.9, 284.8)
930 | (354.4, 262.3) | (354.4, 284.8)
931 | (342.8, 262.3) | (342.8, 284.8)
932 | (331.3, 262.3) | (331.3, 284.8)
933 | (319.8, 262.3) | (319.8, 284.8)
934 | (308.2, 262.3) | (308.2, 284.8)
935 | (296.7, 262.3) | (296.7, 284.8)
936 | (285.2, 262.3) | (285.2, 284.8)
937 | (273.7, 262.3) | (273.7, 284.8)
938 | (262.1, 262.3) | (262.1, 284.8)
939 | (250.6, 262.3) | (250.6, 284.8)
940 | (239.1, 262.3) | (239.1, 284.8)
941 | (227.5, 262.3) | (227.5, 284.8)
942 | (216.0, 262.3) | (216.0, 284.8)
943 | (204.5, 262.3) | (204.5, 284.8)
944 | (192.9, 262.3) | (192.9, 284.8)
945 | (181.4, 262.3) | (181.4, 284.8)
946 | (169.9, 262.3) | (169.9, 284.8)
947 | (158.4, 262.3) | (158.4, 284.8)
948 | (146.8, 262.3) | (146.8, 284.8)
949 | (135.3, 262.3) | (135.3, 284.8)
950 | (123.8, 262.3) | (123.8, 284.8)
951 | (112.2, 262.3) | (112.2, 284.8)
952 | (100.7, 262.3) | (100.7, 284.8)
953 | (89.2, 262.3) | (89.2, 284.8)
954 | (77.6, 262.3) | (77.6, 284.8)
955 | (66.1, 262.3) | (66.1, 284.8)
956 | (54.6, 262.3) | (54.6, 284.8)
957 | (43.1, 262.3) | (43.1, 284.8)
958 | (31.5, 262.3) | (31.5, 284.8)
959 | (20.0, 262.3) | (20.0, 284.8)
960 | (20.0, 273.4) | (20.0, 295.9)
961 | (31.5, 273.4) | (31.5, 295.9)
962 | (43.1, 273.4) | (43.1, 295.9)
963 | (54.6, 273.4) | (54.6, 295.9)
964 | (66.1, 273.4) | (66.1, 295.9)
965 | (77.7, 273.4) | (77.7, 295.9)
966 | (89.2, 273.4) | (89.2, 295.9)
967 | (100.7, 273.4) | (100.7, 295.9)
968 | (112.2, 273.4) | (112.2, 295.9)
969 | (123.8, 273.4) | (123.8, 295.9)
970 | (135.3, 273.4) | (135.3, 295.9)
971 | (146.8, 273.4) | (146.8, 295.9)
972 | (158.4, 273.4) | (158.4, 295.9)
973 | (169.9, 273.4) | (169.9, 295.9)
974 | (181.4, 273.4) | (181.4, 295.9)
975 | (192.9, 273.4) | (192.9, 295.9)
976 | (204.5, 273.4) | (204.5, 295.9)
977 | (216.0, 273.4) | (216.0, 295.9)
978 | (227.5, 273.4) | (227.5, 295.9)
979 | (239.1, 273.4) | (239.1, 295.9)
980 | (250.6, 273.4) | (250.6, 295.9)
981 | (262.1, 273.4) | (262.1, 295.9)
982 | (273.7, 273.4) | (273.7, 295.9)
983 | (285.2, 273.4) | (285.2, 295.9)
984 | (296.7, 273.4) | (296.7, 295.9)
985 | (308.2, 273.4) | (308.2, 295.9)
986 | (319.8, 273.4) | (319.8, 295.9)
987 | (331.3, 273.4) | (331.3, 295.9)
988 | (342.8, 273.4) | (342.8, 295.9)
989 | (354.4, 273.4) | (354.4, 295.9)
990 | (365.9, 273.4) | (365.9, 295.9)
991 | (377.4, 273.4) | (377.4, 295.9)
992 | (389.0, 273.4) | (389.0, 295.9)
993 | (400.5, 273.4) | (400.5, 295.9)
994 | (412.0, 273.4) | (412.0, 295.9)
995 | (423.5, 273.4) | (423.5, 295.9)
996 | (435.1, 273.4) | (435.1, 295.9)
997 | (446.6, 273.4) | (446.6, 295.9)
998 | (458.1, 273.4) | (458.1, 295.9)
999 | (469.7, 273.4) | (469.7, 295.9)
1000| (469.7, 284.5) | (469.7, 307.0)
1001| (458.1, 284.5) | (458.1, 307.0)
1002| (446.6, 284.5) | (446.6, 307.0)
1003| (435.1, 284.5) | (435.1, 307.0)
1004| (423.5, 284.5) | (423.5, 307.0)
1005| (412.0, 284.5) | (412.0, 307.0)
1006| (400.5, 284.5) | (400.5, 307.0)
1007| (389.0, 284.5) | (389.0, 307.0)
1008| (377.4, 284.5) | (377.4, 307.0)
1009| (365.9, 284.5) | (365.9, 307.0)
1010| (354.4, 284.5) | (354.4, 307.0)
1011| (342.8, 284.5) | (342.8, 307.0)
1012| (331.3, 284.5) | (331.3, 307.0)
1013| (319.8, 284.5) | (319.8, 307.0)
1014| (308.2, 284.5) | (308.2, 307.0)
1015| (296.7, 284.5) | (296.7, 307.0)
1016| (285.2, 284.5) | (285.2, 307.0)
1017| (273.7, 284.5) | (273.7, 307.0)
1018| (262.1, 284.5) | (262.1, 307.0)
1019| (250.6, 284.5) | (250.6, 307.0)
1020| (239.1, 284.5) | (239.1, 307.0)
1021| (227.5, 284.5) | (227.5, 307.0)
1022| (216.0, 284.5) | (216.0, 307.0)
1023| (204.5, 284.5) | (204.5, 307.0)
1024| (192.9, 284.5) | (192.9, 307.0)
1025| (181.4, 284.5) | (181.4, 307.0)
1026| (169.9, 284.5) | (169.9, 307.0)
1027| (158.4, 284.5) | (158.4, 307.0)
1028| (146.8, 284.5) | (146.8, 307.0)
1029| (135.3, 284.5) | (135.3, 307.0)
1030| (123.8, 284.5) | (123.8, 307.0)
1031| (112.2, 284.5) | (112.2, 307.0)
1032| (100.7, 284.5) | (100.7, 307.0)
1033| (89.2, 284.5) | (89.2, 307.0)
1034| (77.6, 284.5) | (77.6, 307.0)
1035| (66.1, 284.5) | (66.1, 307.0)
1036| (54.6, 284.5) | (54.6, 307.0)
1037| (43.1, 284.5) | (43.1, 307.0)
1038| (31.5, 284.5) | (31.5, 307.0)
1039| (20.0, 284.5) | (20.0, 307.0)
1040| (20.0, 295.6) | (20.0, 318.1)
1041| (31.5, 295.6) | (31.5, 318.1)
1042| (43.1, 295.6) | (43.1, 318.1)
1043| (54.6, 295.6) | (54.6, 318.1)
1044| (66.1, 295.6) | (66.1, 318.1)
1045| (77.7, 295.6) | (77.7, 318.1)
1046| (89.2, 295.6) | (89.2, 318.1)
1047| (100.7, 295.6) | (100.7, 318.1)
1048| (112.2, 295.6) | (112.2, 318.1)
1049| (123.8, 295.6) | (123.8, 318.1)
1050| (135.3, 295.6) | (135.3, 318.1)
1051| (146.8, 295.6) | (146.8, 318.1)
1052| (158.4, 295.6) | (158.4, 318.1)
1053| (169.9, 295.6) | (169.9, 318.1)
1054| (181.4, 295.6) | (181.4, 318.1)
1055| (192.9, 295.6) | (192.9, 318.1)
1056| (204.5, 295.6) | (204.5, 318.1)
1057| (216.0, 295.6) | (216.0, 318.1)
1058| (227.5, 295.6) | (227.5, 318.1)
1059| (239.1, 295.6) | (239.1, 318.1)
1060| (250.6, 295.6) | (250.6, 318.1)
1061| (262.1, 295.6) | (262.1, 318.1)
1062| (273.7, 295.6) | (273.7, 318.1)
1063| (285.2, 295.6) | (285.2, 318.1)
1064| (296.7, 295.6) | (296.7, 318.1)
1065| (308.2, 295.6) | (308.2, 318.1)
1066| (319.8, 295.6) | (319.8, 318.1)
1067| (331.3, 295.6) | (331.3, 318.1)
1068| (342.8, 295.6) | (342.8, 318.1)
1069| (354.4, 295.6) | (354.4, 318.1)
1070| (365.9, 295.6) | (365.9, 318.1)
1071| (377.4, 295.6) | (377.4, 318.1)
1072| (389.0, 295.6) | (389.0, 318.1)
1073| (400.5, 295.6) | (400.5, 318.1)
1074| (412.0, 295.6) | (412.0, 318.1)
1075| (423.5, 295.6) | (423.5, 318.1)
1076| (435.1, 295.6) | (435.1, 318.1)
1077| (446.6, 295.6) | (446.6, 318.1)
1078| (458.1, 295.6) | (458.1, 318.1)
1079| (469.7, 295.6) | (469.7, 318.1)
1080| (469.7, 306.7) | (469.7, 329.2)
1081| (458.1, 306.7) | (458.1, 329.2)
1082| (446.6, 306.7) | (446.6, 329.2)
1083| (435.1, 306.7) | (435.1, 329.2)
1084| (423.5, 306.7) | (423.5, 329.2)
1085| (412.0, 306.7) | (412.0, 329.2)
1086| (400.5, 306.7) | (400.5, 329.2)
1087| (389.0, 306.7) | (389.0, 329.2)
1088| (377.4, 306.7) | (377.4, 329.2)
1089| (365.9, 306.7) | (365.9, 329.2)
1090| (354.4, 306.7) | (354.4, 329.2)
1091| (342.8, 306.7) | (342.8, 329.2)
1092| (331.3, 306.7) | (331.3, 329.2)
1093| (319.8, 306.7) | (319.8, 329.2)
1094| (308.2, 306.7) | (308.2, 329.2)
1095| (296.7, 306.7) | (296.7, 329.2)
1096| (285.2, 306.7) | (285.2, 329.2)
1097| (273.7, 306.7) | (273.7, 329.2)
1098| (262.1, 306.7) | (262.1, 329.2)
1099| (250.6, 306.7) | (250.6, 329.2)
1100| (239.1, 306.7) | (239.1, 329.2)
1101| (227.5, 306.7) | (227.5, 329.2)
1102| (216.0, 306.7) | (216.0, 329.2)
1103| (204.5, 306.7) | (204.5, 329.2)
1104| (192.9, 306.7) | (192.9, 329.2)
1105| (181.4, 306.7) | (181.4, 329.2)
1106| (169.9, 306.7) | (169.9, 329.2)
1107| (158.4, 306.7) | (158.4, 329.2)
1108| (146.8, 306.7) | (146.8, 329.2)
1109| (135.3, 306.7) | (135.3, 329.2)
1110| (123.8, 306.7) | (123.8, 329.2)
1111| (112.2, 306.7) | (112.2, 329.2)
1112| (100.7, 306.7) | (100.7, 329.2)
1113| (89.2, 306.7) | (89.2, 329.2)
1114| (77.6, 306.7) | (77.6, 329.2)
1115| (66.1, 306.7) | (66.1, 329.2)
1116| (54.6, 306.7) | (54.6, 329.2)
1117| (43.1, 306.7) | (43.1, 329.2)
1118| (31.5, 306.7) | (31.5, 329.2)
1119| (20.0, 306.7) | (20.0, 329.2)
1120| (20.0, 317.7) | (20.0, 340.2)
1121| (31.5, 317.7) | (31.5, 340.2)
1122| (43.1, 317.7) | (43.1, 340.2)
1123| (54.6, 317.7) | (54.6, 340.2)
1124| (66.1, 317.7) | (66.1, 340.2)
1125| (77.7, 317.7) | (77.7, 340.2)
1126| (89.2, 317.7) | (89.2, 340.2)
1127| (100.7, 317.7) | (100.7, 340.2)
1128| (112.2, 317.7) | (112.2, 340.2)
1129| (123.8, 317.7) | (123.8, 340.2)
1130| (135.3, 317.7) | (135.3, 340.2)
1131| (146.8, 317.7) | (146.8, 340.2)
1132| (158.4, 317.7) | (158.4, 340.2)
1133| (169.9, 317.7) | (169.9, 340.2)
1134| (181.4, 317.7) | (181.4, 340.2)
1135| (192.9, 317.7) | (192.9, 340.2)
1136| (204.5, 317.7) | (204.5, 340.2)
1137| (216.0, 317.7) | (216.0, 340.2)
1138| (227.5, 317.7) | (227.5, 340.2)
1139| (239.1, 317.7) | (239.1, 340.2)
1140| (250.6, 317.7) | (250.6, 340.2)
1141| (262.1, 317.7) | (262.1, 340.2)
1142| (273.7, 317.7) | (273.7, 340.2)
1143| (285.2, 317.7) | (285.2, 340.2)
1144| (296.7, 317.7) | (296.7, 340.2)
1145| (308.2, 317.7) | (308.2, 340.2)
1146| (319.8, 317.7) | (319.8, 340.2)
1147| (331.3, 317.7) | (331.3, 340.2)
1148| (342.8, 317.7) | (342.8, 340.2)
1149| (354.4, 317.7) | (354.4, 340.2)
1150| (365.9, 317.7) | (365.9, 340.2)
1151| (377.4, 317.7) | (377.4, 340.2)
1152| (389.0, 317.7) | (389.0, 340.2)
1153| (400.5, 317.7) | (400.5, 340.2)
1154| (412.0, 317.7) | (412.0, 340.2)
1155| (423.5, 317.7) | (423.5, 340.2)
1156| (435.1, 317.7) | (435.1, 340.2)
1157| (446.6, 317.7) | (446.6, 340.2)
1158| (458.1, 317.7) | (458.1, 340.2)
1159| (469.7, 317.7) | (469.7, 340.2)
1160| (469.7, 328.8) | (469.7, 351.3)
1161| (458.1, 328.8) | (458.1, 351.3)
1162| (446.6, 328.8) | (446.6, 351.3)
1163| (435.1, 328.8) | (435.1, 351.3)
1164| (423.5, 328.8) | (423.5, 351.3)
1165| (412.0, 328.8) | (412.0, 351.3)
1166| (400.5, 328.8) | (400.5, 351.3)
1167| (389.0, 328.8) | (389.0, 351.3)
1168| (377.4, 328.8) | (377.4, 351.3)
1169| (365.9, 328.8) | (365.9, 351.3)
1170| (354.4, 328.8) | (354.4, 351.3)
1171| (342.8, 328.8) | (342.8, 351.3)
1172| (331.3, 328.8) | (331.3, 351.3)
1173| (319.8, 328.8) | (319.8, 351.3)
1174| (308.2, 328.8) | (308.2, 351.3)
1175| (296.7, 328.8) | (296.7, 351.3)
1176| (285.2, 328.8) | (285.2, 351.3)
1177| (273.7, 328.8) | (273.7, 351.3)
1178| (262.1, 328.8) | (262.1, 351.3)
1179| (250.6, 328.8) | (250.6, 351.3)
1180| (239.1, 328.8) | (239.1, 351.3)
1181| (227.5, 328.8) | (227.5, 351.3)
1182| (216.0, 328.8) | (216.0, 351.3)
1183| (204.5, 328.8) | (204.5, 351.3)
1184| (192.9, 328.8) | (192.9, 351.3)
1185| (181.4, 328.8) | (181.4, 351.3)
1186| (169.9, 328.8) | (169.9, 351.3)
1187| (158.4, 328.8) | (158.4, 351.3)
1188| (146.8, 328.8) | (146.8, 351.3)
1189| (135.3, 328.8) | (135.3, 351.3)
1190| (123.8, 328.8) | (123.8, 351.3)
1191| (112.2, 328.8) | (112.2, 351.3)
1192| (100.7, 328.8) | (100.7, 351.3)
1193| (89.2, 328.8) | (89.2, 351.3)
1194| (77.6, 328.8) | (77.6, 351.3)
1195| (66.1, 328.8) | (66.1, 351.3)
1196| (54.6, 328.8) | (54.6, 351.3)
1197| (43.1, 328.8) | (43.1, 351.3)
1198| (31.5, 328.8) | (31.5, 351.3)
1199| (20.0, 328.8) | (20.0, 351.3)
1200| (20.0, 339.9) | (20.0, 362.4)
1201| (31.5, 339.9) | (31.5, 362.4)
1202| (43.1, 339.9) | (43.1, 362.4)
1203| (54.6, 339.9) | (54.6, 362.4)
1204| (66.1, 339.9) | (66.1, 362.4)
1205| (77.7, 339.9) | (77.7, 362.4)
1206| (89.2, 339.9) | (89.2, 362.4)
1207| (100.7, 339.9) | (100.7, 362.4)
1208| (112.2, 339.9) | (112.2, 362.4)
1209| (123.8, 339.9) | (123.8, 362.4)
1210| (135.3, 339.9) | (135.3, 362.4)
1211| (146.8, 339.9) | (146.8, 362.4)
1212| (158.4, 339.9) | (158.4, 362.4)
1213| (169.9, 339.9) | (169.9, 362.4)
1214| (181.4, 339.9) | (181.4, 362.4)
1215| (192.9, 339.9) | (192.9, 362.4)
1216| (204.5, 339.9) | (204.5, 362.4)
1217| (216.0, 339.9) | (216.0, 362.4)
1218| (227.5, 339.9) | (227.5, 362.4)
1219| (239.1, 339.9) | (239.1, 362.4)
1220| (250.6, 339.9) | (250.6, 362.4)
1221| (262.1, 339.9) | (262.1, 362.4)
1222| (273.7, 339.9) | (273.7, 362.4)
1223| (285.2, 339.9) | (285.2, 362.4)
1224| (296.7, 339.9) | (296.7, 362.4)
1225| (308.2, 339.9) | (308.2, 362.4)
1226| (319.8, 339.9) | (319.8, 362.4)
1227| (331.3, 339.9) | (331.3, 362.4)
1228| (342.8, 339.9) | (342.8, 362.4)
1229| (354.4, 339.9) | (354.4, 362.4)
1230| (365.9, 339.9) | (365.9, 362.4)
1231| (377.4, 339.9) | (377.4, 362.4)
1232| (389.0, 339.9) | (389.0, 362.4)
1233| (400.5, 339.9) | (400.5, 362.4)
1234| (412.0, 339.9) | (412.0, 362.4)
1235| (423.5, 339.9) | (423.5, 362.4)
1236| (435.1, 339.9) | (435.1, 362.4)
1237| (446.6, 339.9) | (446.6, 362.4)
1238| (458.1, 339.9) | (458.1, 362.4)
1239| (469.7, 339.9) | (469.7, 362.4)
1240| (469.7, 351.0) | (469.7, 373.5)
1241| (458.1, 351.0) | (458.1, 373.5)
1242| (446.6, 351.0) | (446.6, 373.5)
1243| (435.1, 351.0) | (435.1, 373.5)
1244| (423.5, 351.0) | (423.5, 373.5)
1245| (412.0, 351.0) | (412.0, 373.5)
1246| (400.5, 351.0) | (400.5, 373.5)
1247| (389.0, 351.0) | (389.0, 373.5)
1248| (377.4, 351.0) | (377.4, 373.5)
1249| (365.9, 351.0) | (365.9, 373.5)
1250| (354.4, 351.0) | (354.4, 373.5)
1251| (342.8, 351.0) | (342.8, 373.5)
1252| (331.3, 351.0) | (331.3, 373.5)
1253| (319.8, 351.0) | (319.8, 373.5)
1254| (308.2, 351.0) | (308.2, 373.5)
1255| (296.7, 351.0) | (296.7, 373.5)
1256| (285.2, 351.0) | (285.2, 373.5)
1257| (273.7, 351.0) | (273.7, 373.5)
1258| (262.1, 351.0) | (262.1, 373.5)
1259| (250.6, 351.0) | (250.6, 373.5)
1260| (239.1, 351.0) | (239.1, 373.5)
1261| (227.5, 351.0) | (227.5, 373.5)
1262| (216.0, 351.0) | (216.0, 373.5)
1263| (204.5, 351.0) | (204.5, 373.5)
1264| (192.9, 351.0) | (192.9, 373.5)
1265| (181.4, 351.0) | (181.4, 373.5)
1266| (169.9, 351.0) | (169.9, 373.5)
1267| (158.4, 351.0) | (158.4, 373.5)
1268| (146.8, 351.0) | (146.8, 373.5)
1269| (135.3, 351.0) | (135.3, 373.5)
1270| (123.8, 351.0) | (123.8, 373.5)
1271| (112.2, 351.0) | (112.2, 373.5)
1272| (100.7, 351.0) | (100.7, 373.5)
1273| (89.2, 351.0) | (89.2, 373.5)
1274| (77.6, 351.0) | (77.6, 373.5)
1275| (66.1, 351.0) | (66.1, 373.5)
1276| (54.6, 351.0) | (54.6, 373.5)
1277| (43.1, 351.0) | (43.1, 373.5)
1278| (31.5, 351.0) | (31.5, 373.5)
1279| (20.0, 351.0) | (20.0, 373.5)
1280| (20.0, 362.1) | (20.0, 384.6)
1281| (31.5, 362.1) | (31.5, 384.6)
1282| (43.1, 362.1) | (43.1, 384.6)
1283| (54.6, 362.1) | (54.6, 384.6)
1284| (66.1, 362.1) | (66.1, 384.6)
1285| (77.7, 362.1) | (77.7, 384.6)
1286| (89.2, 362.1) | (89.2, 384.6)
1287| (100.7, 362.1) | (100.7, 384.6)
1288| (112.2, 362.1) | (112.2, 384.6)
1289| (123.8, 362.1) | (123.8, 384.6)
1290| (135.3, 362.1) | (135.3, 384.6)
1291| (146.8, 362.1) | (146.8, 384.6)
1292| (158.4, 362.1) | (158.4, 384.6)
1293| (169.9, 362.1) | (169.9, 384.6)
1294| (181.4, 362.1) | (181.4, 384.6)
1295| (192.9, 362.1) | (192.9, 384.6)
1296| (204.5, 362.1) | (204.5, 384.6)
1297| (216.0, 362.1) | (216.0, 384.6)
1298| (227.5, 362.1) | (227.5, 384.6)
1299| (239.1, 362.1) | (239.1, 384.6)
1300| (250.6, 362.1) | (250.6, 384.6)
1301| (262.1, 362.1) | (262.1, 384.6)
1302| (273.7, 362.1) | (273.7, 384.6)
1303| (285.2, 362.1) | (285.2, 384.6)
1304| (296.7, 362.1) | (296.7, 384.6)
1305| (308.2, 362.1) | (308.2, 384.6)
1306| (319.8, 362.1) | (319.8, 384.6)
1307| (331.3, 362.1) | (331.3, 384.6)
1308| (342.8, 362.1) | (342.8, 384.6)
1309| (354.4, 362.1) | (354.4, 384.6)
1310| (365.9, 362.1) | (365.9, 384.6)
1311| (377.4, 362.1) | (377.4, 384.6)
1312| (389.0, 362.1) | (389.0, 384.6)
1313| (400.5, 362.1) | (400.5, 384.6)
1314| (412.0, 362.1) | (412.0, 384.6)
1315| (423.5, 362.1) | (423.5, 384.6)
1316| (435.1, 362.1) | (435.1, 384.6)
1317| (446.6, 362.1) | (446.6, 384.6)
1318| (458.1, 362.1) | (458.1, 384.6)
1319| (469.7, 362.1) | (469.7, 384.6)
1320| (469.7, 373.1) | (469.7, 395.6)
1321| (458.1, 373.1) | (458.1, 395.6)
1322| (446.6, 373.1) | (446.6, 395.6)
1323| (435.1, 373.1) | (435.1, 395.6)
1324| (423.5, 373.1) | (423.5, 395.6)
1325| (412.0, 373.1) | (412.0, 395.6)
1326| (400.5, 373.1) | (400.5, 395.6)
1327| (389.0, 373.1) | (389.0, 395.6)
1328| (377.4, 373.1) | (377.4, 395.6)
1329| (365.9, 373.1) | (365.9, 395.6)
1330| (354.4, 373.1) | (354.4, 395.6)
1331| (342.8, 373.1) | (342.8, 395.6)
1332| (331.3, 373.1) | (331.3, 395.6)
1333| (319.8, 373.1) | (319.8, 395.6)
1334| (308.2, 373.1) | (308.2, 395.6)
1335| (296.7, 373.1) | (296.7, 395.6)
1336| (285.2, 373.1) | (285.2, 395.6)
1337| (273.7, 373.1) | (273.7, 395.6)
1338| (262.1, 373.1) | (262.1, 395.6)
1339| (250.6, 373.1) | (250.6, 395.6)
1340| (239.1, 373.1) | (239.1, 395.6)
1341| (227.5, 373.1) | (227.5, 395.6)
1342| (216.0, 373.1) | (216.0, 395.6)
1343| (204.5, 373.1) | (204.5, 395.6)
1344| (192.9, 373.1) | (192.9, 395.6)
1345| (181.4, 373.1) | (181.4, 395.6)
1346| (169.9, 373.1) | (169.9, 395.6)
1347| (158.4, 373.1) | (158.4, 395.6)
1348| (146.8, 373.1) | (146.8, 395.6)
1349| (135.3, 373.1) | (135.3, 395.6)
1350| (123.8, 373.1) | (123.8, 395.6)
1351| (112.2, 373.1) | (112.2, 395.6)
1352| (100.7, 373.1) | (100.7, 395.6)
1353| (89.2, 373.1) | (89.2, 395.6)
1354| (77.6, 373.1) | (77.6, 395.6)
1355| (66.1, 373.1) | (66.1, 395.6)
1356| (54.6, 373.1) | (54.6, 395.6)
1357| (43.1, 373.1) | (43.1, 395.6)
1358| (31.5, 373.1) | (31.5, 395.6)
1359| (20.0, 373.1) | (20.0, 395.6)
1360| (20.0, 384.2) | (20.0, 406.7)
1361| (31.5, 384.2) | (31.5, 406.7)
1362| (43.1, 384.2) | (43.1, 406.7)
1363| (54.6, 384.2) | (54.6, 406.7)
1364| (66.1, 384.2) | (66.1, 406.7)
1365| (77.7, 384.2) | (77.7, 406.7)
1366| (89.2, 384.2) | (89.2, 406.7)
1367| (100.7, 384.2) | (100.7, 406.7)
1368| (112.2, 384.2) | (112.2, 406.7)
1369| (123.8, 384.2) | (123.8, 406.7)
1370| (135.3, 384.2) | (135.3, 406.7)
1371| (146.8, 384.2) | (146.8, 406.7)
1372| (158.4, 384.2) | (158.4, 406.7)
1373| (169.9, 384.2) | (169.9, 406.7)
1374| (181.4, 384.2) | (181.4, 406.7)
1375| (192.9, 384.2) | (192.9, 406.7)
1376| (204.5, 384.2) | (204.5, 406.7)
1377| (216.0, 384.2) | (216.0, 406.7)
1378| (227.5, 384.2) | (227.5, 406.7)
1379| (239.1, 384.2) | (239.1, 406.7)
1380| (250.6, 384.2) | (250.6, 406.7)
1381| (262.1, 384.2) | (262.1, 406.7)
1382| (273.7, 384.2) | (273.7, 406.7)
1383| (285.2, 384.2) | (285.2, 406.7)
1384| (296.7, 384.2) | (296.7, 406.7)
1385| (308.2, 384.2) | (308.2, 406.7)
1386| (319.8, 384.2) | (319.8, 406.7)
1387| (331.3, 384.2) | (331.3, 406.7)
1388| (342.8, 384.2) | (342.8, 406.7)
1389| (354.4, 384.2) | (354.4, 406.7)
1390| (365.9, 384.2) | (365.9, 406.7)
1391| (377.4, 384.2) | (377.4, 406.7)
1392| (389.0, 384.2) | (389.0, 406.7)
1393| (400.5, 384.2) | (400.5, 406.7)
1394| (412.0, 384.2) | (412.0, 406.7)
1395| (423.5, 384.2) | (423.5, 406.7)
1396| (435.1, 384.2) | (435.1, 406.7)
1397| (446.6, 384.2) | (446.6, 406.7)
1398| (458.1, 384.2) | (458.1, 406.7)
1399| (469.7, 384.2) | (469.7, 406.7)
1400| (469.7, 395.3) | (469.7, 417.8)
1401| (458.1, 395.3) | (458.1, 417.8)
1402| (446.6, 395.3) | (446.6, 417.8)
1403| (435.1, 395.3) | (435.1, 417.8)
1404| (423.5, 395.3) | (423.5, 417.8)
1405| (412.0, 395.3) | (412.0, 417.8)
1406| (400.5, 395.3) | (400.5, 417.8)
1407| (389.0, 395.3) | (389.0, 417.8)
1408| (377.4, 395.3) | (377.4, 417.8)
1409| (365.9, 395.3) | (365.9, 417.8)
1410| (354.4, 395.3) | (354.4, 417.8)
1411| (342.8, 395.3) | (342.8, 417.8)
1412| (331.3, 395.3) | (331.3, 417.8)
1413| (319.8, 395.3) | (319.8, 417.8)
1414| (308.2, 395.3) | (308.2, 417.8)
1415| (296.7, 395.3) | (296.7, 417.8)
1416| (285.2, 395.3) | (285.2, 417.8)
1417| (273.7, 395.3) | (273.7, 417.8)
1418| (262.1, 395.3) | (262.1, 417.8)
1419| (250.6, 395.3) | (250.6, 417.8)
1420| (239.1, 395.3) | (239.1, 417.8)
1421| (227.5, 395.3) | (227.5, 417.8)
1422| (216.0, 395.3) | (216.0, 417.8)
1423| (204.5, 395.3) | (204.5, 417.8)
1424| (192.9, 395.3) | (192.9, 417.8)
1425| (181.4, 395.3) | (181.4, 417.8)
1426| (169.9, 395.3) | (169.9, 417.8)
1427| (158.4, 395.3) | (158.4, 417.8)
1428| (146.8, 395.3) | (146.8, 417.8)
1429| (135.3, 395.3) | (135.3, 417.8)
1430| (123.8, 395.3) | (123.8, 417.8)
1431| (112.2, 395.3) | (112.2, 417.8)
1432| (100.7, 395.3) | (100.7, 417.8)
1433| (89.2, 395.3) | (89.2, 417.8)
1434| (77.6, 395.3) | (77.6, 417.8)
1435| (66.1, 395.3) | (66.1, 417.8)
1436| (54.6, 395.3) | (54.6, 417.8)
1437| (43.1, 395.3) | (43.1, 417.8)
1438| (31.5, 395.3) | (31.5, 417.8)
1439| (20.0, 395.3) | (20.0, 417.8)
1440| (20.0, 406.4) | (20.0, 428.9)
1441| (31.5, 406.4) | (31.5, 428.9)
1442| (43.1, 406.4) | (43.1, 428.9)
1443| (54.6, 406.4) | (54.6, 428.9)
1444| (66.1, 406.4) | (66.1, 428.9)
1445| (77.7, 406.4) | (77.7, 428.9)
1446| (89.2, 406.4) | (89.2, 428.9)
1447| (100.7, 406.4) | (100.7, 428.9)
1448| (112.2, 406.4) | (112.2, 428.9)
1449| (123.8, 406.4) | (123.8, 428.9)
1450| (135.3, 406.4) | (135.3, 428.9)
1451| (146.8, 406.4) | (146.8, 428.9)
1452| (158.4, 406.4) | (158.4, 428.9)
1453| (169.9, 406.4) | (169.9, 428.9)
1454| (181.4, 406.4) | (181.4, 428.9)
1455| (192.9, 406.4) | (192.9, 428.9)
1456| (204.5, 406.4) | (204.5, 428.9)
1457| (216.0, 406.4) | (216.0, 428.9)
1458| (227.5, 406.4) | (227.5, 428.9)
1459| (239.1, 406.4) | (239.1, 428.9)
1460| (250.6, 406.4) | (250.6, 428.9)
1461| (262.1, 406.4) | (262.1, 428.9)
1462| (273.7, 406.4) | (273.7, 428.9)
1463| (285.2, 406.4) | (285.2, 428.9)
1464| (296.7, 406.4) | (296.7, 428.9)
1465| (308.2, 406.4) | (308.2, 428.9)
1466| (319.8, 406.4) | (319.8, 428.9)
1467| (331.3, 406.4) | (331.3, 428.9)
1468| (342.8, 406.4) | (342.8, 428.9)
1469| (354.4, 406.4) | (354.4, 428.9)
1470| (365.9, 406.4) | (365.9, 428.9)
1471| (377.4, 406.4) | (377.4, 428.9)
1472| (389.0, 406.4) | (389.0, 428.9)
1473| (400.5, 406.4) | (400.5, 428.9)
1474| (412.0, 406.4) | (412.0, 428.9)
1475| (423.5, 406.4) | (423.5, 428.9)
1476| (435.1, 406.4) | (435.1, 428.9)
1477| (446.6, 406.4) | (446.6, 428.9)
1478| (458.1, 406.4) | (458.1, 428.9)
1479| (469.7, 406.4) | (469.7, 428.9)
1480| (469.7, 417.5) | (469.7, 440.0)
1481| (458.1, 417.5) | (458.1, 440.0)
1482| (446.6, 417.5) | (446.6, 440.0)
1483| (435.1, 417.5) | (435.1, 440.0)
1484| (423.5, 417.5) | (423.5, 440.0)
1485| (412.0, 417.5) | (412.0, 440.0)
1486| (400.5, 417.5) | (400.5, 440.0)
1487| (389.0, 417.5) | (389.0, 440.0)
1488| (377.4, 417.5) | (377.4, 440.0)
1489| (365.9, 417.5) | (365.9, 440.0)
1490| (354.4, 417.5) | (354.4, 440.0)
1491| (342.8, 417.5) | (342.8, 440.0)
1492| (331.3, 417.5) | (331.3, 440.0)
1493| (319.8, 417.5) | (319.8, 440.0)
1494| (308.2, 417.5) | (308.2, 440.0)
1495| (296.7, 417.5) | (296.7, 440.0)
1496| (285.2, 417.5) | (285.2, 440.0)
1497| (273.7, 417.5) | (273.7, 440.0)
1498| (262.1, 417.5) | (262.1, 440.0)
1499| (250.6, 417.5) | (250.6, 440.0)
1500| (239.1, 417.5) | (239.1, 440.0)
1501| (227.5, 417.5) | (227.5, 440.0)
1502| (216.0, 417.5) | (216.0, 440.0)
1503| (204.5, 417.5) | (204.5, 440.0)
1504| (192.9, 417.5) | (192.9, 440.0)
1505| (181.4, 417.5) | (181.4, 440.0)
1506| (169.9, 417.5) | (169.9, 440.0)
1507| (158.4, 417.5) | (158.4, 440.0)
1508| (146.8, 417.5) | (146.8, 440.0)
1509| (135.3, 417.5) | (135.3, 440.0)
1510| (123.8, 417.5) | (123.8, 440.0)
1511| (112.2, 417.5) | (112.2, 440.0)
1512| (100.7, 417.5) | (100.7, 440.0)
1513| (89.2, 417.5) | (89.2, 440.0)
1514| (77.6, 417.5) | (77.6, 440.0)
1515| (66.1, 417.5) | (66.1, 440.0)
1516| (54.6, 417.5) | (54.6, 440.0)
1517| (43.1, 417.5) | (43.1, 440.0)
1518| (31.5, 417.5) | (31.5, 440.0)
1519| (20.0, 417.5) | (20.0, 440.0)
1520| (20.0, 428.5) | (20.0, 451.0)
1521| (31.5, 428.5) | (31.5, 451.0)
1522| (43.1, 428.5) | (43.1, 451.0)
1523| (54.6, 428.5) | (54.6, 451.0)
1524| (66.1, 428.5) | (66.1, 451.0)
1525| (77.7, 428.5) | (77.7, 451.0)
1526| (89.2, 428.5) | (89.2, 451.0)
1527| (100.7, 428.5) | (100.7, 451.0)
1528| (112.2, 428.5) | (112.2, 451.0)
1529| (123.8, 428.5) | (123.8, 451.0)
1530| (135.3, 428.5) | (135.3, 451.0)
1531| (146.8, 428.5) | (146.8, 451.0)
1532| (158.4, 428.5) | (158.4, 451.0)
1533| (169.9, 428.5) | (169.9, 451.0)
1534| (181.4, 428.5) | (181.4, 451.0)
1535| (192.9, 428.5) | (192.9, 451.0)
1536| (204.5, 428.5) | (204.5, 451.0)
1537| (216.0, 428.5) | (216.0, 451.0)
1538| (227.5, 428.5) | (227.5, 451.0)
1539| (239.1, 428.5) | (239.1, 451.0)
1540| (250.6, 428.5) | (250.6, 451.0)
1541| (262.1, 428.5) | (262.1, 451.0)
1542| (273.7, 428.5) | (273.7, 451.0)
1543| (285.2, 428.5) | (285.2, 451.0)
1544| (296.7, 428.5) | (296.7, 451.0)
1545| (308.2, 428.5) | (308.2, 451.0)
1546| (319.8, 428.5) | (319.8, 451.0)
1547| (331.3, 428.5) | (331.3, 451.0)
1548| (342.8, 428.5) | (342.8, 451.0)
1549| (354.4, 428.5) | (354.4, 451.0)
1550| (365.9, 428.5) | (365.9, 451.0)
1551| (377.4, 428.5) | (377.4, 451.0)
1552| (389.0, 428.5) | (389.0, 451.0)
1553| (400.5, 428.5) | (400.5, 451.0)
1554| (412.0, 428.5) | (412.0, 451.0)
1555| (423.5, 428.5) | (423.5, 451.0)
1556| (435.1, 428.5) | (435.1, 451.0)
1557| (446.6, 428.5) | (446.6, 451.0)
1558| (458.1, 428.5) | (458.1, 451.0)
1559| (469.7, 428.5) | (469.7, 451.0)
1560| (469.7, 439.6) | (469.7, 462.1)
1561| (458.1, 439.6) | (458.1, 462.1)
1562| (446.6, 439.6) | (446.6, 462.1)
1563| (435.1, 439.6) | (435.1, 462.1)
1564| (423.5, 439.6) | (423.5, 462.1)
1565| (412.0, 439.6) | (412.0, 462.1)
1566| (400.5, 439.6) | (400.5, 462.1)
1567| (389.0, 439.6) | (389.0, 462.1)
1568| (377.4, 439.6) | (377.4, 462.1)
1569| (365.9, 439.6) | (365.9, 462.1)
1570| (354.4, 439.6) | (354.4, 462.1)
1571| (342.8, 439.6) | (342.8, 462.1)
1572| (331.3, 439.6) | (331.3, 462.1)
1573| (319.8, 439.6) | (319.8, 462.1)
1574| (308.2, 439.6) | (308.2, 462.1)
1575| (296.7, 439.6) | (296.7, 462.1)
1576| (285.2, 439.6) | (285.2, 462.1)
1577| (273.7, 439.6) | (273.7, 462.1)
1578| (262.1, 439.6) | (262.1, 462.1)
1579| (250.6, 439.6) | (250.6, 462.1)
1580| (239.1, 439.6) | (239.1, 462.1)
1581| (227.5, 439.6) | (227.5, 462.1)
1582| (216.0, 439.6) | (216.0, 462.1)
1583| (204.5, 439.6) | (204.5, 462.1)
1584| (192.9, 439.6) | (192.9, 462.1)
1585| (181.4, 439.6) | (181.4, 462.1)
1586| (169.9, 439.6) | (169.9, 462.1)
1587| (158.4, 439.6) | (158.4, 462.1)
1588| (146.8, 439.6) | (146.8, 462.1)
1589| (135.3, 439.6) | (135.3, 462.1)
1590| (123.8, 439.6) | (123.8, 462.1)
1591| (112.2, 439.6) | (112.2, 462.1)
1592| (100.7, 439.6) | (100.7, 462.1)
1593| (89.2, 439.6) | (89.2, 462.1)
1594| (77.6, 439.6) | (77.6, 462.1)
1595| (66.1, 439.6) | (66.1, 462.1)
1596| (54.6, 439.6) | (54.6, 462.1)
1597| (43.1, 439.6) | (43.1, 462.1)
1598| (31.5, 439.6) | (31.5, 462.1)
1599| (20.0, 439.6) | (20.0, 462.1)
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
Script running error
Traceback (most recent call last):
File "/home/pi/klipper/klippy/extras/gcode_button.py", line 41, in button_callback
self.gcode.run_script(template.render())
File "/home/pi/klipper/klippy/gcode.py", line 230, in run_script
self._process_commands(script.split('\n'), need_ack=False)
File "/home/pi/klipper/klippy/gcode.py", line 212, in _process_commands
handler(gcmd)
File "/home/pi/klipper/klippy/gcode.py", line 282, in cmd_default
raise gcmd.error(self.printer.get_state_message()[0])
gcode.CommandError:
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
Script running error
Traceback (most recent call last):
File "/home/pi/klipper/klippy/extras/gcode_button.py", line 41, in button_callback
self.gcode.run_script(template.render())
File "/home/pi/klipper/klippy/gcode.py", line 230, in run_script
self._process_commands(script.split('\n'), need_ack=False)
File "/home/pi/klipper/klippy/gcode.py", line 212, in _process_commands
handler(gcmd)
File "/home/pi/klipper/klippy/gcode.py", line 282, in cmd_default
raise gcmd.error(self.printer.get_state_message()[0])
gcode.CommandError:
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
beacon: loaded fnorm=5106861.31 temp=20.78 amfg=1.017 from nvm
beacon: built tempco model version 1 {'amfg': 1.0174497367135622, 'tcc': -7.231912357067147e-06, 'tcfl': -0.0006331441376081758, 'tctl': 0.0019368853710497302, 'fmin': 5106861.308217049, 'fmin_temp': 20.781034469604492}
Enabling Beacon accelerometer
Selected Beacon accelerometer scale 16g
Sending MCU 'beacon' printer configuration...
Configured MCU 'beacon' (0 moves)
Starting heater checks for extruder
Starting heater checks for extruder1
Stats 33.9: gcodein=0 mcu: mcu_awake=0.008 mcu_task_avg=0.000007 mcu_task_stddev=0.000006 bytes_write=3972 bytes_read=7825 bytes_retransmit=9 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179994145 rpi: mcu_awake=0.004 mcu_task_avg=0.000027 mcu_task_stddev=0.000018 bytes_write=886 bytes_read=4765 bytes_retransmit=0 bytes_invalid=0 send_seq=119 receive_seq=119 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000031 adj=50059130 toolboard_t0: mcu_awake=0.012 mcu_task_avg=0.000020 mcu_task_stddev=0.000018 bytes_write=1358 bytes_read=5434 bytes_retransmit=0 bytes_invalid=0 send_seq=135 receive_seq=135 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63998874 adj=64006784 toolboard_t1: mcu_awake=0.009 mcu_task_avg=0.000022 mcu_task_stddev=0.000021 bytes_write=1508 bytes_read=5033 bytes_retransmit=9 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999834 adj=64007324 Octopus_V1.1_F446: temp=37.8 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=57.0 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=370 bytes_read=2230 bytes_retransmit=0 bytes_invalid=0 send_seq=60 receive_seq=60 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31998702 adj=31997461 coil_temp=23.5 refs=0 mcu_temp=23.73 supply_voltage=3.069 sysload=1.10 cputime=9.337 memavail=353148 print_time=55.723 buffer_time=0.262 print_stall=0 extruder: target=0 temp=24.1 pwm=0.000 extruder1: target=0 temp=24.5 pwm=0.000
toolhead: max_velocity: 36000.000000
max_accel: 8000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
Extruder extruder already active
Extruder 'extruder' now syncing with 'extruder'
Extruder 'extruder1' now syncing with 'extruder1'
shaper_type_x:mzv shaper_freq_x:52.800 damping_ratio_x:0.100000
shaper_type_y:mzv shaper_freq_y:38.200 damping_ratio_y:0.100000
toolhead: max_velocity: 800.000000
max_accel: 10000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
webhooks: registering remote method 'shutdown_machine' for connection id: 4104880104
webhooks: registering remote method 'reboot_machine' for connection id: 4104880104
webhooks: registering remote method 'pause_job_queue' for connection id: 4104880104
webhooks: registering remote method 'start_job_queue' for connection id: 4104880104
Stats 34.9: gcodein=0 mcu: mcu_awake=0.008 mcu_task_avg=0.000007 mcu_task_stddev=0.000006 bytes_write=3978 bytes_read=7957 bytes_retransmit=9 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179995008 rpi: mcu_awake=0.004 mcu_task_avg=0.000027 mcu_task_stddev=0.000018 bytes_write=892 bytes_read=4781 bytes_retransmit=0 bytes_invalid=0 send_seq=120 receive_seq=120 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999842 adj=49940384 toolboard_t0: mcu_awake=0.012 mcu_task_avg=0.000020 mcu_task_stddev=0.000018 bytes_write=1364 bytes_read=5534 bytes_retransmit=0 bytes_invalid=0 send_seq=136 receive_seq=136 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999251 adj=63994445 toolboard_t1: mcu_awake=0.009 mcu_task_avg=0.000022 mcu_task_stddev=0.000021 bytes_write=1514 bytes_read=5133 bytes_retransmit=9 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63995851 Octopus_V1.1_F446: temp=36.9 EBB42_v1.2_T0: temp=27.7 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=56.0 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=376 bytes_read=2586 bytes_retransmit=0 bytes_invalid=0 send_seq=61 receive_seq=61 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999256 adj=32000408 coil_temp=23.5 refs=0 mcu_temp=23.74 supply_voltage=3.069 sysload=1.10 cputime=9.512 memavail=344068 print_time=55.723 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.1 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 41.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000016 bytes_write=3990 bytes_read=8584 bytes_retransmit=9 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998781 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=904 bytes_read=4826 bytes_retransmit=0 bytes_invalid=0 send_seq=122 receive_seq=122 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999824 adj=49950793 toolboard_t0: mcu_awake=0.006 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=1512 bytes_read=6424 bytes_retransmit=0 bytes_invalid=0 send_seq=155 receive_seq=155 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999396 adj=63995714 toolboard_t1: mcu_awake=0.007 mcu_task_avg=0.000019 mcu_task_stddev=0.000030 bytes_write=1526 bytes_read=5768 bytes_retransmit=9 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999682 adj=63995922 Octopus_V1.1_F446: temp=37.2 EBB42_v1.2_T0: temp=27.5 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=54.0 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=388 bytes_read=4726 bytes_retransmit=0 bytes_invalid=0 send_seq=63 receive_seq=63 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999875 adj=32000870 coil_temp=23.6 refs=0 mcu_temp=23.85 supply_voltage=3.069 sysload=1.09 cputime=9.654 memavail=351964 print_time=55.723 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.1 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Extruder extruder already active
RatOS:: Heating T0 to 220C... Please wait.
RatOS | TEMPERATURE_WAIT:: Waiting for sensor: extruder, MINIMUM: 220
RatOS:: please wait...
Stats 42.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000016 bytes_write=3996 bytes_read=8687 bytes_retransmit=9 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998616 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=910 bytes_read=4842 bytes_retransmit=0 bytes_invalid=0 send_seq=123 receive_seq=123 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999827 adj=50024862 toolboard_t0: mcu_awake=0.006 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=1534 bytes_read=6529 bytes_retransmit=0 bytes_invalid=0 send_seq=157 receive_seq=157 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999500 adj=63999352 toolboard_t1: mcu_awake=0.007 mcu_task_avg=0.000019 mcu_task_stddev=0.000030 bytes_write=1532 bytes_read=5868 bytes_retransmit=9 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999627 adj=63999452 Octopus_V1.1_F446: temp=37.0 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=54.0 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=394 bytes_read=5064 bytes_retransmit=0 bytes_invalid=0 send_seq=64 receive_seq=64 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999850 adj=31999206 coil_temp=23.6 refs=0 mcu_temp=23.87 supply_voltage=3.069 sysload=1.09 cputime=9.732 memavail=349712 print_time=62.928 buffer_time=0.000 print_stall=0 extruder: target=220 temp=24.5 pwm=1.000 extruder1: target=0 temp=24.4 pwm=0.000
Heater extruder approaching new target of 220.000
Stats 43.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000016 bytes_write=4018 bytes_read=8824 bytes_retransmit=9 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998597 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=916 bytes_read=4858 bytes_retransmit=0 bytes_invalid=0 send_seq=124 receive_seq=124 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999829 adj=50018878 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1555 bytes_read=6648 bytes_retransmit=0 bytes_invalid=0 send_seq=159 receive_seq=159 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999472 adj=64000099 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1538 bytes_read=5982 bytes_retransmit=9 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999617 adj=63999656 Octopus_V1.1_F446: temp=37.2 EBB42_v1.2_T0: temp=27.7 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=54.0 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=400 bytes_read=5420 bytes_retransmit=0 bytes_invalid=0 send_seq=65 receive_seq=65 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999854 adj=31999458 coil_temp=23.6 refs=0 mcu_temp=23.89 supply_voltage=3.069 sysload=1.09 cputime=9.755 memavail=349712 print_time=63.930 buffer_time=0.000 print_stall=0 extruder: target=220 temp=28.9 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 44.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4024 bytes_read=8941 bytes_retransmit=9 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998702 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=922 bytes_read=4887 bytes_retransmit=0 bytes_invalid=0 send_seq=125 receive_seq=125 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000040 adj=50014236 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1561 bytes_read=6776 bytes_retransmit=0 bytes_invalid=0 send_seq=160 receive_seq=160 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999541 adj=63999989 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1544 bytes_read=6101 bytes_retransmit=9 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999729 adj=63999764 Octopus_V1.1_F446: temp=36.8 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=52.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=406 bytes_read=5776 bytes_retransmit=0 bytes_invalid=0 send_seq=66 receive_seq=66 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999866 adj=31999645 coil_temp=23.6 refs=0 mcu_temp=23.91 supply_voltage=3.069 sysload=1.09 cputime=9.793 memavail=349712 print_time=64.931 buffer_time=0.000 print_stall=0 extruder: target=220 temp=39.2 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 45.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4030 bytes_read=9044 bytes_retransmit=9 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998712 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=928 bytes_read=4903 bytes_retransmit=0 bytes_invalid=0 send_seq=126 receive_seq=126 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999972 adj=50011520 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1567 bytes_read=6876 bytes_retransmit=0 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999512 adj=64000108 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1550 bytes_read=6194 bytes_retransmit=9 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999689 adj=64000135 Octopus_V1.1_F446: temp=36.5 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=53.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=412 bytes_read=6132 bytes_retransmit=0 bytes_invalid=0 send_seq=67 receive_seq=67 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999863 adj=31999724 coil_temp=23.6 refs=0 mcu_temp=23.93 supply_voltage=3.069 sysload=1.09 cputime=9.829 memavail=342792 print_time=65.931 buffer_time=0.000 print_stall=0 extruder: target=220 temp=46.9 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 46.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4036 bytes_read=9176 bytes_retransmit=9 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998886 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=934 bytes_read=4919 bytes_retransmit=0 bytes_invalid=0 send_seq=127 receive_seq=127 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999930 adj=50008413 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1589 bytes_read=6981 bytes_retransmit=0 bytes_invalid=0 send_seq=163 receive_seq=163 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999934 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1556 bytes_read=6287 bytes_retransmit=9 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999684 adj=63999963 Octopus_V1.1_F446: temp=36.1 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=53.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=418 bytes_read=6488 bytes_retransmit=0 bytes_invalid=0 send_seq=68 receive_seq=68 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999882 adj=31999796 coil_temp=23.6 refs=0 mcu_temp=23.94 supply_voltage=3.069 sysload=1.09 cputime=9.855 memavail=342888 print_time=66.932 buffer_time=0.000 print_stall=0 extruder: target=220 temp=53.9 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 47.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4042 bytes_read=9279 bytes_retransmit=9 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998864 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=940 bytes_read=4935 bytes_retransmit=0 bytes_invalid=0 send_seq=128 receive_seq=128 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999901 adj=50005951 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1595 bytes_read=7109 bytes_retransmit=0 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999549 adj=63999757 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1562 bytes_read=6406 bytes_retransmit=9 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999673 adj=63999684 Octopus_V1.1_F446: temp=35.9 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=52.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=424 bytes_read=6844 bytes_retransmit=0 bytes_invalid=0 send_seq=69 receive_seq=69 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999878 adj=31999803 coil_temp=23.6 refs=0 mcu_temp=23.95 supply_voltage=3.069 sysload=1.09 cputime=9.877 memavail=342132 print_time=67.933 buffer_time=0.000 print_stall=0 extruder: target=220 temp=63.3 pwm=1.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 48.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4048 bytes_read=9382 bytes_retransmit=9 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998907 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=946 bytes_read=4951 bytes_retransmit=0 bytes_invalid=0 send_seq=129 receive_seq=129 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999879 adj=50004408 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1601 bytes_read=7223 bytes_retransmit=0 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999540 adj=63999902 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1568 bytes_read=6520 bytes_retransmit=9 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999689 adj=63999774 Octopus_V1.1_F446: temp=35.7 EBB42_v1.2_T0: temp=27.9 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=54.5 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=430 bytes_read=7200 bytes_retransmit=0 bytes_invalid=0 send_seq=70 receive_seq=70 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999883 adj=31999871 coil_temp=23.6 refs=0 mcu_temp=23.96 supply_voltage=3.069 sysload=1.09 cputime=9.898 memavail=340404 print_time=68.934 buffer_time=0.000 print_stall=0 extruder: target=220 temp=69.9 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 49.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4054 bytes_read=9528 bytes_retransmit=9 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998919 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=952 bytes_read=4980 bytes_retransmit=0 bytes_invalid=0 send_seq=130 receive_seq=130 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999897 adj=50003186 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1607 bytes_read=7323 bytes_retransmit=0 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999536 adj=63999786 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1574 bytes_read=6620 bytes_retransmit=9 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999708 adj=63999844 Octopus_V1.1_F446: temp=35.5 EBB42_v1.2_T0: temp=27.7 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=51.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=436 bytes_read=7556 bytes_retransmit=0 bytes_invalid=0 send_seq=71 receive_seq=71 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999889 adj=31999910 coil_temp=23.6 refs=0 mcu_temp=23.97 supply_voltage=3.069 sysload=1.09 cputime=9.919 memavail=344184 print_time=69.934 buffer_time=0.000 print_stall=0 extruder: target=220 temp=76.1 pwm=1.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 50.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4060 bytes_read=9626 bytes_retransmit=9 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998981 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=958 bytes_read=4996 bytes_retransmit=0 bytes_invalid=0 send_seq=131 receive_seq=131 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999908 adj=50002514 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1629 bytes_read=7457 bytes_retransmit=0 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999549 adj=63999776 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1580 bytes_read=6748 bytes_retransmit=9 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999881 adj=63999978 Octopus_V1.1_F446: temp=35.3 EBB42_v1.2_T0: temp=27.9 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=52.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=442 bytes_read=7912 bytes_retransmit=0 bytes_invalid=0 send_seq=72 receive_seq=72 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999892 adj=31999970 coil_temp=23.7 refs=0 mcu_temp=23.98 supply_voltage=3.069 sysload=1.09 cputime=9.949 memavail=344184 print_time=70.935 buffer_time=0.000 print_stall=0 extruder: target=220 temp=84.3 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 51.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4066 bytes_read=9722 bytes_retransmit=9 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999063 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=964 bytes_read=5012 bytes_retransmit=0 bytes_invalid=0 send_seq=132 receive_seq=132 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999930 adj=50001898 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1643 bytes_read=7575 bytes_retransmit=0 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999574 adj=63999757 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1586 bytes_read=6848 bytes_retransmit=9 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999848 adj=64000800 Octopus_V1.1_F446: temp=35.1 EBB42_v1.2_T0: temp=27.6 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=51.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=448 bytes_read=8268 bytes_retransmit=0 bytes_invalid=0 send_seq=73 receive_seq=73 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999900 adj=31999952 coil_temp=23.7 refs=0 mcu_temp=23.98 supply_voltage=3.069 sysload=1.08 cputime=9.989 memavail=347784 print_time=71.936 buffer_time=0.000 print_stall=0 extruder: target=220 temp=90.1 pwm=1.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 52.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4072 bytes_read=9854 bytes_retransmit=9 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999077 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=970 bytes_read=5028 bytes_retransmit=0 bytes_invalid=0 send_seq=133 receive_seq=133 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999931 adj=50001462 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1649 bytes_read=7678 bytes_retransmit=0 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999582 adj=63999770 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1592 bytes_read=6948 bytes_retransmit=9 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999849 adj=64000308 Octopus_V1.1_F446: temp=35.0 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=52.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=454 bytes_read=8624 bytes_retransmit=0 bytes_invalid=0 send_seq=74 receive_seq=74 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999899 adj=31999937 coil_temp=23.7 refs=0 mcu_temp=23.99 supply_voltage=3.069 sysload=1.08 cputime=10.016 memavail=348036 print_time=72.937 buffer_time=0.000 print_stall=0 extruder: target=220 temp=95.9 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 53.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4078 bytes_read=9957 bytes_retransmit=9 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999074 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=976 bytes_read=5044 bytes_retransmit=0 bytes_invalid=0 send_seq=134 receive_seq=134 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999937 adj=50001126 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1655 bytes_read=7824 bytes_retransmit=0 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999603 adj=63999821 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1598 bytes_read=7090 bytes_retransmit=9 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999817 adj=64000250 Octopus_V1.1_F446: temp=34.8 EBB42_v1.2_T0: temp=27.7 EBB42_v1.2_T1: temp=26.8 raspberry_pi: temp=53.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=460 bytes_read=8980 bytes_retransmit=0 bytes_invalid=0 send_seq=75 receive_seq=75 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999899 adj=31999946 coil_temp=23.8 refs=0 mcu_temp=24.00 supply_voltage=3.069 sysload=1.08 cputime=10.038 memavail=348048 print_time=73.938 buffer_time=0.000 print_stall=0 extruder: target=220 temp=103.0 pwm=1.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 54.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4084 bytes_read=10074 bytes_retransmit=9 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999063 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=982 bytes_read=5073 bytes_retransmit=0 bytes_invalid=0 send_seq=135 receive_seq=135 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999935 adj=50000937 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1701 bytes_read=7977 bytes_retransmit=0 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999587 adj=63999975 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1604 bytes_read=7190 bytes_retransmit=9 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999791 adj=64000066 Octopus_V1.1_F446: temp=34.5 EBB42_v1.2_T0: temp=28.1 EBB42_v1.2_T1: temp=27.1 raspberry_pi: temp=52.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=466 bytes_read=9336 bytes_retransmit=0 bytes_invalid=0 send_seq=76 receive_seq=76 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999901 adj=31999980 coil_temp=23.8 refs=0 mcu_temp=24.01 supply_voltage=3.069 sysload=1.08 cputime=10.061 memavail=348048 print_time=74.938 buffer_time=0.000 print_stall=0 extruder: target=220 temp=108.6 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 55.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4090 bytes_read=10206 bytes_retransmit=9 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999085 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=988 bytes_read=5089 bytes_retransmit=0 bytes_invalid=0 send_seq=136 receive_seq=136 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999922 adj=50000755 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1715 bytes_read=8095 bytes_retransmit=0 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999575 adj=63999893 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1610 bytes_read=7290 bytes_retransmit=9 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999770 adj=63999951 Octopus_V1.1_F446: temp=34.5 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=472 bytes_read=9692 bytes_retransmit=0 bytes_invalid=0 send_seq=77 receive_seq=77 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999910 adj=32000025 coil_temp=23.9 refs=0 mcu_temp=24.03 supply_voltage=3.069 sysload=1.08 cputime=10.083 memavail=347820 print_time=75.938 buffer_time=0.000 print_stall=0 extruder: target=220 temp=113.8 pwm=1.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 56.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4096 bytes_read=10309 bytes_retransmit=9 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999082 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=994 bytes_read=5105 bytes_retransmit=0 bytes_invalid=0 send_seq=137 receive_seq=137 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999914 adj=50000405 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1737 bytes_read=8257 bytes_retransmit=0 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999566 adj=63999658 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1616 bytes_read=7418 bytes_retransmit=9 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999752 adj=63999697 Octopus_V1.1_F446: temp=34.2 EBB42_v1.2_T0: temp=27.9 EBB42_v1.2_T1: temp=27.0 raspberry_pi: temp=52.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=478 bytes_read=10032 bytes_retransmit=0 bytes_invalid=0 send_seq=78 receive_seq=78 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999914 adj=32000012 coil_temp=23.9 refs=0 mcu_temp=24.05 supply_voltage=3.069 sysload=1.07 cputime=10.105 memavail=347824 print_time=76.938 buffer_time=0.000 print_stall=0 extruder: target=220 temp=120.7 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 57.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4102 bytes_read=10412 bytes_retransmit=9 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999129 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=1000 bytes_read=5121 bytes_retransmit=0 bytes_invalid=0 send_seq=138 receive_seq=138 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999924 adj=50000298 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1743 bytes_read=8360 bytes_retransmit=0 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999567 adj=63999667 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1622 bytes_read=7518 bytes_retransmit=9 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999747 adj=63999692 Octopus_V1.1_F446: temp=34.0 EBB42_v1.2_T0: temp=27.9 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=52.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=484 bytes_read=10388 bytes_retransmit=0 bytes_invalid=0 send_seq=79 receive_seq=79 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999922 adj=32000057 coil_temp=24.0 refs=0 mcu_temp=24.08 supply_voltage=3.069 sysload=1.07 cputime=10.146 memavail=347832 print_time=77.939 buffer_time=0.000 print_stall=0 extruder: target=220 temp=125.6 pwm=1.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 58.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4108 bytes_read=10544 bytes_retransmit=9 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999165 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000013 bytes_write=1006 bytes_read=5137 bytes_retransmit=0 bytes_invalid=0 send_seq=139 receive_seq=139 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999942 adj=50000246 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1749 bytes_read=8477 bytes_retransmit=0 bytes_invalid=0 send_seq=184 receive_seq=184 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999563 adj=63999608 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1628 bytes_read=7632 bytes_retransmit=9 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999740 adj=63999634 Octopus_V1.1_F446: temp=34.0 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=27.0 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=490 bytes_read=10744 bytes_retransmit=0 bytes_invalid=0 send_seq=80 receive_seq=80 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999925 adj=32000054 coil_temp=24.0 refs=0 mcu_temp=24.10 supply_voltage=3.069 sysload=1.07 cputime=10.193 memavail=347832 print_time=78.940 buffer_time=0.000 print_stall=0 extruder: target=220 temp=130.6 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 59.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4114 bytes_read=10661 bytes_retransmit=9 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999271 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000014 bytes_write=1012 bytes_read=5166 bytes_retransmit=0 bytes_invalid=0 send_seq=140 receive_seq=140 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999967 adj=50000276 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1771 bytes_read=8614 bytes_retransmit=0 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999564 adj=63999554 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1634 bytes_read=7760 bytes_retransmit=9 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999740 adj=63999599 Octopus_V1.1_F446: temp=33.7 EBB42_v1.2_T0: temp=27.8 EBB42_v1.2_T1: temp=27.0 raspberry_pi: temp=52.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=496 bytes_read=11100 bytes_retransmit=0 bytes_invalid=0 send_seq=81 receive_seq=81 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999930 adj=32000034 coil_temp=24.1 refs=0 mcu_temp=24.12 supply_voltage=3.069 sysload=1.07 cputime=10.241 memavail=348588 print_time=79.940 buffer_time=0.000 print_stall=0 extruder: target=220 temp=137.0 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Filament Sensor toolhead_filament_sensor_t0: runout event detected, Time 59.78
Stats 60.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4120 bytes_read=10778 bytes_retransmit=9 bytes_invalid=0 send_seq=346 receive_seq=346 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999297 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000014 bytes_write=1018 bytes_read=5182 bytes_retransmit=0 bytes_invalid=0 send_seq=141 receive_seq=141 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999967 adj=50000218 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1809 bytes_read=8777 bytes_retransmit=0 bytes_invalid=0 send_seq=191 receive_seq=191 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999561 adj=63999365 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1640 bytes_read=7860 bytes_retransmit=9 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999741 adj=63999432 Octopus_V1.1_F446: temp=33.5 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=502 bytes_read=11474 bytes_retransmit=0 bytes_invalid=0 send_seq=82 receive_seq=82 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999931 adj=31999939 coil_temp=24.1 refs=0 mcu_temp=24.16 supply_voltage=3.069 sysload=1.07 cputime=10.292 memavail=348588 print_time=80.941 buffer_time=0.000 print_stall=0 extruder: target=220 temp=141.4 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 61.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4126 bytes_read=10896 bytes_retransmit=9 bytes_invalid=0 send_seq=347 receive_seq=347 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999297 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000014 bytes_write=1024 bytes_read=5198 bytes_retransmit=0 bytes_invalid=0 send_seq=142 receive_seq=142 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999956 adj=50000151 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1839 bytes_read=8925 bytes_retransmit=0 bytes_invalid=0 send_seq=195 receive_seq=195 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999554 adj=63999391 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1646 bytes_read=7960 bytes_retransmit=9 bytes_invalid=0 send_seq=184 receive_seq=184 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999734 adj=63999517 Octopus_V1.1_F446: temp=33.5 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=508 bytes_read=11830 bytes_retransmit=0 bytes_invalid=0 send_seq=83 receive_seq=83 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999932 adj=31999943 coil_temp=24.2 refs=0 mcu_temp=24.21 supply_voltage=3.069 sysload=1.07 cputime=10.318 memavail=347836 print_time=81.941 buffer_time=0.000 print_stall=0 extruder: target=220 temp=146.1 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 62.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4132 bytes_read=10999 bytes_retransmit=9 bytes_invalid=0 send_seq=348 receive_seq=348 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999302 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000014 bytes_write=1030 bytes_read=5214 bytes_retransmit=0 bytes_invalid=0 send_seq=143 receive_seq=143 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999945 adj=50000069 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1853 bytes_read=9072 bytes_retransmit=0 bytes_invalid=0 send_seq=197 receive_seq=197 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999549 adj=63999695 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1652 bytes_read=8088 bytes_retransmit=9 bytes_invalid=0 send_seq=185 receive_seq=185 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999730 adj=63999582 Octopus_V1.1_F446: temp=33.4 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=27.1 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=514 bytes_read=12186 bytes_retransmit=0 bytes_invalid=0 send_seq=84 receive_seq=84 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999931 adj=31999977 coil_temp=24.3 refs=0 mcu_temp=24.24 supply_voltage=3.069 sysload=1.07 cputime=10.341 memavail=347836 print_time=82.943 buffer_time=0.000 print_stall=0 extruder: target=220 temp=152.1 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 63.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4138 bytes_read=11116 bytes_retransmit=9 bytes_invalid=0 send_seq=349 receive_seq=349 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999309 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000014 bytes_write=1036 bytes_read=5230 bytes_retransmit=0 bytes_invalid=0 send_seq=144 receive_seq=144 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999934 adj=50000034 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1883 bytes_read=9209 bytes_retransmit=0 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999545 adj=63999669 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1658 bytes_read=8202 bytes_retransmit=9 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999729 adj=63999640 Octopus_V1.1_F446: temp=33.3 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=26.9 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=520 bytes_read=12542 bytes_retransmit=0 bytes_invalid=0 send_seq=85 receive_seq=85 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999933 adj=32000059 coil_temp=24.4 refs=0 mcu_temp=24.26 supply_voltage=3.069 sysload=1.07 cputime=10.364 memavail=347836 print_time=83.942 buffer_time=0.000 print_stall=0 extruder: target=220 temp=156.5 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 64.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4144 bytes_read=11248 bytes_retransmit=9 bytes_invalid=0 send_seq=350 receive_seq=350 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999327 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000018 bytes_write=1042 bytes_read=5259 bytes_retransmit=0 bytes_invalid=0 send_seq=145 receive_seq=145 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999928 adj=49999959 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1905 bytes_read=9342 bytes_retransmit=0 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999549 adj=63999646 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1664 bytes_read=8302 bytes_retransmit=9 bytes_invalid=0 send_seq=187 receive_seq=187 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999722 adj=63999692 Octopus_V1.1_F446: temp=32.9 EBB42_v1.2_T0: temp=28.1 EBB42_v1.2_T1: temp=27.1 raspberry_pi: temp=51.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=526 bytes_read=12898 bytes_retransmit=0 bytes_invalid=0 send_seq=86 receive_seq=86 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999934 adj=32000061 coil_temp=24.4 refs=0 mcu_temp=24.28 supply_voltage=3.069 sysload=1.07 cputime=10.388 memavail=348592 print_time=84.943 buffer_time=0.000 print_stall=0 extruder: target=220 temp=160.8 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 65.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4150 bytes_read=11351 bytes_retransmit=9 bytes_invalid=0 send_seq=351 receive_seq=351 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999332 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000018 bytes_write=1048 bytes_read=5275 bytes_retransmit=0 bytes_invalid=0 send_seq=146 receive_seq=146 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999923 adj=49999908 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1983 bytes_read=9609 bytes_retransmit=0 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999545 adj=63999665 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1670 bytes_read=8430 bytes_retransmit=9 bytes_invalid=0 send_seq=188 receive_seq=188 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999716 adj=63999654 Octopus_V1.1_F446: temp=32.9 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=532 bytes_read=13254 bytes_retransmit=0 bytes_invalid=0 send_seq=87 receive_seq=87 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=32000040 coil_temp=24.4 refs=0 mcu_temp=24.30 supply_voltage=3.069 sysload=1.07 cputime=10.418 memavail=346412 print_time=85.943 buffer_time=0.000 print_stall=0 extruder: target=220 temp=166.7 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 66.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4156 bytes_read=11468 bytes_retransmit=9 bytes_invalid=0 send_seq=352 receive_seq=352 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999360 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000018 bytes_write=1054 bytes_read=5291 bytes_retransmit=0 bytes_invalid=0 send_seq=147 receive_seq=147 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999935 adj=49999915 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1989 bytes_read=9712 bytes_retransmit=0 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999549 adj=63999646 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1676 bytes_read=8530 bytes_retransmit=9 bytes_invalid=0 send_seq=189 receive_seq=189 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999715 adj=63999671 Octopus_V1.1_F446: temp=32.7 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=27.1 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=538 bytes_read=13610 bytes_retransmit=0 bytes_invalid=0 send_seq=88 receive_seq=88 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999946 adj=32000103 coil_temp=24.5 refs=0 mcu_temp=24.33 supply_voltage=3.069 sysload=0.98 cputime=10.462 memavail=346412 print_time=86.944 buffer_time=0.000 print_stall=0 extruder: target=220 temp=170.6 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 67.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4162 bytes_read=11586 bytes_retransmit=9 bytes_invalid=0 send_seq=353 receive_seq=353 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999384 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000018 bytes_write=1060 bytes_read=5307 bytes_retransmit=0 bytes_invalid=0 send_seq=148 receive_seq=148 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999971 adj=49999991 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2027 bytes_read=9850 bytes_retransmit=0 bytes_invalid=0 send_seq=218 receive_seq=218 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999563 adj=63999627 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1682 bytes_read=8630 bytes_retransmit=9 bytes_invalid=0 send_seq=190 receive_seq=190 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999717 adj=63999651 Octopus_V1.1_F446: temp=32.7 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=27.2 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=544 bytes_read=13966 bytes_retransmit=0 bytes_invalid=0 send_seq=89 receive_seq=89 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999959 adj=32000084 coil_temp=24.6 refs=0 mcu_temp=24.36 supply_voltage=3.069 sysload=0.98 cputime=10.510 memavail=346424 print_time=87.945 buffer_time=0.000 print_stall=0 extruder: target=220 temp=174.8 pwm=1.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 68.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4168 bytes_read=11689 bytes_retransmit=9 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999434 rpi: mcu_awake=0.001 mcu_task_avg=0.000013 mcu_task_stddev=0.000018 bytes_write=1066 bytes_read=5323 bytes_retransmit=0 bytes_invalid=0 send_seq=149 receive_seq=149 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999983 adj=50000274 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2065 bytes_read=10056 bytes_retransmit=0 bytes_invalid=0 send_seq=223 receive_seq=223 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999570 adj=63999709 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1688 bytes_read=8772 bytes_retransmit=9 bytes_invalid=0 send_seq=191 receive_seq=191 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999728 adj=63999669 Octopus_V1.1_F446: temp=32.6 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=27.1 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=550 bytes_read=14322 bytes_retransmit=0 bytes_invalid=0 send_seq=90 receive_seq=90 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999962 adj=32000145 coil_temp=24.6 refs=0 mcu_temp=24.40 supply_voltage=3.069 sysload=0.98 cputime=10.561 memavail=346424 print_time=88.945 buffer_time=0.000 print_stall=0 extruder: target=220 temp=180.0 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 69.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4174 bytes_read=11820 bytes_retransmit=9 bytes_invalid=0 send_seq=355 receive_seq=355 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999476 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1072 bytes_read=5352 bytes_retransmit=0 bytes_invalid=0 send_seq=150 receive_seq=150 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999989 adj=50000228 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2095 bytes_read=10204 bytes_retransmit=0 bytes_invalid=0 send_seq=227 receive_seq=227 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999567 adj=63999634 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1694 bytes_read=8872 bytes_retransmit=9 bytes_invalid=0 send_seq=192 receive_seq=192 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999730 adj=63999668 Octopus_V1.1_F446: temp=32.4 EBB42_v1.2_T0: temp=28.0 EBB42_v1.2_T1: temp=27.2 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=556 bytes_read=14678 bytes_retransmit=0 bytes_invalid=0 send_seq=91 receive_seq=91 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=32000074 coil_temp=24.6 refs=0 mcu_temp=24.43 supply_voltage=3.069 sysload=0.98 cputime=10.612 memavail=346452 print_time=89.945 buffer_time=0.000 print_stall=0 extruder: target=220 temp=184.0 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 70.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4180 bytes_read=11938 bytes_retransmit=9 bytes_invalid=0 send_seq=356 receive_seq=356 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999490 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1078 bytes_read=5368 bytes_retransmit=0 bytes_invalid=0 send_seq=151 receive_seq=151 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999990 adj=50000149 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2133 bytes_read=10367 bytes_retransmit=0 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999566 adj=63999514 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1700 bytes_read=8972 bytes_retransmit=9 bytes_invalid=0 send_seq=193 receive_seq=193 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999729 adj=63999620 Octopus_V1.1_F446: temp=32.3 EBB42_v1.2_T0: temp=28.3 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=562 bytes_read=15034 bytes_retransmit=0 bytes_invalid=0 send_seq=92 receive_seq=92 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000026 coil_temp=24.7 refs=0 mcu_temp=24.47 supply_voltage=3.069 sysload=0.98 cputime=10.661 memavail=346452 print_time=90.945 buffer_time=0.000 print_stall=0 extruder: target=220 temp=187.4 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 71.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4186 bytes_read=12041 bytes_retransmit=9 bytes_invalid=0 send_seq=357 receive_seq=357 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999484 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1084 bytes_read=5384 bytes_retransmit=0 bytes_invalid=0 send_seq=152 receive_seq=152 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999978 adj=50000121 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2251 bytes_read=10659 bytes_retransmit=0 bytes_invalid=0 send_seq=245 receive_seq=245 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=11 upcoming_bytes=0 freq=63999561 adj=63999521 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1706 bytes_read=9100 bytes_retransmit=9 bytes_invalid=0 send_seq=194 receive_seq=194 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999722 adj=63999639 Octopus_V1.1_F446: temp=32.1 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=27.0 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=568 bytes_read=15390 bytes_retransmit=0 bytes_invalid=0 send_seq=93 receive_seq=93 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=32000034 coil_temp=24.7 refs=0 mcu_temp=24.50 supply_voltage=3.069 sysload=0.98 cputime=10.696 memavail=346204 print_time=91.946 buffer_time=0.000 print_stall=0 extruder: target=220 temp=192.5 pwm=0.908 extruder1: target=0 temp=24.4 pwm=0.000
Stats 72.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4192 bytes_read=12158 bytes_retransmit=9 bytes_invalid=0 send_seq=358 receive_seq=358 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999483 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1090 bytes_read=5400 bytes_retransmit=0 bytes_invalid=0 send_seq=153 receive_seq=153 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999960 adj=50000028 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2353 bytes_read=10867 bytes_retransmit=0 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999557 adj=63999551 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1712 bytes_read=9200 bytes_retransmit=9 bytes_invalid=0 send_seq=195 receive_seq=195 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999717 adj=63999664 Octopus_V1.1_F446: temp=31.9 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=27.2 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=574 bytes_read=15746 bytes_retransmit=0 bytes_invalid=0 send_seq=94 receive_seq=94 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000039 coil_temp=24.7 refs=0 mcu_temp=24.52 supply_voltage=3.069 sysload=0.98 cputime=10.723 memavail=346204 print_time=92.946 buffer_time=0.000 print_stall=0 extruder: target=220 temp=195.7 pwm=0.834 extruder1: target=0 temp=24.3 pwm=0.000
Stats 73.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4198 bytes_read=12276 bytes_retransmit=9 bytes_invalid=0 send_seq=359 receive_seq=359 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999485 rpi: mcu_awake=0.001 mcu_task_avg=0.000015 mcu_task_stddev=0.000016 bytes_write=1096 bytes_read=5416 bytes_retransmit=0 bytes_invalid=0 send_seq=154 receive_seq=154 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999929 adj=49999886 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2375 bytes_read=10990 bytes_retransmit=0 bytes_invalid=0 send_seq=257 receive_seq=257 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999558 adj=63999594 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1718 bytes_read=9314 bytes_retransmit=9 bytes_invalid=0 send_seq=196 receive_seq=196 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999716 adj=63999680 Octopus_V1.1_F446: temp=32.0 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=27.1 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=580 bytes_read=16102 bytes_retransmit=0 bytes_invalid=0 send_seq=95 receive_seq=95 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=32000054 coil_temp=24.8 refs=0 mcu_temp=24.55 supply_voltage=3.069 sysload=0.98 cputime=10.746 memavail=346204 print_time=93.947 buffer_time=0.000 print_stall=0 extruder: target=220 temp=198.8 pwm=0.736 extruder1: target=0 temp=24.4 pwm=0.000
Stats 74.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4204 bytes_read=12385 bytes_retransmit=9 bytes_invalid=0 send_seq=360 receive_seq=360 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999487 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000017 bytes_write=1102 bytes_read=5445 bytes_retransmit=0 bytes_invalid=0 send_seq=155 receive_seq=155 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999891 adj=49999648 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2421 bytes_read=11147 bytes_retransmit=0 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=11 upcoming_bytes=0 freq=63999560 adj=63999628 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1724 bytes_read=9442 bytes_retransmit=9 bytes_invalid=0 send_seq=197 receive_seq=197 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999711 adj=63999718 Octopus_V1.1_F446: temp=31.7 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=586 bytes_read=16458 bytes_retransmit=0 bytes_invalid=0 send_seq=96 receive_seq=96 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000039 coil_temp=25.0 refs=0 mcu_temp=24.58 supply_voltage=3.069 sysload=0.98 cputime=10.770 memavail=346960 print_time=94.947 buffer_time=0.000 print_stall=0 extruder: target=220 temp=202.2 pwm=0.687 extruder1: target=0 temp=24.4 pwm=0.000
Stats 75.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4210 bytes_read=12497 bytes_retransmit=9 bytes_invalid=0 send_seq=361 receive_seq=361 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999491 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000017 bytes_write=1108 bytes_read=5461 bytes_retransmit=0 bytes_invalid=0 send_seq=156 receive_seq=156 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999850 adj=49999381 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2475 bytes_read=11265 bytes_retransmit=0 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999556 adj=63999674 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1730 bytes_read=9542 bytes_retransmit=9 bytes_invalid=0 send_seq=198 receive_seq=198 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999710 adj=63999712 Octopus_V1.1_F446: temp=31.6 EBB42_v1.2_T0: temp=28.4 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=592 bytes_read=16814 bytes_retransmit=0 bytes_invalid=0 send_seq=97 receive_seq=97 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999966 adj=32000050 coil_temp=25.1 refs=0 mcu_temp=24.60 supply_voltage=3.069 sysload=0.98 cputime=10.793 memavail=346500 print_time=95.948 buffer_time=0.000 print_stall=0 extruder: target=220 temp=204.4 pwm=0.819 extruder1: target=0 temp=24.3 pwm=0.000
Stats 76.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4216 bytes_read=12615 bytes_retransmit=9 bytes_invalid=0 send_seq=362 receive_seq=362 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999517 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000017 bytes_write=1114 bytes_read=5477 bytes_retransmit=0 bytes_invalid=0 send_seq=157 receive_seq=157 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999814 adj=49999140 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2529 bytes_read=11383 bytes_retransmit=0 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999641 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1736 bytes_read=9642 bytes_retransmit=9 bytes_invalid=0 send_seq=199 receive_seq=199 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999709 adj=63999731 Octopus_V1.1_F446: temp=31.4 EBB42_v1.2_T0: temp=28.4 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=51.6 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=598 bytes_read=17170 bytes_retransmit=0 bytes_invalid=0 send_seq=98 receive_seq=98 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999973 adj=32000040 coil_temp=25.2 refs=0 mcu_temp=24.63 supply_voltage=3.069 sysload=0.90 cputime=10.837 memavail=346508 print_time=96.948 buffer_time=0.000 print_stall=0 extruder: target=220 temp=206.9 pwm=0.539 extruder1: target=0 temp=24.3 pwm=0.000
Stats 77.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4222 bytes_read=12718 bytes_retransmit=9 bytes_invalid=0 send_seq=363 receive_seq=363 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999530 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000017 bytes_write=1120 bytes_read=5493 bytes_retransmit=0 bytes_invalid=0 send_seq=158 receive_seq=158 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999840 adj=49998923 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2567 bytes_read=11525 bytes_retransmit=0 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999570 adj=63999592 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1742 bytes_read=9770 bytes_retransmit=9 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999717 adj=63999671 Octopus_V1.1_F446: temp=31.4 EBB42_v1.2_T0: temp=28.4 EBB42_v1.2_T1: temp=27.3 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=604 bytes_read=17526 bytes_retransmit=0 bytes_invalid=0 send_seq=99 receive_seq=99 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000062 coil_temp=25.4 refs=0 mcu_temp=24.66 supply_voltage=3.069 sysload=0.90 cputime=10.888 memavail=346508 print_time=97.949 buffer_time=0.000 print_stall=0 extruder: target=220 temp=209.3 pwm=0.669 extruder1: target=0 temp=24.4 pwm=0.000
Stats 78.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4228 bytes_read=12835 bytes_retransmit=9 bytes_invalid=0 send_seq=364 receive_seq=364 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999545 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000017 bytes_write=1126 bytes_read=5509 bytes_retransmit=0 bytes_invalid=0 send_seq=159 receive_seq=159 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999800 adj=49999399 toolboard_t0: mcu_awake=0.005 mcu_task_avg=0.000016 mcu_task_stddev=0.000009 bytes_write=2621 bytes_read=11643 bytes_retransmit=0 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999569 adj=63999691 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1748 bytes_read=9884 bytes_retransmit=9 bytes_invalid=0 send_seq=201 receive_seq=201 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999720 adj=63999760 Octopus_V1.1_F446: temp=31.3 EBB42_v1.2_T0: temp=28.4 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=610 bytes_read=17882 bytes_retransmit=0 bytes_invalid=0 send_seq=100 receive_seq=100 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000065 coil_temp=25.5 refs=0 mcu_temp=24.69 supply_voltage=3.069 sysload=0.90 cputime=10.937 memavail=346508 print_time=98.950 buffer_time=0.000 print_stall=0 extruder: target=220 temp=210.8 pwm=0.632 extruder1: target=0 temp=24.3 pwm=0.000
Stats 79.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4234 bytes_read=12967 bytes_retransmit=9 bytes_invalid=0 send_seq=365 receive_seq=365 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999561 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=1132 bytes_read=5538 bytes_retransmit=0 bytes_invalid=0 send_seq=160 receive_seq=160 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999761 adj=49999103 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2659 bytes_read=11770 bytes_retransmit=0 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999608 adj=63999643 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1754 bytes_read=9984 bytes_retransmit=9 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999720 adj=63999764 Octopus_V1.1_F446: temp=31.4 EBB42_v1.2_T0: temp=28.2 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=616 bytes_read=18238 bytes_retransmit=0 bytes_invalid=0 send_seq=101 receive_seq=101 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000031 coil_temp=25.6 refs=0 mcu_temp=24.74 supply_voltage=3.069 sysload=0.90 cputime=10.985 memavail=347268 print_time=99.950 buffer_time=0.000 print_stall=0 extruder: target=220 temp=212.7 pwm=0.427 extruder1: target=0 temp=24.3 pwm=0.000
Stats 80.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4240 bytes_read=13070 bytes_retransmit=9 bytes_invalid=0 send_seq=366 receive_seq=366 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999594 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=1138 bytes_read=5554 bytes_retransmit=0 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999722 adj=49998867 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2707 bytes_read=11912 bytes_retransmit=0 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=11 upcoming_bytes=0 freq=63999609 adj=64000003 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1760 bytes_read=10112 bytes_retransmit=9 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999721 adj=63999737 Octopus_V1.1_F446: temp=31.1 EBB42_v1.2_T0: temp=28.4 EBB42_v1.2_T1: temp=27.1 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=622 bytes_read=18594 bytes_retransmit=0 bytes_invalid=0 send_seq=102 receive_seq=102 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000011 coil_temp=25.8 refs=0 mcu_temp=24.79 supply_voltage=3.069 sysload=0.90 cputime=11.034 memavail=347268 print_time=100.951 buffer_time=0.000 print_stall=0 extruder: target=220 temp=214.8 pwm=0.513 extruder1: target=0 temp=24.4 pwm=0.000
Stats 81.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4246 bytes_read=13187 bytes_retransmit=9 bytes_invalid=0 send_seq=367 receive_seq=367 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999596 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=1144 bytes_read=5570 bytes_retransmit=0 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999673 adj=49998617 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2761 bytes_read=12030 bytes_retransmit=0 bytes_invalid=0 send_seq=286 receive_seq=286 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999600 adj=63999826 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1766 bytes_read=10212 bytes_retransmit=9 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999721 adj=63999661 Octopus_V1.1_F446: temp=31.2 EBB42_v1.2_T0: temp=28.5 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=628 bytes_read=18950 bytes_retransmit=0 bytes_invalid=0 send_seq=103 receive_seq=103 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=31999972 coil_temp=25.9 refs=0 mcu_temp=24.84 supply_voltage=3.069 sysload=0.91 cputime=11.060 memavail=347272 print_time=101.952 buffer_time=0.000 print_stall=0 extruder: target=220 temp=214.8 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 82.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4252 bytes_read=13305 bytes_retransmit=9 bytes_invalid=0 send_seq=368 receive_seq=368 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999598 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=1150 bytes_read=5586 bytes_retransmit=0 bytes_invalid=0 send_seq=163 receive_seq=163 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999626 adj=49998410 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2799 bytes_read=12143 bytes_retransmit=0 bytes_invalid=0 send_seq=289 receive_seq=289 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999596 adj=63999714 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1772 bytes_read=10312 bytes_retransmit=9 bytes_invalid=0 send_seq=205 receive_seq=205 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999719 adj=63999707 Octopus_V1.1_F446: temp=31.0 EBB42_v1.2_T0: temp=28.3 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=634 bytes_read=19306 bytes_retransmit=0 bytes_invalid=0 send_seq=104 receive_seq=104 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000006 coil_temp=26.0 refs=0 mcu_temp=24.93 supply_voltage=3.069 sysload=0.91 cputime=11.084 memavail=347272 print_time=102.953 buffer_time=0.000 print_stall=0 extruder: target=220 temp=216.3 pwm=0.447 extruder1: target=0 temp=24.3 pwm=0.000
Heater extruder within range of 220.000
Stats 83.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4258 bytes_read=13408 bytes_retransmit=9 bytes_invalid=0 send_seq=369 receive_seq=369 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999596 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000018 bytes_write=1156 bytes_read=5602 bytes_retransmit=0 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999578 adj=49998243 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2833 bytes_read=12285 bytes_retransmit=0 bytes_invalid=0 send_seq=292 receive_seq=292 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999592 adj=63999673 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1778 bytes_read=10454 bytes_retransmit=9 bytes_invalid=0 send_seq=206 receive_seq=206 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999717 adj=63999723 Octopus_V1.1_F446: temp=30.9 EBB42_v1.2_T0: temp=28.4 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=640 bytes_read=19662 bytes_retransmit=0 bytes_invalid=0 send_seq=105 receive_seq=105 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000008 coil_temp=26.1 refs=0 mcu_temp=25.00 supply_voltage=3.069 sysload=0.91 cputime=11.109 memavail=347272 print_time=103.953 buffer_time=0.000 print_stall=0 extruder: target=220 temp=219.7 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 84.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4264 bytes_read=13554 bytes_retransmit=9 bytes_invalid=0 send_seq=370 receive_seq=370 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999596 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1162 bytes_read=5631 bytes_retransmit=0 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999534 adj=49998145 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2870 bytes_read=12412 bytes_retransmit=0 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999585 adj=63999647 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1784 bytes_read=10554 bytes_retransmit=9 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999718 adj=63999748 Octopus_V1.1_F446: temp=30.9 EBB42_v1.2_T0: temp=28.3 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=646 bytes_read=20018 bytes_retransmit=0 bytes_invalid=0 send_seq=106 receive_seq=106 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999974 adj=32000004 coil_temp=26.3 refs=0 mcu_temp=25.06 supply_voltage=3.069 sysload=0.91 cputime=11.133 memavail=347288 print_time=104.954 buffer_time=0.000 print_stall=0 extruder: target=220 temp=219.4 pwm=0.705 extruder1: target=0 temp=24.4 pwm=0.000
Stats 85.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4270 bytes_read=13657 bytes_retransmit=9 bytes_invalid=0 send_seq=371 receive_seq=371 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999595 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1168 bytes_read=5647 bytes_retransmit=0 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999492 adj=49998053 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2892 bytes_read=12520 bytes_retransmit=0 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999588 adj=63999601 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1790 bytes_read=10654 bytes_retransmit=9 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999719 adj=63999790 Octopus_V1.1_F446: temp=30.7 EBB42_v1.2_T0: temp=28.6 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=652 bytes_read=20374 bytes_retransmit=0 bytes_invalid=0 send_seq=107 receive_seq=107 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000000 coil_temp=26.4 refs=0 mcu_temp=25.13 supply_voltage=3.070 sysload=0.91 cputime=11.157 memavail=346572 print_time=105.955 buffer_time=0.000 print_stall=0 extruder: target=220 temp=218.2 pwm=1.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 86.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4276 bytes_read=13760 bytes_retransmit=9 bytes_invalid=0 send_seq=372 receive_seq=372 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999620 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1174 bytes_read=5663 bytes_retransmit=0 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999459 adj=49997997 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2921 bytes_read=12672 bytes_retransmit=0 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=8 upcoming_bytes=0 freq=63999587 adj=63999667 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1796 bytes_read=10782 bytes_retransmit=9 bytes_invalid=0 send_seq=209 receive_seq=209 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999727 adj=63999816 Octopus_V1.1_F446: temp=30.6 EBB42_v1.2_T0: temp=28.5 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=658 bytes_read=20730 bytes_retransmit=0 bytes_invalid=0 send_seq=108 receive_seq=108 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000040 coil_temp=26.4 refs=0 mcu_temp=25.20 supply_voltage=3.070 sysload=0.84 cputime=11.208 memavail=346576 print_time=106.956 buffer_time=0.000 print_stall=0 extruder: target=220 temp=220.7 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 87.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4282 bytes_read=13892 bytes_retransmit=9 bytes_invalid=0 send_seq=373 receive_seq=373 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999635 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1180 bytes_read=5679 bytes_retransmit=0 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999429 adj=49997961 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=2972 bytes_read=12840 bytes_retransmit=0 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999587 adj=63999566 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1802 bytes_read=10882 bytes_retransmit=9 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999727 adj=63999815 Octopus_V1.1_F446: temp=30.5 EBB42_v1.2_T0: temp=28.5 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=664 bytes_read=21086 bytes_retransmit=0 bytes_invalid=0 send_seq=109 receive_seq=109 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000004 coil_temp=26.6 refs=0 mcu_temp=25.25 supply_voltage=3.070 sysload=0.84 cputime=11.262 memavail=346576 print_time=107.957 buffer_time=0.000 print_stall=0 extruder: target=220 temp=222.7 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
RatOS | TEMPERATURE_WAIT:: Temperature for toolhead T0 reached.
Stats 88.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4288 bytes_read=13995 bytes_retransmit=9 bytes_invalid=0 send_seq=374 receive_seq=374 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999646 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1186 bytes_read=5695 bytes_retransmit=0 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999400 adj=49997985 toolboard_t0: mcu_awake=0.003 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=3025 bytes_read=12983 bytes_retransmit=0 bytes_invalid=0 send_seq=311 receive_seq=311 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999584 adj=63999557 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1808 bytes_read=10996 bytes_retransmit=9 bytes_invalid=0 send_seq=211 receive_seq=211 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999726 adj=63999774 Octopus_V1.1_F446: temp=30.4 EBB42_v1.2_T0: temp=28.4 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=670 bytes_read=21442 bytes_retransmit=0 bytes_invalid=0 send_seq=110 receive_seq=110 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999985 adj=32000027 coil_temp=26.7 refs=0 mcu_temp=25.31 supply_voltage=3.070 sysload=0.84 cputime=11.318 memavail=346576 print_time=111.962 buffer_time=2.303 print_stall=0 extruder: target=220 temp=222.3 pwm=0.508 extruder1: target=0 temp=24.2 pwm=0.000
TMC 'extruder' reports GSTAT: 00000001 reset=1(Reset)
TMC 'extruder' reports GSTAT: 00000000
Stats 89.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4294 bytes_read=14112 bytes_retransmit=9 bytes_invalid=0 send_seq=375 receive_seq=375 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999659 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1192 bytes_read=5724 bytes_retransmit=0 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999373 adj=49999065 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=4494 bytes_read=13679 bytes_retransmit=0 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999582 adj=63999637 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1814 bytes_read=11124 bytes_retransmit=9 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999728 adj=63999803 Octopus_V1.1_F446: temp=30.3 EBB42_v1.2_T0: temp=28.5 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=676 bytes_read=21798 bytes_retransmit=0 bytes_invalid=0 send_seq=111 receive_seq=111 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999983 adj=32000052 coil_temp=26.9 refs=0 mcu_temp=25.40 supply_voltage=3.070 sysload=0.84 cputime=11.438 memavail=347332 print_time=117.223 buffer_time=6.563 print_stall=0 extruder: target=220 temp=220.7 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 90.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4300 bytes_read=14244 bytes_retransmit=9 bytes_invalid=0 send_seq=376 receive_seq=376 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999674 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1198 bytes_read=5740 bytes_retransmit=0 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999356 adj=49999367 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=4572 bytes_read=13843 bytes_retransmit=0 bytes_invalid=0 send_seq=360 receive_seq=360 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999578 adj=63999681 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1820 bytes_read=11224 bytes_retransmit=9 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999731 adj=63999839 Octopus_V1.1_F446: temp=30.0 EBB42_v1.2_T0: temp=28.4 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=682 bytes_read=22154 bytes_retransmit=0 bytes_invalid=0 send_seq=112 receive_seq=112 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=32000032 coil_temp=27.0 refs=0 mcu_temp=25.46 supply_voltage=3.070 sysload=0.84 cputime=11.490 memavail=346328 print_time=117.223 buffer_time=5.563 print_stall=0 extruder: target=220 temp=222.9 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 91.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4306 bytes_read=14347 bytes_retransmit=9 bytes_invalid=0 send_seq=377 receive_seq=377 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999702 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1204 bytes_read=5756 bytes_retransmit=0 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999333 adj=49999281 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=4614 bytes_read=14007 bytes_retransmit=0 bytes_invalid=0 send_seq=364 receive_seq=364 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999585 adj=63999645 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1826 bytes_read=11324 bytes_retransmit=9 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999730 adj=63999830 Octopus_V1.1_F446: temp=30.2 EBB42_v1.2_T0: temp=28.3 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=688 bytes_read=22510 bytes_retransmit=0 bytes_invalid=0 send_seq=113 receive_seq=113 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999981 adj=32000018 coil_temp=27.1 refs=0 mcu_temp=25.52 supply_voltage=3.070 sysload=0.85 cputime=11.540 memavail=346328 print_time=117.223 buffer_time=4.563 print_stall=0 extruder: target=220 temp=224.6 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 92.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4312 bytes_read=14450 bytes_retransmit=9 bytes_invalid=0 send_seq=378 receive_seq=378 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999707 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1210 bytes_read=5772 bytes_retransmit=0 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999311 adj=49999167 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=4680 bytes_read=14214 bytes_retransmit=0 bytes_invalid=0 send_seq=370 receive_seq=370 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=11 upcoming_bytes=0 freq=63999587 adj=63999633 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1832 bytes_read=11452 bytes_retransmit=9 bytes_invalid=0 send_seq=215 receive_seq=215 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999728 adj=63999788 Octopus_V1.1_F446: temp=30.2 EBB42_v1.2_T0: temp=28.4 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=694 bytes_read=22866 bytes_retransmit=0 bytes_invalid=0 send_seq=114 receive_seq=114 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999982 adj=31999995 coil_temp=27.3 refs=0 mcu_temp=25.57 supply_voltage=3.070 sysload=0.85 cputime=11.595 memavail=346328 print_time=117.223 buffer_time=3.563 print_stall=0 extruder: target=220 temp=223.4 pwm=0.967 extruder1: target=0 temp=24.3 pwm=0.000
Stats 93.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4318 bytes_read=14582 bytes_retransmit=9 bytes_invalid=0 send_seq=379 receive_seq=379 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999723 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1216 bytes_read=5788 bytes_retransmit=0 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999296 adj=49999077 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000010 bytes_write=4730 bytes_read=14361 bytes_retransmit=0 bytes_invalid=0 send_seq=374 receive_seq=374 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999583 adj=63999632 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1838 bytes_read=11552 bytes_retransmit=9 bytes_invalid=0 send_seq=216 receive_seq=216 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999728 adj=63999775 Octopus_V1.1_F446: temp=30.0 EBB42_v1.2_T0: temp=28.6 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=700 bytes_read=23222 bytes_retransmit=0 bytes_invalid=0 send_seq=115 receive_seq=115 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=31999995 coil_temp=27.5 refs=0 mcu_temp=25.64 supply_voltage=3.070 sysload=0.85 cputime=11.644 memavail=346328 print_time=117.223 buffer_time=2.562 print_stall=0 extruder: target=220 temp=222.0 pwm=0.967 extruder1: target=0 temp=24.4 pwm=0.000
Extruder extruder already active
RatOS | TEMPERATURE_WAIT:: Waiting for sensor: extruder, MINIMUM: 220
RatOS:: please wait...
RatOS | TEMPERATURE_WAIT:: Temperature for toolhead T0 reached.
Stats 94.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4324 bytes_read=14699 bytes_retransmit=9 bytes_invalid=0 send_seq=380 receive_seq=380 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999727 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=1222 bytes_read=5816 bytes_retransmit=0 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999282 adj=49999004 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000021 mcu_task_stddev=0.000021 bytes_write=6967 bytes_read=14698 bytes_retransmit=0 bytes_invalid=0 send_seq=413 receive_seq=413 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=22 upcoming_bytes=0 freq=63999581 adj=63999597 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1844 bytes_read=11666 bytes_retransmit=9 bytes_invalid=0 send_seq=217 receive_seq=217 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999727 adj=63999753 Octopus_V1.1_F446: temp=30.0 EBB42_v1.2_T0: temp=28.4 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=706 bytes_read=23578 bytes_retransmit=0 bytes_invalid=0 send_seq=116 receive_seq=116 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=31999979 coil_temp=27.6 refs=0 mcu_temp=25.69 supply_voltage=3.070 sysload=0.85 cputime=11.947 memavail=342644 print_time=147.744 buffer_time=32.082 print_stall=0 extruder: target=220 temp=223.9 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 95.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4330 bytes_read=14802 bytes_retransmit=9 bytes_invalid=0 send_seq=381 receive_seq=381 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999725 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=1228 bytes_read=5831 bytes_retransmit=0 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999257 adj=49999408 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000021 mcu_task_stddev=0.000021 bytes_write=7039 bytes_read=14897 bytes_retransmit=0 bytes_invalid=0 send_seq=418 receive_seq=418 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999578 adj=63999690 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1850 bytes_read=11794 bytes_retransmit=9 bytes_invalid=0 send_seq=218 receive_seq=218 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999728 adj=63999834 Octopus_V1.1_F446: temp=29.8 EBB42_v1.2_T0: temp=28.6 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=712 bytes_read=23934 bytes_retransmit=0 bytes_invalid=0 send_seq=117 receive_seq=117 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000035 coil_temp=27.7 refs=0 mcu_temp=25.77 supply_voltage=3.070 sysload=0.85 cputime=11.975 memavail=341132 print_time=147.744 buffer_time=31.082 print_stall=0 extruder: target=220 temp=226.3 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 96.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4336 bytes_read=14934 bytes_retransmit=9 bytes_invalid=0 send_seq=382 receive_seq=382 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999725 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=1234 bytes_read=5846 bytes_retransmit=0 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999243 adj=49999362 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000021 mcu_task_stddev=0.000021 bytes_write=7104 bytes_read=15053 bytes_retransmit=0 bytes_invalid=0 send_seq=423 receive_seq=423 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999574 adj=63999685 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1856 bytes_read=11894 bytes_retransmit=9 bytes_invalid=0 send_seq=219 receive_seq=219 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999726 adj=63999839 Octopus_V1.1_F446: temp=29.8 EBB42_v1.2_T0: temp=28.7 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=718 bytes_read=24290 bytes_retransmit=0 bytes_invalid=0 send_seq=118 receive_seq=118 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999979 adj=32000031 coil_temp=27.8 refs=0 mcu_temp=25.88 supply_voltage=3.070 sysload=0.86 cputime=12.000 memavail=341132 print_time=147.744 buffer_time=30.082 print_stall=0 extruder: target=220 temp=225.1 pwm=0.500 extruder1: target=0 temp=24.4 pwm=0.000
Stats 97.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4342 bytes_read=15037 bytes_retransmit=9 bytes_invalid=0 send_seq=383 receive_seq=383 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999726 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=1240 bytes_read=5861 bytes_retransmit=0 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999226 adj=49999334 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000021 mcu_task_stddev=0.000021 bytes_write=7154 bytes_read=15207 bytes_retransmit=0 bytes_invalid=0 send_seq=427 receive_seq=427 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999574 adj=63999678 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1862 bytes_read=11994 bytes_retransmit=9 bytes_invalid=0 send_seq=220 receive_seq=220 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999724 adj=63999835 Octopus_V1.1_F446: temp=29.8 EBB42_v1.2_T0: temp=28.7 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=724 bytes_read=24646 bytes_retransmit=0 bytes_invalid=0 send_seq=119 receive_seq=119 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000036 coil_temp=28.0 refs=0 mcu_temp=25.94 supply_voltage=3.070 sysload=0.86 cputime=12.024 memavail=340880 print_time=147.744 buffer_time=29.082 print_stall=0 extruder: target=220 temp=223.7 pwm=0.996 extruder1: target=0 temp=24.3 pwm=0.000
Stats 98.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4348 bytes_read=15134 bytes_retransmit=9 bytes_invalid=0 send_seq=384 receive_seq=384 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999725 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000017 bytes_write=1246 bytes_read=5876 bytes_retransmit=0 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999210 adj=49999300 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000021 mcu_task_stddev=0.000021 bytes_write=7242 bytes_read=15400 bytes_retransmit=0 bytes_invalid=0 send_seq=433 receive_seq=433 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999571 adj=63999676 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1868 bytes_read=12122 bytes_retransmit=9 bytes_invalid=0 send_seq=221 receive_seq=221 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999724 adj=63999830 Octopus_V1.1_F446: temp=29.8 EBB42_v1.2_T0: temp=28.6 EBB42_v1.2_T1: temp=27.5 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=730 bytes_read=25002 bytes_retransmit=0 bytes_invalid=0 send_seq=120 receive_seq=120 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999980 adj=32000032 coil_temp=28.1 refs=0 mcu_temp=26.00 supply_voltage=3.070 sysload=0.86 cputime=12.050 memavail=344668 print_time=147.744 buffer_time=28.081 print_stall=0 extruder: target=220 temp=225.5 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 99.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4354 bytes_read=15275 bytes_retransmit=9 bytes_invalid=0 send_seq=385 receive_seq=385 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999731 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1252 bytes_read=5905 bytes_retransmit=0 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999198 adj=49999271 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000027 mcu_task_stddev=0.000031 bytes_write=7276 bytes_read=15564 bytes_retransmit=0 bytes_invalid=0 send_seq=436 receive_seq=436 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999570 adj=63999672 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1874 bytes_read=12236 bytes_retransmit=9 bytes_invalid=0 send_seq=222 receive_seq=222 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999722 adj=63999831 Octopus_V1.1_F446: temp=29.6 EBB42_v1.2_T0: temp=28.7 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=736 bytes_read=25358 bytes_retransmit=0 bytes_invalid=0 send_seq=121 receive_seq=121 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999977 adj=32000036 coil_temp=28.2 refs=0 mcu_temp=26.07 supply_voltage=3.070 sysload=0.86 cputime=12.080 memavail=344672 print_time=147.744 buffer_time=27.080 print_stall=0 extruder: target=220 temp=227.0 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 100.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4360 bytes_read=15378 bytes_retransmit=9 bytes_invalid=0 send_seq=386 receive_seq=386 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999759 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1258 bytes_read=5921 bytes_retransmit=0 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999188 adj=49999245 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000027 mcu_task_stddev=0.000031 bytes_write=7326 bytes_read=15718 bytes_retransmit=0 bytes_invalid=0 send_seq=440 receive_seq=440 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999572 adj=63999666 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1880 bytes_read=12336 bytes_retransmit=9 bytes_invalid=0 send_seq=223 receive_seq=223 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999723 adj=63999824 Octopus_V1.1_F446: temp=29.6 EBB42_v1.2_T0: temp=28.8 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=742 bytes_read=25714 bytes_retransmit=0 bytes_invalid=0 send_seq=122 receive_seq=122 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999978 adj=32000029 coil_temp=28.4 refs=0 mcu_temp=26.14 supply_voltage=3.070 sysload=0.86 cputime=12.129 memavail=344428 print_time=147.744 buffer_time=26.079 print_stall=0 extruder: target=220 temp=225.8 pwm=0.548 extruder1: target=0 temp=24.3 pwm=0.000
Stats 101.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4366 bytes_read=15481 bytes_retransmit=9 bytes_invalid=0 send_seq=387 receive_seq=387 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999760 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1264 bytes_read=5937 bytes_retransmit=0 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999176 adj=49999212 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000027 mcu_task_stddev=0.000031 bytes_write=7392 bytes_read=15906 bytes_retransmit=0 bytes_invalid=0 send_seq=445 receive_seq=445 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999570 adj=63999651 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1886 bytes_read=12464 bytes_retransmit=9 bytes_invalid=0 send_seq=224 receive_seq=224 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999722 adj=63999806 Octopus_V1.1_F446: temp=29.6 EBB42_v1.2_T0: temp=28.6 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=748 bytes_read=26070 bytes_retransmit=0 bytes_invalid=0 send_seq=123 receive_seq=123 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999976 adj=32000021 coil_temp=28.5 refs=0 mcu_temp=26.21 supply_voltage=3.070 sysload=0.95 cputime=12.175 memavail=344428 print_time=147.744 buffer_time=25.078 print_stall=0 extruder: target=220 temp=224.3 pwm=0.886 extruder1: target=0 temp=24.4 pwm=0.000
Stats 102.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4372 bytes_read=15613 bytes_retransmit=9 bytes_invalid=0 send_seq=388 receive_seq=388 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999766 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1270 bytes_read=5953 bytes_retransmit=0 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999170 adj=49999188 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000027 mcu_task_stddev=0.000031 bytes_write=7471 bytes_read=16070 bytes_retransmit=0 bytes_invalid=0 send_seq=451 receive_seq=451 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999569 adj=63999647 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1892 bytes_read=12564 bytes_retransmit=9 bytes_invalid=0 send_seq=225 receive_seq=225 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999721 adj=63999805 Octopus_V1.1_F446: temp=29.4 EBB42_v1.2_T0: temp=28.8 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=754 bytes_read=26426 bytes_retransmit=0 bytes_invalid=0 send_seq=124 receive_seq=124 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999975 adj=32000018 coil_temp=28.6 refs=0 mcu_temp=26.28 supply_voltage=3.070 sysload=0.95 cputime=12.225 memavail=344428 print_time=147.744 buffer_time=24.078 print_stall=0 extruder: target=220 temp=225.9 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 103.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4384 bytes_read=15732 bytes_retransmit=9 bytes_invalid=0 send_seq=390 receive_seq=390 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999779 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000010 bytes_write=1282 bytes_read=5985 bytes_retransmit=0 bytes_invalid=0 send_seq=185 receive_seq=185 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999162 adj=49999174 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000027 mcu_task_stddev=0.000031 bytes_write=7519 bytes_read=16250 bytes_retransmit=0 bytes_invalid=0 send_seq=456 receive_seq=456 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999568 adj=63999640 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=1904 bytes_read=12680 bytes_retransmit=9 bytes_invalid=0 send_seq=227 receive_seq=227 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999719 adj=63999799 Octopus_V1.1_F446: temp=29.3 EBB42_v1.2_T0: temp=28.7 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=766 bytes_read=26798 bytes_retransmit=0 bytes_invalid=0 send_seq=126 receive_seq=126 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=32000013 coil_temp=28.7 refs=0 mcu_temp=26.38 supply_voltage=3.070 sysload=0.95 cputime=12.277 memavail=344428 print_time=147.744 buffer_time=23.078 print_stall=0 extruder: target=220 temp=227.9 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 104.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4390 bytes_read=15849 bytes_retransmit=9 bytes_invalid=0 send_seq=391 receive_seq=391 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999803 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=1288 bytes_read=6014 bytes_retransmit=0 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999162 adj=49999152 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7579 bytes_read=16447 bytes_retransmit=0 bytes_invalid=0 send_seq=460 receive_seq=460 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999568 adj=63999630 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1910 bytes_read=12822 bytes_retransmit=9 bytes_invalid=0 send_seq=228 receive_seq=228 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999718 adj=63999786 Octopus_V1.1_F446: temp=29.4 EBB42_v1.2_T0: temp=28.9 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=772 bytes_read=27154 bytes_retransmit=0 bytes_invalid=0 send_seq=127 receive_seq=127 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999972 adj=32000004 coil_temp=28.8 refs=0 mcu_temp=26.46 supply_voltage=3.070 sysload=0.95 cputime=12.331 memavail=344184 print_time=147.744 buffer_time=22.077 print_stall=0 extruder: target=220 temp=226.3 pwm=0.506 extruder1: target=0 temp=24.2 pwm=0.000
Stats 105.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4396 bytes_read=15981 bytes_retransmit=9 bytes_invalid=0 send_seq=392 receive_seq=392 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999801 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=1294 bytes_read=6030 bytes_retransmit=0 bytes_invalid=0 send_seq=187 receive_seq=187 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999155 adj=49999139 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7645 bytes_read=16606 bytes_retransmit=0 bytes_invalid=0 send_seq=465 receive_seq=465 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999567 adj=63999614 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1916 bytes_read=12922 bytes_retransmit=9 bytes_invalid=0 send_seq=229 receive_seq=229 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999721 adj=63999769 Octopus_V1.1_F446: temp=29.2 EBB42_v1.2_T0: temp=29.0 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=778 bytes_read=27510 bytes_retransmit=0 bytes_invalid=0 send_seq=128 receive_seq=128 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999971 adj=31999995 coil_temp=28.9 refs=0 mcu_temp=26.52 supply_voltage=3.070 sysload=0.95 cputime=12.361 memavail=340708 print_time=147.744 buffer_time=21.077 print_stall=0 extruder: target=220 temp=224.8 pwm=1.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 106.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4402 bytes_read=16084 bytes_retransmit=9 bytes_invalid=0 send_seq=393 receive_seq=393 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999801 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=1300 bytes_read=6046 bytes_retransmit=0 bytes_invalid=0 send_seq=188 receive_seq=188 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999149 adj=49999127 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7718 bytes_read=16765 bytes_retransmit=0 bytes_invalid=0 send_seq=470 receive_seq=470 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999572 adj=63999614 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1922 bytes_read=13022 bytes_retransmit=9 bytes_invalid=0 send_seq=230 receive_seq=230 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999720 adj=63999775 Octopus_V1.1_F446: temp=29.0 EBB42_v1.2_T0: temp=29.1 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=784 bytes_read=27866 bytes_retransmit=0 bytes_invalid=0 send_seq=129 receive_seq=129 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999994 coil_temp=29.1 refs=0 mcu_temp=26.59 supply_voltage=3.070 sysload=0.96 cputime=12.385 memavail=340716 print_time=147.744 buffer_time=20.077 print_stall=0 extruder: target=220 temp=225.6 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 107.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4408 bytes_read=16187 bytes_retransmit=9 bytes_invalid=0 send_seq=394 receive_seq=394 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999803 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=1306 bytes_read=6062 bytes_retransmit=0 bytes_invalid=0 send_seq=189 receive_seq=189 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999148 adj=49999117 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7752 bytes_read=16943 bytes_retransmit=0 bytes_invalid=0 send_seq=473 receive_seq=473 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999568 adj=63999624 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1928 bytes_read=13150 bytes_retransmit=9 bytes_invalid=0 send_seq=231 receive_seq=231 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999717 adj=63999774 Octopus_V1.1_F446: temp=29.2 EBB42_v1.2_T0: temp=28.9 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=790 bytes_read=28222 bytes_retransmit=0 bytes_invalid=0 send_seq=130 receive_seq=130 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999991 coil_temp=29.2 refs=0 mcu_temp=26.66 supply_voltage=3.070 sysload=0.96 cputime=12.409 memavail=340716 print_time=147.744 buffer_time=19.077 print_stall=0 extruder: target=220 temp=227.8 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 108.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4414 bytes_read=16319 bytes_retransmit=9 bytes_invalid=0 send_seq=395 receive_seq=395 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999798 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=1312 bytes_read=6078 bytes_retransmit=0 bytes_invalid=0 send_seq=190 receive_seq=190 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999145 adj=49999114 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7802 bytes_read=17097 bytes_retransmit=0 bytes_invalid=0 send_seq=477 receive_seq=477 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999564 adj=63999614 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1934 bytes_read=13250 bytes_retransmit=9 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999714 adj=63999767 Octopus_V1.1_F446: temp=29.0 EBB42_v1.2_T0: temp=29.2 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=796 bytes_read=28578 bytes_retransmit=0 bytes_invalid=0 send_seq=131 receive_seq=131 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999988 coil_temp=29.3 refs=0 mcu_temp=26.73 supply_voltage=3.070 sysload=0.96 cputime=12.433 memavail=344500 print_time=147.744 buffer_time=18.076 print_stall=0 extruder: target=220 temp=226.6 pwm=0.309 extruder1: target=0 temp=24.2 pwm=0.000
Stats 109.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4420 bytes_read=16436 bytes_retransmit=9 bytes_invalid=0 send_seq=396 receive_seq=396 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999795 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000019 bytes_write=1318 bytes_read=6094 bytes_retransmit=0 bytes_invalid=0 send_seq=191 receive_seq=191 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999142 adj=49999111 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7879 bytes_read=17271 bytes_retransmit=0 bytes_invalid=0 send_seq=482 receive_seq=482 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999561 adj=63999610 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1940 bytes_read=13378 bytes_retransmit=9 bytes_invalid=0 send_seq=233 receive_seq=233 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999728 adj=63999773 Octopus_V1.1_F446: temp=29.0 EBB42_v1.2_T0: temp=29.3 EBB42_v1.2_T1: temp=27.4 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=802 bytes_read=28934 bytes_retransmit=0 bytes_invalid=0 send_seq=132 receive_seq=132 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999988 coil_temp=29.4 refs=0 mcu_temp=26.79 supply_voltage=3.070 sysload=0.96 cputime=12.460 memavail=345256 print_time=147.744 buffer_time=17.076 print_stall=0 extruder: target=220 temp=224.8 pwm=1.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 110.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4426 bytes_read=16539 bytes_retransmit=9 bytes_invalid=0 send_seq=397 receive_seq=397 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999799 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1324 bytes_read=6123 bytes_retransmit=0 bytes_invalid=0 send_seq=192 receive_seq=192 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999144 adj=49999107 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7942 bytes_read=17459 bytes_retransmit=0 bytes_invalid=0 send_seq=487 receive_seq=487 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999563 adj=63999607 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1946 bytes_read=13490 bytes_retransmit=9 bytes_invalid=0 send_seq=234 receive_seq=234 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999729 adj=63999800 Octopus_V1.1_F446: temp=28.9 EBB42_v1.2_T0: temp=29.1 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=808 bytes_read=29290 bytes_retransmit=0 bytes_invalid=0 send_seq=133 receive_seq=133 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999969 adj=31999994 coil_temp=29.5 refs=0 mcu_temp=26.87 supply_voltage=3.070 sysload=0.96 cputime=12.508 memavail=345256 print_time=147.744 buffer_time=16.076 print_stall=0 extruder: target=220 temp=226.3 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 111.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4432 bytes_read=16671 bytes_retransmit=9 bytes_invalid=0 send_seq=398 receive_seq=398 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999797 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1330 bytes_read=6139 bytes_retransmit=0 bytes_invalid=0 send_seq=193 receive_seq=193 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999143 adj=49999109 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=7976 bytes_read=17608 bytes_retransmit=0 bytes_invalid=0 send_seq=490 receive_seq=490 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999561 adj=63999609 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1952 bytes_read=13583 bytes_retransmit=9 bytes_invalid=0 send_seq=235 receive_seq=235 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999727 adj=63999799 Octopus_V1.1_F446: temp=28.7 EBB42_v1.2_T0: temp=29.1 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=814 bytes_read=29646 bytes_retransmit=0 bytes_invalid=0 send_seq=134 receive_seq=134 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999992 coil_temp=29.6 refs=0 mcu_temp=26.93 supply_voltage=3.070 sysload=0.88 cputime=12.532 memavail=345268 print_time=147.744 buffer_time=15.076 print_stall=0 extruder: target=220 temp=227.6 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 112.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4438 bytes_read=16774 bytes_retransmit=9 bytes_invalid=0 send_seq=399 receive_seq=399 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999797 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1336 bytes_read=6155 bytes_retransmit=0 bytes_invalid=0 send_seq=194 receive_seq=194 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999142 adj=49999108 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8025 bytes_read=17776 bytes_retransmit=0 bytes_invalid=0 send_seq=494 receive_seq=494 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999558 adj=63999606 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1958 bytes_read=13689 bytes_retransmit=9 bytes_invalid=0 send_seq=236 receive_seq=236 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999725 adj=63999797 Octopus_V1.1_F446: temp=28.8 EBB42_v1.2_T0: temp=28.9 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=820 bytes_read=30002 bytes_retransmit=0 bytes_invalid=0 send_seq=135 receive_seq=135 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999989 coil_temp=29.7 refs=0 mcu_temp=27.00 supply_voltage=3.070 sysload=0.88 cputime=12.557 memavail=345016 print_time=147.744 buffer_time=14.075 print_stall=0 extruder: target=220 temp=226.6 pwm=0.214 extruder1: target=0 temp=24.2 pwm=0.000
Stats 113.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4444 bytes_read=16877 bytes_retransmit=9 bytes_invalid=0 send_seq=400 receive_seq=400 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999799 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1342 bytes_read=6171 bytes_retransmit=0 bytes_invalid=0 send_seq=195 receive_seq=195 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999142 adj=49999106 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8107 bytes_read=17955 bytes_retransmit=0 bytes_invalid=0 send_seq=500 receive_seq=500 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999556 adj=63999600 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1964 bytes_read=13795 bytes_retransmit=9 bytes_invalid=0 send_seq=237 receive_seq=237 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999725 adj=63999793 Octopus_V1.1_F446: temp=28.9 EBB42_v1.2_T0: temp=29.3 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=826 bytes_read=30358 bytes_retransmit=0 bytes_invalid=0 send_seq=136 receive_seq=136 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999986 coil_temp=29.8 refs=0 mcu_temp=27.05 supply_voltage=3.070 sysload=0.88 cputime=12.582 memavail=345016 print_time=147.744 buffer_time=13.075 print_stall=0 extruder: target=220 temp=224.3 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 114.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4450 bytes_read=17023 bytes_retransmit=9 bytes_invalid=0 send_seq=401 receive_seq=401 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999816 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1348 bytes_read=6187 bytes_retransmit=0 bytes_invalid=0 send_seq=196 receive_seq=196 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999143 adj=49999105 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8170 bytes_read=18129 bytes_retransmit=0 bytes_invalid=0 send_seq=505 receive_seq=505 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999554 adj=63999595 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1970 bytes_read=13902 bytes_retransmit=9 bytes_invalid=0 send_seq=238 receive_seq=238 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999730 adj=63999792 Octopus_V1.1_F446: temp=28.9 EBB42_v1.2_T0: temp=29.3 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=832 bytes_read=30714 bytes_retransmit=0 bytes_invalid=0 send_seq=137 receive_seq=137 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999982 coil_temp=29.9 refs=0 mcu_temp=27.11 supply_voltage=3.070 sysload=0.88 cputime=12.607 memavail=345016 print_time=147.744 buffer_time=12.075 print_stall=0 extruder: target=220 temp=225.9 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 115.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4456 bytes_read=17126 bytes_retransmit=9 bytes_invalid=0 send_seq=402 receive_seq=402 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999814 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=1354 bytes_read=6216 bytes_retransmit=0 bytes_invalid=0 send_seq=197 receive_seq=197 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999147 adj=49999100 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8204 bytes_read=18292 bytes_retransmit=0 bytes_invalid=0 send_seq=508 receive_seq=508 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999551 adj=63999581 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1976 bytes_read=14016 bytes_retransmit=9 bytes_invalid=0 send_seq=239 receive_seq=239 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999736 adj=63999790 Octopus_V1.1_F446: temp=28.8 EBB42_v1.2_T0: temp=29.4 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=50.6 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=838 bytes_read=31070 bytes_retransmit=0 bytes_invalid=0 send_seq=138 receive_seq=138 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999965 adj=31999980 coil_temp=30.0 refs=0 mcu_temp=27.16 supply_voltage=3.070 sysload=0.88 cputime=12.634 memavail=344532 print_time=147.744 buffer_time=11.075 print_stall=0 extruder: target=220 temp=227.7 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 116.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4462 bytes_read=17229 bytes_retransmit=9 bytes_invalid=0 send_seq=403 receive_seq=403 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999819 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=1360 bytes_read=6232 bytes_retransmit=0 bytes_invalid=0 send_seq=198 receive_seq=198 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999163 adj=49999106 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8268 bytes_read=18466 bytes_retransmit=0 bytes_invalid=0 send_seq=513 receive_seq=513 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999550 adj=63999580 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1982 bytes_read=14130 bytes_retransmit=9 bytes_invalid=0 send_seq=240 receive_seq=240 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999735 adj=63999802 Octopus_V1.1_F446: temp=28.6 EBB42_v1.2_T0: temp=29.4 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=844 bytes_read=31426 bytes_retransmit=0 bytes_invalid=0 send_seq=139 receive_seq=139 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999964 adj=31999980 coil_temp=30.0 refs=0 mcu_temp=27.22 supply_voltage=3.070 sysload=0.81 cputime=12.687 memavail=344532 print_time=147.744 buffer_time=10.074 print_stall=0 extruder: target=220 temp=226.4 pwm=0.233 extruder1: target=0 temp=24.2 pwm=0.000
Stats 117.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4468 bytes_read=17361 bytes_retransmit=9 bytes_invalid=0 send_seq=404 receive_seq=404 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999824 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=1366 bytes_read=6248 bytes_retransmit=0 bytes_invalid=0 send_seq=199 receive_seq=199 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999172 adj=49999133 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8350 bytes_read=18630 bytes_retransmit=0 bytes_invalid=0 send_seq=519 receive_seq=519 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999564 adj=63999576 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1988 bytes_read=14230 bytes_retransmit=9 bytes_invalid=0 send_seq=241 receive_seq=241 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999733 adj=63999797 Octopus_V1.1_F446: temp=28.7 EBB42_v1.2_T0: temp=29.4 EBB42_v1.2_T1: temp=27.6 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=850 bytes_read=31782 bytes_retransmit=0 bytes_invalid=0 send_seq=140 receive_seq=140 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999976 coil_temp=30.1 refs=0 mcu_temp=27.29 supply_voltage=3.070 sysload=0.81 cputime=12.740 memavail=344532 print_time=147.744 buffer_time=9.074 print_stall=0 extruder: target=220 temp=224.6 pwm=0.972 extruder1: target=0 temp=24.4 pwm=0.000
Stats 118.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4474 bytes_read=17464 bytes_retransmit=9 bytes_invalid=0 send_seq=405 receive_seq=405 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999830 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=1372 bytes_read=6264 bytes_retransmit=0 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999181 adj=49999145 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8422 bytes_read=18798 bytes_retransmit=0 bytes_invalid=0 send_seq=523 receive_seq=523 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999564 adj=63999597 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1994 bytes_read=14344 bytes_retransmit=9 bytes_invalid=0 send_seq=242 receive_seq=242 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999732 adj=63999790 Octopus_V1.1_F446: temp=28.6 EBB42_v1.2_T0: temp=29.4 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=856 bytes_read=32138 bytes_retransmit=0 bytes_invalid=0 send_seq=141 receive_seq=141 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999973 coil_temp=30.2 refs=0 mcu_temp=27.34 supply_voltage=3.070 sysload=0.81 cputime=12.794 memavail=344532 print_time=147.744 buffer_time=8.073 print_stall=0 extruder: target=220 temp=224.6 pwm=0.324 extruder1: target=0 temp=24.2 pwm=0.000
Stats 119.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4480 bytes_read=17567 bytes_retransmit=9 bytes_invalid=0 send_seq=406 receive_seq=406 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999836 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=1378 bytes_read=6280 bytes_retransmit=0 bytes_invalid=0 send_seq=201 receive_seq=201 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999189 adj=49999158 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8469 bytes_read=18982 bytes_retransmit=0 bytes_invalid=0 send_seq=527 receive_seq=527 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999566 adj=63999593 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2000 bytes_read=14472 bytes_retransmit=9 bytes_invalid=0 send_seq=243 receive_seq=243 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999730 adj=63999784 Octopus_V1.1_F446: temp=28.4 EBB42_v1.2_T0: temp=29.4 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=862 bytes_read=32494 bytes_retransmit=0 bytes_invalid=0 send_seq=142 receive_seq=142 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=31999971 coil_temp=30.2 refs=0 mcu_temp=27.39 supply_voltage=3.070 sysload=0.81 cputime=12.847 memavail=344532 print_time=147.744 buffer_time=7.073 print_stall=0 extruder: target=220 temp=227.2 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 120.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4486 bytes_read=17713 bytes_retransmit=9 bytes_invalid=0 send_seq=407 receive_seq=407 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999844 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1384 bytes_read=6309 bytes_retransmit=0 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999197 adj=49999169 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8503 bytes_read=19131 bytes_retransmit=0 bytes_invalid=0 send_seq=530 receive_seq=530 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999567 adj=63999593 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2006 bytes_read=14572 bytes_retransmit=9 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999732 adj=63999778 Octopus_V1.1_F446: temp=28.5 EBB42_v1.2_T0: temp=29.4 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=868 bytes_read=32850 bytes_retransmit=0 bytes_invalid=0 send_seq=143 receive_seq=143 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999961 adj=31999969 coil_temp=30.4 refs=0 mcu_temp=27.44 supply_voltage=3.070 sysload=0.81 cputime=12.901 memavail=344308 print_time=147.744 buffer_time=6.072 print_stall=0 extruder: target=220 temp=226.6 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 121.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4492 bytes_read=17814 bytes_retransmit=9 bytes_invalid=0 send_seq=408 receive_seq=408 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999841 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1390 bytes_read=6325 bytes_retransmit=0 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999208 adj=49999179 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8564 bytes_read=19299 bytes_retransmit=0 bytes_invalid=0 send_seq=534 receive_seq=534 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999564 adj=63999590 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2012 bytes_read=14686 bytes_retransmit=9 bytes_invalid=0 send_seq=245 receive_seq=245 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999728 adj=63999777 Octopus_V1.1_F446: temp=28.6 EBB42_v1.2_T0: temp=29.5 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=874 bytes_read=33190 bytes_retransmit=0 bytes_invalid=0 send_seq=144 receive_seq=144 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999959 adj=31999964 coil_temp=30.4 refs=0 mcu_temp=27.49 supply_voltage=3.070 sysload=0.83 cputime=12.926 memavail=344308 print_time=147.744 buffer_time=5.072 print_stall=0 extruder: target=220 temp=224.9 pwm=0.658 extruder1: target=0 temp=24.3 pwm=0.000
Stats 122.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4498 bytes_read=17910 bytes_retransmit=9 bytes_invalid=0 send_seq=409 receive_seq=409 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999839 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1396 bytes_read=6341 bytes_retransmit=0 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999212 adj=49999199 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8645 bytes_read=19478 bytes_retransmit=0 bytes_invalid=0 send_seq=540 receive_seq=540 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999561 adj=63999588 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2018 bytes_read=14800 bytes_retransmit=9 bytes_invalid=0 send_seq=246 receive_seq=246 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999725 adj=63999772 Octopus_V1.1_F446: temp=28.4 EBB42_v1.2_T0: temp=29.4 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=880 bytes_read=33546 bytes_retransmit=0 bytes_invalid=0 send_seq=145 receive_seq=145 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999957 adj=31999962 coil_temp=30.5 refs=0 mcu_temp=27.53 supply_voltage=3.070 sysload=0.83 cputime=12.950 memavail=344308 print_time=147.744 buffer_time=4.071 print_stall=0 extruder: target=220 temp=224.6 pwm=0.078 extruder1: target=0 temp=24.4 pwm=0.000
Stats 123.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4504 bytes_read=18040 bytes_retransmit=9 bytes_invalid=0 send_seq=410 receive_seq=410 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999842 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1402 bytes_read=6357 bytes_retransmit=0 bytes_invalid=0 send_seq=205 receive_seq=205 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999216 adj=49999206 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8692 bytes_read=19632 bytes_retransmit=0 bytes_invalid=0 send_seq=544 receive_seq=544 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999558 adj=63999582 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2024 bytes_read=14900 bytes_retransmit=9 bytes_invalid=0 send_seq=247 receive_seq=247 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999721 adj=63999767 Octopus_V1.1_F446: temp=28.3 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=886 bytes_read=33902 bytes_retransmit=0 bytes_invalid=0 send_seq=146 receive_seq=146 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999955 adj=31999959 coil_temp=30.6 refs=0 mcu_temp=27.59 supply_voltage=3.070 sysload=0.83 cputime=12.974 memavail=344308 print_time=147.744 buffer_time=3.070 print_stall=0 extruder: target=220 temp=226.4 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 124.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4510 bytes_read=18143 bytes_retransmit=9 bytes_invalid=0 send_seq=411 receive_seq=411 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999852 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000017 bytes_write=1408 bytes_read=6373 bytes_retransmit=0 bytes_invalid=0 send_seq=206 receive_seq=206 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999220 adj=49999211 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=8726 bytes_read=19809 bytes_retransmit=0 bytes_invalid=0 send_seq=547 receive_seq=547 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999554 adj=63999575 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2030 bytes_read=15028 bytes_retransmit=9 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999723 adj=63999759 Octopus_V1.1_F446: temp=28.4 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=892 bytes_read=34258 bytes_retransmit=0 bytes_invalid=0 send_seq=147 receive_seq=147 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999954 adj=31999955 coil_temp=30.7 refs=0 mcu_temp=27.63 supply_voltage=3.070 sysload=0.83 cputime=12.998 memavail=344308 print_time=147.744 buffer_time=2.069 print_stall=0 extruder: target=220 temp=226.3 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 125.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4516 bytes_read=18260 bytes_retransmit=9 bytes_invalid=0 send_seq=412 receive_seq=412 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999857 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=1414 bytes_read=6402 bytes_retransmit=0 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999226 adj=49999214 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=10415 bytes_read=20108 bytes_retransmit=0 bytes_invalid=0 send_seq=577 receive_seq=577 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999555 adj=63999563 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2036 bytes_read=15142 bytes_retransmit=9 bytes_invalid=0 send_seq=249 receive_seq=249 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999720 adj=63999757 Octopus_V1.1_F446: temp=28.2 EBB42_v1.2_T0: temp=29.6 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=50.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=898 bytes_read=34606 bytes_retransmit=0 bytes_invalid=0 send_seq=148 receive_seq=148 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999953 adj=31999951 coil_temp=30.8 refs=0 mcu_temp=27.71 supply_voltage=3.070 sysload=0.83 cputime=13.223 memavail=344576 print_time=183.004 buffer_time=36.330 print_stall=0 extruder: target=220 temp=223.9 pwm=0.957 extruder1: target=0 temp=24.3 pwm=0.000
Stats 126.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4522 bytes_read=18392 bytes_retransmit=9 bytes_invalid=0 send_seq=413 receive_seq=413 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999870 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=1420 bytes_read=6418 bytes_retransmit=0 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999246 adj=49999247 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=10496 bytes_read=20272 bytes_retransmit=0 bytes_invalid=0 send_seq=583 receive_seq=583 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999555 adj=63999584 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2042 bytes_read=15242 bytes_retransmit=9 bytes_invalid=0 send_seq=250 receive_seq=250 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999733 adj=63999756 Octopus_V1.1_F446: temp=28.2 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=51.1 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=904 bytes_read=34951 bytes_retransmit=0 bytes_invalid=0 send_seq=149 receive_seq=149 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999952 adj=31999961 coil_temp=31.0 refs=0 mcu_temp=27.75 supply_voltage=3.070 sysload=0.76 cputime=13.276 memavail=344576 print_time=183.004 buffer_time=35.329 print_stall=0 extruder: target=220 temp=224.2 pwm=0.058 extruder1: target=0 temp=24.4 pwm=0.000
Stats 127.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4528 bytes_read=18495 bytes_retransmit=9 bytes_invalid=0 send_seq=414 receive_seq=414 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999869 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=1426 bytes_read=6434 bytes_retransmit=0 bytes_invalid=0 send_seq=209 receive_seq=209 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999259 adj=49999279 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=10543 bytes_read=20440 bytes_retransmit=0 bytes_invalid=0 send_seq=587 receive_seq=587 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999559 adj=63999574 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2048 bytes_read=15356 bytes_retransmit=9 bytes_invalid=0 send_seq=251 receive_seq=251 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999742 adj=63999774 Octopus_V1.1_F446: temp=28.2 EBB42_v1.2_T0: temp=29.5 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=910 bytes_read=35295 bytes_retransmit=0 bytes_invalid=0 send_seq=150 receive_seq=150 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999951 adj=31999955 coil_temp=31.1 refs=0 mcu_temp=27.80 supply_voltage=3.070 sysload=0.76 cputime=13.328 memavail=344576 print_time=183.004 buffer_time=34.328 print_stall=0 extruder: target=220 temp=226.3 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 128.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4534 bytes_read=18598 bytes_retransmit=9 bytes_invalid=0 send_seq=415 receive_seq=415 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999875 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=1432 bytes_read=6450 bytes_retransmit=0 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999273 adj=49999305 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=10577 bytes_read=20604 bytes_retransmit=0 bytes_invalid=0 send_seq=590 receive_seq=590 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999558 adj=63999582 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2054 bytes_read=15470 bytes_retransmit=9 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999742 adj=63999791 Octopus_V1.1_F446: temp=28.1 EBB42_v1.2_T0: temp=29.7 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=916 bytes_read=35640 bytes_retransmit=0 bytes_invalid=0 send_seq=151 receive_seq=151 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999951 adj=31999953 coil_temp=31.1 refs=0 mcu_temp=27.86 supply_voltage=3.070 sysload=0.76 cputime=13.382 memavail=344576 print_time=183.004 buffer_time=33.327 print_stall=0 extruder: target=220 temp=225.9 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 129.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4540 bytes_read=18730 bytes_retransmit=9 bytes_invalid=0 send_seq=416 receive_seq=416 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999901 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=1438 bytes_read=6466 bytes_retransmit=0 bytes_invalid=0 send_seq=211 receive_seq=211 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999286 adj=49999328 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=10653 bytes_read=20778 bytes_retransmit=0 bytes_invalid=0 send_seq=595 receive_seq=595 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999557 adj=63999577 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2060 bytes_read=15584 bytes_retransmit=9 bytes_invalid=0 send_seq=253 receive_seq=253 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999739 adj=63999786 Octopus_V1.1_F446: temp=28.2 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=922 bytes_read=35985 bytes_retransmit=0 bytes_invalid=0 send_seq=152 receive_seq=152 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999951 adj=31999952 coil_temp=31.2 refs=0 mcu_temp=27.91 supply_voltage=3.070 sysload=0.76 cputime=13.436 memavail=344576 print_time=183.004 buffer_time=32.326 print_stall=0 extruder: target=220 temp=223.7 pwm=0.926 extruder1: target=0 temp=24.3 pwm=0.000
Stats 130.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4546 bytes_read=18847 bytes_retransmit=9 bytes_invalid=0 send_seq=417 receive_seq=417 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999903 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000019 bytes_write=1444 bytes_read=6495 bytes_retransmit=0 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999296 adj=49999340 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=10714 bytes_read=20946 bytes_retransmit=0 bytes_invalid=0 send_seq=599 receive_seq=599 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999556 adj=63999558 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2066 bytes_read=15698 bytes_retransmit=9 bytes_invalid=0 send_seq=254 receive_seq=254 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999737 adj=63999763 Octopus_V1.1_F446: temp=28.0 EBB42_v1.2_T0: temp=29.8 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=928 bytes_read=36330 bytes_retransmit=0 bytes_invalid=0 send_seq=153 receive_seq=153 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999950 adj=31999942 coil_temp=31.3 refs=0 mcu_temp=27.96 supply_voltage=3.070 sysload=0.76 cputime=13.489 memavail=344576 print_time=183.004 buffer_time=31.326 print_stall=0 extruder: target=220 temp=223.3 pwm=0.374 extruder1: target=0 temp=24.2 pwm=0.000
Stats 131.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4552 bytes_read=18950 bytes_retransmit=9 bytes_invalid=0 send_seq=418 receive_seq=418 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999898 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000019 bytes_write=1450 bytes_read=6511 bytes_retransmit=0 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999302 adj=49999357 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=10761 bytes_read=21115 bytes_retransmit=0 bytes_invalid=0 send_seq=603 receive_seq=603 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999552 adj=63999554 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2072 bytes_read=15812 bytes_retransmit=9 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999732 adj=63999758 Octopus_V1.1_F446: temp=28.0 EBB42_v1.2_T0: temp=29.9 EBB42_v1.2_T1: temp=27.8 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=934 bytes_read=36675 bytes_retransmit=0 bytes_invalid=0 send_seq=154 receive_seq=154 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999948 adj=31999939 coil_temp=31.4 refs=0 mcu_temp=28.01 supply_voltage=3.070 sysload=0.70 cputime=13.516 memavail=344592 print_time=183.004 buffer_time=30.325 print_stall=0 extruder: target=220 temp=226.3 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 132.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4558 bytes_read=19082 bytes_retransmit=9 bytes_invalid=0 send_seq=419 receive_seq=419 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999894 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000019 bytes_write=1456 bytes_read=6527 bytes_retransmit=0 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999307 adj=49999372 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=10795 bytes_read=21264 bytes_retransmit=0 bytes_invalid=0 send_seq=606 receive_seq=606 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999548 adj=63999550 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2078 bytes_read=15912 bytes_retransmit=9 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999731 adj=63999752 Octopus_V1.1_F446: temp=28.0 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=27.7 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=940 bytes_read=37020 bytes_retransmit=0 bytes_invalid=0 send_seq=155 receive_seq=155 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999947 adj=31999937 coil_temp=31.4 refs=0 mcu_temp=28.08 supply_voltage=3.070 sysload=0.70 cputime=13.540 memavail=344592 print_time=183.004 buffer_time=29.325 print_stall=0 extruder: target=220 temp=225.9 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 133.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4564 bytes_read=19185 bytes_retransmit=9 bytes_invalid=0 send_seq=420 receive_seq=420 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999896 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000019 bytes_write=1462 bytes_read=6543 bytes_retransmit=0 bytes_invalid=0 send_seq=215 receive_seq=215 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999314 adj=49999383 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=10856 bytes_read=21432 bytes_retransmit=0 bytes_invalid=0 send_seq=610 receive_seq=610 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999545 adj=63999545 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2084 bytes_read=16026 bytes_retransmit=9 bytes_invalid=0 send_seq=257 receive_seq=257 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999727 adj=63999753 Octopus_V1.1_F446: temp=27.9 EBB42_v1.2_T0: temp=30.2 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=946 bytes_read=37369 bytes_retransmit=0 bytes_invalid=0 send_seq=156 receive_seq=156 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999946 adj=31999937 coil_temp=31.5 refs=0 mcu_temp=28.14 supply_voltage=3.070 sysload=0.70 cputime=13.565 memavail=344592 print_time=183.004 buffer_time=28.325 print_stall=0 extruder: target=220 temp=224.3 pwm=0.622 extruder1: target=0 temp=24.4 pwm=0.000
Stats 134.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4570 bytes_read=19288 bytes_retransmit=9 bytes_invalid=0 send_seq=421 receive_seq=421 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999894 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000019 bytes_write=1468 bytes_read=6559 bytes_retransmit=0 bytes_invalid=0 send_seq=216 receive_seq=216 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999321 adj=49999395 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=10938 bytes_read=21626 bytes_retransmit=0 bytes_invalid=0 send_seq=616 receive_seq=616 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999547 adj=63999538 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2090 bytes_read=16154 bytes_retransmit=9 bytes_invalid=0 send_seq=258 receive_seq=258 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999727 adj=63999744 Octopus_V1.1_F446: temp=28.1 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=952 bytes_read=37725 bytes_retransmit=0 bytes_invalid=0 send_seq=157 receive_seq=157 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999951 adj=31999934 coil_temp=31.6 refs=0 mcu_temp=28.20 supply_voltage=3.070 sysload=0.70 cputime=13.590 memavail=344592 print_time=183.004 buffer_time=27.325 print_stall=0 extruder: target=220 temp=223.4 pwm=0.324 extruder1: target=0 temp=24.3 pwm=0.000
Stats 135.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4576 bytes_read=19434 bytes_retransmit=9 bytes_invalid=0 send_seq=422 receive_seq=422 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999890 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1474 bytes_read=6588 bytes_retransmit=0 bytes_invalid=0 send_seq=217 receive_seq=217 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999329 adj=49999410 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=10985 bytes_read=21780 bytes_retransmit=0 bytes_invalid=0 send_seq=620 receive_seq=620 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999544 adj=63999543 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2096 bytes_read=16254 bytes_retransmit=9 bytes_invalid=0 send_seq=259 receive_seq=259 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999724 adj=63999746 Octopus_V1.1_F446: temp=27.8 EBB42_v1.2_T0: temp=29.9 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=958 bytes_read=38081 bytes_retransmit=0 bytes_invalid=0 send_seq=158 receive_seq=158 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999948 adj=31999945 coil_temp=31.7 refs=0 mcu_temp=28.25 supply_voltage=3.070 sysload=0.70 cputime=13.616 memavail=344592 print_time=183.004 buffer_time=26.324 print_stall=0 extruder: target=220 temp=225.5 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 136.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4582 bytes_read=19537 bytes_retransmit=9 bytes_invalid=0 send_seq=423 receive_seq=423 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999890 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1480 bytes_read=6604 bytes_retransmit=0 bytes_invalid=0 send_seq=218 receive_seq=218 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999337 adj=49999426 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11019 bytes_read=21943 bytes_retransmit=0 bytes_invalid=0 send_seq=623 receive_seq=623 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999542 adj=63999539 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2102 bytes_read=16368 bytes_retransmit=9 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999721 adj=63999742 Octopus_V1.1_F446: temp=27.9 EBB42_v1.2_T0: temp=30.0 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=964 bytes_read=38437 bytes_retransmit=0 bytes_invalid=0 send_seq=159 receive_seq=159 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999950 adj=31999941 coil_temp=31.8 refs=0 mcu_temp=28.30 supply_voltage=3.070 sysload=0.64 cputime=13.662 memavail=344612 print_time=183.004 buffer_time=25.323 print_stall=0 extruder: target=220 temp=225.9 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 137.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4588 bytes_read=19640 bytes_retransmit=9 bytes_invalid=0 send_seq=424 receive_seq=424 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999902 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1486 bytes_read=6620 bytes_retransmit=0 bytes_invalid=0 send_seq=219 receive_seq=219 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999345 adj=49999442 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11116 bytes_read=22127 bytes_retransmit=0 bytes_invalid=0 send_seq=630 receive_seq=630 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999540 adj=63999536 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2108 bytes_read=16482 bytes_retransmit=9 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999718 adj=63999736 Octopus_V1.1_F446: temp=27.8 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=970 bytes_read=38793 bytes_retransmit=0 bytes_invalid=0 send_seq=160 receive_seq=160 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999948 adj=31999943 coil_temp=31.9 refs=0 mcu_temp=28.36 supply_voltage=3.070 sysload=0.64 cputime=13.712 memavail=344612 print_time=183.004 buffer_time=24.322 print_stall=0 extruder: target=220 temp=223.8 pwm=0.548 extruder1: target=0 temp=24.2 pwm=0.000
Stats 138.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4594 bytes_read=19772 bytes_retransmit=9 bytes_invalid=0 send_seq=425 receive_seq=425 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999905 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1492 bytes_read=6636 bytes_retransmit=0 bytes_invalid=0 send_seq=220 receive_seq=220 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999353 adj=49999450 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11198 bytes_read=22291 bytes_retransmit=0 bytes_invalid=0 send_seq=636 receive_seq=636 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999539 adj=63999524 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2114 bytes_read=16582 bytes_retransmit=9 bytes_invalid=0 send_seq=262 receive_seq=262 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999716 adj=63999724 Octopus_V1.1_F446: temp=28.0 EBB42_v1.2_T0: temp=30.2 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=976 bytes_read=39149 bytes_retransmit=0 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999947 adj=31999937 coil_temp=32.0 refs=0 mcu_temp=28.42 supply_voltage=3.070 sysload=0.64 cputime=13.763 memavail=344612 print_time=183.004 buffer_time=23.322 print_stall=0 extruder: target=220 temp=223.1 pwm=0.433 extruder1: target=0 temp=24.4 pwm=0.000
Stats 139.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4600 bytes_read=19875 bytes_retransmit=9 bytes_invalid=0 send_seq=426 receive_seq=426 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999909 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000013 bytes_write=1498 bytes_read=6652 bytes_retransmit=0 bytes_invalid=0 send_seq=221 receive_seq=221 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999359 adj=49999463 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11255 bytes_read=22474 bytes_retransmit=0 bytes_invalid=0 send_seq=640 receive_seq=640 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999520 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2120 bytes_read=16710 bytes_retransmit=9 bytes_invalid=0 send_seq=263 receive_seq=263 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999716 adj=63999718 Octopus_V1.1_F446: temp=27.8 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=982 bytes_read=39505 bytes_retransmit=0 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999947 adj=31999934 coil_temp=32.1 refs=0 mcu_temp=28.51 supply_voltage=3.070 sysload=0.64 cputime=13.814 memavail=344612 print_time=183.004 buffer_time=22.322 print_stall=0 extruder: target=220 temp=224.4 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 140.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4606 bytes_read=19992 bytes_retransmit=9 bytes_invalid=0 send_seq=427 receive_seq=427 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999913 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000016 bytes_write=1504 bytes_read=6681 bytes_retransmit=0 bytes_invalid=0 send_seq=222 receive_seq=222 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999367 adj=49999473 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11289 bytes_read=22638 bytes_retransmit=0 bytes_invalid=0 send_seq=643 receive_seq=643 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999516 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2126 bytes_read=16824 bytes_retransmit=9 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999714 adj=63999715 Octopus_V1.1_F446: temp=27.6 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=988 bytes_read=39861 bytes_retransmit=0 bytes_invalid=0 send_seq=163 receive_seq=163 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999945 adj=31999932 coil_temp=32.2 refs=0 mcu_temp=28.57 supply_voltage=3.070 sysload=0.64 cputime=13.865 memavail=344612 print_time=183.004 buffer_time=21.321 print_stall=0 extruder: target=220 temp=224.1 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 141.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4612 bytes_read=20124 bytes_retransmit=9 bytes_invalid=0 send_seq=428 receive_seq=428 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999916 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000016 bytes_write=1510 bytes_read=6697 bytes_retransmit=0 bytes_invalid=0 send_seq=223 receive_seq=223 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999375 adj=49999486 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11371 bytes_read=22802 bytes_retransmit=0 bytes_invalid=0 send_seq=649 receive_seq=649 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999536 adj=63999512 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2132 bytes_read=16924 bytes_retransmit=9 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999712 adj=63999709 Octopus_V1.1_F446: temp=27.7 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=994 bytes_read=40217 bytes_retransmit=0 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999944 adj=31999928 coil_temp=32.3 refs=0 mcu_temp=28.63 supply_voltage=3.070 sysload=0.59 cputime=13.913 memavail=344612 print_time=183.004 buffer_time=20.320 print_stall=0 extruder: target=220 temp=222.6 pwm=0.811 extruder1: target=0 temp=24.3 pwm=0.000
Stats 142.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4618 bytes_read=20227 bytes_retransmit=9 bytes_invalid=0 send_seq=429 receive_seq=429 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999920 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000016 bytes_write=1516 bytes_read=6713 bytes_retransmit=0 bytes_invalid=0 send_seq=224 receive_seq=224 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999380 adj=49999498 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11448 bytes_read=22975 bytes_retransmit=0 bytes_invalid=0 send_seq=654 receive_seq=654 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999536 adj=63999508 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2138 bytes_read=17038 bytes_retransmit=9 bytes_invalid=0 send_seq=266 receive_seq=266 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999711 adj=63999704 Octopus_V1.1_F446: temp=27.8 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1000 bytes_read=40573 bytes_retransmit=0 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999945 adj=31999925 coil_temp=32.4 refs=0 mcu_temp=28.68 supply_voltage=3.070 sysload=0.59 cputime=13.964 memavail=344612 print_time=183.004 buffer_time=19.320 print_stall=0 extruder: target=220 temp=222.0 pwm=0.585 extruder1: target=0 temp=24.1 pwm=0.000
Stats 143.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4624 bytes_read=20330 bytes_retransmit=9 bytes_invalid=0 send_seq=430 receive_seq=430 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999926 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000016 bytes_write=1522 bytes_read=6729 bytes_retransmit=0 bytes_invalid=0 send_seq=225 receive_seq=225 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999418 adj=49999506 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11505 bytes_read=23144 bytes_retransmit=0 bytes_invalid=0 send_seq=658 receive_seq=658 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999505 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2144 bytes_read=17152 bytes_retransmit=9 bytes_invalid=0 send_seq=267 receive_seq=267 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999711 adj=63999699 Octopus_V1.1_F446: temp=27.6 EBB42_v1.2_T0: temp=30.4 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1006 bytes_read=40929 bytes_retransmit=0 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999944 adj=31999925 coil_temp=32.5 refs=0 mcu_temp=28.73 supply_voltage=3.070 sysload=0.59 cputime=14.014 memavail=344612 print_time=183.004 buffer_time=18.319 print_stall=0 extruder: target=220 temp=224.6 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 144.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4630 bytes_read=20462 bytes_retransmit=9 bytes_invalid=0 send_seq=431 receive_seq=431 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999945 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000016 bytes_write=1528 bytes_read=6745 bytes_retransmit=0 bytes_invalid=0 send_seq=226 receive_seq=226 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999420 adj=49999570 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11539 bytes_read=23307 bytes_retransmit=0 bytes_invalid=0 send_seq=661 receive_seq=661 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999535 adj=63999503 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2150 bytes_read=17266 bytes_retransmit=9 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999709 adj=63999694 Octopus_V1.1_F446: temp=27.6 EBB42_v1.2_T0: temp=30.1 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1012 bytes_read=41285 bytes_retransmit=0 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999942 adj=31999921 coil_temp=32.6 refs=0 mcu_temp=28.79 supply_voltage=3.070 sysload=0.59 cputime=14.063 memavail=344612 print_time=183.004 buffer_time=17.318 print_stall=0 extruder: target=220 temp=224.3 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 145.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4636 bytes_read=20577 bytes_retransmit=9 bytes_invalid=0 send_seq=432 receive_seq=432 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999947 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000023 bytes_write=1534 bytes_read=6774 bytes_retransmit=0 bytes_invalid=0 send_seq=227 receive_seq=227 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999426 adj=49999564 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11600 bytes_read=23475 bytes_retransmit=0 bytes_invalid=0 send_seq=665 receive_seq=665 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999536 adj=63999488 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2156 bytes_read=17380 bytes_retransmit=9 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999708 adj=63999680 Octopus_V1.1_F446: temp=27.7 EBB42_v1.2_T0: temp=30.2 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1018 bytes_read=41641 bytes_retransmit=0 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999941 adj=31999912 coil_temp=32.7 refs=0 mcu_temp=28.85 supply_voltage=3.070 sysload=0.59 cputime=14.115 memavail=344628 print_time=183.004 buffer_time=16.317 print_stall=0 extruder: target=220 temp=222.9 pwm=0.585 extruder1: target=0 temp=24.2 pwm=0.000
Stats 146.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4642 bytes_read=20673 bytes_retransmit=9 bytes_invalid=0 send_seq=433 receive_seq=433 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999943 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000023 bytes_write=1540 bytes_read=6790 bytes_retransmit=0 bytes_invalid=0 send_seq=228 receive_seq=228 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999423 adj=49999575 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11698 bytes_read=23659 bytes_retransmit=0 bytes_invalid=0 send_seq=672 receive_seq=672 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999546 adj=63999488 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2162 bytes_read=17494 bytes_retransmit=9 bytes_invalid=0 send_seq=270 receive_seq=270 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999704 adj=63999676 Octopus_V1.1_F446: temp=27.6 EBB42_v1.2_T0: temp=30.5 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1024 bytes_read=41997 bytes_retransmit=0 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999939 adj=31999909 coil_temp=32.7 refs=0 mcu_temp=28.92 supply_voltage=3.070 sysload=0.54 cputime=14.141 memavail=344628 print_time=183.004 buffer_time=15.317 print_stall=0 extruder: target=220 temp=222.0 pwm=0.424 extruder1: target=0 temp=24.2 pwm=0.000
Stats 147.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4648 bytes_read=20802 bytes_retransmit=9 bytes_invalid=0 send_seq=434 receive_seq=434 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999936 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000023 bytes_write=1546 bytes_read=6806 bytes_retransmit=0 bytes_invalid=0 send_seq=229 receive_seq=229 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999420 adj=49999570 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11747 bytes_read=23813 bytes_retransmit=0 bytes_invalid=0 send_seq=676 receive_seq=676 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999542 adj=63999509 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2168 bytes_read=17594 bytes_retransmit=9 bytes_invalid=0 send_seq=271 receive_seq=271 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999701 adj=63999672 Octopus_V1.1_F446: temp=27.7 EBB42_v1.2_T0: temp=30.4 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1030 bytes_read=42353 bytes_retransmit=0 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999939 adj=31999908 coil_temp=32.8 refs=0 mcu_temp=28.97 supply_voltage=3.070 sysload=0.54 cputime=14.165 memavail=344628 print_time=183.004 buffer_time=14.317 print_stall=0 extruder: target=220 temp=224.0 pwm=0.048 extruder1: target=0 temp=24.2 pwm=0.000
Stats 148.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4654 bytes_read=20905 bytes_retransmit=9 bytes_invalid=0 send_seq=435 receive_seq=435 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999933 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000023 bytes_write=1552 bytes_read=6822 bytes_retransmit=0 bytes_invalid=0 send_seq=230 receive_seq=230 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999418 adj=49999569 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11781 bytes_read=23976 bytes_retransmit=0 bytes_invalid=0 send_seq=679 receive_seq=679 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999540 adj=63999506 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2174 bytes_read=17708 bytes_retransmit=9 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999699 adj=63999671 Octopus_V1.1_F446: temp=27.6 EBB42_v1.2_T0: temp=30.3 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1036 bytes_read=42709 bytes_retransmit=0 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999936 adj=31999909 coil_temp=32.9 refs=0 mcu_temp=29.03 supply_voltage=3.070 sysload=0.54 cputime=14.189 memavail=344628 print_time=183.004 buffer_time=13.316 print_stall=0 extruder: target=220 temp=224.1 pwm=0.048 extruder1: target=0 temp=24.2 pwm=0.000
Stats 149.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4660 bytes_read=21008 bytes_retransmit=9 bytes_invalid=0 send_seq=436 receive_seq=436 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999931 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000023 bytes_write=1558 bytes_read=6838 bytes_retransmit=0 bytes_invalid=0 send_seq=231 receive_seq=231 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999415 adj=49999567 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11847 bytes_read=24164 bytes_retransmit=0 bytes_invalid=0 send_seq=684 receive_seq=684 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999505 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2180 bytes_read=17836 bytes_retransmit=9 bytes_invalid=0 send_seq=273 receive_seq=273 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999696 adj=63999668 Octopus_V1.1_F446: temp=27.4 EBB42_v1.2_T0: temp=30.4 EBB42_v1.2_T1: temp=27.9 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1042 bytes_read=43065 bytes_retransmit=0 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999938 adj=31999905 coil_temp=33.0 refs=0 mcu_temp=29.08 supply_voltage=3.070 sysload=0.54 cputime=14.215 memavail=341636 print_time=183.004 buffer_time=12.316 print_stall=0 extruder: target=220 temp=222.7 pwm=0.562 extruder1: target=0 temp=24.2 pwm=0.000
Stats 150.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4666 bytes_read=21154 bytes_retransmit=9 bytes_invalid=0 send_seq=437 receive_seq=437 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999943 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000015 bytes_write=1564 bytes_read=6867 bytes_retransmit=0 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999415 adj=49999563 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11924 bytes_read=24323 bytes_retransmit=0 bytes_invalid=0 send_seq=689 receive_seq=689 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999536 adj=63999501 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2186 bytes_read=17936 bytes_retransmit=9 bytes_invalid=0 send_seq=274 receive_seq=274 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999703 adj=63999665 Octopus_V1.1_F446: temp=27.4 EBB42_v1.2_T0: temp=30.5 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1048 bytes_read=43421 bytes_retransmit=0 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999939 adj=31999908 coil_temp=33.1 refs=0 mcu_temp=29.13 supply_voltage=3.070 sysload=0.54 cputime=14.247 memavail=344240 print_time=183.004 buffer_time=11.315 print_stall=0 extruder: target=220 temp=221.5 pwm=0.754 extruder1: target=0 temp=24.4 pwm=0.000
Stats 151.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4672 bytes_read=21257 bytes_retransmit=9 bytes_invalid=0 send_seq=438 receive_seq=438 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999956 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000015 bytes_write=1570 bytes_read=6883 bytes_retransmit=0 bytes_invalid=0 send_seq=233 receive_seq=233 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999430 adj=49999558 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=11982 bytes_read=24491 bytes_retransmit=0 bytes_invalid=0 send_seq=693 receive_seq=693 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999534 adj=63999491 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2192 bytes_read=18050 bytes_retransmit=9 bytes_invalid=0 send_seq=275 receive_seq=275 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999702 adj=63999670 Octopus_V1.1_F446: temp=27.3 EBB42_v1.2_T0: temp=30.4 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1054 bytes_read=43777 bytes_retransmit=0 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999939 adj=31999906 coil_temp=33.2 refs=0 mcu_temp=29.20 supply_voltage=3.070 sysload=0.50 cputime=14.300 memavail=344492 print_time=183.004 buffer_time=10.314 print_stall=0 extruder: target=220 temp=223.3 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 152.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4678 bytes_read=21360 bytes_retransmit=9 bytes_invalid=0 send_seq=439 receive_seq=439 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999958 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000015 bytes_write=1576 bytes_read=6899 bytes_retransmit=0 bytes_invalid=0 send_seq=234 receive_seq=234 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999429 adj=49999577 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12016 bytes_read=24655 bytes_retransmit=0 bytes_invalid=0 send_seq=696 receive_seq=696 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999540 adj=63999480 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2198 bytes_read=18164 bytes_retransmit=9 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999701 adj=63999660 Octopus_V1.1_F446: temp=27.5 EBB42_v1.2_T0: temp=30.5 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1060 bytes_read=44133 bytes_retransmit=0 bytes_invalid=0 send_seq=175 receive_seq=175 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999937 adj=31999902 coil_temp=33.3 refs=0 mcu_temp=29.25 supply_voltage=3.070 sysload=0.50 cputime=14.350 memavail=344492 print_time=183.004 buffer_time=9.313 print_stall=0 extruder: target=220 temp=224.3 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 153.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4684 bytes_read=21492 bytes_retransmit=9 bytes_invalid=0 send_seq=440 receive_seq=440 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999960 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000015 bytes_write=1582 bytes_read=6915 bytes_retransmit=0 bytes_invalid=0 send_seq=235 receive_seq=235 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999444 adj=49999576 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12066 bytes_read=24809 bytes_retransmit=0 bytes_invalid=0 send_seq=700 receive_seq=700 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999541 adj=63999488 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2204 bytes_read=18264 bytes_retransmit=9 bytes_invalid=0 send_seq=277 receive_seq=277 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999701 adj=63999657 Octopus_V1.1_F446: temp=27.3 EBB42_v1.2_T0: temp=30.6 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1066 bytes_read=44489 bytes_retransmit=0 bytes_invalid=0 send_seq=176 receive_seq=176 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999935 adj=31999899 coil_temp=33.3 refs=0 mcu_temp=29.33 supply_voltage=3.070 sysload=0.50 cputime=14.403 memavail=344492 print_time=183.004 buffer_time=8.312 print_stall=0 extruder: target=220 temp=222.8 pwm=0.542 extruder1: target=0 temp=24.2 pwm=0.000
Stats 154.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4690 bytes_read=21595 bytes_retransmit=9 bytes_invalid=0 send_seq=441 receive_seq=441 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999958 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000015 bytes_write=1588 bytes_read=6931 bytes_retransmit=0 bytes_invalid=0 send_seq=236 receive_seq=236 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999445 adj=49999600 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12127 bytes_read=24992 bytes_retransmit=0 bytes_invalid=0 send_seq=704 receive_seq=704 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999539 adj=63999490 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2210 bytes_read=18392 bytes_retransmit=9 bytes_invalid=0 send_seq=278 receive_seq=278 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999700 adj=63999656 Octopus_V1.1_F446: temp=27.5 EBB42_v1.2_T0: temp=30.5 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1072 bytes_read=44845 bytes_retransmit=0 bytes_invalid=0 send_seq=177 receive_seq=177 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999933 adj=31999895 coil_temp=33.4 refs=0 mcu_temp=29.38 supply_voltage=3.070 sysload=0.50 cputime=14.457 memavail=344500 print_time=183.004 buffer_time=7.312 print_stall=0 extruder: target=220 temp=221.1 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 155.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4696 bytes_read=21712 bytes_retransmit=9 bytes_invalid=0 send_seq=442 receive_seq=442 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999968 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=1594 bytes_read=6960 bytes_retransmit=0 bytes_invalid=0 send_seq=237 receive_seq=237 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999447 adj=49999602 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12190 bytes_read=25166 bytes_retransmit=0 bytes_invalid=0 send_seq=709 receive_seq=709 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999488 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2216 bytes_read=18506 bytes_retransmit=9 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999699 adj=63999655 Octopus_V1.1_F446: temp=27.4 EBB42_v1.2_T0: temp=30.5 EBB42_v1.2_T1: temp=28.1 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1078 bytes_read=45201 bytes_retransmit=0 bytes_invalid=0 send_seq=178 receive_seq=178 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999932 adj=31999892 coil_temp=33.5 refs=0 mcu_temp=29.43 supply_voltage=3.070 sysload=0.50 cputime=14.513 memavail=343492 print_time=183.004 buffer_time=6.312 print_stall=0 extruder: target=220 temp=223.8 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 156.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4702 bytes_read=21844 bytes_retransmit=9 bytes_invalid=0 send_seq=443 receive_seq=443 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999963 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=1600 bytes_read=6976 bytes_retransmit=0 bytes_invalid=0 send_seq=238 receive_seq=238 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999442 adj=49999600 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12224 bytes_read=25315 bytes_retransmit=0 bytes_invalid=0 send_seq=712 receive_seq=712 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999535 adj=63999478 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2222 bytes_read=18606 bytes_retransmit=9 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999696 adj=63999647 Octopus_V1.1_F446: temp=27.4 EBB42_v1.2_T0: temp=30.7 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1084 bytes_read=45557 bytes_retransmit=0 bytes_invalid=0 send_seq=179 receive_seq=179 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999929 adj=31999888 coil_temp=33.6 refs=0 mcu_temp=29.49 supply_voltage=3.070 sysload=0.46 cputime=14.537 memavail=342992 print_time=183.004 buffer_time=5.311 print_stall=0 extruder: target=220 temp=224.1 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 157.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4708 bytes_read=21947 bytes_retransmit=9 bytes_invalid=0 send_seq=444 receive_seq=444 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999961 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=1606 bytes_read=6992 bytes_retransmit=0 bytes_invalid=0 send_seq=239 receive_seq=239 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999438 adj=49999594 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12284 bytes_read=25483 bytes_retransmit=0 bytes_invalid=0 send_seq=716 receive_seq=716 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999533 adj=63999477 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2228 bytes_read=18720 bytes_retransmit=9 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999695 adj=63999646 Octopus_V1.1_F446: temp=27.3 EBB42_v1.2_T0: temp=30.7 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1090 bytes_read=45913 bytes_retransmit=0 bytes_invalid=0 send_seq=180 receive_seq=180 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999926 adj=31999884 coil_temp=33.6 refs=0 mcu_temp=29.53 supply_voltage=3.070 sysload=0.46 cputime=14.562 memavail=342992 print_time=183.004 buffer_time=4.311 print_stall=0 extruder: target=220 temp=222.8 pwm=0.282 extruder1: target=0 temp=24.3 pwm=0.000
Stats 158.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4714 bytes_read=22050 bytes_retransmit=9 bytes_invalid=0 send_seq=445 receive_seq=445 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999956 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=1612 bytes_read=7008 bytes_retransmit=0 bytes_invalid=0 send_seq=240 receive_seq=240 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999433 adj=49999589 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12366 bytes_read=25662 bytes_retransmit=0 bytes_invalid=0 send_seq=722 receive_seq=722 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999529 adj=63999475 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2234 bytes_read=18834 bytes_retransmit=9 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999694 adj=63999646 Octopus_V1.1_F446: temp=27.3 EBB42_v1.2_T0: temp=30.5 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1096 bytes_read=46269 bytes_retransmit=0 bytes_invalid=0 send_seq=181 receive_seq=181 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999925 adj=31999880 coil_temp=33.7 refs=0 mcu_temp=29.58 supply_voltage=3.070 sysload=0.46 cputime=14.586 memavail=342992 print_time=183.004 buffer_time=3.311 print_stall=0 extruder: target=220 temp=221.0 pwm=0.814 extruder1: target=0 temp=24.3 pwm=0.000
Stats 159.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4720 bytes_read=22182 bytes_retransmit=9 bytes_invalid=0 send_seq=446 receive_seq=446 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999955 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=1618 bytes_read=7024 bytes_retransmit=0 bytes_invalid=0 send_seq=241 receive_seq=241 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999429 adj=49999583 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=12428 bytes_read=25831 bytes_retransmit=0 bytes_invalid=0 send_seq=727 receive_seq=727 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999472 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2240 bytes_read=18948 bytes_retransmit=9 bytes_invalid=0 send_seq=283 receive_seq=283 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999694 adj=63999646 Octopus_V1.1_F446: temp=27.4 EBB42_v1.2_T0: temp=30.8 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1102 bytes_read=46625 bytes_retransmit=0 bytes_invalid=0 send_seq=182 receive_seq=182 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999925 adj=31999879 coil_temp=33.8 refs=0 mcu_temp=29.62 supply_voltage=3.070 sysload=0.46 cputime=14.611 memavail=342992 print_time=183.004 buffer_time=2.311 print_stall=0 extruder: target=220 temp=222.5 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Extruder extruder already active
RatOS | TEMPERATURE_WAIT:: Waiting for sensor: extruder, MINIMUM: 220
RatOS:: please wait...
RatOS | TEMPERATURE_WAIT:: Temperature for toolhead T0 reached.
Stats 160.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4726 bytes_read=22299 bytes_retransmit=9 bytes_invalid=0 send_seq=447 receive_seq=447 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999956 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1624 bytes_read=7053 bytes_retransmit=0 bytes_invalid=0 send_seq=242 receive_seq=242 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999425 adj=49999577 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=14643 bytes_read=26161 bytes_retransmit=0 bytes_invalid=0 send_seq=765 receive_seq=765 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=52 upcoming_bytes=0 freq=63999533 adj=63999485 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2246 bytes_read=19062 bytes_retransmit=9 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999692 adj=63999647 Octopus_V1.1_F446: temp=27.3 EBB42_v1.2_T0: temp=30.6 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1108 bytes_read=46981 bytes_retransmit=0 bytes_invalid=0 send_seq=183 receive_seq=183 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999923 adj=31999879 coil_temp=33.8 refs=0 mcu_temp=29.70 supply_voltage=3.070 sysload=0.46 cputime=14.823 memavail=339476 print_time=213.525 buffer_time=31.831 print_stall=0 extruder: target=220 temp=223.7 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 161.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4732 bytes_read=22402 bytes_retransmit=9 bytes_invalid=0 send_seq=448 receive_seq=448 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999976 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1630 bytes_read=7069 bytes_retransmit=0 bytes_invalid=0 send_seq=243 receive_seq=243 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999427 adj=49999535 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=14775 bytes_read=26332 bytes_retransmit=0 bytes_invalid=0 send_seq=771 receive_seq=771 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999539 adj=63999494 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2252 bytes_read=19176 bytes_retransmit=9 bytes_invalid=0 send_seq=285 receive_seq=285 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999697 adj=63999657 Octopus_V1.1_F446: temp=27.1 EBB42_v1.2_T0: temp=30.8 EBB42_v1.2_T1: temp=28.0 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1114 bytes_read=47337 bytes_retransmit=0 bytes_invalid=0 send_seq=184 receive_seq=184 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999922 adj=31999888 coil_temp=33.9 refs=0 mcu_temp=29.76 supply_voltage=3.070 sysload=0.42 cputime=14.876 memavail=342016 print_time=213.525 buffer_time=30.830 print_stall=0 extruder: target=220 temp=222.1 pwm=0.488 extruder1: target=0 temp=24.2 pwm=0.000
Stats 162.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4738 bytes_read=22534 bytes_retransmit=9 bytes_invalid=0 send_seq=449 receive_seq=449 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999977 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1636 bytes_read=7085 bytes_retransmit=0 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999426 adj=49999527 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=14857 bytes_read=26489 bytes_retransmit=0 bytes_invalid=0 send_seq=777 receive_seq=777 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999541 adj=63999490 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2258 bytes_read=19276 bytes_retransmit=9 bytes_invalid=0 send_seq=286 receive_seq=286 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999696 adj=63999653 Octopus_V1.1_F446: temp=27.2 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1120 bytes_read=47693 bytes_retransmit=0 bytes_invalid=0 send_seq=185 receive_seq=185 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999921 adj=31999879 coil_temp=34.0 refs=0 mcu_temp=29.80 supply_voltage=3.070 sysload=0.42 cputime=14.929 memavail=343716 print_time=213.525 buffer_time=29.830 print_stall=0 extruder: target=220 temp=220.9 pwm=0.780 extruder1: target=0 temp=24.2 pwm=0.000
Stats 163.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4744 bytes_read=22637 bytes_retransmit=9 bytes_invalid=0 send_seq=450 receive_seq=450 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999979 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1642 bytes_read=7101 bytes_retransmit=0 bytes_invalid=0 send_seq=245 receive_seq=245 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999428 adj=49999526 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=14914 bytes_read=26653 bytes_retransmit=0 bytes_invalid=0 send_seq=781 receive_seq=781 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999539 adj=63999495 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2264 bytes_read=19390 bytes_retransmit=9 bytes_invalid=0 send_seq=287 receive_seq=287 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999694 adj=63999650 Octopus_V1.1_F446: temp=27.3 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1126 bytes_read=48049 bytes_retransmit=0 bytes_invalid=0 send_seq=186 receive_seq=186 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999919 adj=31999876 coil_temp=34.0 refs=0 mcu_temp=29.83 supply_voltage=3.070 sysload=0.42 cputime=14.980 memavail=348664 print_time=213.525 buffer_time=28.829 print_stall=0 extruder: target=220 temp=222.0 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 164.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4756 bytes_read=22756 bytes_retransmit=9 bytes_invalid=0 send_seq=452 receive_seq=452 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999978 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1654 bytes_read=7133 bytes_retransmit=0 bytes_invalid=0 send_seq=247 receive_seq=247 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999428 adj=49999528 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=14954 bytes_read=26848 bytes_retransmit=0 bytes_invalid=0 send_seq=785 receive_seq=785 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999535 adj=63999488 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2276 bytes_read=19534 bytes_retransmit=9 bytes_invalid=0 send_seq=289 receive_seq=289 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999692 adj=63999644 Octopus_V1.1_F446: temp=27.1 EBB42_v1.2_T0: temp=30.9 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1138 bytes_read=48421 bytes_retransmit=0 bytes_invalid=0 send_seq=188 receive_seq=188 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999916 adj=31999871 coil_temp=34.1 refs=0 mcu_temp=29.87 supply_voltage=3.070 sysload=0.42 cputime=15.032 memavail=348416 print_time=213.525 buffer_time=27.829 print_stall=0 extruder: target=220 temp=223.7 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 165.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4762 bytes_read=22902 bytes_retransmit=9 bytes_invalid=0 send_seq=453 receive_seq=453 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999977 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000016 bytes_write=1660 bytes_read=7162 bytes_retransmit=0 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999427 adj=49999529 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=15004 bytes_read=27002 bytes_retransmit=0 bytes_invalid=0 send_seq=789 receive_seq=789 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999532 adj=63999482 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2282 bytes_read=19634 bytes_retransmit=9 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999690 adj=63999642 Octopus_V1.1_F446: temp=27.1 EBB42_v1.2_T0: temp=30.8 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1144 bytes_read=48777 bytes_retransmit=0 bytes_invalid=0 send_seq=189 receive_seq=189 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999913 adj=31999865 coil_temp=34.2 refs=0 mcu_temp=29.91 supply_voltage=3.070 sysload=0.42 cputime=15.079 memavail=346188 print_time=213.525 buffer_time=26.828 print_stall=0 extruder: target=220 temp=222.5 pwm=0.270 extruder1: target=0 temp=24.1 pwm=0.000
Stats 166.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4768 bytes_read=23005 bytes_retransmit=9 bytes_invalid=0 send_seq=454 receive_seq=454 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999973 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000016 bytes_write=1666 bytes_read=7178 bytes_retransmit=0 bytes_invalid=0 send_seq=249 receive_seq=249 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999424 adj=49999527 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=15081 bytes_read=27175 bytes_retransmit=0 bytes_invalid=0 send_seq=794 receive_seq=794 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999529 adj=63999476 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2288 bytes_read=19748 bytes_retransmit=9 bytes_invalid=0 send_seq=291 receive_seq=291 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999688 adj=63999638 Octopus_V1.1_F446: temp=27.2 EBB42_v1.2_T0: temp=30.9 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1150 bytes_read=49133 bytes_retransmit=0 bytes_invalid=0 send_seq=190 receive_seq=190 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999910 adj=31999860 coil_temp=34.2 refs=0 mcu_temp=29.96 supply_voltage=3.070 sysload=0.39 cputime=15.104 memavail=345960 print_time=213.525 buffer_time=25.827 print_stall=0 extruder: target=220 temp=220.9 pwm=0.853 extruder1: target=0 temp=24.3 pwm=0.000
Stats 167.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4774 bytes_read=23108 bytes_retransmit=9 bytes_invalid=0 send_seq=455 receive_seq=455 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999970 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000016 bytes_write=1672 bytes_read=7194 bytes_retransmit=0 bytes_invalid=0 send_seq=250 receive_seq=250 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999424 adj=49999524 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=15170 bytes_read=27354 bytes_retransmit=0 bytes_invalid=0 send_seq=800 receive_seq=800 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999531 adj=63999472 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2294 bytes_read=19862 bytes_retransmit=9 bytes_invalid=0 send_seq=292 receive_seq=292 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999689 adj=63999637 Octopus_V1.1_F446: temp=27.1 EBB42_v1.2_T0: temp=31.1 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1156 bytes_read=49489 bytes_retransmit=0 bytes_invalid=0 send_seq=191 receive_seq=191 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999908 adj=31999856 coil_temp=34.2 refs=0 mcu_temp=30.01 supply_voltage=3.070 sysload=0.39 cputime=15.128 memavail=345960 print_time=213.525 buffer_time=24.826 print_stall=0 extruder: target=220 temp=222.2 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 168.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4780 bytes_read=23240 bytes_retransmit=9 bytes_invalid=0 send_seq=456 receive_seq=456 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999967 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000016 bytes_write=1678 bytes_read=7210 bytes_retransmit=0 bytes_invalid=0 send_seq=251 receive_seq=251 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999422 adj=49999525 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=15204 bytes_read=27503 bytes_retransmit=0 bytes_invalid=0 send_seq=803 receive_seq=803 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999530 adj=63999479 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2300 bytes_read=19962 bytes_retransmit=9 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999688 adj=63999640 Octopus_V1.1_F446: temp=27.2 EBB42_v1.2_T0: temp=30.9 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1162 bytes_read=49845 bytes_retransmit=0 bytes_invalid=0 send_seq=192 receive_seq=192 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999907 adj=31999853 coil_temp=34.3 refs=0 mcu_temp=30.05 supply_voltage=3.070 sysload=0.39 cputime=15.152 memavail=345960 print_time=213.525 buffer_time=23.825 print_stall=0 extruder: target=220 temp=223.0 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 169.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4786 bytes_read=23338 bytes_retransmit=9 bytes_invalid=0 send_seq=457 receive_seq=457 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999978 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000016 bytes_write=1684 bytes_read=7226 bytes_retransmit=0 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999420 adj=49999523 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15254 bytes_read=27685 bytes_retransmit=0 bytes_invalid=0 send_seq=807 receive_seq=807 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999527 adj=63999479 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2306 bytes_read=20076 bytes_retransmit=9 bytes_invalid=0 send_seq=294 receive_seq=294 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999685 adj=63999641 Octopus_V1.1_F446: temp=27.0 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1168 bytes_read=50201 bytes_retransmit=0 bytes_invalid=0 send_seq=193 receive_seq=193 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999904 adj=31999850 coil_temp=34.4 refs=0 mcu_temp=30.08 supply_voltage=3.070 sysload=0.39 cputime=15.176 memavail=345964 print_time=213.525 buffer_time=22.825 print_stall=0 extruder: target=220 temp=222.1 pwm=0.304 extruder1: target=0 temp=24.2 pwm=0.000
Stats 170.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4792 bytes_read=23448 bytes_retransmit=9 bytes_invalid=0 send_seq=458 receive_seq=458 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999974 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1690 bytes_read=7255 bytes_retransmit=0 bytes_invalid=0 send_seq=253 receive_seq=253 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999419 adj=49999513 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15336 bytes_read=27864 bytes_retransmit=0 bytes_invalid=0 send_seq=813 receive_seq=813 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999524 adj=63999465 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2312 bytes_read=20204 bytes_retransmit=9 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999685 adj=63999628 Octopus_V1.1_F446: temp=27.1 EBB42_v1.2_T0: temp=31.3 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1174 bytes_read=50557 bytes_retransmit=0 bytes_invalid=0 send_seq=194 receive_seq=194 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999902 adj=31999842 coil_temp=34.4 refs=0 mcu_temp=30.13 supply_voltage=3.070 sysload=0.39 cputime=15.204 memavail=345208 print_time=213.525 buffer_time=21.824 print_stall=0 extruder: target=220 temp=220.3 pwm=0.970 extruder1: target=0 temp=24.2 pwm=0.000
Stats 171.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4798 bytes_read=23580 bytes_retransmit=9 bytes_invalid=0 send_seq=459 receive_seq=459 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999972 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1696 bytes_read=7271 bytes_retransmit=0 bytes_invalid=0 send_seq=254 receive_seq=254 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999419 adj=49999513 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15414 bytes_read=28028 bytes_retransmit=0 bytes_invalid=0 send_seq=819 receive_seq=819 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999522 adj=63999461 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2318 bytes_read=20304 bytes_retransmit=9 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999682 adj=63999629 Octopus_V1.1_F446: temp=27.0 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1180 bytes_read=50913 bytes_retransmit=0 bytes_invalid=0 send_seq=195 receive_seq=195 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999902 adj=31999838 coil_temp=34.5 refs=0 mcu_temp=30.17 supply_voltage=3.070 sysload=0.44 cputime=15.234 memavail=340200 print_time=213.525 buffer_time=20.823 print_stall=0 extruder: target=220 temp=221.6 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 172.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4804 bytes_read=23683 bytes_retransmit=9 bytes_invalid=0 send_seq=460 receive_seq=460 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999969 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1702 bytes_read=7287 bytes_retransmit=0 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999420 adj=49999514 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15448 bytes_read=28191 bytes_retransmit=0 bytes_invalid=0 send_seq=822 receive_seq=822 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999521 adj=63999460 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2324 bytes_read=20418 bytes_retransmit=9 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999680 adj=63999626 Octopus_V1.1_F446: temp=27.2 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1186 bytes_read=51269 bytes_retransmit=0 bytes_invalid=0 send_seq=196 receive_seq=196 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999901 adj=31999839 coil_temp=34.5 refs=0 mcu_temp=30.21 supply_voltage=3.070 sysload=0.44 cputime=15.258 memavail=340200 print_time=213.525 buffer_time=19.823 print_stall=0 extruder: target=220 temp=223.7 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 173.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4810 bytes_read=23786 bytes_retransmit=9 bytes_invalid=0 send_seq=461 receive_seq=461 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999965 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1708 bytes_read=7303 bytes_retransmit=0 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999419 adj=49999517 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15498 bytes_read=28360 bytes_retransmit=0 bytes_invalid=0 send_seq=826 receive_seq=826 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999518 adj=63999460 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2330 bytes_read=20532 bytes_retransmit=9 bytes_invalid=0 send_seq=298 receive_seq=298 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999679 adj=63999625 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1192 bytes_read=51625 bytes_retransmit=0 bytes_invalid=0 send_seq=197 receive_seq=197 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999899 adj=31999839 coil_temp=34.6 refs=0 mcu_temp=30.26 supply_voltage=3.070 sysload=0.44 cputime=15.283 memavail=348012 print_time=213.525 buffer_time=18.823 print_stall=0 extruder: target=220 temp=222.5 pwm=0.276 extruder1: target=0 temp=24.2 pwm=0.000
Stats 174.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4816 bytes_read=23918 bytes_retransmit=9 bytes_invalid=0 send_seq=462 receive_seq=462 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999971 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000010 bytes_write=1714 bytes_read=7319 bytes_retransmit=0 bytes_invalid=0 send_seq=257 receive_seq=257 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999421 adj=49999517 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15575 bytes_read=28533 bytes_retransmit=0 bytes_invalid=0 send_seq=831 receive_seq=831 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999516 adj=63999457 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2336 bytes_read=20632 bytes_retransmit=9 bytes_invalid=0 send_seq=299 receive_seq=299 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999677 adj=63999624 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=30.9 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1198 bytes_read=51981 bytes_retransmit=0 bytes_invalid=0 send_seq=198 receive_seq=198 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999897 adj=31999837 coil_temp=34.6 refs=0 mcu_temp=30.29 supply_voltage=3.070 sysload=0.44 cputime=15.309 memavail=348012 print_time=213.525 buffer_time=17.823 print_stall=0 extruder: target=220 temp=220.7 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 175.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4822 bytes_read=24035 bytes_retransmit=9 bytes_invalid=0 send_seq=463 receive_seq=463 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999975 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1720 bytes_read=7348 bytes_retransmit=0 bytes_invalid=0 send_seq=258 receive_seq=258 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999421 adj=49999518 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15633 bytes_read=28701 bytes_retransmit=0 bytes_invalid=0 send_seq=835 receive_seq=835 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999513 adj=63999449 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2342 bytes_read=20760 bytes_retransmit=9 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999675 adj=63999619 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1204 bytes_read=52337 bytes_retransmit=0 bytes_invalid=0 send_seq=199 receive_seq=199 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999897 adj=31999831 coil_temp=34.7 refs=0 mcu_temp=30.31 supply_voltage=3.070 sysload=0.44 cputime=15.336 memavail=352152 print_time=213.525 buffer_time=16.822 print_stall=0 extruder: target=220 temp=221.8 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 176.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4828 bytes_read=24138 bytes_retransmit=9 bytes_invalid=0 send_seq=464 receive_seq=464 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999977 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1726 bytes_read=7364 bytes_retransmit=0 bytes_invalid=0 send_seq=259 receive_seq=259 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999425 adj=49999516 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15667 bytes_read=28865 bytes_retransmit=0 bytes_invalid=0 send_seq=838 receive_seq=838 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999512 adj=63999441 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2348 bytes_read=20874 bytes_retransmit=9 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999676 adj=63999613 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=28.5 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1210 bytes_read=52693 bytes_retransmit=0 bytes_invalid=0 send_seq=200 receive_seq=200 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999896 adj=31999830 coil_temp=34.7 refs=0 mcu_temp=30.35 supply_voltage=3.070 sysload=0.40 cputime=15.384 memavail=352152 print_time=213.525 buffer_time=15.822 print_stall=0 extruder: target=220 temp=223.8 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 177.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4834 bytes_read=24270 bytes_retransmit=9 bytes_invalid=0 send_seq=465 receive_seq=465 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999979 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1732 bytes_read=7380 bytes_retransmit=0 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999430 adj=49999523 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15701 bytes_read=29014 bytes_retransmit=0 bytes_invalid=0 send_seq=841 receive_seq=841 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999515 adj=63999438 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2354 bytes_read=20974 bytes_retransmit=9 bytes_invalid=0 send_seq=302 receive_seq=302 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999676 adj=63999613 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.0 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1216 bytes_read=53049 bytes_retransmit=0 bytes_invalid=0 send_seq=201 receive_seq=201 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999895 adj=31999827 coil_temp=34.8 refs=0 mcu_temp=30.39 supply_voltage=3.070 sysload=0.40 cputime=15.435 memavail=352152 print_time=213.525 buffer_time=14.822 print_stall=0 extruder: target=220 temp=222.9 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 178.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4840 bytes_read=24373 bytes_retransmit=9 bytes_invalid=0 send_seq=466 receive_seq=466 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999979 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1738 bytes_read=7396 bytes_retransmit=0 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999436 adj=49999532 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15767 bytes_read=29187 bytes_retransmit=0 bytes_invalid=0 send_seq=846 receive_seq=846 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999517 adj=63999442 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2360 bytes_read=21080 bytes_retransmit=9 bytes_invalid=0 send_seq=303 receive_seq=303 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999676 adj=63999611 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.1 EBB42_v1.2_T1: temp=28.5 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1222 bytes_read=53405 bytes_retransmit=0 bytes_invalid=0 send_seq=202 receive_seq=202 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999894 adj=31999824 coil_temp=34.8 refs=0 mcu_temp=30.43 supply_voltage=3.070 sysload=0.40 cputime=15.490 memavail=352152 print_time=213.525 buffer_time=13.821 print_stall=0 extruder: target=220 temp=221.3 pwm=0.732 extruder1: target=0 temp=24.3 pwm=0.000
Stats 179.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4846 bytes_read=24476 bytes_retransmit=9 bytes_invalid=0 send_seq=467 receive_seq=467 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999985 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1744 bytes_read=7411 bytes_retransmit=0 bytes_invalid=0 send_seq=262 receive_seq=262 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999446 adj=49999542 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15864 bytes_read=29385 bytes_retransmit=0 bytes_invalid=0 send_seq=853 receive_seq=853 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999537 adj=63999445 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2366 bytes_read=21185 bytes_retransmit=9 bytes_invalid=0 send_seq=304 receive_seq=304 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999686 adj=63999612 Octopus_V1.1_F446: temp=27.0 EBB42_v1.2_T0: temp=31.2 EBB42_v1.2_T1: temp=28.5 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1228 bytes_read=53761 bytes_retransmit=0 bytes_invalid=0 send_seq=203 receive_seq=203 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999892 adj=31999822 coil_temp=34.9 refs=0 mcu_temp=30.46 supply_voltage=3.070 sysload=0.40 cputime=15.546 memavail=352152 print_time=213.525 buffer_time=12.821 print_stall=0 extruder: target=220 temp=221.1 pwm=0.108 extruder1: target=0 temp=24.4 pwm=0.000
Stats 180.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4852 bytes_read=24622 bytes_retransmit=9 bytes_invalid=0 send_seq=468 receive_seq=468 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999992 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=1750 bytes_read=7439 bytes_retransmit=0 bytes_invalid=0 send_seq=263 receive_seq=263 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999450 adj=49999558 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15911 bytes_read=29539 bytes_retransmit=0 bytes_invalid=0 send_seq=857 receive_seq=857 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999535 adj=63999479 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2372 bytes_read=21292 bytes_retransmit=9 bytes_invalid=0 send_seq=305 receive_seq=305 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999691 adj=63999626 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.2 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1234 bytes_read=54117 bytes_retransmit=0 bytes_invalid=0 send_seq=204 receive_seq=204 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999892 adj=31999817 coil_temp=34.9 refs=0 mcu_temp=30.53 supply_voltage=3.070 sysload=0.40 cputime=15.597 memavail=351396 print_time=213.525 buffer_time=11.821 print_stall=0 extruder: target=220 temp=223.1 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 181.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4858 bytes_read=24725 bytes_retransmit=9 bytes_invalid=0 send_seq=469 receive_seq=469 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999989 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=1756 bytes_read=7454 bytes_retransmit=0 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999450 adj=49999563 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=15945 bytes_read=29702 bytes_retransmit=0 bytes_invalid=0 send_seq=860 receive_seq=860 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999531 adj=63999470 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2378 bytes_read=21398 bytes_retransmit=9 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999689 adj=63999631 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.3 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=49.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1240 bytes_read=54473 bytes_retransmit=0 bytes_invalid=0 send_seq=205 receive_seq=205 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999893 adj=31999813 coil_temp=35.0 refs=0 mcu_temp=30.57 supply_voltage=3.070 sysload=0.37 cputime=15.621 memavail=351412 print_time=213.525 buffer_time=10.820 print_stall=0 extruder: target=220 temp=223.0 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 182.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4864 bytes_read=24828 bytes_retransmit=9 bytes_invalid=0 send_seq=470 receive_seq=470 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999985 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=1762 bytes_read=7469 bytes_retransmit=0 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999451 adj=49999564 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=16011 bytes_read=29876 bytes_retransmit=0 bytes_invalid=0 send_seq=865 receive_seq=865 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999533 adj=63999466 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2384 bytes_read=21511 bytes_retransmit=9 bytes_invalid=0 send_seq=307 receive_seq=307 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999691 adj=63999629 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=31.2 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1246 bytes_read=54829 bytes_retransmit=0 bytes_invalid=0 send_seq=206 receive_seq=206 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999895 adj=31999817 coil_temp=35.0 refs=0 mcu_temp=30.62 supply_voltage=3.070 sysload=0.37 cputime=15.646 memavail=351412 print_time=213.525 buffer_time=9.820 print_stall=0 extruder: target=220 temp=220.7 pwm=0.876 extruder1: target=0 temp=24.1 pwm=0.000
Stats 183.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4870 bytes_read=24960 bytes_retransmit=9 bytes_invalid=0 send_seq=471 receive_seq=471 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999990 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=1768 bytes_read=7484 bytes_retransmit=0 bytes_invalid=0 send_seq=266 receive_seq=266 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999451 adj=49999568 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=16077 bytes_read=30035 bytes_retransmit=0 bytes_invalid=0 send_seq=870 receive_seq=870 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999533 adj=63999472 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2390 bytes_read=21611 bytes_retransmit=9 bytes_invalid=0 send_seq=308 receive_seq=308 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999688 adj=63999635 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.2 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1252 bytes_read=55185 bytes_retransmit=0 bytes_invalid=0 send_seq=207 receive_seq=207 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999895 adj=31999822 coil_temp=35.1 refs=0 mcu_temp=30.66 supply_voltage=3.070 sysload=0.37 cputime=15.671 memavail=351420 print_time=213.525 buffer_time=8.819 print_stall=0 extruder: target=220 temp=220.7 pwm=0.254 extruder1: target=0 temp=24.3 pwm=0.000
Stats 184.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4876 bytes_read=25063 bytes_retransmit=9 bytes_invalid=0 send_seq=472 receive_seq=472 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999986 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000017 bytes_write=1774 bytes_read=7499 bytes_retransmit=0 bytes_invalid=0 send_seq=267 receive_seq=267 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999452 adj=49999565 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=16124 bytes_read=30218 bytes_retransmit=0 bytes_invalid=0 send_seq=874 receive_seq=874 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999531 adj=63999467 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2396 bytes_read=21725 bytes_retransmit=9 bytes_invalid=0 send_seq=309 receive_seq=309 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999686 adj=63999626 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=31.5 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1258 bytes_read=55541 bytes_retransmit=0 bytes_invalid=0 send_seq=208 receive_seq=208 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999893 adj=31999820 coil_temp=35.2 refs=0 mcu_temp=30.70 supply_voltage=3.070 sysload=0.37 cputime=15.694 memavail=351428 print_time=213.525 buffer_time=7.819 print_stall=0 extruder: target=220 temp=222.8 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 185.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4882 bytes_read=25180 bytes_retransmit=9 bytes_invalid=0 send_seq=473 receive_seq=473 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999982 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000015 bytes_write=1780 bytes_read=7528 bytes_retransmit=0 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999452 adj=49999568 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=16158 bytes_read=30382 bytes_retransmit=0 bytes_invalid=0 send_seq=877 receive_seq=877 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999529 adj=63999467 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2402 bytes_read=21853 bytes_retransmit=9 bytes_invalid=0 send_seq=310 receive_seq=310 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999683 adj=63999625 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=31.4 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1264 bytes_read=55897 bytes_retransmit=0 bytes_invalid=0 send_seq=209 receive_seq=209 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999891 adj=31999817 coil_temp=35.2 refs=0 mcu_temp=30.74 supply_voltage=3.070 sysload=0.37 cputime=15.721 memavail=349704 print_time=213.525 buffer_time=6.818 print_stall=0 extruder: target=220 temp=222.5 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 186.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4888 bytes_read=25312 bytes_retransmit=9 bytes_invalid=0 send_seq=474 receive_seq=474 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999983 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000015 bytes_write=1786 bytes_read=7544 bytes_retransmit=0 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999458 adj=49999571 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=16239 bytes_read=30546 bytes_retransmit=0 bytes_invalid=0 send_seq=883 receive_seq=883 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999530 adj=63999466 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2408 bytes_read=21953 bytes_retransmit=9 bytes_invalid=0 send_seq=311 receive_seq=311 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999683 adj=63999623 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=31.4 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1270 bytes_read=56253 bytes_retransmit=0 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999890 adj=31999816 coil_temp=35.2 refs=0 mcu_temp=30.79 supply_voltage=3.070 sysload=0.34 cputime=15.777 memavail=349712 print_time=213.525 buffer_time=5.817 print_stall=0 extruder: target=220 temp=221.4 pwm=0.501 extruder1: target=0 temp=24.2 pwm=0.000
Stats 187.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4894 bytes_read=25415 bytes_retransmit=9 bytes_invalid=0 send_seq=475 receive_seq=475 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000000 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000015 bytes_write=1792 bytes_read=7560 bytes_retransmit=0 bytes_invalid=0 send_seq=270 receive_seq=270 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999478 adj=49999580 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=16316 bytes_read=30734 bytes_retransmit=0 bytes_invalid=0 send_seq=888 receive_seq=888 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=11 freq=63999528 adj=63999467 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2414 bytes_read=22081 bytes_retransmit=9 bytes_invalid=0 send_seq=312 receive_seq=312 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999682 adj=63999621 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.5 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1276 bytes_read=56609 bytes_retransmit=0 bytes_invalid=0 send_seq=211 receive_seq=211 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999887 adj=31999812 coil_temp=35.3 refs=0 mcu_temp=30.84 supply_voltage=3.070 sysload=0.34 cputime=15.832 memavail=349712 print_time=213.525 buffer_time=4.816 print_stall=0 extruder: target=220 temp=220.2 pwm=0.479 extruder1: target=0 temp=24.2 pwm=0.000
Stats 188.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4900 bytes_read=25518 bytes_retransmit=9 bytes_invalid=0 send_seq=476 receive_seq=476 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000006 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000015 bytes_write=1798 bytes_read=7576 bytes_retransmit=0 bytes_invalid=0 send_seq=271 receive_seq=271 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999482 adj=49999609 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=16379 bytes_read=30893 bytes_retransmit=0 bytes_invalid=0 send_seq=893 receive_seq=893 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999527 adj=63999453 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2420 bytes_read=22181 bytes_retransmit=9 bytes_invalid=0 send_seq=313 receive_seq=313 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999682 adj=63999610 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=31.4 EBB42_v1.2_T1: temp=28.5 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1282 bytes_read=56965 bytes_retransmit=0 bytes_invalid=0 send_seq=212 receive_seq=212 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999885 adj=31999804 coil_temp=35.3 refs=0 mcu_temp=30.87 supply_voltage=3.070 sysload=0.34 cputime=15.883 memavail=349712 print_time=213.525 buffer_time=3.816 print_stall=0 extruder: target=220 temp=222.6 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 189.1: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4906 bytes_read=25650 bytes_retransmit=9 bytes_invalid=0 send_seq=477 receive_seq=477 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000010 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000015 bytes_write=1804 bytes_read=7592 bytes_retransmit=0 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999486 adj=49999613 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=16413 bytes_read=31056 bytes_retransmit=0 bytes_invalid=0 send_seq=896 receive_seq=896 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999525 adj=63999448 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2426 bytes_read=22281 bytes_retransmit=9 bytes_invalid=0 send_seq=314 receive_seq=314 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999684 adj=63999606 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=31.4 EBB42_v1.2_T1: temp=28.5 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1288 bytes_read=57321 bytes_retransmit=0 bytes_invalid=0 send_seq=213 receive_seq=213 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999885 adj=31999798 coil_temp=35.3 refs=0 mcu_temp=30.91 supply_voltage=3.070 sysload=0.34 cputime=15.933 memavail=349712 print_time=213.525 buffer_time=2.815 print_stall=0 extruder: target=220 temp=223.4 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 190.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4912 bytes_read=25767 bytes_retransmit=9 bytes_invalid=0 send_seq=478 receive_seq=478 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000012 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1810 bytes_read=7621 bytes_retransmit=0 bytes_invalid=0 send_seq=273 receive_seq=273 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999491 adj=49999618 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=17132 bytes_read=31294 bytes_retransmit=0 bytes_invalid=0 send_seq=911 receive_seq=911 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=56 upcoming_bytes=823 freq=63999523 adj=63999441 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2432 bytes_read=22423 bytes_retransmit=9 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999683 adj=63999606 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=31.5 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1294 bytes_read=57677 bytes_retransmit=0 bytes_invalid=0 send_seq=214 receive_seq=214 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999883 adj=31999796 coil_temp=35.4 refs=0 mcu_temp=30.93 supply_voltage=3.070 sysload=0.34 cputime=16.220 memavail=349472 print_time=248.786 buffer_time=37.017 print_stall=0 extruder: target=220 temp=221.6 pwm=0.519 extruder1: target=0 temp=24.2 pwm=0.000
Stats 191.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4918 bytes_read=25899 bytes_retransmit=9 bytes_invalid=0 send_seq=479 receive_seq=479 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000005 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1816 bytes_read=7637 bytes_retransmit=0 bytes_invalid=0 send_seq=274 receive_seq=274 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999491 adj=49999556 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18163 bytes_read=31528 bytes_retransmit=0 bytes_invalid=0 send_seq=931 receive_seq=931 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999524 adj=63999477 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2438 bytes_read=22523 bytes_retransmit=9 bytes_invalid=0 send_seq=316 receive_seq=316 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999685 adj=63999642 Octopus_V1.1_F446: temp=26.8 EBB42_v1.2_T0: temp=31.5 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1300 bytes_read=58033 bytes_retransmit=0 bytes_invalid=0 send_seq=215 receive_seq=215 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999880 adj=31999836 coil_temp=35.4 refs=0 mcu_temp=30.96 supply_voltage=3.070 sysload=0.39 cputime=16.249 memavail=349472 print_time=248.786 buffer_time=36.016 print_stall=0 extruder: target=220 temp=220.5 pwm=0.608 extruder1: target=0 temp=24.3 pwm=0.000
Stats 192.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4924 bytes_read=26002 bytes_retransmit=9 bytes_invalid=0 send_seq=480 receive_seq=480 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000012 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1822 bytes_read=7653 bytes_retransmit=0 bytes_invalid=0 send_seq=275 receive_seq=275 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999491 adj=49999559 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18205 bytes_read=31691 bytes_retransmit=0 bytes_invalid=0 send_seq=934 receive_seq=934 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999523 adj=63999484 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2444 bytes_read=22637 bytes_retransmit=9 bytes_invalid=0 send_seq=317 receive_seq=317 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999682 adj=63999650 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=31.4 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1306 bytes_read=58389 bytes_retransmit=0 bytes_invalid=0 send_seq=216 receive_seq=216 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999879 adj=31999834 coil_temp=35.5 refs=0 mcu_temp=31.00 supply_voltage=3.070 sysload=0.39 cputime=16.274 memavail=349472 print_time=248.786 buffer_time=35.016 print_stall=0 extruder: target=220 temp=222.0 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 193.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4930 bytes_read=26101 bytes_retransmit=9 bytes_invalid=0 send_seq=481 receive_seq=481 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000016 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1828 bytes_read=7669 bytes_retransmit=0 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999492 adj=49999556 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18239 bytes_read=31855 bytes_retransmit=0 bytes_invalid=0 send_seq=937 receive_seq=937 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999519 adj=63999478 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2450 bytes_read=22751 bytes_retransmit=9 bytes_invalid=0 send_seq=318 receive_seq=318 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999680 adj=63999640 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=31.6 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1312 bytes_read=58745 bytes_retransmit=0 bytes_invalid=0 send_seq=217 receive_seq=217 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999876 adj=31999828 coil_temp=35.6 refs=0 mcu_temp=31.02 supply_voltage=3.070 sysload=0.39 cputime=16.298 memavail=349472 print_time=248.786 buffer_time=34.016 print_stall=0 extruder: target=220 temp=223.0 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 194.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4936 bytes_read=26226 bytes_retransmit=9 bytes_invalid=0 send_seq=482 receive_seq=482 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000016 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1834 bytes_read=7685 bytes_retransmit=0 bytes_invalid=0 send_seq=277 receive_seq=277 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999492 adj=49999555 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=18304 bytes_read=32029 bytes_retransmit=0 bytes_invalid=0 send_seq=942 receive_seq=942 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999515 adj=63999467 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2456 bytes_read=22851 bytes_retransmit=9 bytes_invalid=0 send_seq=319 receive_seq=319 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999679 adj=63999633 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=31.6 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1318 bytes_read=59101 bytes_retransmit=0 bytes_invalid=0 send_seq=218 receive_seq=218 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999874 adj=31999821 coil_temp=35.6 refs=0 mcu_temp=31.08 supply_voltage=3.071 sysload=0.39 cputime=16.323 memavail=349488 print_time=248.786 buffer_time=33.015 print_stall=0 extruder: target=220 temp=222.1 pwm=0.261 extruder1: target=0 temp=24.1 pwm=0.000
Stats 195.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4942 bytes_read=26343 bytes_retransmit=9 bytes_invalid=0 send_seq=483 receive_seq=483 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000012 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1840 bytes_read=7714 bytes_retransmit=0 bytes_invalid=0 send_seq=278 receive_seq=278 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999493 adj=49999556 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=18370 bytes_read=32202 bytes_retransmit=0 bytes_invalid=0 send_seq=947 receive_seq=947 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999513 adj=63999458 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2462 bytes_read=22979 bytes_retransmit=9 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999677 adj=63999631 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.6 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1324 bytes_read=59457 bytes_retransmit=0 bytes_invalid=0 send_seq=219 receive_seq=219 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999873 adj=31999817 coil_temp=35.7 refs=0 mcu_temp=31.12 supply_voltage=3.071 sysload=0.39 cputime=16.351 memavail=349488 print_time=248.786 buffer_time=32.015 print_stall=0 extruder: target=220 temp=220.4 pwm=0.895 extruder1: target=0 temp=24.2 pwm=0.000
Stats 196.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4948 bytes_read=26446 bytes_retransmit=9 bytes_invalid=0 send_seq=484 receive_seq=484 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000011 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1846 bytes_read=7730 bytes_retransmit=0 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999497 adj=49999560 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=18444 bytes_read=32376 bytes_retransmit=0 bytes_invalid=0 send_seq=952 receive_seq=952 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999513 adj=63999457 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2468 bytes_read=23093 bytes_retransmit=9 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999681 adj=63999630 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=31.6 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1330 bytes_read=59813 bytes_retransmit=0 bytes_invalid=0 send_seq=220 receive_seq=220 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999878 adj=31999817 coil_temp=35.7 refs=0 mcu_temp=31.15 supply_voltage=3.071 sysload=0.36 cputime=16.400 memavail=349488 print_time=248.786 buffer_time=31.014 print_stall=0 extruder: target=220 temp=221.9 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 197.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4954 bytes_read=26578 bytes_retransmit=9 bytes_invalid=0 send_seq=485 receive_seq=485 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000019 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1852 bytes_read=7746 bytes_retransmit=0 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999503 adj=49999569 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=18478 bytes_read=32525 bytes_retransmit=0 bytes_invalid=0 send_seq=955 receive_seq=955 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999512 adj=63999458 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2474 bytes_read=23193 bytes_retransmit=9 bytes_invalid=0 send_seq=322 receive_seq=322 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999680 adj=63999638 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=31.7 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1336 bytes_read=60169 bytes_retransmit=0 bytes_invalid=0 send_seq=221 receive_seq=221 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999876 adj=31999826 coil_temp=35.8 refs=0 mcu_temp=31.19 supply_voltage=3.071 sysload=0.36 cputime=16.449 memavail=349488 print_time=248.786 buffer_time=30.014 print_stall=0 extruder: target=220 temp=223.1 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 198.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4960 bytes_read=26681 bytes_retransmit=9 bytes_invalid=0 send_seq=486 receive_seq=486 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000016 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1858 bytes_read=7762 bytes_retransmit=0 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999509 adj=49999576 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=18527 bytes_read=32693 bytes_retransmit=0 bytes_invalid=0 send_seq=959 receive_seq=959 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999511 adj=63999451 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2480 bytes_read=23307 bytes_retransmit=9 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999680 adj=63999631 Octopus_V1.1_F446: temp=26.9 EBB42_v1.2_T0: temp=31.7 EBB42_v1.2_T1: temp=28.2 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1342 bytes_read=60525 bytes_retransmit=0 bytes_invalid=0 send_seq=222 receive_seq=222 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999874 adj=31999821 coil_temp=35.8 refs=0 mcu_temp=31.23 supply_voltage=3.071 sysload=0.36 cputime=16.499 memavail=349488 print_time=248.786 buffer_time=29.013 print_stall=0 extruder: target=220 temp=222.1 pwm=0.127 extruder1: target=0 temp=24.2 pwm=0.000
Stats 199.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4966 bytes_read=26784 bytes_retransmit=9 bytes_invalid=0 send_seq=487 receive_seq=487 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000015 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1864 bytes_read=7778 bytes_retransmit=0 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999521 adj=49999590 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18620 bytes_read=32887 bytes_retransmit=0 bytes_invalid=0 send_seq=965 receive_seq=965 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999511 adj=63999450 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2486 bytes_read=23421 bytes_retransmit=9 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999679 adj=63999632 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=31.7 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1348 bytes_read=60881 bytes_retransmit=0 bytes_invalid=0 send_seq=223 receive_seq=223 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999873 adj=31999818 coil_temp=35.9 refs=0 mcu_temp=31.27 supply_voltage=3.071 sysload=0.36 cputime=16.551 memavail=349488 print_time=248.786 buffer_time=28.013 print_stall=0 extruder: target=220 temp=220.2 pwm=0.811 extruder1: target=0 temp=24.1 pwm=0.000
Stats 200.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4972 bytes_read=26930 bytes_retransmit=9 bytes_invalid=0 send_seq=488 receive_seq=488 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000015 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1870 bytes_read=7807 bytes_retransmit=0 bytes_invalid=0 send_seq=283 receive_seq=283 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999534 adj=49999613 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18699 bytes_read=33051 bytes_retransmit=0 bytes_invalid=0 send_seq=971 receive_seq=971 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999510 adj=63999452 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2492 bytes_read=23535 bytes_retransmit=9 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999681 adj=63999632 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=31.8 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1354 bytes_read=61237 bytes_retransmit=0 bytes_invalid=0 send_seq=224 receive_seq=224 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999872 adj=31999816 coil_temp=35.9 refs=0 mcu_temp=31.31 supply_voltage=3.071 sysload=0.36 cputime=16.604 memavail=348732 print_time=248.786 buffer_time=27.012 print_stall=0 extruder: target=220 temp=220.8 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 201.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4978 bytes_read=27033 bytes_retransmit=9 bytes_invalid=0 send_seq=489 receive_seq=489 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000021 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1876 bytes_read=7823 bytes_retransmit=0 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999536 adj=49999639 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18733 bytes_read=33214 bytes_retransmit=0 bytes_invalid=0 send_seq=974 receive_seq=974 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999512 adj=63999450 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2498 bytes_read=23649 bytes_retransmit=9 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999684 adj=63999636 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=31.7 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1360 bytes_read=61593 bytes_retransmit=0 bytes_invalid=0 send_seq=225 receive_seq=225 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999870 adj=31999814 coil_temp=35.9 refs=0 mcu_temp=31.36 supply_voltage=3.071 sysload=0.33 cputime=16.628 memavail=348744 print_time=248.786 buffer_time=26.011 print_stall=0 extruder: target=220 temp=222.9 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 202.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4984 bytes_read=27136 bytes_retransmit=9 bytes_invalid=0 send_seq=490 receive_seq=490 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000016 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1882 bytes_read=7839 bytes_retransmit=0 bytes_invalid=0 send_seq=285 receive_seq=285 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999536 adj=49999637 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18782 bytes_read=33383 bytes_retransmit=0 bytes_invalid=0 send_seq=978 receive_seq=978 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999518 adj=63999449 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2504 bytes_read=23763 bytes_retransmit=9 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999685 adj=63999638 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=31.7 EBB42_v1.2_T1: temp=28.5 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1366 bytes_read=61949 bytes_retransmit=0 bytes_invalid=0 send_seq=226 receive_seq=226 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999871 adj=31999808 coil_temp=36.0 refs=0 mcu_temp=31.39 supply_voltage=3.071 sysload=0.33 cputime=16.652 memavail=348744 print_time=248.786 buffer_time=25.011 print_stall=0 extruder: target=220 temp=222.0 pwm=0.114 extruder1: target=0 temp=24.2 pwm=0.000
Stats 203.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4990 bytes_read=27268 bytes_retransmit=9 bytes_invalid=0 send_seq=491 receive_seq=491 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000011 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1888 bytes_read=7855 bytes_retransmit=0 bytes_invalid=0 send_seq=286 receive_seq=286 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999541 adj=49999641 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18848 bytes_read=33542 bytes_retransmit=0 bytes_invalid=0 send_seq=983 receive_seq=983 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999514 adj=63999463 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2510 bytes_read=23863 bytes_retransmit=9 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999688 adj=63999643 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=28.4 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1372 bytes_read=62305 bytes_retransmit=0 bytes_invalid=0 send_seq=227 receive_seq=227 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999869 adj=31999812 coil_temp=36.0 refs=0 mcu_temp=31.43 supply_voltage=3.071 sysload=0.33 cputime=16.676 memavail=348248 print_time=248.786 buffer_time=24.010 print_stall=0 extruder: target=220 temp=220.3 pwm=0.824 extruder1: target=0 temp=24.2 pwm=0.000
Stats 204.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4996 bytes_read=27371 bytes_retransmit=9 bytes_invalid=0 send_seq=492 receive_seq=492 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000008 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000018 bytes_write=1894 bytes_read=7871 bytes_retransmit=0 bytes_invalid=0 send_seq=287 receive_seq=287 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999542 adj=49999653 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18914 bytes_read=33730 bytes_retransmit=0 bytes_invalid=0 send_seq=988 receive_seq=988 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999510 adj=63999460 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2516 bytes_read=23977 bytes_retransmit=9 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999687 adj=63999652 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=28.5 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1378 bytes_read=62661 bytes_retransmit=0 bytes_invalid=0 send_seq=228 receive_seq=228 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999866 adj=31999809 coil_temp=36.0 refs=0 mcu_temp=31.47 supply_voltage=3.071 sysload=0.33 cputime=16.701 memavail=348256 print_time=248.786 buffer_time=23.010 print_stall=0 extruder: target=220 temp=220.3 pwm=0.312 extruder1: target=0 temp=24.4 pwm=0.000
Stats 205.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5002 bytes_read=27488 bytes_retransmit=9 bytes_invalid=0 send_seq=493 receive_seq=493 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000003 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1900 bytes_read=7900 bytes_retransmit=0 bytes_invalid=0 send_seq=288 receive_seq=288 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999542 adj=49999656 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18961 bytes_read=33899 bytes_retransmit=0 bytes_invalid=0 send_seq=992 receive_seq=992 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999506 adj=63999455 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2522 bytes_read=24105 bytes_retransmit=9 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999684 adj=63999651 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1384 bytes_read=63017 bytes_retransmit=0 bytes_invalid=0 send_seq=229 receive_seq=229 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999863 adj=31999805 coil_temp=36.1 refs=0 mcu_temp=31.49 supply_voltage=3.071 sysload=0.33 cputime=16.729 memavail=348040 print_time=248.786 buffer_time=22.010 print_stall=0 extruder: target=220 temp=222.5 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 206.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5008 bytes_read=27620 bytes_retransmit=9 bytes_invalid=0 send_seq=494 receive_seq=494 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000012 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1906 bytes_read=7916 bytes_retransmit=0 bytes_invalid=0 send_seq=289 receive_seq=289 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999553 adj=49999659 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=18995 bytes_read=34048 bytes_retransmit=0 bytes_invalid=0 send_seq=995 receive_seq=995 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999505 adj=63999450 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2528 bytes_read=24205 bytes_retransmit=9 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999683 adj=63999648 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=31.8 EBB42_v1.2_T1: temp=28.3 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1390 bytes_read=63373 bytes_retransmit=0 bytes_invalid=0 send_seq=230 receive_seq=230 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999862 adj=31999802 coil_temp=36.1 refs=0 mcu_temp=31.52 supply_voltage=3.071 sysload=0.31 cputime=16.779 memavail=348040 print_time=248.786 buffer_time=21.009 print_stall=0 extruder: target=220 temp=221.8 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 207.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5014 bytes_read=27723 bytes_retransmit=9 bytes_invalid=0 send_seq=495 receive_seq=495 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000013 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1912 bytes_read=7932 bytes_retransmit=0 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999557 adj=49999673 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19076 bytes_read=34226 bytes_retransmit=0 bytes_invalid=0 send_seq=1001 receive_seq=1001 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999503 adj=63999442 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2534 bytes_read=24319 bytes_retransmit=9 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999684 adj=63999641 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1396 bytes_read=63729 bytes_retransmit=0 bytes_invalid=0 send_seq=231 receive_seq=231 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999860 adj=31999795 coil_temp=36.1 refs=0 mcu_temp=31.55 supply_voltage=3.071 sysload=0.31 cputime=16.834 memavail=348040 print_time=248.786 buffer_time=20.008 print_stall=0 extruder: target=220 temp=220.4 pwm=0.755 extruder1: target=0 temp=24.3 pwm=0.000
Stats 208.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5020 bytes_read=27826 bytes_retransmit=9 bytes_invalid=0 send_seq=496 receive_seq=496 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000013 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1918 bytes_read=7948 bytes_retransmit=0 bytes_invalid=0 send_seq=291 receive_seq=291 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999562 adj=49999682 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19157 bytes_read=34405 bytes_retransmit=0 bytes_invalid=0 send_seq=1007 receive_seq=1007 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999506 adj=63999438 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2540 bytes_read=24433 bytes_retransmit=9 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999682 adj=63999642 Octopus_V1.1_F446: temp=26.7 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1402 bytes_read=64085 bytes_retransmit=0 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999859 adj=31999792 coil_temp=36.1 refs=0 mcu_temp=31.60 supply_voltage=3.071 sysload=0.31 cputime=16.888 memavail=348048 print_time=248.786 buffer_time=19.007 print_stall=0 extruder: target=220 temp=220.1 pwm=0.141 extruder1: target=0 temp=24.3 pwm=0.000
Stats 209.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5026 bytes_read=27958 bytes_retransmit=9 bytes_invalid=0 send_seq=497 receive_seq=497 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000014 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1924 bytes_read=7964 bytes_retransmit=0 bytes_invalid=0 send_seq=292 receive_seq=292 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999585 adj=49999690 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19204 bytes_read=34574 bytes_retransmit=0 bytes_invalid=0 send_seq=1011 receive_seq=1011 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999503 adj=63999443 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2546 bytes_read=24533 bytes_retransmit=9 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999683 adj=63999640 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=31.9 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1408 bytes_read=64441 bytes_retransmit=0 bytes_invalid=0 send_seq=233 receive_seq=233 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999857 adj=31999790 coil_temp=36.1 refs=0 mcu_temp=31.63 supply_voltage=3.071 sysload=0.31 cputime=16.939 memavail=348048 print_time=248.786 buffer_time=18.007 print_stall=0 extruder: target=220 temp=222.3 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 210.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5032 bytes_read=28075 bytes_retransmit=9 bytes_invalid=0 send_seq=498 receive_seq=498 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000028 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=1930 bytes_read=7980 bytes_retransmit=0 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999588 adj=49999731 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19238 bytes_read=34737 bytes_retransmit=0 bytes_invalid=0 send_seq=1014 receive_seq=1014 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999505 adj=63999438 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2552 bytes_read=24661 bytes_retransmit=9 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999682 adj=63999640 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1414 bytes_read=64797 bytes_retransmit=0 bytes_invalid=0 send_seq=234 receive_seq=234 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999857 adj=31999786 coil_temp=36.1 refs=0 mcu_temp=31.65 supply_voltage=3.071 sysload=0.31 cputime=16.988 memavail=348052 print_time=248.786 buffer_time=17.006 print_stall=0 extruder: target=220 temp=222.2 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 211.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5038 bytes_read=28178 bytes_retransmit=9 bytes_invalid=0 send_seq=499 receive_seq=499 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000021 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1936 bytes_read=8009 bytes_retransmit=0 bytes_invalid=0 send_seq=294 receive_seq=294 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999588 adj=49999731 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19304 bytes_read=34911 bytes_retransmit=0 bytes_invalid=0 send_seq=1019 receive_seq=1019 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999505 adj=63999432 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2558 bytes_read=24775 bytes_retransmit=9 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999683 adj=63999630 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1420 bytes_read=65153 bytes_retransmit=0 bytes_invalid=0 send_seq=235 receive_seq=235 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999854 adj=31999782 coil_temp=36.2 refs=0 mcu_temp=31.68 supply_voltage=3.071 sysload=0.28 cputime=17.013 memavail=348052 print_time=248.786 buffer_time=16.005 print_stall=0 extruder: target=220 temp=220.2 pwm=0.734 extruder1: target=0 temp=24.2 pwm=0.000
Stats 212.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5044 bytes_read=28310 bytes_retransmit=9 bytes_invalid=0 send_seq=500 receive_seq=500 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000030 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1942 bytes_read=8025 bytes_retransmit=0 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999588 adj=49999733 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19386 bytes_read=35075 bytes_retransmit=0 bytes_invalid=0 send_seq=1025 receive_seq=1025 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999502 adj=63999437 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2564 bytes_read=24875 bytes_retransmit=9 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999681 adj=63999635 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=49.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1426 bytes_read=65509 bytes_retransmit=0 bytes_invalid=0 send_seq=236 receive_seq=236 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999852 adj=31999779 coil_temp=36.2 refs=0 mcu_temp=31.70 supply_voltage=3.071 sysload=0.28 cputime=17.038 memavail=348052 print_time=248.786 buffer_time=15.005 print_stall=0 extruder: target=220 temp=219.9 pwm=0.382 extruder1: target=0 temp=24.1 pwm=0.000
Stats 213.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5050 bytes_read=28413 bytes_retransmit=9 bytes_invalid=0 send_seq=501 receive_seq=501 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000024 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1948 bytes_read=8041 bytes_retransmit=0 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999587 adj=49999728 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19428 bytes_read=35238 bytes_retransmit=0 bytes_invalid=0 send_seq=1028 receive_seq=1028 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999500 adj=63999425 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2570 bytes_read=24989 bytes_retransmit=9 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999679 adj=63999625 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=32.0 EBB42_v1.2_T1: temp=28.5 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1432 bytes_read=65865 bytes_retransmit=0 bytes_invalid=0 send_seq=237 receive_seq=237 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999851 adj=31999772 coil_temp=36.3 refs=0 mcu_temp=31.73 supply_voltage=3.071 sysload=0.28 cputime=17.063 memavail=348056 print_time=248.786 buffer_time=14.005 print_stall=0 extruder: target=220 temp=221.9 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 214.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5056 bytes_read=28516 bytes_retransmit=9 bytes_invalid=0 send_seq=502 receive_seq=502 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000019 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1954 bytes_read=8057 bytes_retransmit=0 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999588 adj=49999731 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19462 bytes_read=35416 bytes_retransmit=0 bytes_invalid=0 send_seq=1031 receive_seq=1031 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999496 adj=63999426 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2576 bytes_read=25103 bytes_retransmit=9 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999676 adj=63999626 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1438 bytes_read=66221 bytes_retransmit=0 bytes_invalid=0 send_seq=238 receive_seq=238 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999849 adj=31999772 coil_temp=36.3 refs=0 mcu_temp=31.75 supply_voltage=3.071 sysload=0.28 cputime=17.088 memavail=348056 print_time=248.786 buffer_time=13.005 print_stall=0 extruder: target=220 temp=221.7 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 215.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5062 bytes_read=28662 bytes_retransmit=9 bytes_invalid=0 send_seq=503 receive_seq=503 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000014 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000020 bytes_write=1960 bytes_read=8073 bytes_retransmit=0 bytes_invalid=0 send_seq=298 receive_seq=298 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999588 adj=49999736 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19544 bytes_read=35580 bytes_retransmit=0 bytes_invalid=0 send_seq=1037 receive_seq=1037 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999492 adj=63999422 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2582 bytes_read=25217 bytes_retransmit=9 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999674 adj=63999625 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1444 bytes_read=66577 bytes_retransmit=0 bytes_invalid=0 send_seq=239 receive_seq=239 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999847 adj=31999770 coil_temp=36.3 refs=0 mcu_temp=31.79 supply_voltage=3.071 sysload=0.28 cputime=17.116 memavail=345552 print_time=248.786 buffer_time=12.004 print_stall=0 extruder: target=220 temp=219.8 pwm=0.933 extruder1: target=0 temp=24.4 pwm=0.000
Stats 216.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5068 bytes_read=28765 bytes_retransmit=9 bytes_invalid=0 send_seq=504 receive_seq=504 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000017 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=1966 bytes_read=8102 bytes_retransmit=0 bytes_invalid=0 send_seq=299 receive_seq=299 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999593 adj=49999738 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19626 bytes_read=35758 bytes_retransmit=0 bytes_invalid=0 send_seq=1043 receive_seq=1043 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999490 adj=63999419 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2588 bytes_read=25331 bytes_retransmit=9 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999673 adj=63999624 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=28.5 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1450 bytes_read=66933 bytes_retransmit=0 bytes_invalid=0 send_seq=240 receive_seq=240 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999845 adj=31999768 coil_temp=36.4 refs=0 mcu_temp=31.81 supply_voltage=3.071 sysload=0.26 cputime=17.169 memavail=345552 print_time=248.786 buffer_time=11.003 print_stall=0 extruder: target=220 temp=220.0 pwm=0.309 extruder1: target=0 temp=24.1 pwm=0.000
Stats 217.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5074 bytes_read=28862 bytes_retransmit=9 bytes_invalid=0 send_seq=505 receive_seq=505 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000015 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=1972 bytes_read=8118 bytes_retransmit=0 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999598 adj=49999744 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19673 bytes_read=35927 bytes_retransmit=0 bytes_invalid=0 send_seq=1047 receive_seq=1047 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999490 adj=63999413 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2594 bytes_read=25445 bytes_retransmit=9 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999678 adj=63999621 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=32.1 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1456 bytes_read=67289 bytes_retransmit=0 bytes_invalid=0 send_seq=241 receive_seq=241 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999845 adj=31999764 coil_temp=36.4 refs=0 mcu_temp=31.85 supply_voltage=3.071 sysload=0.26 cputime=17.221 memavail=345552 print_time=248.786 buffer_time=10.002 print_stall=0 extruder: target=220 temp=222.0 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 218.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5080 bytes_read=28989 bytes_retransmit=9 bytes_invalid=0 send_seq=506 receive_seq=506 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000019 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=1978 bytes_read=8134 bytes_retransmit=0 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999604 adj=49999754 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19722 bytes_read=36081 bytes_retransmit=0 bytes_invalid=0 send_seq=1051 receive_seq=1051 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999489 adj=63999414 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2600 bytes_read=25545 bytes_retransmit=9 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999678 adj=63999629 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1462 bytes_read=67645 bytes_retransmit=0 bytes_invalid=0 send_seq=242 receive_seq=242 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999844 adj=31999764 coil_temp=36.5 refs=0 mcu_temp=31.87 supply_voltage=3.071 sysload=0.26 cputime=17.277 memavail=346252 print_time=248.786 buffer_time=9.001 print_stall=0 extruder: target=220 temp=220.9 pwm=0.198 extruder1: target=0 temp=24.2 pwm=0.000
Stats 219.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5086 bytes_read=29092 bytes_retransmit=9 bytes_invalid=0 send_seq=507 receive_seq=507 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000034 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=1984 bytes_read=8150 bytes_retransmit=0 bytes_invalid=0 send_seq=302 receive_seq=302 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999609 adj=49999762 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19804 bytes_read=36273 bytes_retransmit=0 bytes_invalid=0 send_seq=1057 receive_seq=1057 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999489 adj=63999410 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2606 bytes_read=25659 bytes_retransmit=9 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999677 adj=63999628 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1468 bytes_read=68001 bytes_retransmit=0 bytes_invalid=0 send_seq=243 receive_seq=243 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999844 adj=31999762 coil_temp=36.5 refs=0 mcu_temp=31.90 supply_voltage=3.071 sysload=0.26 cputime=17.332 memavail=346316 print_time=248.786 buffer_time=8.000 print_stall=0 extruder: target=220 temp=219.8 pwm=0.619 extruder1: target=0 temp=24.3 pwm=0.000
Stats 220.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5092 bytes_read=29209 bytes_retransmit=9 bytes_invalid=0 send_seq=508 receive_seq=508 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000032 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=1990 bytes_read=8166 bytes_retransmit=0 bytes_invalid=0 send_seq=303 receive_seq=303 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999614 adj=49999763 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19896 bytes_read=36452 bytes_retransmit=0 bytes_invalid=0 send_seq=1063 receive_seq=1063 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999489 adj=63999401 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2612 bytes_read=25787 bytes_retransmit=9 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999677 adj=63999618 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1474 bytes_read=68357 bytes_retransmit=0 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999843 adj=31999757 coil_temp=36.5 refs=0 mcu_temp=31.93 supply_voltage=3.071 sysload=0.26 cputime=17.383 memavail=346092 print_time=248.786 buffer_time=7.000 print_stall=0 extruder: target=220 temp=219.8 pwm=0.055 extruder1: target=0 temp=24.2 pwm=0.000
Stats 221.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5104 bytes_read=29357 bytes_retransmit=9 bytes_invalid=0 send_seq=510 receive_seq=510 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000021 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=2002 bytes_read=8211 bytes_retransmit=0 bytes_invalid=0 send_seq=305 receive_seq=305 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999618 adj=49999773 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19949 bytes_read=36622 bytes_retransmit=0 bytes_invalid=0 send_seq=1068 receive_seq=1068 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999491 adj=63999401 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2624 bytes_read=25903 bytes_retransmit=9 bytes_invalid=0 send_seq=347 receive_seq=347 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999674 adj=63999618 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1486 bytes_read=68729 bytes_retransmit=0 bytes_invalid=0 send_seq=246 receive_seq=246 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999840 adj=31999756 coil_temp=36.6 refs=0 mcu_temp=31.95 supply_voltage=3.071 sysload=0.24 cputime=17.409 memavail=346096 print_time=248.786 buffer_time=5.999 print_stall=0 extruder: target=220 temp=221.8 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 222.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5110 bytes_read=29460 bytes_retransmit=9 bytes_invalid=0 send_seq=511 receive_seq=511 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000016 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=2008 bytes_read=8227 bytes_retransmit=0 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999620 adj=49999786 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=19983 bytes_read=36785 bytes_retransmit=0 bytes_invalid=0 send_seq=1071 receive_seq=1071 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999489 adj=63999412 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2630 bytes_read=26017 bytes_retransmit=9 bytes_invalid=0 send_seq=348 receive_seq=348 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999671 adj=63999619 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1492 bytes_read=69085 bytes_retransmit=0 bytes_invalid=0 send_seq=247 receive_seq=247 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999838 adj=31999754 coil_temp=36.6 refs=0 mcu_temp=31.99 supply_voltage=3.071 sysload=0.24 cputime=17.433 memavail=346096 print_time=248.786 buffer_time=4.998 print_stall=0 extruder: target=220 temp=221.7 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 223.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5116 bytes_read=29563 bytes_retransmit=9 bytes_invalid=0 send_seq=512 receive_seq=512 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000010 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=2014 bytes_read=8243 bytes_retransmit=0 bytes_invalid=0 send_seq=307 receive_seq=307 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999627 adj=49999791 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=20075 bytes_read=36964 bytes_retransmit=0 bytes_invalid=0 send_seq=1077 receive_seq=1077 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999486 adj=63999412 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2636 bytes_read=26131 bytes_retransmit=9 bytes_invalid=0 send_seq=349 receive_seq=349 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999669 adj=63999618 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=28.5 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1498 bytes_read=69441 bytes_retransmit=0 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999836 adj=31999752 coil_temp=36.6 refs=0 mcu_temp=32.02 supply_voltage=3.071 sysload=0.24 cputime=17.458 memavail=346096 print_time=248.786 buffer_time=3.997 print_stall=0 extruder: target=220 temp=219.4 pwm=0.971 extruder1: target=0 temp=24.2 pwm=0.000
Stats 224.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5122 bytes_read=29695 bytes_retransmit=9 bytes_invalid=0 send_seq=513 receive_seq=513 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000006 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=2020 bytes_read=8259 bytes_retransmit=0 bytes_invalid=0 send_seq=308 receive_seq=308 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999629 adj=49999805 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=20141 bytes_read=37138 bytes_retransmit=0 bytes_invalid=0 send_seq=1082 receive_seq=1082 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999484 adj=63999410 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2642 bytes_read=26231 bytes_retransmit=9 bytes_invalid=0 send_seq=350 receive_seq=350 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999667 adj=63999618 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.5 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1504 bytes_read=69797 bytes_retransmit=0 bytes_invalid=0 send_seq=249 receive_seq=249 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999836 adj=31999751 coil_temp=36.7 refs=0 mcu_temp=32.04 supply_voltage=3.071 sysload=0.24 cputime=17.483 memavail=345860 print_time=248.786 buffer_time=2.996 print_stall=0 extruder: target=220 temp=219.4 pwm=0.377 extruder1: target=0 temp=24.3 pwm=0.000
Stats 225.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5128 bytes_read=29812 bytes_retransmit=9 bytes_invalid=0 send_seq=514 receive_seq=514 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000008 rpi: mcu_awake=0.001 mcu_task_avg=0.000019 mcu_task_stddev=0.000021 bytes_write=2026 bytes_read=8275 bytes_retransmit=0 bytes_invalid=0 send_seq=309 receive_seq=309 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999633 adj=49999811 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=20556 bytes_read=37336 bytes_retransmit=0 bytes_invalid=0 send_seq=1092 receive_seq=1092 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=56 upcoming_bytes=0 freq=63999483 adj=63999409 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2648 bytes_read=26359 bytes_retransmit=9 bytes_invalid=0 send_seq=351 receive_seq=351 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999667 adj=63999616 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1510 bytes_read=70171 bytes_retransmit=0 bytes_invalid=0 send_seq=250 receive_seq=250 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999834 adj=31999752 coil_temp=36.7 refs=0 mcu_temp=32.07 supply_voltage=3.071 sysload=0.24 cputime=17.523 memavail=345636 print_time=248.963 buffer_time=2.165 print_stall=0 extruder: target=220 temp=221.9 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Extruder extruder already active
RatOS | TEMPERATURE_WAIT:: Waiting for sensor: extruder, MINIMUM: 220
RatOS:: please wait...
RatOS | TEMPERATURE_WAIT:: Temperature for toolhead T0 reached.
Stats 226.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5134 bytes_read=29915 bytes_retransmit=9 bytes_invalid=0 send_seq=515 receive_seq=515 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000017 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=2032 bytes_read=8304 bytes_retransmit=0 bytes_invalid=0 send_seq=310 receive_seq=310 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999634 adj=49999816 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=22517 bytes_read=37648 bytes_retransmit=0 bytes_invalid=0 send_seq=1126 receive_seq=1126 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999481 adj=63999406 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2654 bytes_read=26473 bytes_retransmit=9 bytes_invalid=0 send_seq=352 receive_seq=352 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999665 adj=63999616 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1516 bytes_read=70527 bytes_retransmit=0 bytes_invalid=0 send_seq=251 receive_seq=251 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999834 adj=31999749 coil_temp=36.8 refs=0 mcu_temp=32.10 supply_voltage=3.071 sysload=0.30 cputime=17.795 memavail=339668 print_time=279.307 buffer_time=31.508 print_stall=0 extruder: target=220 temp=221.6 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 227.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5140 bytes_read=30047 bytes_retransmit=9 bytes_invalid=0 send_seq=516 receive_seq=516 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000012 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=2038 bytes_read=8320 bytes_retransmit=0 bytes_invalid=0 send_seq=311 receive_seq=311 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999637 adj=49999774 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=22583 bytes_read=37800 bytes_retransmit=0 bytes_invalid=0 send_seq=1131 receive_seq=1131 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999482 adj=63999412 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2660 bytes_read=26573 bytes_retransmit=9 bytes_invalid=0 send_seq=353 receive_seq=353 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999664 adj=63999615 Octopus_V1.1_F446: temp=26.6 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1522 bytes_read=70883 bytes_retransmit=0 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999832 adj=31999762 coil_temp=36.8 refs=0 mcu_temp=32.14 supply_voltage=3.071 sysload=0.30 cputime=17.820 memavail=339668 print_time=279.307 buffer_time=30.508 print_stall=0 extruder: target=220 temp=220.3 pwm=0.707 extruder1: target=0 temp=24.2 pwm=0.000
Stats 228.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5146 bytes_read=30150 bytes_retransmit=9 bytes_invalid=0 send_seq=517 receive_seq=517 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000008 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=2044 bytes_read=8336 bytes_retransmit=0 bytes_invalid=0 send_seq=312 receive_seq=312 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999638 adj=49999783 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=22665 bytes_read=37970 bytes_retransmit=0 bytes_invalid=0 send_seq=1137 receive_seq=1137 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999479 adj=63999417 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2666 bytes_read=26687 bytes_retransmit=9 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999667 adj=63999616 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=32.5 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1528 bytes_read=71239 bytes_retransmit=0 bytes_invalid=0 send_seq=253 receive_seq=253 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999833 adj=31999760 coil_temp=36.9 refs=0 mcu_temp=32.17 supply_voltage=3.071 sysload=0.30 cputime=17.845 memavail=343448 print_time=279.307 buffer_time=29.508 print_stall=0 extruder: target=220 temp=219.6 pwm=0.527 extruder1: target=0 temp=24.2 pwm=0.000
Stats 229.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5152 bytes_read=30253 bytes_retransmit=9 bytes_invalid=0 send_seq=518 receive_seq=518 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000004 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=2050 bytes_read=8352 bytes_retransmit=0 bytes_invalid=0 send_seq=313 receive_seq=313 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999640 adj=49999788 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=22727 bytes_read=38151 bytes_retransmit=0 bytes_invalid=0 send_seq=1142 receive_seq=1142 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999476 adj=63999413 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2672 bytes_read=26801 bytes_retransmit=9 bytes_invalid=0 send_seq=355 receive_seq=355 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999665 adj=63999626 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.2 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1534 bytes_read=71595 bytes_retransmit=0 bytes_invalid=0 send_seq=254 receive_seq=254 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999832 adj=31999763 coil_temp=36.9 refs=0 mcu_temp=32.21 supply_voltage=3.071 sysload=0.30 cputime=17.870 memavail=348244 print_time=279.307 buffer_time=28.508 print_stall=0 extruder: target=220 temp=222.0 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 230.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5158 bytes_read=30399 bytes_retransmit=9 bytes_invalid=0 send_seq=519 receive_seq=519 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000006 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=2056 bytes_read=8368 bytes_retransmit=0 bytes_invalid=0 send_seq=314 receive_seq=314 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999641 adj=49999793 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=22761 bytes_read=38298 bytes_retransmit=0 bytes_invalid=0 send_seq=1145 receive_seq=1145 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999481 adj=63999409 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2678 bytes_read=26915 bytes_retransmit=9 bytes_invalid=0 send_seq=356 receive_seq=356 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999663 adj=63999624 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=32.4 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1540 bytes_read=71951 bytes_retransmit=0 bytes_invalid=0 send_seq=255 receive_seq=255 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999830 adj=31999763 coil_temp=36.9 refs=0 mcu_temp=32.23 supply_voltage=3.071 sysload=0.30 cputime=17.894 memavail=347516 print_time=279.307 buffer_time=27.507 print_stall=0 extruder: target=220 temp=221.6 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 231.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5164 bytes_read=30502 bytes_retransmit=9 bytes_invalid=0 send_seq=520 receive_seq=520 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000011 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=2062 bytes_read=8397 bytes_retransmit=0 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999648 adj=49999796 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=22827 bytes_read=38471 bytes_retransmit=0 bytes_invalid=0 send_seq=1150 receive_seq=1150 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999496 adj=63999420 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2684 bytes_read=27029 bytes_retransmit=9 bytes_invalid=0 send_seq=357 receive_seq=357 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999664 adj=63999620 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.3 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1546 bytes_read=72307 bytes_retransmit=0 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999830 adj=31999758 coil_temp=37.0 refs=0 mcu_temp=32.25 supply_voltage=3.071 sysload=0.27 cputime=17.938 memavail=347016 print_time=279.307 buffer_time=26.507 print_stall=0 extruder: target=220 temp=220.0 pwm=0.892 extruder1: target=0 temp=24.1 pwm=0.000
Stats 232.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5170 bytes_read=30605 bytes_retransmit=9 bytes_invalid=0 send_seq=521 receive_seq=521 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000016 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=2068 bytes_read=8413 bytes_retransmit=0 bytes_invalid=0 send_seq=316 receive_seq=316 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999670 adj=49999807 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=22924 bytes_read=38655 bytes_retransmit=0 bytes_invalid=0 send_seq=1157 receive_seq=1157 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63999446 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2690 bytes_read=27143 bytes_retransmit=9 bytes_invalid=0 send_seq=358 receive_seq=358 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999664 adj=63999618 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.4 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1552 bytes_read=72663 bytes_retransmit=0 bytes_invalid=0 send_seq=257 receive_seq=257 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999829 adj=31999756 coil_temp=37.0 refs=0 mcu_temp=32.28 supply_voltage=3.071 sysload=0.27 cputime=17.989 memavail=347016 print_time=279.307 buffer_time=25.507 print_stall=0 extruder: target=220 temp=220.0 pwm=0.157 extruder1: target=0 temp=24.2 pwm=0.000
Stats 233.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5176 bytes_read=30737 bytes_retransmit=9 bytes_invalid=0 send_seq=522 receive_seq=522 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000018 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=2074 bytes_read=8429 bytes_retransmit=0 bytes_invalid=0 send_seq=317 receive_seq=317 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999674 adj=49999848 toolboard_t0: mcu_awake=0.009 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=22971 bytes_read=38809 bytes_retransmit=0 bytes_invalid=0 send_seq=1161 receive_seq=1161 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999497 adj=63999440 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2696 bytes_read=27243 bytes_retransmit=9 bytes_invalid=0 send_seq=359 receive_seq=359 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999664 adj=63999614 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1558 bytes_read=73019 bytes_retransmit=0 bytes_invalid=0 send_seq=258 receive_seq=258 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999829 adj=31999753 coil_temp=37.0 refs=0 mcu_temp=32.31 supply_voltage=3.071 sysload=0.27 cputime=18.039 memavail=347016 print_time=279.307 buffer_time=24.507 print_stall=0 extruder: target=220 temp=221.8 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 234.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5182 bytes_read=30840 bytes_retransmit=9 bytes_invalid=0 send_seq=523 receive_seq=523 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000020 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=2080 bytes_read=8445 bytes_retransmit=0 bytes_invalid=0 send_seq=318 receive_seq=318 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999678 adj=49999856 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23005 bytes_read=38986 bytes_retransmit=0 bytes_invalid=0 send_seq=1164 receive_seq=1164 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999494 adj=63999444 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2702 bytes_read=27357 bytes_retransmit=9 bytes_invalid=0 send_seq=360 receive_seq=360 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999664 adj=63999612 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1564 bytes_read=73375 bytes_retransmit=0 bytes_invalid=0 send_seq=259 receive_seq=259 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999828 adj=31999751 coil_temp=37.1 refs=0 mcu_temp=32.33 supply_voltage=3.071 sysload=0.27 cputime=18.090 memavail=346780 print_time=279.307 buffer_time=23.506 print_stall=0 extruder: target=220 temp=221.8 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 235.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5188 bytes_read=30957 bytes_retransmit=9 bytes_invalid=0 send_seq=524 receive_seq=524 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000020 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000009 bytes_write=2086 bytes_read=8461 bytes_retransmit=0 bytes_invalid=0 send_seq=319 receive_seq=319 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999684 adj=49999863 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23087 bytes_read=39165 bytes_retransmit=0 bytes_invalid=0 send_seq=1170 receive_seq=1170 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999495 adj=63999436 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2708 bytes_read=27485 bytes_retransmit=9 bytes_invalid=0 send_seq=361 receive_seq=361 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999663 adj=63999610 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1570 bytes_read=73731 bytes_retransmit=0 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999827 adj=31999749 coil_temp=37.1 refs=0 mcu_temp=32.35 supply_voltage=3.071 sysload=0.27 cputime=18.140 memavail=346808 print_time=279.307 buffer_time=22.505 print_stall=0 extruder: target=220 temp=219.7 pwm=0.782 extruder1: target=0 temp=24.3 pwm=0.000
Stats 236.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5194 bytes_read=31089 bytes_retransmit=9 bytes_invalid=0 send_seq=525 receive_seq=525 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000018 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2092 bytes_read=8490 bytes_retransmit=0 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999684 adj=49999875 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23166 bytes_read=39329 bytes_retransmit=0 bytes_invalid=0 send_seq=1176 receive_seq=1176 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999490 adj=63999437 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2714 bytes_read=27585 bytes_retransmit=9 bytes_invalid=0 send_seq=362 receive_seq=362 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999662 adj=63999609 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.5 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1576 bytes_read=74087 bytes_retransmit=0 bytes_invalid=0 send_seq=261 receive_seq=261 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999825 adj=31999747 coil_temp=37.1 refs=0 mcu_temp=32.38 supply_voltage=3.071 sysload=0.25 cputime=18.165 memavail=343536 print_time=279.307 buffer_time=21.505 print_stall=0 extruder: target=220 temp=220.2 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 237.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5200 bytes_read=31192 bytes_retransmit=9 bytes_invalid=0 send_seq=526 receive_seq=526 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000016 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2098 bytes_read=8506 bytes_retransmit=0 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999684 adj=49999877 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23200 bytes_read=39492 bytes_retransmit=0 bytes_invalid=0 send_seq=1179 receive_seq=1179 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999486 adj=63999430 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2720 bytes_read=27699 bytes_retransmit=9 bytes_invalid=0 send_seq=363 receive_seq=363 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999660 adj=63999607 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1582 bytes_read=74443 bytes_retransmit=0 bytes_invalid=0 send_seq=262 receive_seq=262 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999823 adj=31999744 coil_temp=37.2 refs=0 mcu_temp=32.40 supply_voltage=3.071 sysload=0.25 cputime=18.190 memavail=339504 print_time=279.307 buffer_time=20.505 print_stall=0 extruder: target=220 temp=222.2 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 238.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5206 bytes_read=31295 bytes_retransmit=9 bytes_invalid=0 send_seq=527 receive_seq=527 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000018 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2104 bytes_read=8522 bytes_retransmit=0 bytes_invalid=0 send_seq=322 receive_seq=322 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999685 adj=49999878 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23249 bytes_read=39661 bytes_retransmit=0 bytes_invalid=0 send_seq=1183 receive_seq=1183 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999482 adj=63999422 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2726 bytes_read=27813 bytes_retransmit=9 bytes_invalid=0 send_seq=364 receive_seq=364 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999658 adj=63999605 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.7 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1588 bytes_read=74799 bytes_retransmit=0 bytes_invalid=0 send_seq=263 receive_seq=263 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999821 adj=31999740 coil_temp=37.2 refs=0 mcu_temp=32.43 supply_voltage=3.071 sysload=0.25 cputime=18.213 memavail=339504 print_time=279.307 buffer_time=19.504 print_stall=0 extruder: target=220 temp=221.1 pwm=0.223 extruder1: target=0 temp=24.1 pwm=0.000
Stats 239.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5212 bytes_read=31427 bytes_retransmit=9 bytes_invalid=0 send_seq=528 receive_seq=528 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000023 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2110 bytes_read=8538 bytes_retransmit=0 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999686 adj=49999878 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23331 bytes_read=39839 bytes_retransmit=0 bytes_invalid=0 send_seq=1189 receive_seq=1189 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999478 adj=63999413 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000010 bytes_write=2732 bytes_read=27913 bytes_retransmit=9 bytes_invalid=0 send_seq=365 receive_seq=365 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999656 adj=63999600 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1594 bytes_read=75155 bytes_retransmit=0 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999819 adj=31999735 coil_temp=37.2 refs=0 mcu_temp=32.47 supply_voltage=3.071 sysload=0.25 cputime=18.238 memavail=352212 print_time=279.307 buffer_time=18.504 print_stall=0 extruder: target=220 temp=219.5 pwm=0.935 extruder1: target=0 temp=24.3 pwm=0.000
Stats 240.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5218 bytes_read=31544 bytes_retransmit=9 bytes_invalid=0 send_seq=529 receive_seq=529 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000022 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2116 bytes_read=8554 bytes_retransmit=0 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999686 adj=49999879 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23412 bytes_read=40017 bytes_retransmit=0 bytes_invalid=0 send_seq=1195 receive_seq=1195 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999474 adj=63999402 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2738 bytes_read=28041 bytes_retransmit=9 bytes_invalid=0 send_seq=366 receive_seq=366 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999661 adj=63999593 Octopus_V1.1_F446: temp=26.5 EBB42_v1.2_T0: temp=32.5 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1600 bytes_read=75511 bytes_retransmit=0 bytes_invalid=0 send_seq=265 receive_seq=265 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999818 adj=31999730 coil_temp=37.2 refs=0 mcu_temp=32.50 supply_voltage=3.071 sysload=0.25 cputime=18.266 memavail=351000 print_time=279.307 buffer_time=17.504 print_stall=0 extruder: target=220 temp=220.0 pwm=0.092 extruder1: target=0 temp=24.2 pwm=0.000
Stats 241.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5224 bytes_read=31639 bytes_retransmit=9 bytes_invalid=0 send_seq=530 receive_seq=530 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000023 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=2122 bytes_read=8583 bytes_retransmit=0 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999691 adj=49999879 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23459 bytes_read=40186 bytes_retransmit=0 bytes_invalid=0 send_seq=1199 receive_seq=1199 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999473 adj=63999395 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2744 bytes_read=28155 bytes_retransmit=9 bytes_invalid=0 send_seq=367 receive_seq=367 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999661 adj=63999603 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.8 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1606 bytes_read=75867 bytes_retransmit=0 bytes_invalid=0 send_seq=266 receive_seq=266 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999816 adj=31999728 coil_temp=37.2 refs=0 mcu_temp=32.52 supply_voltage=3.071 sysload=0.23 cputime=18.318 memavail=351000 print_time=279.307 buffer_time=16.503 print_stall=0 extruder: target=220 temp=222.2 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 242.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5230 bytes_read=31766 bytes_retransmit=9 bytes_invalid=0 send_seq=531 receive_seq=531 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000023 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=2128 bytes_read=8599 bytes_retransmit=0 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999703 adj=49999888 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23493 bytes_read=40335 bytes_retransmit=0 bytes_invalid=0 send_seq=1202 receive_seq=1202 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999471 adj=63999392 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2750 bytes_read=28255 bytes_retransmit=9 bytes_invalid=0 send_seq=368 receive_seq=368 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999660 adj=63999601 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1612 bytes_read=76223 bytes_retransmit=0 bytes_invalid=0 send_seq=267 receive_seq=267 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999816 adj=31999725 coil_temp=37.3 refs=0 mcu_temp=32.56 supply_voltage=3.071 sysload=0.23 cputime=18.367 memavail=351000 print_time=279.307 buffer_time=15.502 print_stall=0 extruder: target=220 temp=221.4 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 243.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5236 bytes_read=31869 bytes_retransmit=9 bytes_invalid=0 send_seq=532 receive_seq=532 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000024 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=2134 bytes_read=8615 bytes_retransmit=0 bytes_invalid=0 send_seq=327 receive_seq=327 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999707 adj=49999909 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23570 bytes_read=40508 bytes_retransmit=0 bytes_invalid=0 send_seq=1207 receive_seq=1207 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999469 adj=63999387 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2756 bytes_read=28369 bytes_retransmit=9 bytes_invalid=0 send_seq=369 receive_seq=369 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999660 adj=63999601 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1618 bytes_read=76563 bytes_retransmit=0 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999816 adj=31999723 coil_temp=37.3 refs=0 mcu_temp=32.58 supply_voltage=3.071 sysload=0.23 cputime=18.418 memavail=351700 print_time=279.307 buffer_time=14.502 print_stall=0 extruder: target=220 temp=219.4 pwm=1.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 244.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5242 bytes_read=31972 bytes_retransmit=9 bytes_invalid=0 send_seq=533 receive_seq=533 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000028 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=2140 bytes_read=8631 bytes_retransmit=0 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999729 adj=49999918 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23659 bytes_read=40702 bytes_retransmit=0 bytes_invalid=0 send_seq=1213 receive_seq=1213 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999467 adj=63999384 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2762 bytes_read=28483 bytes_retransmit=9 bytes_invalid=0 send_seq=370 receive_seq=370 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999659 adj=63999600 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.6 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1624 bytes_read=76919 bytes_retransmit=0 bytes_invalid=0 send_seq=269 receive_seq=269 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999815 adj=31999724 coil_temp=37.4 refs=0 mcu_temp=32.62 supply_voltage=3.071 sysload=0.23 cputime=18.472 memavail=350756 print_time=279.307 buffer_time=13.501 print_stall=0 extruder: target=220 temp=220.3 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 245.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5248 bytes_read=32118 bytes_retransmit=9 bytes_invalid=0 send_seq=534 receive_seq=534 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000028 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=2146 bytes_read=8647 bytes_retransmit=0 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999731 adj=49999958 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23693 bytes_read=40851 bytes_retransmit=0 bytes_invalid=0 send_seq=1216 receive_seq=1216 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999466 adj=63999378 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2768 bytes_read=28590 bytes_retransmit=9 bytes_invalid=0 send_seq=371 receive_seq=371 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999662 adj=63999596 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.7 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=45.8 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1630 bytes_read=77275 bytes_retransmit=0 bytes_invalid=0 send_seq=270 receive_seq=270 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999814 adj=31999721 coil_temp=37.4 refs=0 mcu_temp=32.64 supply_voltage=3.071 sysload=0.23 cputime=18.520 memavail=349780 print_time=279.307 buffer_time=12.501 print_stall=0 extruder: target=220 temp=222.5 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 246.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5254 bytes_read=32221 bytes_retransmit=9 bytes_invalid=0 send_seq=535 receive_seq=535 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000026 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=2152 bytes_read=8676 bytes_retransmit=0 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999730 adj=49999962 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23742 bytes_read=41019 bytes_retransmit=0 bytes_invalid=0 send_seq=1220 receive_seq=1220 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999463 adj=63999375 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2774 bytes_read=28696 bytes_retransmit=9 bytes_invalid=0 send_seq=372 receive_seq=372 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999660 adj=63999601 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.7 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1636 bytes_read=77631 bytes_retransmit=0 bytes_invalid=0 send_seq=271 receive_seq=271 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999813 adj=31999719 coil_temp=37.4 refs=0 mcu_temp=32.66 supply_voltage=3.071 sysload=0.21 cputime=18.544 memavail=349780 print_time=279.307 buffer_time=11.500 print_stall=0 extruder: target=220 temp=221.6 pwm=0.119 extruder1: target=0 temp=24.2 pwm=0.000
Stats 247.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5260 bytes_read=32324 bytes_retransmit=9 bytes_invalid=0 send_seq=536 receive_seq=536 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000023 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=2158 bytes_read=8692 bytes_retransmit=0 bytes_invalid=0 send_seq=331 receive_seq=331 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999728 adj=49999960 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23839 bytes_read=41203 bytes_retransmit=0 bytes_invalid=0 send_seq=1227 receive_seq=1227 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999460 adj=63999370 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2780 bytes_read=28802 bytes_retransmit=9 bytes_invalid=0 send_seq=373 receive_seq=373 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999658 adj=63999598 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.8 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1642 bytes_read=77987 bytes_retransmit=0 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999811 adj=31999717 coil_temp=37.5 refs=0 mcu_temp=32.68 supply_voltage=3.071 sysload=0.21 cputime=18.568 memavail=349796 print_time=279.307 buffer_time=10.500 print_stall=0 extruder: target=220 temp=220.0 pwm=0.757 extruder1: target=0 temp=24.2 pwm=0.000
Stats 248.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5266 bytes_read=32456 bytes_retransmit=9 bytes_invalid=0 send_seq=537 receive_seq=537 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000029 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=2164 bytes_read=8708 bytes_retransmit=0 bytes_invalid=0 send_seq=332 receive_seq=332 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999729 adj=49999959 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23902 bytes_read=41362 bytes_retransmit=0 bytes_invalid=0 send_seq=1232 receive_seq=1232 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999462 adj=63999367 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2786 bytes_read=28895 bytes_retransmit=9 bytes_invalid=0 send_seq=374 receive_seq=374 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999657 adj=63999596 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.8 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1648 bytes_read=78343 bytes_retransmit=0 bytes_invalid=0 send_seq=273 receive_seq=273 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999810 adj=31999715 coil_temp=37.5 refs=0 mcu_temp=32.70 supply_voltage=3.071 sysload=0.21 cputime=18.593 memavail=349796 print_time=279.307 buffer_time=9.500 print_stall=0 extruder: target=220 temp=220.4 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 249.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5272 bytes_read=32559 bytes_retransmit=9 bytes_invalid=0 send_seq=538 receive_seq=538 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000026 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=2170 bytes_read=8724 bytes_retransmit=0 bytes_invalid=0 send_seq=333 receive_seq=333 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999727 adj=49999957 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23936 bytes_read=41539 bytes_retransmit=0 bytes_invalid=0 send_seq=1235 receive_seq=1235 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999459 adj=63999368 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2792 bytes_read=29007 bytes_retransmit=9 bytes_invalid=0 send_seq=375 receive_seq=375 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999592 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.8 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1654 bytes_read=78699 bytes_retransmit=0 bytes_invalid=0 send_seq=274 receive_seq=274 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999809 adj=31999710 coil_temp=37.5 refs=0 mcu_temp=32.72 supply_voltage=3.071 sysload=0.21 cputime=18.617 memavail=349796 print_time=279.307 buffer_time=8.500 print_stall=0 extruder: target=220 temp=221.8 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 250.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5278 bytes_read=32676 bytes_retransmit=9 bytes_invalid=0 send_seq=539 receive_seq=539 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000021 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=2176 bytes_read=8740 bytes_retransmit=0 bytes_invalid=0 send_seq=334 receive_seq=334 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999726 adj=49999956 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=23986 bytes_read=41708 bytes_retransmit=0 bytes_invalid=0 send_seq=1239 receive_seq=1239 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999456 adj=63999364 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2798 bytes_read=29135 bytes_retransmit=9 bytes_invalid=0 send_seq=376 receive_seq=376 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999655 adj=63999590 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=33.1 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1660 bytes_read=79055 bytes_retransmit=0 bytes_invalid=0 send_seq=275 receive_seq=275 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999807 adj=31999709 coil_temp=37.5 refs=0 mcu_temp=32.73 supply_voltage=3.071 sysload=0.21 cputime=18.647 memavail=349812 print_time=279.307 buffer_time=7.499 print_stall=0 extruder: target=220 temp=220.9 pwm=0.298 extruder1: target=0 temp=24.1 pwm=0.000
Stats 251.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5284 bytes_read=32808 bytes_retransmit=9 bytes_invalid=0 send_seq=540 receive_seq=540 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000027 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=2182 bytes_read=8769 bytes_retransmit=0 bytes_invalid=0 send_seq=335 receive_seq=335 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999731 adj=49999956 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=24047 bytes_read=41862 bytes_retransmit=0 bytes_invalid=0 send_seq=1243 receive_seq=1243 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999456 adj=63999361 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2804 bytes_read=29235 bytes_retransmit=9 bytes_invalid=0 send_seq=377 receive_seq=377 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999658 adj=63999591 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1666 bytes_read=79411 bytes_retransmit=0 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999806 adj=31999708 coil_temp=37.5 refs=0 mcu_temp=32.77 supply_voltage=3.071 sysload=0.28 cputime=18.698 memavail=349812 print_time=279.307 buffer_time=6.499 print_stall=0 extruder: target=220 temp=219.5 pwm=0.795 extruder1: target=0 temp=24.2 pwm=0.000
Stats 252.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5290 bytes_read=32911 bytes_retransmit=9 bytes_invalid=0 send_seq=541 receive_seq=541 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000028 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=2188 bytes_read=8785 bytes_retransmit=0 bytes_invalid=0 send_seq=336 receive_seq=336 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999734 adj=49999962 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=24121 bytes_read=42035 bytes_retransmit=0 bytes_invalid=0 send_seq=1248 receive_seq=1248 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999455 adj=63999357 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2810 bytes_read=29363 bytes_retransmit=9 bytes_invalid=0 send_seq=378 receive_seq=378 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999670 adj=63999595 Octopus_V1.1_F446: temp=26.4 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1672 bytes_read=79767 bytes_retransmit=0 bytes_invalid=0 send_seq=277 receive_seq=277 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999806 adj=31999704 coil_temp=37.5 refs=0 mcu_temp=32.79 supply_voltage=3.071 sysload=0.28 cputime=18.750 memavail=349812 print_time=279.307 buffer_time=5.499 print_stall=0 extruder: target=220 temp=220.6 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 253.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5296 bytes_read=33014 bytes_retransmit=9 bytes_invalid=0 send_seq=542 receive_seq=542 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000029 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=2194 bytes_read=8801 bytes_retransmit=0 bytes_invalid=0 send_seq=337 receive_seq=337 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999737 adj=49999967 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=24155 bytes_read=42199 bytes_retransmit=0 bytes_invalid=0 send_seq=1251 receive_seq=1251 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999469 adj=63999355 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2816 bytes_read=29463 bytes_retransmit=9 bytes_invalid=0 send_seq=379 receive_seq=379 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999673 adj=63999616 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1678 bytes_read=80123 bytes_retransmit=0 bytes_invalid=0 send_seq=278 receive_seq=278 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999808 adj=31999704 coil_temp=37.6 refs=0 mcu_temp=32.80 supply_voltage=3.071 sysload=0.28 cputime=18.799 memavail=349812 print_time=279.307 buffer_time=4.498 print_stall=0 extruder: target=220 temp=222.6 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 254.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5302 bytes_read=33146 bytes_retransmit=9 bytes_invalid=0 send_seq=543 receive_seq=543 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000028 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=2200 bytes_read=8817 bytes_retransmit=0 bytes_invalid=0 send_seq=338 receive_seq=338 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999741 adj=49999972 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=24204 bytes_read=42367 bytes_retransmit=0 bytes_invalid=0 send_seq=1255 receive_seq=1255 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999469 adj=63999380 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2822 bytes_read=29563 bytes_retransmit=9 bytes_invalid=0 send_seq=380 receive_seq=380 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999674 adj=63999620 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1684 bytes_read=80479 bytes_retransmit=0 bytes_invalid=0 send_seq=279 receive_seq=279 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999807 adj=31999706 coil_temp=37.6 refs=0 mcu_temp=32.81 supply_voltage=3.071 sysload=0.28 cputime=18.850 memavail=349560 print_time=279.307 buffer_time=3.498 print_stall=0 extruder: target=220 temp=221.3 pwm=0.228 extruder1: target=0 temp=24.2 pwm=0.000
Stats 255.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5308 bytes_read=33263 bytes_retransmit=9 bytes_invalid=0 send_seq=544 receive_seq=544 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000028 rpi: mcu_awake=0.001 mcu_task_avg=0.000009 mcu_task_stddev=0.000008 bytes_write=2206 bytes_read=8833 bytes_retransmit=0 bytes_invalid=0 send_seq=339 receive_seq=339 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999744 adj=49999979 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=24281 bytes_read=42555 bytes_retransmit=0 bytes_invalid=0 send_seq=1260 receive_seq=1260 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999469 adj=63999381 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2828 bytes_read=29705 bytes_retransmit=9 bytes_invalid=0 send_seq=381 receive_seq=381 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999675 adj=63999622 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1690 bytes_read=80835 bytes_retransmit=0 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999808 adj=31999705 coil_temp=37.6 refs=0 mcu_temp=32.83 supply_voltage=3.071 sysload=0.28 cputime=18.898 memavail=349312 print_time=279.307 buffer_time=2.497 print_stall=0 extruder: target=220 temp=219.7 pwm=0.783 extruder1: target=0 temp=24.3 pwm=0.000
Stats 256.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5314 bytes_read=33366 bytes_retransmit=9 bytes_invalid=0 send_seq=545 receive_seq=545 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000022 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2212 bytes_read=8862 bytes_retransmit=0 bytes_invalid=0 send_seq=340 receive_seq=340 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999748 adj=49999985 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=25376 bytes_read=42794 bytes_retransmit=0 bytes_invalid=0 send_seq=1281 receive_seq=1281 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=7 upcoming_bytes=526 freq=63999467 adj=63999380 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2834 bytes_read=29805 bytes_retransmit=9 bytes_invalid=0 send_seq=382 receive_seq=382 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999673 adj=63999623 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.7 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1696 bytes_read=81191 bytes_retransmit=0 bytes_invalid=0 send_seq=281 receive_seq=281 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999806 adj=31999707 coil_temp=37.6 refs=0 mcu_temp=32.84 supply_voltage=3.071 sysload=0.33 cputime=19.118 memavail=349324 print_time=314.568 buffer_time=36.758 print_stall=0 extruder: target=220 temp=220.6 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 257.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5320 bytes_read=33498 bytes_retransmit=9 bytes_invalid=0 send_seq=546 receive_seq=546 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000017 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2218 bytes_read=8878 bytes_retransmit=0 bytes_invalid=0 send_seq=341 receive_seq=341 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999748 adj=49999865 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=25988 bytes_read=42988 bytes_retransmit=0 bytes_invalid=0 send_seq=1293 receive_seq=1293 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999463 adj=63999423 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2840 bytes_read=29905 bytes_retransmit=9 bytes_invalid=0 send_seq=383 receive_seq=383 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999669 adj=63999645 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1702 bytes_read=81547 bytes_retransmit=0 bytes_invalid=0 send_seq=282 receive_seq=282 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999805 adj=31999756 coil_temp=37.7 refs=0 mcu_temp=32.87 supply_voltage=3.071 sysload=0.33 cputime=19.144 memavail=349324 print_time=314.568 buffer_time=35.757 print_stall=0 extruder: target=220 temp=222.1 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 258.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5326 bytes_read=33601 bytes_retransmit=9 bytes_invalid=0 send_seq=547 receive_seq=547 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000013 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2224 bytes_read=8894 bytes_retransmit=0 bytes_invalid=0 send_seq=342 receive_seq=342 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999747 adj=49999867 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26022 bytes_read=43166 bytes_retransmit=0 bytes_invalid=0 send_seq=1296 receive_seq=1296 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=11 upcoming_bytes=0 freq=63999467 adj=63999418 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2846 bytes_read=30033 bytes_retransmit=9 bytes_invalid=0 send_seq=384 receive_seq=384 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999667 adj=63999643 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1708 bytes_read=81903 bytes_retransmit=0 bytes_invalid=0 send_seq=283 receive_seq=283 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999803 adj=31999756 coil_temp=37.7 refs=0 mcu_temp=32.89 supply_voltage=3.071 sysload=0.33 cputime=19.168 memavail=349324 print_time=314.568 buffer_time=34.757 print_stall=0 extruder: target=220 temp=220.8 pwm=0.541 extruder1: target=0 temp=24.4 pwm=0.000
Stats 259.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5332 bytes_read=33704 bytes_retransmit=9 bytes_invalid=0 send_seq=548 receive_seq=548 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000007 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2230 bytes_read=8910 bytes_retransmit=0 bytes_invalid=0 send_seq=343 receive_seq=343 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999746 adj=49999869 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=26120 bytes_read=43350 bytes_retransmit=0 bytes_invalid=0 send_seq=1303 receive_seq=1303 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999463 adj=63999428 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2852 bytes_read=30133 bytes_retransmit=9 bytes_invalid=0 send_seq=385 receive_seq=385 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999666 adj=63999642 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1714 bytes_read=82251 bytes_retransmit=0 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999801 adj=31999753 coil_temp=37.7 refs=0 mcu_temp=32.92 supply_voltage=3.071 sysload=0.33 cputime=19.193 memavail=349332 print_time=314.568 buffer_time=33.757 print_stall=0 extruder: target=220 temp=219.7 pwm=0.730 extruder1: target=0 temp=24.2 pwm=0.000
Stats 260.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5338 bytes_read=33850 bytes_retransmit=9 bytes_invalid=0 send_seq=549 receive_seq=549 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000003 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000019 bytes_write=2236 bytes_read=8926 bytes_retransmit=0 bytes_invalid=0 send_seq=344 receive_seq=344 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999746 adj=49999872 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=26199 bytes_read=43514 bytes_retransmit=0 bytes_invalid=0 send_seq=1309 receive_seq=1309 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999468 adj=63999424 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2858 bytes_read=30247 bytes_retransmit=9 bytes_invalid=0 send_seq=386 receive_seq=386 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999666 adj=63999642 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1720 bytes_read=82596 bytes_retransmit=0 bytes_invalid=0 send_seq=285 receive_seq=285 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999800 adj=31999752 coil_temp=37.8 refs=0 mcu_temp=32.94 supply_voltage=3.071 sysload=0.33 cputime=19.224 memavail=348836 print_time=314.568 buffer_time=32.756 print_stall=0 extruder: target=220 temp=220.5 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 261.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5344 bytes_read=33953 bytes_retransmit=9 bytes_invalid=0 send_seq=550 receive_seq=550 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000004 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=2242 bytes_read=8955 bytes_retransmit=0 bytes_invalid=0 send_seq=345 receive_seq=345 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999749 adj=49999874 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=26233 bytes_read=43692 bytes_retransmit=0 bytes_invalid=0 send_seq=1312 receive_seq=1312 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999469 adj=63999437 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2864 bytes_read=30375 bytes_retransmit=9 bytes_invalid=0 send_seq=387 receive_seq=387 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999664 adj=63999644 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1726 bytes_read=82940 bytes_retransmit=0 bytes_invalid=0 send_seq=286 receive_seq=286 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999799 adj=31999750 coil_temp=37.7 refs=0 mcu_temp=32.96 supply_voltage=3.071 sysload=0.31 cputime=19.275 memavail=348836 print_time=314.568 buffer_time=31.755 print_stall=0 extruder: target=220 temp=222.5 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 262.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5350 bytes_read=34056 bytes_retransmit=9 bytes_invalid=0 send_seq=551 receive_seq=551 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000007 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=2248 bytes_read=8971 bytes_retransmit=0 bytes_invalid=0 send_seq=346 receive_seq=346 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999752 adj=49999879 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=26282 bytes_read=43846 bytes_retransmit=0 bytes_invalid=0 send_seq=1316 receive_seq=1316 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999469 adj=63999439 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2870 bytes_read=30475 bytes_retransmit=9 bytes_invalid=0 send_seq=388 receive_seq=388 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999663 adj=63999641 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=32.9 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1732 bytes_read=83285 bytes_retransmit=0 bytes_invalid=0 send_seq=287 receive_seq=287 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999801 adj=31999748 coil_temp=37.7 refs=0 mcu_temp=32.99 supply_voltage=3.071 sysload=0.31 cputime=19.325 memavail=348836 print_time=314.568 buffer_time=30.755 print_stall=0 extruder: target=220 temp=221.5 pwm=0.165 extruder1: target=0 temp=24.1 pwm=0.000
Stats 263.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5356 bytes_read=34188 bytes_retransmit=9 bytes_invalid=0 send_seq=552 receive_seq=552 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000016 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=2254 bytes_read=8987 bytes_retransmit=0 bytes_invalid=0 send_seq=347 receive_seq=347 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999755 adj=49999885 toolboard_t0: mcu_awake=0.007 mcu_task_avg=0.000023 mcu_task_stddev=0.000026 bytes_write=26348 bytes_read=44005 bytes_retransmit=0 bytes_invalid=0 send_seq=1321 receive_seq=1321 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999470 adj=63999437 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2876 bytes_read=30575 bytes_retransmit=9 bytes_invalid=0 send_seq=389 receive_seq=389 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999662 adj=63999636 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1738 bytes_read=83630 bytes_retransmit=0 bytes_invalid=0 send_seq=288 receive_seq=288 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999800 adj=31999751 coil_temp=37.7 refs=0 mcu_temp=33.02 supply_voltage=3.071 sysload=0.31 cputime=19.377 memavail=348836 print_time=314.568 buffer_time=29.754 print_stall=0 extruder: target=220 temp=219.7 pwm=0.850 extruder1: target=0 temp=24.2 pwm=0.000
Stats 264.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5362 bytes_read=34291 bytes_retransmit=9 bytes_invalid=0 send_seq=553 receive_seq=553 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000020 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=2260 bytes_read=9003 bytes_retransmit=0 bytes_invalid=0 send_seq=348 receive_seq=348 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999762 adj=49999886 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26406 bytes_read=44203 bytes_retransmit=0 bytes_invalid=0 send_seq=1325 receive_seq=1325 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999467 adj=63999433 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2882 bytes_read=30703 bytes_retransmit=9 bytes_invalid=0 send_seq=390 receive_seq=390 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999661 adj=63999628 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.3 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1744 bytes_read=83975 bytes_retransmit=0 bytes_invalid=0 send_seq=289 receive_seq=289 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999799 adj=31999746 coil_temp=37.7 refs=0 mcu_temp=33.04 supply_voltage=3.071 sysload=0.31 cputime=19.430 memavail=348844 print_time=314.568 buffer_time=28.752 print_stall=0 extruder: target=220 temp=221.1 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 265.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5368 bytes_read=34401 bytes_retransmit=9 bytes_invalid=0 send_seq=554 receive_seq=554 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000024 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=2266 bytes_read=9018 bytes_retransmit=0 bytes_invalid=0 send_seq=349 receive_seq=349 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999762 adj=49999897 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26440 bytes_read=44352 bytes_retransmit=0 bytes_invalid=0 send_seq=1328 receive_seq=1328 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999467 adj=63999424 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2888 bytes_read=30803 bytes_retransmit=9 bytes_invalid=0 send_seq=391 receive_seq=391 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999660 adj=63999624 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1750 bytes_read=84320 bytes_retransmit=0 bytes_invalid=0 send_seq=290 receive_seq=290 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999798 adj=31999742 coil_temp=37.7 refs=0 mcu_temp=33.09 supply_voltage=3.071 sysload=0.31 cputime=19.478 memavail=349104 print_time=314.568 buffer_time=27.751 print_stall=0 extruder: target=220 temp=222.8 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 266.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5374 bytes_read=34529 bytes_retransmit=9 bytes_invalid=0 send_seq=555 receive_seq=555 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000022 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=2272 bytes_read=9046 bytes_retransmit=0 bytes_invalid=0 send_seq=350 receive_seq=350 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999758 adj=49999893 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26474 bytes_read=44501 bytes_retransmit=0 bytes_invalid=0 send_seq=1331 receive_seq=1331 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999464 adj=63999420 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2894 bytes_read=30917 bytes_retransmit=9 bytes_invalid=0 send_seq=392 receive_seq=392 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999660 adj=63999618 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.1 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=46.3 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1756 bytes_read=84665 bytes_retransmit=0 bytes_invalid=0 send_seq=291 receive_seq=291 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999797 adj=31999739 coil_temp=37.7 refs=0 mcu_temp=33.10 supply_voltage=3.071 sysload=0.28 cputime=19.501 memavail=349104 print_time=314.568 buffer_time=26.751 print_stall=0 extruder: target=220 temp=222.2 pwm=0.000 extruder1: target=0 temp=24.4 pwm=0.000
Stats 267.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5380 bytes_read=34632 bytes_retransmit=9 bytes_invalid=0 send_seq=556 receive_seq=556 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000026 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=2278 bytes_read=9061 bytes_retransmit=0 bytes_invalid=0 send_seq=351 receive_seq=351 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999753 adj=49999887 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26551 bytes_read=44689 bytes_retransmit=0 bytes_invalid=0 send_seq=1336 receive_seq=1336 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999460 adj=63999415 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2900 bytes_read=31045 bytes_retransmit=9 bytes_invalid=0 send_seq=393 receive_seq=393 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999658 adj=63999620 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1762 bytes_read=85013 bytes_retransmit=0 bytes_invalid=0 send_seq=292 receive_seq=292 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999795 adj=31999737 coil_temp=37.8 refs=0 mcu_temp=33.12 supply_voltage=3.071 sysload=0.28 cputime=19.526 memavail=349104 print_time=314.568 buffer_time=25.751 print_stall=0 extruder: target=220 temp=220.0 pwm=0.741 extruder1: target=0 temp=24.3 pwm=0.000
Stats 268.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5386 bytes_read=34735 bytes_retransmit=9 bytes_invalid=0 send_seq=557 receive_seq=557 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000022 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=2284 bytes_read=9076 bytes_retransmit=0 bytes_invalid=0 send_seq=352 receive_seq=352 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999747 adj=49999876 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26630 bytes_read=44853 bytes_retransmit=0 bytes_invalid=0 send_seq=1342 receive_seq=1342 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999457 adj=63999405 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2906 bytes_read=31145 bytes_retransmit=9 bytes_invalid=0 send_seq=394 receive_seq=394 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999656 adj=63999614 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.1 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1768 bytes_read=85369 bytes_retransmit=0 bytes_invalid=0 send_seq=293 receive_seq=293 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999793 adj=31999733 coil_temp=37.8 refs=0 mcu_temp=33.14 supply_voltage=3.071 sysload=0.28 cputime=19.549 memavail=349104 print_time=314.568 buffer_time=24.751 print_stall=0 extruder: target=220 temp=220.9 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 269.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5392 bytes_read=34867 bytes_retransmit=9 bytes_invalid=0 send_seq=558 receive_seq=558 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000017 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=2290 bytes_read=9091 bytes_retransmit=0 bytes_invalid=0 send_seq=353 receive_seq=353 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999743 adj=49999868 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26664 bytes_read=45016 bytes_retransmit=0 bytes_invalid=0 send_seq=1345 receive_seq=1345 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999453 adj=63999403 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2912 bytes_read=31245 bytes_retransmit=9 bytes_invalid=0 send_seq=395 receive_seq=395 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999653 adj=63999613 Octopus_V1.1_F446: temp=25.9 EBB42_v1.2_T0: temp=33.1 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1774 bytes_read=85725 bytes_retransmit=0 bytes_invalid=0 send_seq=294 receive_seq=294 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999791 adj=31999731 coil_temp=37.8 refs=0 mcu_temp=33.16 supply_voltage=3.071 sysload=0.28 cputime=19.573 memavail=349108 print_time=314.568 buffer_time=23.750 print_stall=0 extruder: target=220 temp=222.3 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 270.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5398 bytes_read=34984 bytes_retransmit=9 bytes_invalid=0 send_seq=559 receive_seq=559 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000014 rpi: mcu_awake=0.001 mcu_task_avg=0.000018 mcu_task_stddev=0.000020 bytes_write=2296 bytes_read=9106 bytes_retransmit=0 bytes_invalid=0 send_seq=354 receive_seq=354 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999737 adj=49999861 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26698 bytes_read=45194 bytes_retransmit=0 bytes_invalid=0 send_seq=1348 receive_seq=1348 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=10 upcoming_bytes=0 freq=63999450 adj=63999399 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2918 bytes_read=31373 bytes_retransmit=9 bytes_invalid=0 send_seq=396 receive_seq=396 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999611 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=29.0 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1780 bytes_read=86081 bytes_retransmit=0 bytes_invalid=0 send_seq=295 receive_seq=295 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999790 adj=31999729 coil_temp=37.8 refs=0 mcu_temp=33.18 supply_voltage=3.071 sysload=0.28 cputime=19.604 memavail=347360 print_time=314.568 buffer_time=22.750 print_stall=0 extruder: target=220 temp=221.3 pwm=0.197 extruder1: target=0 temp=24.1 pwm=0.000
Stats 271.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5404 bytes_read=35087 bytes_retransmit=9 bytes_invalid=0 send_seq=560 receive_seq=560 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000014 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=2302 bytes_read=9135 bytes_retransmit=0 bytes_invalid=0 send_seq=355 receive_seq=355 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999733 adj=49999852 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26779 bytes_read=45358 bytes_retransmit=0 bytes_invalid=0 send_seq=1354 receive_seq=1354 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999448 adj=63999395 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2924 bytes_read=31487 bytes_retransmit=9 bytes_invalid=0 send_seq=397 receive_seq=397 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999611 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1786 bytes_read=86437 bytes_retransmit=0 bytes_invalid=0 send_seq=296 receive_seq=296 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999790 adj=31999727 coil_temp=37.7 refs=0 mcu_temp=33.19 supply_voltage=3.071 sysload=0.26 cputime=19.652 memavail=347360 print_time=314.568 buffer_time=21.750 print_stall=0 extruder: target=220 temp=219.5 pwm=1.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 272.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5410 bytes_read=35219 bytes_retransmit=9 bytes_invalid=0 send_seq=561 receive_seq=561 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000015 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=2308 bytes_read=9151 bytes_retransmit=0 bytes_invalid=0 send_seq=356 receive_seq=356 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999727 adj=49999844 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26858 bytes_read=45522 bytes_retransmit=0 bytes_invalid=0 send_seq=1360 receive_seq=1360 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999447 adj=63999392 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2930 bytes_read=31587 bytes_retransmit=9 bytes_invalid=0 send_seq=398 receive_seq=398 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999610 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.0 EBB42_v1.2_T1: temp=29.0 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1792 bytes_read=86793 bytes_retransmit=0 bytes_invalid=0 send_seq=297 receive_seq=297 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999789 adj=31999727 coil_temp=37.7 refs=0 mcu_temp=33.22 supply_voltage=3.071 sysload=0.26 cputime=19.702 memavail=347360 print_time=314.568 buffer_time=20.750 print_stall=0 extruder: target=220 temp=220.4 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 273.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5416 bytes_read=35322 bytes_retransmit=9 bytes_invalid=0 send_seq=562 receive_seq=562 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000015 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=2314 bytes_read=9167 bytes_retransmit=0 bytes_invalid=0 send_seq=357 receive_seq=357 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999751 adj=49999833 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26892 bytes_read=45700 bytes_retransmit=0 bytes_invalid=0 send_seq=1363 receive_seq=1363 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999450 adj=63999389 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2936 bytes_read=31715 bytes_retransmit=9 bytes_invalid=0 send_seq=399 receive_seq=399 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999652 adj=63999607 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.2 EBB42_v1.2_T1: temp=28.6 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1798 bytes_read=87149 bytes_retransmit=0 bytes_invalid=0 send_seq=298 receive_seq=298 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999788 adj=31999726 coil_temp=37.8 refs=0 mcu_temp=33.24 supply_voltage=3.071 sysload=0.26 cputime=19.752 memavail=347360 print_time=314.568 buffer_time=19.749 print_stall=0 extruder: target=220 temp=222.5 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 274.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5422 bytes_read=35425 bytes_retransmit=9 bytes_invalid=0 send_seq=563 receive_seq=563 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000016 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=2320 bytes_read=9183 bytes_retransmit=0 bytes_invalid=0 send_seq=358 receive_seq=358 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999746 adj=49999877 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=26942 bytes_read=45868 bytes_retransmit=0 bytes_invalid=0 send_seq=1367 receive_seq=1367 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999449 adj=63999394 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2942 bytes_read=31815 bytes_retransmit=9 bytes_invalid=0 send_seq=400 receive_seq=400 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999654 adj=63999610 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.3 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1804 bytes_read=87505 bytes_retransmit=0 bytes_invalid=0 send_seq=299 receive_seq=299 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999788 adj=31999724 coil_temp=37.8 refs=0 mcu_temp=33.26 supply_voltage=3.071 sysload=0.26 cputime=19.803 memavail=346372 print_time=314.568 buffer_time=18.749 print_stall=0 extruder: target=220 temp=221.5 pwm=0.268 extruder1: target=0 temp=24.1 pwm=0.000
Stats 275.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5428 bytes_read=35571 bytes_retransmit=9 bytes_invalid=0 send_seq=564 receive_seq=564 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000017 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=2326 bytes_read=9199 bytes_retransmit=0 bytes_invalid=0 send_seq=359 receive_seq=359 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999740 adj=49999868 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27024 bytes_read=46032 bytes_retransmit=0 bytes_invalid=0 send_seq=1373 receive_seq=1373 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999447 adj=63999392 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2948 bytes_read=31915 bytes_retransmit=9 bytes_invalid=0 send_seq=401 receive_seq=401 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999654 adj=63999614 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.3 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1810 bytes_read=87861 bytes_retransmit=0 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999789 adj=31999723 coil_temp=37.8 refs=0 mcu_temp=33.28 supply_voltage=3.071 sysload=0.26 cputime=19.853 memavail=345112 print_time=314.568 buffer_time=17.748 print_stall=0 extruder: target=220 temp=219.9 pwm=0.871 extruder1: target=0 temp=24.2 pwm=0.000
Stats 276.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5434 bytes_read=35674 bytes_retransmit=9 bytes_invalid=0 send_seq=565 receive_seq=565 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000013 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000015 bytes_write=2332 bytes_read=9228 bytes_retransmit=0 bytes_invalid=0 send_seq=360 receive_seq=360 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999729 adj=49999856 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27095 bytes_read=46215 bytes_retransmit=0 bytes_invalid=0 send_seq=1377 receive_seq=1377 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=8 upcoming_bytes=0 freq=63999451 adj=63999387 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2954 bytes_read=32057 bytes_retransmit=9 bytes_invalid=0 send_seq=402 receive_seq=402 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999653 adj=63999611 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.3 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1816 bytes_read=88217 bytes_retransmit=0 bytes_invalid=0 send_seq=301 receive_seq=301 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999787 adj=31999724 coil_temp=37.9 refs=0 mcu_temp=33.30 supply_voltage=3.071 sysload=0.32 cputime=19.878 memavail=345120 print_time=314.568 buffer_time=16.748 print_stall=0 extruder: target=220 temp=221.1 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 277.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5440 bytes_read=35777 bytes_retransmit=9 bytes_invalid=0 send_seq=566 receive_seq=566 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000009 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000015 bytes_write=2338 bytes_read=9244 bytes_retransmit=0 bytes_invalid=0 send_seq=361 receive_seq=361 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999718 adj=49999839 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27142 bytes_read=46369 bytes_retransmit=0 bytes_invalid=0 send_seq=1381 receive_seq=1381 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999451 adj=63999397 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2960 bytes_read=32157 bytes_retransmit=9 bytes_invalid=0 send_seq=403 receive_seq=403 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999614 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=29.1 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1822 bytes_read=88573 bytes_retransmit=0 bytes_invalid=0 send_seq=302 receive_seq=302 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999786 adj=31999723 coil_temp=37.9 refs=0 mcu_temp=33.32 supply_voltage=3.071 sysload=0.32 cputime=19.901 memavail=345120 print_time=314.568 buffer_time=15.747 print_stall=0 extruder: target=220 temp=222.3 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 278.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5446 bytes_read=35909 bytes_retransmit=9 bytes_invalid=0 send_seq=567 receive_seq=567 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000008 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000015 bytes_write=2344 bytes_read=9260 bytes_retransmit=0 bytes_invalid=0 send_seq=362 receive_seq=362 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999714 adj=49999821 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27191 bytes_read=46523 bytes_retransmit=0 bytes_invalid=0 send_seq=1385 receive_seq=1385 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999448 adj=63999399 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2966 bytes_read=32257 bytes_retransmit=9 bytes_invalid=0 send_seq=404 receive_seq=404 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999650 adj=63999612 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1828 bytes_read=88929 bytes_retransmit=0 bytes_invalid=0 send_seq=303 receive_seq=303 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999785 adj=31999721 coil_temp=37.9 refs=0 mcu_temp=33.35 supply_voltage=3.071 sysload=0.32 cputime=19.926 memavail=345120 print_time=314.568 buffer_time=14.747 print_stall=0 extruder: target=220 temp=221.5 pwm=0.091 extruder1: target=0 temp=24.2 pwm=0.000
Stats 279.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5452 bytes_read=36012 bytes_retransmit=9 bytes_invalid=0 send_seq=568 receive_seq=568 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000006 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000015 bytes_write=2350 bytes_read=9276 bytes_retransmit=0 bytes_invalid=0 send_seq=363 receive_seq=363 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999702 adj=49999813 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27257 bytes_read=46726 bytes_retransmit=0 bytes_invalid=0 send_seq=1390 receive_seq=1390 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999445 adj=63999396 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2972 bytes_read=32385 bytes_retransmit=9 bytes_invalid=0 send_seq=405 receive_seq=405 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999610 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1834 bytes_read=89285 bytes_retransmit=0 bytes_invalid=0 send_seq=304 receive_seq=304 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999785 adj=31999719 coil_temp=37.9 refs=0 mcu_temp=33.38 supply_voltage=3.071 sysload=0.32 cputime=19.951 memavail=345124 print_time=314.568 buffer_time=13.747 print_stall=0 extruder: target=220 temp=219.4 pwm=0.934 extruder1: target=0 temp=24.2 pwm=0.000
Stats 280.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5458 bytes_read=36129 bytes_retransmit=9 bytes_invalid=0 send_seq=569 receive_seq=569 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000003 rpi: mcu_awake=0.001 mcu_task_avg=0.000016 mcu_task_stddev=0.000015 bytes_write=2356 bytes_read=9292 bytes_retransmit=0 bytes_invalid=0 send_seq=364 receive_seq=364 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999690 adj=49999793 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27320 bytes_read=46885 bytes_retransmit=0 bytes_invalid=0 send_seq=1395 receive_seq=1395 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999443 adj=63999391 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2978 bytes_read=32485 bytes_retransmit=9 bytes_invalid=0 send_seq=406 receive_seq=406 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999608 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=48.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1840 bytes_read=89641 bytes_retransmit=0 bytes_invalid=0 send_seq=305 receive_seq=305 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999785 adj=31999721 coil_temp=37.9 refs=0 mcu_temp=33.39 supply_voltage=3.071 sysload=0.32 cputime=19.978 memavail=344900 print_time=314.568 buffer_time=12.747 print_stall=0 extruder: target=220 temp=220.9 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 281.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5464 bytes_read=36261 bytes_retransmit=9 bytes_invalid=0 send_seq=570 receive_seq=570 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000008 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=2362 bytes_read=9321 bytes_retransmit=0 bytes_invalid=0 send_seq=365 receive_seq=365 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999683 adj=49999774 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27354 bytes_read=47034 bytes_retransmit=0 bytes_invalid=0 send_seq=1398 receive_seq=1398 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999443 adj=63999389 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2984 bytes_read=32599 bytes_retransmit=9 bytes_invalid=0 send_seq=407 receive_seq=407 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999606 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1846 bytes_read=89997 bytes_retransmit=0 bytes_invalid=0 send_seq=306 receive_seq=306 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999784 adj=31999722 coil_temp=37.9 refs=0 mcu_temp=33.42 supply_voltage=3.071 sysload=0.29 cputime=20.030 memavail=344904 print_time=314.568 buffer_time=11.746 print_stall=0 extruder: target=220 temp=222.5 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 282.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5476 bytes_read=36380 bytes_retransmit=9 bytes_invalid=0 send_seq=572 receive_seq=572 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000036 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=2374 bytes_read=9353 bytes_retransmit=0 bytes_invalid=0 send_seq=367 receive_seq=367 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999682 adj=49999758 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27420 bytes_read=47233 bytes_retransmit=0 bytes_invalid=0 send_seq=1403 receive_seq=1403 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999444 adj=63999387 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=2996 bytes_read=32743 bytes_retransmit=9 bytes_invalid=0 send_seq=409 receive_seq=409 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999604 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.3 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1858 bytes_read=90369 bytes_retransmit=0 bytes_invalid=0 send_seq=308 receive_seq=308 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999784 adj=31999719 coil_temp=37.9 refs=0 mcu_temp=33.44 supply_voltage=3.071 sysload=0.29 cputime=20.085 memavail=344904 print_time=314.568 buffer_time=10.745 print_stall=0 extruder: target=220 temp=220.9 pwm=0.511 extruder1: target=0 temp=24.2 pwm=0.000
Stats 283.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5482 bytes_read=36483 bytes_retransmit=9 bytes_invalid=0 send_seq=573 receive_seq=573 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000036 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=2380 bytes_read=9369 bytes_retransmit=0 bytes_invalid=0 send_seq=368 receive_seq=368 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999673 adj=49999743 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27486 bytes_read=47392 bytes_retransmit=0 bytes_invalid=0 send_seq=1408 receive_seq=1408 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999442 adj=63999370 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3002 bytes_read=32843 bytes_retransmit=9 bytes_invalid=0 send_seq=410 receive_seq=410 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999586 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.3 EBB42_v1.2_T1: temp=29.0 raspberry_pi: temp=45.8 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1864 bytes_read=90725 bytes_retransmit=0 bytes_invalid=0 send_seq=309 receive_seq=309 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999782 adj=31999709 coil_temp=37.8 refs=0 mcu_temp=33.46 supply_voltage=3.071 sysload=0.29 cputime=20.136 memavail=344912 print_time=314.568 buffer_time=9.745 print_stall=0 extruder: target=220 temp=219.5 pwm=0.961 extruder1: target=0 temp=24.1 pwm=0.000
Stats 284.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5488 bytes_read=36615 bytes_retransmit=9 bytes_invalid=0 send_seq=574 receive_seq=574 retransmit_seq=2 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000038 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=2386 bytes_read=9385 bytes_retransmit=0 bytes_invalid=0 send_seq=369 receive_seq=369 retransmit_seq=0 srtt=0.000 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999695 adj=49999728 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27549 bytes_read=47565 bytes_retransmit=0 bytes_invalid=0 send_seq=1413 receive_seq=1413 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999440 adj=63999367 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3008 bytes_read=32943 bytes_retransmit=9 bytes_invalid=0 send_seq=411 receive_seq=411 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999649 adj=63999591 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=29.0 raspberry_pi: temp=46.3 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1870 bytes_read=91081 bytes_retransmit=0 bytes_invalid=0 send_seq=310 receive_seq=310 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999784 adj=31999707 coil_temp=37.8 refs=0 mcu_temp=33.49 supply_voltage=3.071 sysload=0.29 cputime=20.188 memavail=344660 print_time=314.568 buffer_time=8.744 print_stall=0 extruder: target=220 temp=220.8 pwm=0.000 extruder1: target=0 temp=24.2 pwm=0.000
Stats 285.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5494 bytes_read=36732 bytes_retransmit=9 bytes_invalid=0 send_seq=575 receive_seq=575 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000035 rpi: mcu_awake=0.001 mcu_task_avg=0.000011 mcu_task_stddev=0.000012 bytes_write=2392 bytes_read=9401 bytes_retransmit=0 bytes_invalid=0 send_seq=370 receive_seq=370 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999680 adj=49999765 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27583 bytes_read=47743 bytes_retransmit=0 bytes_invalid=0 send_seq=1416 receive_seq=1416 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999440 adj=63999363 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3014 bytes_read=33071 bytes_retransmit=9 bytes_invalid=0 send_seq=412 receive_seq=412 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999590 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1876 bytes_read=91437 bytes_retransmit=0 bytes_invalid=0 send_seq=311 receive_seq=311 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999782 adj=31999708 coil_temp=37.8 refs=0 mcu_temp=33.53 supply_voltage=3.071 sysload=0.29 cputime=20.234 memavail=344436 print_time=314.568 buffer_time=7.744 print_stall=0 extruder: target=220 temp=222.1 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 286.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5500 bytes_read=36835 bytes_retransmit=9 bytes_invalid=0 send_seq=576 receive_seq=576 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000032 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=2398 bytes_read=9430 bytes_retransmit=0 bytes_invalid=0 send_seq=371 receive_seq=371 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999665 adj=49999740 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27628 bytes_read=47892 bytes_retransmit=0 bytes_invalid=0 send_seq=1419 receive_seq=1419 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999438 adj=63999365 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3020 bytes_read=33185 bytes_retransmit=9 bytes_invalid=0 send_seq=413 receive_seq=413 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999650 adj=63999588 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=46.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1882 bytes_read=91793 bytes_retransmit=0 bytes_invalid=0 send_seq=312 receive_seq=312 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999781 adj=31999707 coil_temp=37.8 refs=0 mcu_temp=33.54 supply_voltage=3.071 sysload=0.27 cputime=20.258 memavail=344460 print_time=314.568 buffer_time=6.743 print_stall=0 extruder: target=220 temp=220.5 pwm=0.639 extruder1: target=0 temp=24.3 pwm=0.000
Stats 287.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5506 bytes_read=36967 bytes_retransmit=9 bytes_invalid=0 send_seq=577 receive_seq=577 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000031 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=2404 bytes_read=9446 bytes_retransmit=0 bytes_invalid=0 send_seq=372 receive_seq=372 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999651 adj=49999715 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27678 bytes_read=48046 bytes_retransmit=0 bytes_invalid=0 send_seq=1423 receive_seq=1423 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999436 adj=63999363 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3026 bytes_read=33285 bytes_retransmit=9 bytes_invalid=0 send_seq=414 receive_seq=414 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999595 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1888 bytes_read=92149 bytes_retransmit=0 bytes_invalid=0 send_seq=313 receive_seq=313 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999779 adj=31999705 coil_temp=37.8 refs=0 mcu_temp=33.56 supply_voltage=3.071 sysload=0.27 cputime=20.282 memavail=344460 print_time=314.568 buffer_time=5.743 print_stall=0 extruder: target=220 temp=219.6 pwm=0.706 extruder1: target=0 temp=24.2 pwm=0.000
Stats 288.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5512 bytes_read=37068 bytes_retransmit=9 bytes_invalid=0 send_seq=578 receive_seq=578 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000029 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=2410 bytes_read=9462 bytes_retransmit=0 bytes_invalid=0 send_seq=373 receive_seq=373 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999636 adj=49999692 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27751 bytes_read=48234 bytes_retransmit=0 bytes_invalid=0 send_seq=1428 receive_seq=1428 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999433 adj=63999360 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3032 bytes_read=33413 bytes_retransmit=9 bytes_invalid=0 send_seq=415 receive_seq=415 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999593 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=29.0 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1894 bytes_read=92505 bytes_retransmit=0 bytes_invalid=0 send_seq=314 receive_seq=314 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999779 adj=31999703 coil_temp=37.8 refs=0 mcu_temp=33.57 supply_voltage=3.071 sysload=0.27 cputime=20.307 memavail=344460 print_time=314.568 buffer_time=4.743 print_stall=0 extruder: target=220 temp=221.1 pwm=0.000 extruder1: target=0 temp=24.3 pwm=0.000
Stats 289.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5518 bytes_read=37164 bytes_retransmit=9 bytes_invalid=0 send_seq=579 receive_seq=579 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000025 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=2416 bytes_read=9478 bytes_retransmit=0 bytes_invalid=0 send_seq=374 receive_seq=374 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999624 adj=49999669 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27785 bytes_read=48397 bytes_retransmit=0 bytes_invalid=0 send_seq=1431 receive_seq=1431 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999430 adj=63999355 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3038 bytes_read=33513 bytes_retransmit=9 bytes_invalid=0 send_seq=416 receive_seq=416 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999594 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=45.8 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1900 bytes_read=92861 bytes_retransmit=0 bytes_invalid=0 send_seq=315 receive_seq=315 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999778 adj=31999703 coil_temp=37.9 refs=0 mcu_temp=33.58 supply_voltage=3.071 sysload=0.27 cputime=20.330 memavail=344460 print_time=314.568 buffer_time=3.743 print_stall=0 extruder: target=220 temp=222.0 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 290.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5524 bytes_read=37294 bytes_retransmit=9 bytes_invalid=0 send_seq=580 receive_seq=580 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000020 rpi: mcu_awake=0.001 mcu_task_avg=0.000017 mcu_task_stddev=0.000018 bytes_write=2422 bytes_read=9494 bytes_retransmit=0 bytes_invalid=0 send_seq=375 receive_seq=375 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999615 adj=49999649 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=27850 bytes_read=48556 bytes_retransmit=0 bytes_invalid=0 send_seq=1436 receive_seq=1436 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999427 adj=63999353 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3044 bytes_read=33613 bytes_retransmit=9 bytes_invalid=0 send_seq=417 receive_seq=417 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999644 adj=63999593 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1906 bytes_read=93217 bytes_retransmit=0 bytes_invalid=0 send_seq=316 receive_seq=316 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999780 adj=31999703 coil_temp=37.9 refs=0 mcu_temp=33.59 supply_voltage=3.071 sysload=0.27 cputime=20.358 memavail=343716 print_time=314.568 buffer_time=2.742 print_stall=0 extruder: target=220 temp=220.5 pwm=0.542 extruder1: target=0 temp=24.2 pwm=0.000
Extruder extruder already active
RatOS | TEMPERATURE_WAIT:: Waiting for sensor: extruder, MINIMUM: 220
RatOS:: please wait...
RatOS | TEMPERATURE_WAIT:: Temperature for toolhead T0 reached.
Stats 291.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5530 bytes_read=37440 bytes_retransmit=9 bytes_invalid=0 send_seq=581 receive_seq=581 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000021 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000008 bytes_write=2428 bytes_read=9523 bytes_retransmit=0 bytes_invalid=0 send_seq=376 receive_seq=376 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999615 adj=49999637 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=30097 bytes_read=48919 bytes_retransmit=0 bytes_invalid=0 send_seq=1476 receive_seq=1476 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=45 upcoming_bytes=0 freq=63999429 adj=63999351 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3050 bytes_read=33755 bytes_retransmit=9 bytes_invalid=0 send_seq=418 receive_seq=418 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999593 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.3 EBB42_v1.2_T1: temp=29.0 raspberry_pi: temp=48.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1912 bytes_read=93607 bytes_retransmit=0 bytes_invalid=0 send_seq=317 receive_seq=317 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999779 adj=31999708 coil_temp=37.9 refs=0 mcu_temp=33.60 supply_voltage=3.071 sysload=0.25 cputime=20.638 memavail=340700 print_time=345.089 buffer_time=32.121 print_stall=0 extruder: target=220 temp=219.8 pwm=0.334 extruder1: target=0 temp=24.2 pwm=0.000
Stats 292.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5536 bytes_read=37543 bytes_retransmit=9 bytes_invalid=0 send_seq=582 receive_seq=582 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000017 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000008 bytes_write=2434 bytes_read=9539 bytes_retransmit=0 bytes_invalid=0 send_seq=377 receive_seq=377 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999601 adj=49999632 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=30204 bytes_read=49078 bytes_retransmit=0 bytes_invalid=0 send_seq=1481 receive_seq=1481 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999427 adj=63999373 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3056 bytes_read=33855 bytes_retransmit=9 bytes_invalid=0 send_seq=419 receive_seq=419 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999644 adj=63999607 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=29.2 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1918 bytes_read=93963 bytes_retransmit=0 bytes_invalid=0 send_seq=318 receive_seq=318 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999778 adj=31999721 coil_temp=38.0 refs=0 mcu_temp=33.61 supply_voltage=3.071 sysload=0.25 cputime=20.665 memavail=337688 print_time=345.089 buffer_time=31.121 print_stall=0 extruder: target=220 temp=221.0 pwm=0.000 extruder1: target=0 temp=24.1 pwm=0.000
Stats 293.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5542 bytes_read=37646 bytes_retransmit=9 bytes_invalid=0 send_seq=583 receive_seq=583 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000022 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000008 bytes_write=2440 bytes_read=9555 bytes_retransmit=0 bytes_invalid=0 send_seq=378 receive_seq=378 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999590 adj=49999604 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=30253 bytes_read=49254 bytes_retransmit=0 bytes_invalid=0 send_seq=1485 receive_seq=1485 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999425 adj=63999370 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3062 bytes_read=33983 bytes_retransmit=9 bytes_invalid=0 send_seq=420 receive_seq=420 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999653 adj=63999606 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.6 EBB42_v1.2_T1: temp=28.7 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1924 bytes_read=94319 bytes_retransmit=0 bytes_invalid=0 send_seq=319 receive_seq=319 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999777 adj=31999721 coil_temp=38.0 refs=0 mcu_temp=33.62 supply_voltage=3.071 sysload=0.25 cputime=20.691 memavail=337888 print_time=345.089 buffer_time=30.120 print_stall=0 extruder: target=220 temp=221.0 pwm=0.065 extruder1: target=0 temp=24.1 pwm=0.000
Stats 294.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5548 bytes_read=37778 bytes_retransmit=9 bytes_invalid=0 send_seq=584 receive_seq=584 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000028 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000008 bytes_write=2446 bytes_read=9571 bytes_retransmit=0 bytes_invalid=0 send_seq=379 receive_seq=379 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999577 adj=49999578 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=30330 bytes_read=49420 bytes_retransmit=0 bytes_invalid=0 send_seq=1490 receive_seq=1490 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999423 adj=63999362 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3068 bytes_read=34083 bytes_retransmit=9 bytes_invalid=0 send_seq=421 receive_seq=421 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999651 adj=63999622 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=29.0 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1930 bytes_read=94675 bytes_retransmit=0 bytes_invalid=0 send_seq=320 receive_seq=320 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999775 adj=31999717 coil_temp=38.0 refs=0 mcu_temp=33.63 supply_voltage=3.071 sysload=0.25 cputime=20.718 memavail=348172 print_time=345.089 buffer_time=29.120 print_stall=0 extruder: target=220 temp=219.5 pwm=0.810 extruder1: target=0 temp=24.2 pwm=0.000
Stats 295.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5554 bytes_read=37895 bytes_retransmit=9 bytes_invalid=0 send_seq=585 receive_seq=585 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000028 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000008 bytes_write=2452 bytes_read=9587 bytes_retransmit=0 bytes_invalid=0 send_seq=380 receive_seq=380 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999564 adj=49999547 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=30412 bytes_read=49590 bytes_retransmit=0 bytes_invalid=0 send_seq=1496 receive_seq=1496 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999421 adj=63999352 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3074 bytes_read=34197 bytes_retransmit=9 bytes_invalid=0 send_seq=422 receive_seq=422 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999612 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.4 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1936 bytes_read=95031 bytes_retransmit=0 bytes_invalid=0 send_seq=321 receive_seq=321 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999775 adj=31999710 coil_temp=38.1 refs=0 mcu_temp=33.65 supply_voltage=3.071 sysload=0.23 cputime=20.746 memavail=346972 print_time=345.089 buffer_time=28.119 print_stall=0 extruder: target=220 temp=219.4 pwm=0.323 extruder1: target=0 temp=24.0 pwm=0.000
Stats 296.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5560 bytes_read=37998 bytes_retransmit=9 bytes_invalid=0 send_seq=586 receive_seq=586 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000024 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=2458 bytes_read=9616 bytes_retransmit=0 bytes_invalid=0 send_seq=381 receive_seq=381 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999552 adj=49999520 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=30461 bytes_read=49751 bytes_retransmit=0 bytes_invalid=0 send_seq=1500 receive_seq=1500 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999418 adj=63999348 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3080 bytes_read=34325 bytes_retransmit=9 bytes_invalid=0 send_seq=423 receive_seq=423 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999646 adj=63999606 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.6 EBB42_v1.2_T1: temp=28.8 raspberry_pi: temp=46.3 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1942 bytes_read=95387 bytes_retransmit=0 bytes_invalid=0 send_seq=322 receive_seq=322 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999775 adj=31999710 coil_temp=38.1 refs=0 mcu_temp=33.67 supply_voltage=3.071 sysload=0.23 cputime=20.774 memavail=346972 print_time=345.089 buffer_time=27.118 print_stall=0 extruder: target=220 temp=221.5 pwm=0.045 extruder1: target=0 temp=24.2 pwm=0.000
Stats 297.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5566 bytes_read=38130 bytes_retransmit=9 bytes_invalid=0 send_seq=587 receive_seq=587 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000032 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=2464 bytes_read=9632 bytes_retransmit=0 bytes_invalid=0 send_seq=382 receive_seq=382 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999547 adj=49999496 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=30495 bytes_read=49897 bytes_retransmit=0 bytes_invalid=0 send_seq=1503 receive_seq=1503 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999418 adj=63999347 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3086 bytes_read=34425 bytes_retransmit=9 bytes_invalid=0 send_seq=424 receive_seq=424 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999645 adj=63999605 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.5 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=46.3 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1948 bytes_read=95743 bytes_retransmit=0 bytes_invalid=0 send_seq=323 receive_seq=323 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999773 adj=31999711 coil_temp=38.1 refs=0 mcu_temp=33.69 supply_voltage=3.071 sysload=0.23 cputime=20.826 memavail=346720 print_time=345.089 buffer_time=26.118 print_stall=0 extruder: target=220 temp=221.0 pwm=0.045 extruder1: target=0 temp=24.1 pwm=0.000
Stats 298.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5572 bytes_read=38233 bytes_retransmit=9 bytes_invalid=0 send_seq=588 receive_seq=588 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000041 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=2470 bytes_read=9648 bytes_retransmit=0 bytes_invalid=0 send_seq=383 receive_seq=383 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999539 adj=49999482 toolboard_t0: mcu_awake=0.008 mcu_task_avg=0.000028 mcu_task_stddev=0.000031 bytes_write=30592 bytes_read=50105 bytes_retransmit=0 bytes_invalid=0 send_seq=1511 receive_seq=1511 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999417 adj=63999340 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3092 bytes_read=34539 bytes_retransmit=9 bytes_invalid=0 send_seq=425 receive_seq=425 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999645 adj=63999597 Octopus_V1.1_F446: temp=26.3 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=29.1 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1954 bytes_read=96099 bytes_retransmit=0 bytes_invalid=0 send_seq=324 receive_seq=324 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999773 adj=31999705 coil_temp=38.1 refs=0 mcu_temp=33.71 supply_voltage=3.071 sysload=0.23 cputime=20.883 memavail=346216 print_time=345.089 buffer_time=25.117 print_stall=0 extruder: target=220 temp=219.8 pwm=0.678 extruder1: target=0 temp=24.2 pwm=0.000
Stats 299.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5578 bytes_read=38336 bytes_retransmit=9 bytes_invalid=0 send_seq=589 receive_seq=589 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000040 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=2476 bytes_read=9664 bytes_retransmit=0 bytes_invalid=0 send_seq=384 receive_seq=384 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999531 adj=49999461 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=30692 bytes_read=50314 bytes_retransmit=0 bytes_invalid=0 send_seq=1518 receive_seq=1518 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999417 adj=63999333 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3098 bytes_read=34653 bytes_retransmit=9 bytes_invalid=0 send_seq=426 receive_seq=426 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999644 adj=63999591 Octopus_V1.1_F446: temp=26.2 EBB42_v1.2_T0: temp=33.6 EBB42_v1.2_T1: temp=28.9 raspberry_pi: temp=47.7 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1960 bytes_read=96455 bytes_retransmit=0 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999773 adj=31999700 coil_temp=38.1 refs=0 mcu_temp=33.72 supply_voltage=3.071 sysload=0.23 cputime=20.937 memavail=346216 print_time=345.089 buffer_time=24.117 print_stall=0 extruder: target=220 temp=219.7 pwm=0.036 extruder1: target=0 temp=24.2 pwm=0.000
Stats 300.4: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5584 bytes_read=38482 bytes_retransmit=9 bytes_invalid=0 send_seq=590 receive_seq=590 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000038 rpi: mcu_awake=0.001 mcu_task_avg=0.000010 mcu_task_stddev=0.000011 bytes_write=2482 bytes_read=9680 bytes_retransmit=0 bytes_invalid=0 send_seq=385 receive_seq=385 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999525 adj=49999446 toolboard_t0: mcu_awake=0.004 mcu_task_avg=0.000017 mcu_task_stddev=0.000011 bytes_write=30782 bytes_read=50570 bytes_retransmit=0 bytes_invalid=0 send_seq=1528 receive_seq=1528 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999420 adj=63999332 toolboard_t1: mcu_awake=0.003 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=3104 bytes_read=34753 bytes_retransmit=9 bytes_invalid=0 send_seq=427 receive_seq=427 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999648 adj=63999589 Octopus_V1.1_F446: temp=26.1 EBB42_v1.2_T0: temp=33.7 EBB42_v1.2_T1: temp=29.1 raspberry_pi: temp=47.2 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1966 bytes_read=96811 bytes_retransmit=0 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999774 adj=31999702 coil_temp=38.1 refs=0 mcu_temp=33.73 supply_voltage=3.071 sysload=0.21 cputime=21.001 memavail=346216 print_time=345.089 buffer_time=23.117 print_stall=0 extruder: target=220 temp=221.5 pwm=0.036 extruder1: target=0 temp=24.1 pwm=0.000
Starting Klippy...
Args: ['/home/pi/klipper/klippy/klippy.py', '/home/pi/printer_data/config/printer.cfg', '-l', '/home/pi/printer_data/logs/klippy.log', '-I', '/home/pi/printer_data/comms/klippy.serial', '-a', '/home/pi/printer_data/comms/klippy.sock']
Git version: 'v0.12.0-396-gb7233d11-dirty'
Untracked files: klippy/extras/beacon.py, klippy/extras/gcode_shell_command.py, klippy/extras/linear_movement_vibrations.py, klippy/extras/ratos.py, klippy/extras/ratos_homing.py, klippy/extras/resonance_generator.py, klippy/extras/z_offset_probe.py, klippy/kinematics/ratos_hybrid_corexy.py
Branch: master
Remote: origin
Tracked URL: https://github.com/Klipper3d/klipper.git
CPU: 4 core ?
Python: '3.9.2 (default, Mar 20 2025, 22:21:41) \n[GCC 10.2.1 20210110]'
Start printer at Thu Oct 16 15:31:53 2025 (1760625113.7 19.6)
===== Config file =====
[mcu rpi]
serial = /tmp/klipper_host_mcu
[board_pins btt-octopus-11]
aliases =
x_step_pin=PF13,
x_dir_pin=PF12,
x_enable_pin=PF14,
x_uart_pin=PC4,
x_diag_pin=PG6,
x_endstop_pin=PG6,
dual_carriage_step_pin=PF9,
dual_carriage_dir_pin=PF10,
dual_carriage_enable_pin=PG2,
dual_carriage_uart_pin=PF2,
dual_carriage_diag_pin=PG12,
dual_carriage_endstop_pin=PG12,
y_step_pin=PG0,
y_dir_pin=PG1,
y_enable_pin=PF15,
y_uart_pin=PD11,
y_diag_pin=PG9,
y_endstop_pin=PG9,
y1_step_pin=PG4,
y1_dir_pin=PC1,
y1_enable_pin=PA0,
y1_uart_pin=PC7,
y1_diag_pin=PG11,
y1_endstop_pin=PG11,
z0_step_pin=PC13,
z0_dir_pin=PF0,
z0_enable_pin=PF1,
z0_uart_pin=PE4,
z0_diag_pin=PG13,
z1_step_pin=PE2,
z1_dir_pin=PE3,
z1_enable_pin=PD4,
z1_uart_pin=PE1,
z1_diag_pin=PG14,
z2_step_pin=PE6,
z2_dir_pin=PA14,
z2_enable_pin=PE0,
z2_uart_pin=PD3,
z2_diag_pin=PG15,
e_step_pin=PF11,
e_dir_pin=PG3,
e_enable_pin=PG5,
e_uart_pin=PC6,
e_heater_pin=PA2,
e_sensor_pin=PF4,
stepper_spi_mosi_pin=PA7,
stepper_spi_miso_pin=PA6,
stepper_spi_sclk_pin=PA5,
adxl345_cs_pin=PA15,
bltouch_sensor_pin=PB7,
bltouch_control_pin=PB6,
probe_pin=PB7,
fan_part_cooling_pin=PA8,
fan_toolhead_cooling_pin=PE5,
fan_controller_board_pin=PD12,
heater_bed_heating_pin=PA1,
heater_bed_sensor_pin=PF3,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu]
serial = /dev/RatOS/btt-octopus-11
[temperature_sensor Octopus_V1.1_F446]
sensor_type = temperature_mcu
[adxl345 controlboard]
cs_pin = PA15
spi_bus = spi3
[board_pins toolboard_t0]
mcu = toolboard_t0
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t0]
serial = /dev/RatOS/btt-ebb42-12-t0
[temperature_sensor EBB42_v1.2_T0]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t0
[adxl345 toolboard_t0]
axes_map = x, z, y
cs_pin = toolboard_t0:PB12
spi_software_mosi_pin = toolboard_t0:PB11
spi_software_miso_pin = toolboard_t0:PB2
spi_software_sclk_pin = toolboard_t0:PB10
[board_pins toolboard_t1]
mcu = toolboard_t1
aliases =
e_step_pin=PD0,
e_dir_pin=PD1,
e_enable_pin=PD2,
e_uart_pin=PA15,
e_heater_pin=PB13,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PB12,
bltouch_sensor_pin=PB8,
bltouch_control_pin=PB9,
probe_pin=PB9,
fan_part_cooling_pin=PA0,
fan_toolhead_cooling_pin=PA1,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t1]
serial = /dev/RatOS/btt-ebb42-12-t1
[temperature_sensor EBB42_v1.2_T1]
sensor_type = temperature_mcu
sensor_mcu = toolboard_t1
[adxl345 toolboard_t1]
axes_map = x, z, y
cs_pin = toolboard_t1:PB12
spi_software_mosi_pin = toolboard_t1:PB11
spi_software_miso_pin = toolboard_t1:PB2
spi_software_sclk_pin = toolboard_t1:PB10
[gcode_macro RatOS]
variable_homing = "endstops"
variable_z_probe = "static"
variable_sensorless_x_current = 0.6
variable_sensorless_y_current = 0.9
variable_safe_home_x = "middle"
variable_safe_home_y = "middle"
variable_driver_type_x = "tmc2209"
variable_driver_type_y = "tmc2209"
variable_stowable_probe_stop_on_error = False
variable_chamber_filter_enable = True
variable_chamber_filter_speed = 0.5
variable_chamber_filter_disable_speed = 1.0
variable_chamber_filter_enable_at = "after_print_start"
variable_chamber_filter_disable_period = 300
variable_chamber_filter_disable_bed_temp = 0
variable_chamber_heater_enable = True
variable_chamber_heater_bed_temp = 115
variable_chamber_heater_preheating_temp = 150
variable_chamber_heater_heating_temp_offset = 25
variable_chamber_heater_control_external_heater = False
variable_chamber_heater_air_circulation_enable = True
variable_chamber_heater_air_circulation_fan_speed = 0.35
variable_chamber_heater_air_circulation_y_pos = 0
variable_chamber_heater_air_circulation_z_pos = 100
variable_chamber_heater_extra_fan_speed = 1.0
variable_chamber_heater_filter_fan_speed = 1.0
variable_led_status_action = 0.0,1.0,1.0
variable_led_status_success = 0.0,1.0,0.0
variable_led_status_error = 1.0,0.0,1.0
variable_led_status_on = 1.0,1.0,1.0
variable_led_status_off = 0.0,0.0,1.0
variable_led_status_standby = 0.1,0.1,0.1
variable_led_status_heating = 1.0,0.0,0.0
variable_led_status_cooling = 0.0,0.0,1.0
variable_calibrate_bed_mesh = True
variable_adaptive_mesh = True
variable_start_print_park_in = "back"
variable_start_print_park_z_height = 50
variable_end_print_park_in = "front"
variable_pause_print_park_in = "front"
variable_end_print_park_z_hop = 20
variable_nozzle_priming = "primeblob"
variable_nozzle_prime_start_x = "max"
variable_nozzle_prime_start_y = "min"
variable_nozzle_prime_direction = "auto"
variable_nozzle_prime_bridge_fan = 102
variable_probe_for_priming_result = None
variable_probe_for_priming_end_result = None
variable_probe_for_priming_result_t1 = None
variable_probe_for_priming_end_result_t1 = None
variable_probe_for_priming_disable_mesh_constraints = False
variable_adaptive_prime_offset_threshold = -1.0
variable_last_z_offset = None
variable_runout_park_in = "front"
variable_enable_unload_tip_forming = False
variable_filament_unload_length = 150
description = RatOS variable storage macro, will echo variables to the console when run.
variable_relative_extrusion = True
variable_force_absolute_position = False
variable_preheat_extruder = True
variable_preheat_extruder_temp = 150
variable_macro_travel_speed = 600
variable_macro_travel_accel = 8000
variable_macro_z_speed = 15
variable_bed_margin_x = [59.8, 59.8]
variable_bed_margin_y = [14.35, 33.65]
variable_printable_x_min = 0
variable_printable_x_max = 0
variable_printable_y_min = 0
variable_printable_y_max = 0
variable_end_print_motors_off = True
variable_status_color_ok = "00FF00"
variable_status_color_error = "FF0000"
variable_status_color_unknown = "FFFF00"
variable_end_print_retract_filament = 10
gcode =
ECHO_RATOS_VARS
variable_auto_center_subject = False
variable_toolchange_zhop = 2.0
variable_toolchange_zspeed = 25
variable_toolchange_sync_fans = False
variable_toolchange_combined_zhop = False
variable_toolchange_travel_speed = 600
variable_toolchange_travel_accel = 8000
variable_toolchange_extrusion = 2.0
variable_toolchange_retraction = 2.0
variable_toolchange_feedrate = 7200
variable_toolchange_prepurging_timer = 0
variable_toolchange_standby_temp = -1
variable_toolchange_purge = 25
variable_toolchange_first_purge = 50
variable_beacon_bed_mesh_scv = 25
variable_beacon_contact_z_homing = False
variable_beacon_contact_start_print_true_zero = True
variable_beacon_contact_wipe_before_true_zero = True
variable_beacon_contact_true_zero_temp = 150
variable_beacon_contact_prime_probing = True
variable_beacon_contact_expansion_compensation = True
variable_beacon_contact_bed_mesh = False
variable_beacon_contact_bed_mesh_samples = 2
variable_beacon_contact_z_tilt_adjust = False
variable_beacon_contact_z_tilt_adjust_samples = 2
variable_beacon_scan_compensation_enable = True
variable_beacon_scan_compensation_profile = "ratos"
variable_beacon_scan_compensation_probe_count = 15,15
variable_beacon_contact_poke_bottom_limit = -1
variable_homing_x = "endstop"
variable_homing_y = "endstop"
variable_default_toolhead = 0
variable_adxl_chip = ["adxl345 toolboard_t0", "adxl345 toolboard_t1"]
variable_shaper_x_freq = [52.8, 49.2, 50.7, 48.8]
variable_shaper_y_freq = [38.2, 37.0, 32.3, 33.1]
variable_shaper_x_type = ["mzv", "mzv", "mzv", "mzv"]
variable_shaper_y_type = ["mzv", "mzv", "mzv", "mzv"]
variable_x_driver_types = ["tmc2209"]
variable_x_axes = ["x"]
variable_y_driver_types = ["tmc2209", "tmc2209"]
variable_y_axes = ["y", "y1"]
variable_z_driver_types = ["tmc2209", "tmc2209", "tmc2209"]
variable_z_axes = ["z", "z1", "z2"]
variable_home_y_first = True
[ratos_homing]
axes = xyz
z_hop = 15
z_hop_speed = 15
gcode =
_LED_ON
{% set prev_stop_on_error = printer["gcode_macro RatOS"].stowable_probe_stop_on_error %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set target_idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE=True
M400
G90
{% set X = true if params.X is defined else false %}
{% set Y = true if params.Y is defined else false %}
{% set Z = true if params.Z is defined else false %}
{% if printer["gcode_macro RatOS"].home_y_first|default(false)|lower == 'true' %}
HOME_Y X={X} Y={Y} Z={Z}
HOME_X X={X} Y={Y} Z={Z}
{% else %}
HOME_X X={X} Y={Y} Z={Z}
HOME_Y X={X} Y={Y} Z={Z}
{% endif %}
HOME_Z X={X} Y={Y} Z={Z}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=stowable_probe_stop_on_error VALUE={prev_stop_on_error}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[gcode_macro HOME_X]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_x = printer["gcode_macro RatOS"].homing_x|lower %}
{% set homing_x = homing_x if homing_x else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_X" MSG="printable_x_max: {printable_x_max}, safe_home_x: {safe_home_x}, axis_maximum.x: {printer.toolhead.axis_maximum.x}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}"
{% if X or not Y and not Z %}
{% if homing_x == 'endstop' %}
G28 X
{% elif homing_x == 'sensorless' %}
{% if printer["dual_carriage"] is defined %}
{ action_emergency_stop("sensorless homing not supported on IDEX!") }
{% endif %}
HOME_X_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_x to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_x, homing)) }
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1} MODE=PRIMARY
G1 X{parking_position} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% endif %}
{% set x_homed = True %}
G0 X{safe_home_x} F{speed}
M400
{% endif %}
[gcode_macro HOME_Y]
gcode =
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set homing = printer["gcode_macro RatOS"].homing|lower %}
{% set homing_y = printer["gcode_macro RatOS"].homing_y|lower %}
{% set homing_y = homing_y if homing_y else homing %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Y" MSG="printable_y_max: {printable_y_max}, safe_home_y: {safe_home_y}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}"
{% if Y or not X and not Z %}
{% if homing_y == 'endstop' %}
G28 Y
{% elif homing_y == 'sensorless' %}
HOME_Y_SENSORLESS
{% else %}
{ action_emergency_stop("expected RatOS variable_homing_y to be 'sensorless' 'endstop' or variable_homing to be 'sensorless' or 'endstops' but found {} and {}".format(homing_y, homing)) }
{% endif %}
{% set y_homed = True %}
G0 Y{safe_home_y} F{speed}
{% endif %}
[gcode_macro HOME_Z]
gcode =
{% set x_homed = 'x' in printer.toolhead.homed_axes %}
{% set y_homed = 'y' in printer.toolhead.homed_axes %}
{% set z_probe = printer["gcode_macro RatOS"].z_probe %}
{% set beacon_contact_z_homing = true if printer["gcode_macro RatOS"].beacon_contact_z_homing|default(false)|lower == 'true' else false %}
{% set X = true if params.X|lower == 'true' else false %}
{% set Y = true if params.Y|lower == 'true' else false %}
{% set Z = true if params.Z|lower == 'true' else false %}
DEBUG_ECHO PREFIX="HOME_Z" MSG="x_homed: {x_homed}, y_homed: {y_homed}, z_probe: {z_probe}, beacon_contact_z_homing: {beacon_contact_z_homing}"
{% if Z or not Y and not X %}
RATOS_ECHO MSG="Homing Z"
{% if x_homed == False or y_homed == False %}
{ action_emergency_stop("X and Y must be homed before homing Z") }
{% else %}
{% if z_probe == "stowable" %}
DEPLOY_PROBE
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
STOW_PROBE
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_homing %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% else %}
G28 Z
{% endif %}
_Z_HOP
{% endif %}
{% endif %}
{% endif %}
[gcode_macro HOME_X_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_x_current}
{% endif %}
G4 P300
G28 X
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_x_sensorless"
[gcode_macro HOME_Y_SENSORLESS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
M204 S1000
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer["gcode_macro RatOS"].sensorless_y_current}
{% endif %}
G4 P300
G28 Y
{% if printer["gcode_macro RatOS"].x_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].x_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].x_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set x_driver = printer["gcode_macro RatOS"].driver_type_x|lower ~ " stepper_x" %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config[x_driver].run_current}
{% endif %}
{% if printer["gcode_macro RatOS"].y_axes is defined %}
{% for axis in printer["gcode_macro RatOS"].y_axes %}
{% set stepper = "stepper_" ~ axis|lower %}
{% set stepper_driver = printer["gcode_macro RatOS"].y_driver_types[loop.index0] ~ " " ~ stepper %}
SET_TMC_CURRENT STEPPER={stepper} CURRENT={printer.configfile.config[stepper_driver].run_current}
{% endfor %}
{% else %}
{% set y_driver = printer["gcode_macro RatOS"].driver_type_y|lower ~ " stepper_y" %}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config[y_driver].run_current}
{% endif %}
G4 P300
RESTORE_TOOLHEAD_SETTINGS KEY="home_y_sensorless"
[gcode_macro _Z_HOP]
description = Move Z axis up by Z_HOP distance at Z_HOP_SPEED. In relative mode it will move Z axis up by Z_HOP distance. In absolute mode it will move Z axis to Z_HOP distance.
gcode =
{% set z_hop = printer.configfile.config.ratos_homing.z_hop|float %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
G0 Z{z_hop} F{z_hop_speed}
[gcode_macro _MOVE_TO_SAFE_Z_HOME]
description = Move to safe home position with optional Z_HOP (pass Z_HOP=True as parameter)
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% if params.Z_HOP is defined %}
_Z_HOP
{% endif %}
DEBUG_ECHO PREFIX="_MOVE_TO_SAFE_Z_HOME" MSG="axis_maximum.x: {printer.toolhead.axis_maximum.x}, axis_maximum.y: {printer.toolhead.axis_maximum.y}, bed_margin_x: {printer['gcode_macro RatOS'].bed_margin_x}, bed_margin_y: {printer['gcode_macro RatOS'].bed_margin_y}, safe_home_x: {safe_home_x}, safe_home_y: {safe_home_y}, printable_x_max: {printable_x_max}, printable_y_max: {printable_y_max}"
G0 X{safe_home_x} Y{safe_home_y} F{speed}
[gcode_macro MAYBE_HOME]
description = Only home unhomed axis
variable_is_kinematic_position_overriden = False
gcode =
{% if printer["gcode_macro MAYBE_HOME"].is_kinematic_position_overriden|lower == 'true' %}
RATOS_ECHO MSG="SET_CENTER_KINEMATIC_POSITION has been abused. Homing all axes. Please refrain from using SET_CENTER_KINEMATIC_POSITION outside of debugging purposes."
G28
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=False
{% else %}
{% set axes = '' %}
{% set isHomed = true %}
{% set axesToHome = '' %}
{% if params.X is defined %}
{% set axes = axes ~ 'X ' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% endif %}
{% if params.Y is defined %}
{% set axes = axes ~ 'Y ' %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% endif %}
{% if params.Z is defined %}
{% set axes = axes ~ 'Z ' %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if params.X is not defined and params.Y is not defined and params.Z is not defined %}
{% set axes = '' %}
{% if 'x' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'X ' %}
{% endif %}
{% if 'y' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Y ' %}
{% endif %}
{% if 'z' not in printer.toolhead.homed_axes %}
{% set isHomed = false %}
{% set axesToHome = axesToHome ~ 'Z ' %}
{% endif %}
{% endif %}
{% if isHomed is false %}
RATOS_ECHO MSG="Homing {axesToHome}"
G28 {axesToHome}
{% else %}
RATOS_ECHO MSG="All requested axes already homed, skipping.."
{% endif %}
{% endif %}
[gcode_macro PID_CALIBRATE_HOTEND]
description = Perform a PID calibration test for a given extruder heater.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set temp = params.TEMP|default(220)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_HOTEND" MSG="TEMP={temp}"
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO MSG="PID calibration hotend heater T0 at {temp}°C..."
PID_CALIBRATE HEATER=extruder TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
{% if toolhead==0 or toolhead==1 %}
RATOS_ECHO MSG="PID calibration hotend heater T{toolhead} at {temp}°C..."
PID_CALIBRATE HEATER=extruder{'' if toolhead==0 else toolhead} TARGET={temp}
_CONSOLE_SAVE_CONFIG
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_BED]
description = Perform a PID calibration test for the bed heater.
gcode =
{% set temp = params.TEMP|default(80)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_BED" MSG="TEMP={temp}"
RATOS_ECHO MSG="PID calibration bed heater at {temp}°C..."
PID_CALIBRATE HEATER=heater_bed TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
[gcode_macro PID_CALIBRATE_CHAMBER_HEATER]
description = Perform a PID calibration test for the chamber heater.
gcode =
{% set temp = params.TEMP|default(150)|int %}
DEBUG_ECHO PREFIX="PID_CALIBRATE_CHAMBER_HEATER" MSG="TEMP={temp}"
{% if printer["heater_generic chamber_heater"] is defined %}
RATOS_ECHO MSG="PID calibration chamber heater at {temp}°C..."
PID_CALIBRATE HEATER=chamber_heater TARGET={temp}
_CONSOLE_SAVE_CONFIG
_LEARN_MORE_CALIBRATION
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_heater" %}
{% set link_text = "RatOS Chamber Heater" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber heater found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro INITIALIZE_PA_TUNING]
description = Start a pressure advance tuning tower.
gcode =
{% set start = params.START|default(0.0)|float %}
{% set factor = params.FACTOR|default(0.001)|float %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if is_printing_gcode and layer_number < 2 %}
DEBUG_ECHO PREFIX="START_PA_TOWER" MSG="START: {start}, FACTOR: {factor}"
RATOS_ECHO MSG="Starting presssure advance tuning tower..."
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START={start} FACTOR={factor}
{% endif %}
_LEARN_MORE_CALIBRATION
[gcode_macro CHAMBER_FILTER_ON]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro CHAMBER_FILTER_OFF]
gcode =
{% if printer["fan_generic filter"] is defined %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Deactivating chamber filter..."
_CHAMBER_FILTER_TURN_OFF
{% else %}
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="No chamber filter found" TYPE="warning" MSG={line_1}
{% endif %}
[gcode_macro _CHAMBER_FILTER_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set chamber_filter_enable_at = printer["gcode_macro RatOS"].chamber_filter_enable_at|default('after_print_start')|lower %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_ON" MSG="at: {at}, chamber_filter_enable: {chamber_filter_enable}, chamber_filter_enable_at: {chamber_filter_enable_at}, chamber_filter_speed: {chamber_filter_speed}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if chamber_filter_enable_at == at %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Activating chamber filter..."
_CHAMBER_FILTER_TURN_ON AT={at}
{% if chamber_filter_enable_at == "print_end" %}
_LED_CHAMBER_FILTER_ON
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_FILTER_OFF]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF" MSG="chamber_filter_enable: {chamber_filter_enable}, filter_disable_period: {filter_disable_period}, filter_disable_bed_temp: {filter_disable_bed_temp}"
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_period > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting {filter_disable_period} seconds before turning chamber filter off..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION={filter_disable_period}
{% endif %}
{% if filter_disable_bed_temp > 0 %}
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Waiting for bed temp to cool down to {filter_disable_bed_temp}°C to turn filter off..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=0 MAXIMUM={filter_disable_bed_temp}
_CHAMBER_FILTER_TURN_OFF
_LED_CHAMBER_FILTER_OFF
{% endif %}
{% endif %}
[delayed_gcode _CHAMBER_FILTER_OFF_TIMER]
gcode =
DEBUG_ECHO PREFIX="_CHAMBER_FILTER_OFF_TIMER" MSG="executed"
_CHAMBER_FILTER_TURN_OFF
RATOS_ECHO PREFIX="CHAMBER_FILTER" MSG="Chamber filter turned off!"
_LED_CHAMBER_FILTER_OFF
[gcode_macro _CHAMBER_FILTER_TURN_ON]
gcode =
{% set at = params.AT|default('')|lower %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_speed|default(0)|float %}
{% if at == "print_end" %}
{% set chamber_filter_speed = printer["gcode_macro RatOS"].chamber_filter_disable_speed|default(0)|float %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_FILTER_OFF_TIMER DURATION=0
SET_FAN_SPEED FAN=filter SPEED={chamber_filter_speed}
[gcode_macro _CHAMBER_FILTER_TURN_OFF]
gcode =
SET_FAN_SPEED FAN=filter SPEED=0
[gcode_macro _CHAMBER_FILTER_SANITY_CHECK]
gcode =
{% set chamber_filter_enable = true if printer["gcode_macro RatOS"].chamber_filter_enable|default(true)|lower == 'true' else false %}
{% set filter_disable_period = printer["gcode_macro RatOS"].chamber_filter_disable_period|default(0)|int %}
{% set filter_disable_bed_temp = printer["gcode_macro RatOS"].chamber_filter_disable_bed_temp|default(0)|int %}
{% if chamber_filter_enable and printer["fan_generic filter"] is defined %}
{% if filter_disable_bed_temp > 0 and filter_disable_period > 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable, not both.")}
{% endif %}
{% if filter_disable_bed_temp == 0 and filter_disable_period == 0 %}
_LEARN_MORE_CHAMBER_FILTER
{action_respond_info("Wrong chamber filter options configured! Set 'filter_disable_bed_temp' or 'filter_disable_period' variable.")}
{% endif %}
{% endif %}
[gcode_macro CHAMBER_HEATER_ON]
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(45)|int %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp} IS_FROM_START_PRINT=False
[gcode_macro CHAMBER_HEATER_OFF]
gcode =
_CHAMBER_HEATER_OFF
[gcode_macro _CHAMBER_HEATER_ON]
variable_chamber_temp = 0
gcode =
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set is_from_start_print = true if params.IS_FROM_START_PRINT|default(True)|lower == 'true' else false %}
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set chamber_heater_enable = true if printer["gcode_macro RatOS"].chamber_heater_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
{% set chamber_heater_preheating_temp = printer["gcode_macro RatOS"].chamber_heater_preheating_temp|default(150)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set chamber_heater_control_external_heater = true if printer["gcode_macro RatOS"].chamber_heater_control_external_heater|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_enable = true if printer["gcode_macro RatOS"].chamber_heater_air_circulation_enable|default(true)|lower == 'true' else false %}
{% set chamber_heater_air_circulation_fan_speed = printer["gcode_macro RatOS"].chamber_heater_air_circulation_fan_speed|default(0.35)|float %}
{% set chamber_heater_air_circulation_y_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_y_pos|default(0)|float %}
{% set chamber_heater_air_circulation_z_pos = printer["gcode_macro RatOS"].chamber_heater_air_circulation_z_pos|default(100)|float %}
DEBUG_ECHO PREFIX="_CHAMBER_HEATER_ON" MSG="chamber_heater_enable: {chamber_heater_enable}, chamber_heater_preheating_temp: {chamber_heater_preheating_temp}, chamber_heater_heating_temp_offset: {chamber_heater_heating_temp_offset}, bed_temp: {bed_temp}, chamber_temp: {chamber_temp}, start_chamber_temp: {start_chamber_temp}"
{% if chamber_heater_enable and chamber_temp > 0 and chamber_heater_bed_temp > 0 %}
_LED_HEATING
RATOS_ECHO MSG="Preheating chamber to {(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}°C..."
{% set chamber_temp_sensor = "extruder" %}
{% if printer["dual_carriage"] is defined and default_toolhead == 1 %}
{% set chamber_temp_sensor = "extruder1" %}
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% set chamber_temp_sensor = "temperature_sensor chamber" %}
{% endif %}
{% set current_chamber_temp = printer['%s' % chamber_temp_sensor].temperature|int %}
{% set needs_heating = current_chamber_temp < (start_chamber_temp if start_chamber_temp > 0 else chamber_temp) %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_BEFORE_PREHEATING
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
{% if not is_from_start_print %}
MAYBE_HOME
{% endif %}
G0 Z{chamber_heater_air_circulation_z_pos} F{z_speed}
G0 Y{chamber_heater_air_circulation_y_pos} F{speed}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={chamber_heater_air_circulation_fan_speed if default_toolhead == 1 else 0}
{% else %}
M106 S{(255 * chamber_heater_air_circulation_fan_speed)}
{% endif %}
{% else %}
{% if is_from_start_print %}
G0 Z{z} F{z_speed}
{% endif %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE={chamber_temp}
{% if needs_heating %}
M140 S{chamber_heater_bed_temp}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={chamber_heater_preheating_temp}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if needs_heating %}
_CHAMBER_HEATER_EXTRA_FAN_ON
{% endif %}
{% if needs_heating %}
TEMPERATURE_WAIT SENSOR="{chamber_temp_sensor}" MINIMUM={(start_chamber_temp if start_chamber_temp > 0 else chamber_temp)}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% endif %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED=0
_CHAMBER_FILTER_ON AT="before_print_start"
{% endif %}
{% endif %}
{% if needs_heating %}
{% if chamber_heater_air_circulation_enable and chamber_heater_air_circulation_fan_speed > 0 %}
G28 Z
{% endif %}
{% endif %}
{% if needs_heating %}
_USER_CHAMBER_HEATER_AFTER_PREHEATING
{% endif %}
{% if printer["temperature_sensor chamber"] is defined %}
{% if printer["heater_generic chamber_heater"] is defined %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined and chamber_heater_control_external_heater %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
_LED_SUCCESS
{% endif %}
[gcode_macro _CHAMBER_HEATER_OFF]
gcode =
RATOS_ECHO MSG="Deactivating chamber heater..."
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=0
SET_GCODE_VARIABLE MACRO=_CHAMBER_HEATER_ON VARIABLE=chamber_temp VALUE=0
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
_CHAMBER_HEATER_EXTRA_FAN_OFF
[delayed_gcode _CHAMBER_HEATER_CONTROL]
initial_duration = 0.
gcode =
{% set chamber_temp = printer["gcode_macro _CHAMBER_HEATER_ON"].chamber_temp|default(0)|int %}
{% set chamber_heater_heating_temp_offset = printer["gcode_macro RatOS"].chamber_heater_heating_temp_offset|default(20)|int %}
{% set current_chamber_temp = printer['temperature_sensor chamber'].temperature|int %}
{% if current_chamber_temp < chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={(chamber_temp + chamber_heater_heating_temp_offset)}
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=1.0
{% endif %}
{% endif %}
{% if current_chamber_temp >= chamber_temp %}
{% if printer["heater_generic chamber_heater"] is defined %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=0
{% endif %}
{% if printer["output_pin chamber_heater_pin"] is defined %}
SET_PIN PIN=chamber_heater_pin VALUE=0.0
{% endif %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_CHAMBER_HEATER_CONTROL DURATION=5
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_ON]
gcode =
{% set chamber_heater_extra_fan_speed = printer["gcode_macro RatOS"].chamber_heater_extra_fan_speed|default(0.0)|float %}
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
{% if chamber_heater_extra_fan_speed > 0 %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED={chamber_heater_extra_fan_speed}
{% endif %}
{% endif %}
[gcode_macro _CHAMBER_HEATER_EXTRA_FAN_OFF]
gcode =
{% if printer["fan_generic chamber_heater_extra_fan"] is defined %}
SET_FAN_SPEED FAN=chamber_heater_extra_fan SPEED=0
{% endif %}
[gcode_macro _USER_CHAMBER_HEATER_BEFORE_PREHEATING]
description = Will be executed before chamber preheating, only if heating is needed.
gcode =
[gcode_macro _USER_CHAMBER_HEATER_AFTER_PREHEATING]
description = Will be executed after chamber preheating, only if heating was needed.
gcode =
[gcode_macro _LED_START_PRINTING]
gcode =
_LED_ACTION
[gcode_macro _LED_START_PRINTING_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_PRINTING]
gcode =
_LED_ON TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_PAUSE]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_ON]
gcode =
_LED_ACTION
[gcode_macro _LED_CHAMBER_FILTER_OFF]
gcode =
_LED_STANDBY
[gcode_macro _LED_LOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_LOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_RUNOUT]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_CLOG]
gcode =
_LED_ERROR TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_UNLOADING_FILAMENT]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_FILAMENT_UNLOADED]
gcode =
_LED_SUCCESS TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_DEACTIVATE_TOOLHEAD]
gcode =
_LED_OFF TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_STANDBY]
gcode =
_LED_STANDBY TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_TOOLHEAD_WAKEUP]
gcode =
_LED_ACTION TOOLHEAD={params.TOOLHEAD|default(-1)|int}
[gcode_macro _LED_MOTORS_OFF]
gcode =
_LED_STANDBY
_LED_VAOC_OFF
[gcode_macro _LED_INPUT_SHAPER_START]
gcode =
_LED_ACTION
[gcode_macro _LED_INPUT_SHAPER_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_START]
gcode =
_LED_ACTION
[gcode_macro _LED_BEACON_CALIBRATION_END]
gcode =
_LED_ON
[gcode_macro _LED_BEACON_CALIBRATION_ERROR]
gcode =
_LED_ERROR
[gcode_macro _LED_VAOC_ON]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=1.0 GREEN=1.0 BLUE=1.0
{% endif %}
[gcode_macro _LED_VAOC_OFF]
gcode =
{% if printer['neopixel vaoc_led'] is defined %}
SET_LED LED=vaoc_led RED=0.0 GREEN=0.0 BLUE=0.0
{% endif %}
[gcode_macro _LED_ACTION]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_action %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SUCCESS]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_success %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_HEATING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_heating %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_COOLING]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_cooling %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ERROR]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_error %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_ON]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_on %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_OFF]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_off %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_STANDBY]
gcode =
{% set rgb = printer["gcode_macro RatOS"].led_status_standby %}
_LED_SET TOOLHEAD={params.TOOLHEAD|default(-1)|int} R={rgb[0]} G={rgb[1]} B={rgb[2]}
[gcode_macro _LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
{% if toolhead >= 0 %}
{% if printer['neopixel nozzle_led_t%s' % toolhead] is defined %}
SET_LED LED={'nozzle_led_t%s' % toolhead} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% else %}
{% if printer['neopixel nozzle_led_t0'] is defined %}
SET_LED LED={'nozzle_led_t0'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% if printer['neopixel nozzle_led_t1'] is defined %}
SET_LED LED={'nozzle_led_t1'} RED={r} GREEN={g} BLUE={b} SYNC=0
{% endif %}
{% endif %}
_USER_LED_SET { rawparams }
[gcode_macro _USER_LED_SET]
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set r = params.R|default(0)|float %}
{% set g = params.G|default(0)|float %}
{% set b = params.B|default(0)|float %}
[gcode_macro LOAD_FILAMENT]
description = Loads new filament. Note: be careful with PETG, make sure you inspect the tip of your filament before loading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% if filament_name == '' or filament_type == '' %}
{% set filament_name = 'unknown' %}
{% set filament_type = 'unknown' %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_LOAD_FILAMENT TEMP={temp} NAME={filament_name} TYPE={filament_type}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_LOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME={filament_name} TYPE={filament_type}
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _DEFAULT_LOAD_FILAMENT]
description = Load filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_LOAD_FILAMENT" MSG="TEMP={temp}"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=load_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
_LOAD_FILAMENT TOOLHEAD=0
RESTORE_GCODE_STATE NAME=load_state
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD=0
[gcode_macro _IDEX_LOAD_FILAMENT]
description = Load filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_LOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_LOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
_LOAD_FILAMENT TOOLHEAD={toolhead} TEMP={temp}
{% if filament_name != '' and filament_type != '' %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('{filament_type}', '{filament_name}', {temp})"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='"{filament_name}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='"{filament_type}"'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE={temp}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_ok}"'
_LED_FILAMENT_LOADED TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE TOOLHEAD={toolhead}
_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_EXTRUDER_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into hotend.."
G92 E0
G0 E{extruder_gear_to_cooling_position_distance} F{extruder_load_speed}
G92 E0
M400
RATOS_ECHO MSG="Filament loaded into hotend."
[gcode_macro _LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set load_speed = printer["gcode_macro T%s" % toolhead].filament_load_speed|float * 60 %}
{% set filament_loading_nozzle_offset = printer["gcode_macro T%s" % toolhead].filament_loading_nozzle_offset|float %}
{% set cooling_position_to_nozzle_distance = printer["gcode_macro T%s" % toolhead].cooling_position_to_nozzle_distance|float %}
{% set purge_after_load = printer["gcode_macro T%s" % toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_LOAD_FILAMENT_FROM_COOLING_ZONE_TO_NOZZLE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Loading filament into nozzle... Please wait!"
G92 E0
G0 E{cooling_position_to_nozzle_distance + filament_loading_nozzle_offset} F{load_speed}
G92 E0
G4 P1000
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge_after_load}
RATOS_ECHO MSG="Filament loaded into nozzle!"
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
{% set filament_grabbing_length = printer["gcode_macro T%s" % toolhead].filament_grabbing_length|float %}
{% set filament_grabbing_speed = printer["gcode_macro T%s" % toolhead].filament_grabbing_speed|float %}
{% set resume_after_insert = true if printer["gcode_macro T%s" % toolhead].resume_after_insert|default(true)|lower == 'true' else false %}
{% set enable_insert_detection = true if printer["gcode_macro T%s" % toolhead].enable_insert_detection|default(true)|lower == 'true' else false %}
{% set current_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% if enable_insert_detection %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT" MSG="toolhead: {toolhead}, filament_grabbing_length: {filament_grabbing_length}, filament_grabbing_speed: {filament_grabbing_speed}, current_idex_mode: {current_idex_mode}"
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Loading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
FORCE_MOVE STEPPER={'extruder%s' % ('' if toolhead == 0 else toolhead)} DISTANCE={filament_grabbing_length} VELOCITY={filament_grabbing_speed}
M400
{% if printer.pause_resume.is_paused %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% if resume_after_insert %}
RESUME
{% endif %}
{% else %}
{% if not printer.virtual_sdcard.is_active %}
LOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_INSERT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_INSERT" MSG="TOOLHEAD: {toolhead}"
[gcode_macro _PURGE_BEFORE_UNLOAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set purge_before_unload = printer["gcode_macro T%s" % toolhead].purge_before_unload|float %}
DEBUG_ECHO PREFIX="_PURGE_BEFORE_UNLOAD" MSG="TOOLHEAD: {toolhead}"
{% if purge_before_unload > 0 %}
G92 E0
G0 E{purge_before_unload} F300
G92 E0
M400
{% endif %}
[gcode_macro _PURGE_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set e = params.E|int %}
{% set r = params.R|default(0)|int %}
DEBUG_ECHO PREFIX="_PURGE_FILAMENT" MSG="TOOLHEAD: {toolhead}, E: {e}"
{% if e > 0 %}
G92 E0
G0 E{e} F300
G92 E0
M400
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={0.4 if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={0.4 if toolhead == 1 else 0}
{% else %}
M106 S{(255 * 0.4)}
{% endif %}
{% endif %}
G4 P3000
{% if r > 0 %}
G92 E0
G0 E-{r} F300
G92 E0
M400
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["dual_carriage"] is defined %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% else %}
M106 S0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_PARKING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_PARKING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _MOVE_TO_LOADING_POSITION]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_MOVE_TO_LOADING_POSITION" MSG="TOOLHEAD: {toolhead}"
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if act_t == toolhead %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
G1 X{loading_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _CLEANING_MOVE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% if printer["dual_carriage"] is defined or printer["rmmu_hub"] is defined %}
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer["gcode_macro T%s" % toolhead].has_oozeguard|default(false)|lower == 'true' %}
{% if printer["gcode_macro T%s" % toolhead].parking_position is defined and printer["gcode_macro T%s" % toolhead].loading_position is defined %}
{% set loading_position = printer["gcode_macro T%s" % toolhead].loading_position|float %}
{% set parking_position = printer["gcode_macro T%s" % toolhead].parking_position|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set cleaning_position = loading_position %}
{% if loading_position == parking_position %}
{% if loading_position > 0 %}
{% set cleaning_position = loading_position - 30 %}
{% else %}
{% set cleaning_position = loading_position + 30 %}
{% endif %}
{% endif %}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
G1 X{cleaning_position} F{speed}
G1 X{parking_position} F{speed}
M400
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _START_PRINT_BED_MESH]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
SET_MACRO_TRAVEL_SETTINGS
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set X=[params.X0|default(-1)|float, params.X1|default(-1)|float] %}
{% set Y=[params.Y0|default(-1)|float, params.Y1|default(-1)|float] %}
DEBUG_ECHO PREFIX="_START_PRINT_BED_MESH" MSG="idex_mode: {idex_mode}, X: {X}, Y: {Y}"
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set X=[0, printable_x_max] %}
{% endif %}
{% set beacon_bed_mesh_scv = printer["gcode_macro RatOS"].beacon_bed_mesh_scv|default(25)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% if printer.configfile.settings.beacon is defined and not beacon_contact_bed_mesh %}
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={beacon_bed_mesh_scv}
{% endif %}
{% set default_profile = printer["gcode_macro RatOS"].bed_mesh_profile|default('ratos') %}
{% if printer["gcode_macro RatOS"].calibrate_bed_mesh|lower == 'true' %}
BED_MESH_CLEAR
{% if printer["gcode_macro RatOS"].adaptive_mesh|lower == 'true' %}
CALIBRATE_ADAPTIVE_MESH PROFILE={default_profile} X0={X[0]} X1={X[1]} Y0={Y[0]} Y1={Y[1]} T={params.T|int} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={idex_mode}
{% else %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% endif %}
BED_MESH_PROFILE LOAD={default_profile}
{% elif printer["gcode_macro RatOS"].bed_mesh_profile is defined %}
BED_MESH_CLEAR
BED_MESH_PROFILE LOAD={printer["gcode_macro RatOS"].bed_mesh_profile}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_bed_mesh"
[gcode_macro CALIBRATE_ADAPTIVE_MESH]
gcode =
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_bed_mesh_samples = printer["gcode_macro RatOS"].beacon_contact_bed_mesh_samples|default(2)|int %}
{% set beacon_contact_bed_mesh = true if printer["gcode_macro RatOS"].beacon_contact_bed_mesh|default(false)|lower == 'true' else false %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set default_profile = params.PROFILE %}
{% set x0 = params.X0|default(-1)|float %}
{% set y0 = params.Y0|default(-1)|float %}
{% set x1 = params.X1|default(-1)|float %}
{% set y1 = params.Y1|default(-1)|float %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Recieved coordinates X0={x0} Y0={y0} X1={x1} Y1={y1}"
{% if x0 >= x1 or y0 >= y1 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Invalid coordinates received. Please check your slicer settings. Falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float %}
{% set mesh_x0 = [[x0, max_x]|min, min_x]|max %}
{% set mesh_y0 = [[y0, max_y]|min, min_y]|max %}
{% set mesh_x1 = [[x1, max_x]|min, min_x]|max %}
{% set mesh_y1 = [[y1, max_y]|min, min_y]|max %}
{% if mesh_x0 == min_x and mesh_y0 == min_y and mesh_x1 == max_x and mesh_y1 == max_y %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Print is using the full bed, falling back to full bed mesh."
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile}
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% else %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% set probe_count_x = mesh_config.probe_count.split(",")[0]|int %}
{% if mesh_config.probe_count.split(",")|length == 2 %}
{% set probe_count_y = mesh_config.probe_count.split(",")[1]|int %}
{% else %}
{% set probe_count_y = mesh_config.probe_count.split(",")[0]|int %}
{% endif %}
{% set probe_x_step = (max_x - min_x) / probe_count_x %}
{% set probe_y_step = (max_y - min_y) / probe_count_y %}
{% set mesh_count_x = ([(mesh_x1 - mesh_x0) / probe_x_step, 3]|max)|int %}
{% set mesh_count_y = ([(mesh_y1 - mesh_y0) / probe_y_step, 3]|max)|int %}
{% set min_mesh_count = [mesh_count_x, mesh_count_y]|min %}
{% set max_mesh_count = [mesh_count_x, mesh_count_y]|max %}
{% set algorithm = mesh_config.algorithm %}
{% if algorithm|lower == 'lagrange' and max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="cannot exceed a probe_count of 6 when using lagrange interpolation. Falling back to bicubic interpolation."
{% set algorithm = 'bicubic' %}
{% endif %}
{% if algorithm|lower == 'bicubic' and min_mesh_count < 4 %}
{% if max_mesh_count > 6 %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="invalid probe_count option when using bicubic interpolation. Combination of 3 points on one axis with more than 6 on another is not permitted. Forcing minimum mesh count to be 4."
{% set min_mesh_count = 4 %}
{% else %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="bicubic interpolation with a probe_count of less than 4 points detected. Forcing lagrange interpolation."
{% set algorithm = 'lagrange' %}
{% endif %}
{% endif %}
{% set mesh_count_x = ([min_mesh_count, mesh_count_x]|max)|int %}
{% set mesh_count_x = ([max_mesh_count, mesh_count_x]|min)|int %}
{% set mesh_count_y = ([min_mesh_count, mesh_count_y]|max)|int %}
{% set mesh_count_y = ([max_mesh_count, mesh_count_y]|min)|int %}
{% set should_prime = printer["gcode_macro RatOS"].nozzle_priming == 'primeblob' %}
{% if printer["dual_carriage"] is not defined %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% else %}
{% set probe_first = printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == "min" or printer["gcode_macro RatOS"].nozzle_prime_start_y|float(printable_y_max) < printable_y_max / 2 %}
{% endif %}
{% if printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 != 0 and probe_first %}
{% set probe_first = false %}
{% elif printer.configfile.settings.beacon is defined and printer.configfile.settings.beacon.mesh_runs % 2 == 0 and not probe_first %}
{% set probe_first = true %}
{% endif %}
{% if should_prime and probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="mesh coordinates X0={mesh_x0} Y0={mesh_y0} X1={mesh_x1} Y1={mesh_y1}"
{% if printer.configfile.settings.beacon is defined and beacon_contact_bed_mesh %}
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES={beacon_contact_bed_mesh_samples} PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% else %}
BED_MESH_CALIBRATE PROFILE={default_profile} ALGORITHM={algorithm} MESH_MIN={mesh_x0},{mesh_y0} MESH_MAX={mesh_x1},{mesh_y1} PROBE_COUNT={mesh_count_x},{mesh_count_y} RELATIVE_REFERENCE_INDEX=-1
{% if printer.configfile.settings.beacon is defined %}
_BEACON_APPLY_SCAN_COMPENSATION
{% endif %}
{% endif %}
{% if should_prime and not probe_first %}
{% if printer["dual_carriage"] is not defined %}
PROBE_FOR_PRIMING
{% else %}
{% if both_toolheads %}
PROBE_FOR_PRIMING TOOLHEAD=0 IDEX_MODE={idex_mode}
PROBE_FOR_PRIMING TOOLHEAD=1 IDEX_MODE={idex_mode}
{% else %}
PROBE_FOR_PRIMING TOOLHEAD={params.T|int} IDEX_MODE={idex_mode}
{% endif %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
STOW_PROBE
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M84]
rename_existing = M84.1
gcode =
M84.1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
{% if printer["dual_carriage"] is defined %}
_SET_TOOLHEAD_OFFSET T={printer["gcode_macro RatOS"].default_toolhead|int} MOVE=0
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro _VAOC"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
{% endif %}
SET_GCODE_OFFSET X=0 Y=0 Z=0 MOVE=0
_IDEX_SINGLE INIT=1
{% endif %}
SET_SKEW CLEAR=1
_LED_MOTORS_OFF
[gcode_macro M104]
rename_existing = M104.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
DEBUG_ECHO PREFIX="M104" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set temperature_offset_t0 = printer["gcode_macro T0"].temperature_offset|default(0)|int %}
{% set temperature_offset_t1 = printer["gcode_macro T1"].temperature_offset|default(0)|int %}
{% set s0 = [s + temperature_offset_t0, 0]|max %}
{% set s1 = [s + temperature_offset_t1, 0]|max %}
{% if temperature_offset_t0 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t0}°C added to toolhead T0."
{% endif %}
{% if temperature_offset_t1 != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset_t1}°C added to toolhead T1."
{% endif %}
{% else %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M104" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
M104.1 S{s0} T0
M104.1 S{s1} T1
{% else %}
M104.1 S{s} T{t}
{% endif %}
{% endif %}
[gcode_macro M109]
rename_existing = M109.1
gcode =
{% set s = params.S|default(0)|int %}
{% set t = params.T|default(-1)|int %}
{% set t = 0 if t == -1 else t %}
DEBUG_ECHO PREFIX="M109" MSG="s: {s}, t: {t}"
{% if printer["gcode_macro T%s" % t] is defined %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set s = [s + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="M109" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% set is_in_standby = false %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% if toolchange_standby_temp > -1 %}
{% set is_in_standby = true if printer["gcode_macro T%s" % t].standby|default(false)|lower == 'true' else false %}
{% endif %}
{% endif %}
{% if not is_in_standby %}
M109.1 S{s} T{t}
{% endif %}
[gcode_macro SET_HEATER_TEMPERATURE]
rename_existing = SET_HEATER_TEMPERATURE_BASE
gcode =
{% set heater = params.HEATER|default("") %}
{% set target = params.TARGET|default(0)|int %}
DEBUG_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="heater: {heater}, target: {target}"
{% if heater|lower == "extruder" or heater|lower == "extruder1" %}
{% set t = 0 if heater|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and target > 0 %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% set target = [target + temperature_offset, 0]|max %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="SET_HEATER_TEMPERATURE" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
SET_HEATER_TEMPERATURE_BASE HEATER="{heater}" TARGET={target}
[gcode_macro TEMPERATURE_WAIT]
rename_existing = TEMPERATURE_WAIT_BASE
gcode =
{% set sensor = params.SENSOR|default("") %}
{% set minimum = params.MINIMUM|default(-1)|int %}
{% set maximum = params.MAXIMUM|default(-1)|int %}
DEBUG_ECHO PREFIX="TEMPERATURE_WAIT" MSG="sensor: {sensor}, minimum: {minimum}, maximum: {maximum}"
{% if sensor|lower == "extruder" or sensor|lower == "extruder1" %}
{% set t = 0 if sensor|lower == "extruder" else 1 %}
{% if printer["gcode_macro T%s" % t] is defined and (minimum > 0 or maximum > 0) %}
{% set temperature_offset = printer["gcode_macro T%s" % t].temperature_offset|default(0)|int %}
{% if minimum > -1 %}
{% set minimum = [minimum + temperature_offset, 0]|max %}
{% endif %}
{% if maximum > -1 %}
{% set maximum = [maximum + temperature_offset, 0]|max %}
{% endif %}
{% if temperature_offset != 0 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature offset of {temperature_offset}°C added to toolhead T{t}."
{% endif %}
{% endif %}
{% endif %}
{% if minimum > -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum} MAXIMUM={maximum}
{% elif minimum > -1 and maximum == -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MINIMUM: {minimum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MINIMUM={minimum}
{% elif minimum == -1 and maximum > -1 %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Waiting for sensor: {sensor}, MAXIMUM: {maximum}"
RATOS_ECHO MSG="please wait..."
TEMPERATURE_WAIT_BASE SENSOR="{sensor}" MAXIMUM={maximum}
{% endif %}
RATOS_ECHO PREFIX="TEMPERATURE_WAIT" MSG="Temperature for toolhead T{t} reached."
[gcode_macro SET_GCODE_OFFSET]
rename_existing = SET_GCODE_OFFSET_ORG
gcode =
SET_GCODE_OFFSET_ORG { rawparams }
{% if printer.configfile.settings.beacon is defined and (params.Z_ADJUST is defined or params.Z is defined) %}
_BEACON_APPLY_RUNTIME_MULTIPLIER
{% endif %}
[gcode_macro SDCARD_PRINT_FILE]
rename_existing = SDCARD_PRINT_FILE_BASE
gcode =
{% if printer["ratos"] is defined %}
PROCESS_GCODE_FILE { rawparams }
{% else %}
SDCARD_PRINT_FILE_BASE { rawparams }
{% endif %}
[gcode_macro SKEW_PROFILE]
rename_existing = SKEW_PROFILE_BASE
variable_loaded_profile = ""
gcode =
{% if params.LOAD is defined %}
{% if printer.configfile.settings["skew_correction %s" % params.LOAD] is defined %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='"{params.LOAD}"'
{% endif %}
{% endif %}
SKEW_PROFILE_BASE { rawparams }
[gcode_macro SET_SKEW]
rename_existing = SET_SKEW_BASE
gcode =
{% if params.CLEAR is defined %}
{% if params.CLEAR|default(0)|int == 1 %}
SET_GCODE_VARIABLE MACRO=SKEW_PROFILE VARIABLE=loaded_profile VALUE='""'
{% endif %}
{% endif %}
SET_SKEW_BASE { rawparams }
[gcode_macro SET_VELOCITY_LIMIT]
rename_existing = SET_VELOCITY_LIMIT_BASE
gcode =
{% if params.ACCEL_TO_DECEL is defined %}
{% if params.ACCEL is defined %}
{% set accel = params.ACCEL|float %}
{% else %}
{% set accel = printer.toolhead.max_accel|float %}
{% endif %}
{% if params.VELOCITY is defined %}
{% set velocity = params.VELOCITY|float %}
{% else %}
{% set velocity = printer.toolhead.max_velocity|float %}
{% endif %}
{% if params.SQUARE_CORNER_VELOCITY is defined %}
{% set scv = params.SQUARE_CORNER_VELOCITY|float %}
{% else %}
{% set scv = printer.toolhead.square_corner_velocity|float %}
{% endif %}
{% set mcr = params.ACCEL_TO_DECEL|float / accel %}
DEBUG_ECHO PREFIX="SET_VELOCITY_LIMIT" MSG="ACCEL={accel}, VELOCITY={velocity}, SQUARE_CORNER_VELOCITY={scv}, MINIMUM_CRUISE_RATIO={mcr}"
SET_VELOCITY_LIMIT_BASE ACCEL={accel} VELOCITY={velocity} SQUARE_CORNER_VELOCITY={scv} MINIMUM_CRUISE_RATIO={1-mcr}
{% else %}
SET_VELOCITY_LIMIT_BASE { rawparams }
{% endif %}
[gcode_macro _START_PRINT_PARK]
gcode =
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_x = printer["gcode_macro RatOS"].start_print_park_x %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% endif %}
{% if printer["dual_carriage"] is defined and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
{% if printer["gcode_macro RatOS"].start_print_park_x is defined and printer["gcode_macro RatOS"].start_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="start_print_park_x is ignored for IDEX printers"
{% endif %}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={start_print_park_in} X={start_print_park_x}
G0 Z{z} F{z_speed}
[gcode_macro _END_PRINT_PARK]
gcode =
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro RatOS"].end_print_park_x is defined and printer["gcode_macro RatOS"].end_print_park_x != '' %}
RATOS_ECHO PREFIX="WARNING" MSG="end_print_park_x is ignored for IDEX printers"
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
PARK_TOOLHEAD
G90
{% endif %}
_PARK LOCATION={printer["gcode_macro RatOS"].end_print_park_in} X={printer["gcode_macro RatOS"].end_print_park_x}
[gcode_macro _PARK]
gcode =
{% set x = params.X %}
{% set location = params.LOCATION|default('back')|lower %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set nozzle_priming = printer["gcode_macro RatOS"].nozzle_priming|lower %}
CACHE_TOOLHEAD_SETTINGS KEY="park"
SET_MACRO_TRAVEL_SETTINGS
{% if x != '' %}
{% if x|float >= printer.toolhead.axis_minimum.x + 5 and x|float <= printable_x_max - 5 %}
{% set park_x = x|float %}
{% else %}
{action_respond_info('The requested X co-ordinate is outside the defined axis bounds - using defaults')}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% else %}
{% set park_x = printable_x_max / 2 %}
{% endif %}
{% set park_y = printable_y_max - 15 %}
{% if location == 'front' %}
{% set park_y = printer.toolhead.axis_minimum.y + 5 %}
{% elif location == 'center' %}
{% set park_y = printable_y_max / 2 %}
{% elif location == 'primeblob' and printer["dual_carriage"] is defined %}
{% set park_y = printable_y_max - 15 %}
{% endif %}
{% if location == 'primeblob' and printer["dual_carriage"] is not defined %}
{% if (nozzle_priming == 'primeblob' or nozzle_priming == 'primeline') %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set park_x = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set park_x = printable_x_max - 5 %}
{% else %}
{% set park_x = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set park_y = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set park_y = printable_y_max - 5 %}
{% else %}
{% set park_y = nozzle_prime_start_y|float %}
{% endif %}
{% endif %}
{% endif %}
G90
{% if printer["dual_carriage"] is not defined %}
G0 X{park_x} Y{park_y} F{speed}
{% else %}
G0 Y{park_y} F{speed}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="park"
[gcode_macro SAVE_PROBE_RESULT]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
{% set last_z_offset = 9999.9 %}
{% if printer.configfile.settings.beacon is defined %}
{% set current_z = printer.toolhead.position.z|float %}
{% if beacon_contact_prime_probing %}
{% set last_z_offset = printer.beacon.last_z_result %}
{% else %}
{% set last_z_offset = printer.beacon.last_sample.dist - current_z %}
{% endif %}
{% elif printer.configfile.settings.bltouch is defined %}
{% set config_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% elif printer.configfile.settings.probe is defined %}
{% set config_offset = printer.configfile.settings.probe.z_offset|float %}
{% set last_z_offset = printer.probe.last_z_result - config_offset %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Saving offset adjustment of {last_z_offset} in {params.VARIABLE|default('last_z_offset')}"
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE={params.VARIABLE|default('last_z_offset')} VALUE={last_z_offset}
[gcode_macro PROBE_FOR_PRIMING]
gcode =
{% set probe_for_priming_disable_mesh_constraints = true if printer["gcode_macro RatOS"].probe_for_priming_disable_mesh_constraints|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower != 'false' %}
SAVE_GCODE_STATE NAME=probe_for_priming_state
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the prime location.."
CACHE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
SET_MACRO_TRAVEL_SETTINGS
{% set t = params.TOOLHEAD|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% if idex_mode == '' %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% if t == 0 %}
{% set x_start = 5 %}
{% else %}
{% set x_start = printable_x_max - 5 %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% endif %}
{% endif %}
{% set z = printer.configfile.settings.bed_mesh.horizontal_move_z|float %}
{% set mesh_config = printer.configfile.config.bed_mesh %}
{% if printer.configfile.settings.bltouch is defined %}
{% set x_offset = printer.configfile.settings.bltouch.x_offset|float %}
{% set y_offset = printer.configfile.settings.bltouch.y_offset|float %}
{% set z_offset = printer.configfile.settings.bltouch.z_offset|float %}
{% elif printer.configfile.settings.probe is defined %}
{% set x_offset = printer.configfile.settings.probe.x_offset|float %}
{% set y_offset = printer.configfile.settings.probe.y_offset|float %}
{% set z_offset = printer.configfile.settings.probe.z_offset|float %}
{% elif printer.configfile.settings.beacon is defined %}
{% set x_offset = printer.configfile.settings.beacon.x_offset|float %}
{% set y_offset = printer.configfile.settings.beacon.y_offset|float %}
{% set z_offset = printer.configfile.settings.beacon.trigger_distance|float %}
{% else %}
{ action_raise_error("No probe, beacon or bltouch section found. Adaptive priming only works with a [probe], [beacon] or [bltouch] section defined.") }
{% endif %}
{% if z < z_offset %}
{ action_raise_error("Horizontal move Z ({z}) is below your probe's Z offset ({z_offset}). Please adjust your horizontal_move_z setting in [bed_mesh] to be above {z}.") }
{% endif %}
{% if not probe_for_priming_disable_mesh_constraints %}
{% set min_x = mesh_config.mesh_min.split(",")[0]|float - x_offset %}
{% set min_y = mesh_config.mesh_min.split(",")[1]|float - y_offset %}
{% set max_x = mesh_config.mesh_max.split(",")[0]|float - x_offset %}
{% set max_y = mesh_config.mesh_max.split(",")[1]|float - y_offset %}
{% set x_start = [[x_start, max_x]|min, min_x]|max %}
{% set y_start = [[y_start, max_y]|min, min_y]|max %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the start of the prime location at {x_start}, {y_start}"
G90
M83
G0 Z{z} F{z_speed}
G1 X{x_start} Y{y_start} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_result
{% endif %}
{% if idex_mode == '' %}
{% set x_end = x_start %}
{% set y_end = y_start + 45 %}
{% else %}
{% if t==1 %}
{% set x_end = x_start - 45 %}
{% else %}
{% set x_end = x_start + 45 %}
{% endif %}
{% set y_end = y_start %}
{% endif %}
RATOS_ECHO PREFIX="Adaptive Mesh" MSG="Probing the end of the prime location at {x_end}, {y_end}"
G1 X{x_end} Y{y_end} F{speed}
PROBE_CURRENT_POSITION
{% if t == 1 %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result_t1
{% else %}
SAVE_PROBE_RESULT VARIABLE=probe_for_priming_end_result
{% endif %}
RESTORE_GCODE_STATE NAME=probe_for_priming_state
RESTORE_TOOLHEAD_SETTINGS KEY="probe_for_priming"
{% endif %}
[gcode_macro RESET_PRIME_PROBE_STATE]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result VALUE=None
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_result_t1 VALUE=None
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=probe_for_priming_end_result_t1 VALUE=None
{% endif %}
[gcode_macro PROBE_CURRENT_POSITION]
gcode =
{% set beacon_contact_prime_probing = true if printer["gcode_macro RatOS"].beacon_contact_prime_probing|default(false)|lower == 'true' else false %}
SAVE_GCODE_STATE NAME=probe_current_position_state
{% if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
ASSERT_PROBE_DEPLOYED
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_prime_probing %}
PROBE PROBE_METHOD=contact SAMPLES=1
{% else %}
PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
BEACON_QUERY
{% else %}
RESTORE_GCODE_STATE NAME=probe_current_position_state MOVE=1 MOVE_SPEED={printer["gcode_macro RatOS"].macro_z_speed|float}
{% endif %}
[gcode_macro PRIME_BLOB]
description = Prints a primeblob, used internally, if configured, as part of the START_PRINT macro.
variable_x_offset = 5
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="prime_blob"
SET_MACRO_TRAVEL_SETTINGS
RATOS_ECHO PREFIX="Priming" MSG="Priming nozzle with prime blob.."
{% set current_toolhead = 0 %}
{% set target_idex_mode = '' %}
{% set extruder = 'extruder' %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE is defined %}
{% set target_idex_mode = params.IDEX_MODE|default('')|lower %}
{% else %}
{ action_raise_error("IDEX_MODE parameter not found for PRIME_BLOB macro. This is likely a bug.") }
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Priming in IDEX {target_idex_mode} mode.."
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set current_toolhead = 1 if current_idex_mode=='primary' else 0 %}
{% set extruder = 'extruder1' if current_toolhead == 1 else 'extruder' %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
SAVE_GCODE_STATE NAME=prime_blob_state
{% endif %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set fan_speed = printer["gcode_macro RatOS"].nozzle_prime_bridge_fan|float %}
{% set nozzle_diameter = printer.configfile.settings[extruder].nozzle_diameter|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set has_start_offset_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) != 9999.9 %}
{% if printer["dual_carriage"] is defined %}
{% set has_start_offset_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) != 9999.9 %}
{% endif %}
{% set start_print_park_in = printer["gcode_macro RatOS"].start_print_park_in %}
{% set start_print_park_z_height = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
{% set nozzle_prime_direction = printer["gcode_macro RatOS"].nozzle_prime_direction|lower %}
{% set nozzle_prime_start_x = printer["gcode_macro RatOS"].nozzle_prime_start_x %}
{% set nozzle_prime_start_y = printer["gcode_macro RatOS"].nozzle_prime_start_y %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% if target_idex_mode == '' %}
{% set x_factor = 0 %}
{% if nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 5 %}
{% elif nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printable_x_max - 5 %}
{% else %}
{% set x_start = nozzle_prime_start_x|float %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% set y_factor = 1 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_y_max - 5 %}
{% set y_factor = -1 %}
{% else %}
{% set y_start = nozzle_prime_start_y|float %}
{% if nozzle_prime_start_y|float < printable_y_max / 2 %}
{% set y_factor = 1 %}
{% else %}
{% set y_factor = -1 %}
{% endif %}
{% endif %}
{% if nozzle_prime_direction == 'forwards' %}
{% set y_factor = 1 %}
{% elif nozzle_prime_direction == 'backwards' %}
{% set y_factor = -1 %}
{% endif %}
{% if start_print_park_in == 'primeblob' %}
{% set z = 3 %}
{% else %}
{% set z = start_print_park_z_height %}
{% endif %}
{% else %}
{% set center_x = printable_x_max / 2 %}
{% set y_factor = 0 %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set x_start = center_x / 2 + 5 %}
{% set x_factor = 1 %}
{% else %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% if current_toolhead == 0 %}
{% set x_start = 55 %}
{% set x_factor = -1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 55 %}
{% set x_factor = 1 %}
{% endif %}
{% else %}
{% if current_toolhead == 0 %}
{% set x_start = 5 %}
{% set x_factor = 1 %}
{% elif current_toolhead == 1 %}
{% set x_start = printable_x_max - 5 %}
{% set x_factor = -1 %}
{% endif %}
{% endif %}
{% endif %}
{% if nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 5 %}
{% elif nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printable_x_max - 5 %}
{% endif %}
{% set z = 10 %}
{% endif %}
{% set start_z_offset = 0 %}
{% set end_z_offset = 0 %}
{% if has_start_offset_t0 %}
{% set start_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_result|float(9999.9) %}
{% set end_z_probe_result_t0 = printer["gcode_macro RatOS"].probe_for_priming_end_result|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t0 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t0) ) }
{% endif %}
{% if end_z_probe_result_t0 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t0) ) }
{% endif %}
{% set start_z_offset = start_z_probe_result_t0 %}
{% set end_z_offset = end_z_probe_result_t0 %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if current_toolhead == 1 or both_toolheads or target_idex_mode == "copy" or target_idex_mode == "mirror" %}
{% if has_start_offset_t1 %}
{% set start_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_result_t1|float(9999.9) %}
{% set end_z_probe_result_t1 = printer["gcode_macro RatOS"].probe_for_priming_end_result_t1|float(9999.9) %}
{% if printer.configfile.settings.bltouch is not defined and printer.configfile.settings.probe is not defined and printer.configfile.settings.beacon is not defined %}
{ action_raise_error("No probe or bltouch section found. Adaptive priming only works with [probe], [beacon] or [bltouch].") }
{% endif %}
{% if start_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No start probe result found for prime area. This is likely a bug.") }
{% endif %}
{% if end_z_probe_result_t1 == 9999.9 %}
{ action_raise_error("No end probe result found for prime area. This is likely a bug.") }
{% endif %}
{% set adjustment_threshold = printer["gcode_macro RatOS"].adaptive_prime_offset_threshold|float %}
{% if start_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (start_z_probe_result_t1) ) }
{% endif %}
{% if end_z_probe_result_t1 < adjustment_threshold %}
{ action_raise_error("Abnormal probe offset detected. Needed offset of %.5f is below the offset threshold of -1mm. Please verify the probe is over the bed when probing for priming. If it isn't, you should adjust you min/max bed_mesh settings so the probe is always over the print area." % (end_z_probe_result_t1) ) }
{% endif %}
{% set start_z_offset = [start_z_offset, start_z_probe_result_t1]|max %}
{% set end_z_offset = [end_z_offset, start_z_probe_result_t1]|max %}
{% endif %}
{% endif %}
{% if target_idex_mode != 'copy' and target_idex_mode != 'mirror' %}
{% if both_toolheads and initial_toolhead != current_toolhead %}
{% set original_start_z_offset = start_z_offset %}
{% set original_end_z_offset = end_z_offset %}
{% set start_z_offset = original_end_z_offset %}
{% set end_z_offset = original_start_z_offset %}
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={current_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="PRIME_BLOB" MSG="x_start: {x_start}, y_start: {y_start}, x_factor: {x_factor}, y_factor: {y_factor}, z: {z}, start_z_offset: {start_z_offset}, end_z_offset: {end_z_offset}"
G90
M83
RATOS_ECHO PREFIX="Priming" MSG="Lifting Z to {z}.."
G0 Z{z} F{z_speed}
{% if printer["dual_carriage"] is not defined %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% if start_print_park_in != 'primeblob' %}
G1 X{x_start} F{speed}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% endif %}
{% else %}
G1 Y{y_start + (15 * y_factor)} F{speed}
{% if target_idex_mode=="copy" or target_idex_mode=="mirror" %}
RATOS_ECHO PREFIX="Priming" MSG="Mirroring move to {x_start}, {y_start} along the edge of the print area.."
_IDEX_MIRROR PRIMING=1
{% else %}
RATOS_ECHO PREFIX="Priming" MSG="Moving to {x_start}, {y_start} along the edge of the print area.."
{% endif %}
G1 X{x_start} F{speed}
{% endif %}
RATOS_ECHO PREFIX="Priming" MSG="Starting prime blob.."
G1 Z{0.5 + start_z_offset} F{z_speed}
G1 Y{y_start} F{speed}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
G1 F300 E{14 / ((0.4 / nozzle_diameter) ** 2)}
M106 S{fan_speed}
G1 Z5 F100 E5
G92 E0
RATOS_ECHO PREFIX="Priming" MSG="Bridging with {((fan_speed/255) * 100)|int}% fan speed.."
G1 F3000 X{x_start + (15 * x_factor)} Y{y_start + (15 * y_factor)} E{1 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (20 * x_factor)} Y{y_start + (20 * y_factor)} Z{3.8 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (34 * x_factor)} Y{y_start + (34 * y_factor)} Z{2.6 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (38 * x_factor)} Y{y_start + (38 * y_factor)} Z{1.4 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
G1 F3000 X{x_start + (42 * x_factor)} Y{y_start + (42 * y_factor)} Z{0.2 + end_z_offset} E{0.2 / ((0.4 / nozzle_diameter) ** 2)}
M106 S0
G1 F3000 X{x_start + (46 * x_factor)} Y{y_start + (46 * y_factor)} Z{0.2 + end_z_offset} E0.6
G1 F{speed} X{x_start + (50 * x_factor)} Y{y_start + (50 * y_factor)}
{% if target_idex_mode == "copy" or target_idex_mode == "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if target_idex_mode == "copy" %}
{% if first_y >= 0 %}
_IDEX_COPY DANCE=0 Y={first_y}
{% else %}
_IDEX_COPY DANCE=0 Y={params.Y1}
{% endif %}
{% endif %}
{% if target_idex_mode != "copy" or target_idex_mode != "mirror" %}
RESTORE_GCODE_STATE NAME=prime_blob_state
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="prime_blob"
G92 E0
[gcode_macro UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
variable_ignore_min_extrude_temp = True
gcode =
_LEARN_MORE_FILAMENT
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set filament_name = params._NAME|default('')|string %}
{% set filament_type = params._TYPE|default('')|string %}
{% set temp = params.TEMP|default(220)|int %}
{% if printer["dual_carriage"] is not defined %}
_DEFAULT_UNLOAD_FILAMENT TEMP={temp} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead==0 or toolhead==1 %}
_IDEX_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
RATOS_ECHO MSG="Please select toolhead! 0 = left, 1 = right toolhead"
{% endif %}
{% endif %}
[gcode_macro _LEGACY_UNLOAD_FILAMENT]
description = Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
gcode =
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% set unload_speed = 5 * 60 %}
{% set unload_length = printer["gcode_macro RatOS"].filament_unload_length|float %}
M117 Unloading filament...
G0 E10 F300
G0 E-5 F3600
G4 P3000
G0 E5 F6000
G0 E-15 F6000
G0 E-{unload_length} F{unload_speed}
_CLEANING_MOVE TOOLHEAD={toolhead}
M117 Filament unloaded!
RESPOND MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _DEFAULT_UNLOAD_FILAMENT]
description = Unload filament macro for non IDEX printers.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_DEFAULT_UNLOAD_FILAMENT" MSG="TEMP: {temp}"
_LED_UNLOADING_FILAMENT TOOLHEAD=0
SAVE_GCODE_STATE NAME=unload_state
{% if printer.extruder.temperature|int < temp or printer.extruder.can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating extruder to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={temp}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD=0 NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TOOLHEAD=0
{% endif %}
RESTORE_GCODE_STATE NAME=unload_state
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD=0
[gcode_macro _IDEX_UNLOAD_FILAMENT]
description = Unload filament macro for IDEX printer.
gcode =
{% set temp = params.TEMP|default(220)|int %}
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% set enable_unload_tip_forming = true if printer["gcode_macro RatOS"].enable_unload_tip_forming|default(false)|lower == 'true' else false %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
DEBUG_ECHO PREFIX="_IDEX_UNLOAD_FILAMENT" MSG="TEMP: {temp}, TOOLHEAD: {toolhead}"
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
{% if not printer.pause_resume.is_paused %}
{% if printer[target_extruder].temperature|int < temp or printer[target_extruder].can_extrude|lower == 'false' %}
RATOS_ECHO MSG="Heating T{toolhead} to {temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
{% endif %}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={temp}
{% endif %}
G4 P3000
{% if enable_unload_tip_forming %}
_UNLOAD_FILAMENT TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_LEGACY_UNLOAD_FILAMENT TEMP={temp} TOOLHEAD={toolhead}
{% endif %}
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT" MSG="TOOLHEAD: {toolhead}"
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER TOOLHEAD={toolhead}
_CLEANING_MOVE TOOLHEAD={toolhead}
[gcode_macro _UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_NOZZLE_TO_COOLING_ZONE" MSG="TOOLHEAD: {toolhead}"
RATOS_ECHO MSG="Unloading filament from nozzle to cooling zone... Please wait!"
_PURGE_BEFORE_UNLOAD TOOLHEAD={toolhead}
{% if printer["gcode_macro _UNLOAD_WITHOUT_TIP_FORMING"] is defined %}
_UNLOAD_WITHOUT_TIP_FORMING TOOLHEAD={toolhead} NAME='{filament_name}' TYPE='{filament_type}'
{% else %}
_UNLOAD_WITH_TIP_FORMING NAME='{filament_name}' TYPE='{filament_type}'
{% endif %}
G4 P3000
[gcode_macro _UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set extruder_load_speed = printer["gcode_macro T%s" % toolhead].extruder_load_speed|float * 60 %}
{% set extruder_gear_to_cooling_position_distance = printer["gcode_macro T%s" % toolhead].extruder_gear_to_cooling_position_distance|float %}
{% set tooolhead_sensor_to_extruder_gear_distance = printer["gcode_macro T%s" % toolhead].tooolhead_sensor_to_extruder_gear_distance|float %}
DEBUG_ECHO PREFIX="_UNLOAD_FILAMENT_FROM_COOLING_ZONE_TO_EXTRUDER" MSG="TOOLHEAD: {toolhead}"
G0 E-{extruder_gear_to_cooling_position_distance + tooolhead_sensor_to_extruder_gear_distance + 50} F{extruder_load_speed}
RATOS_ECHO MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
[gcode_macro _UNLOAD_WITH_TIP_FORMING]
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
{% if filament_name != '' and filament_type != '' %}
_UNLOAD_KNOWN_FILAMENT NAME={filament_name} TYPE={filament_type}
{% else %}
_UNLOAD_UNKNOWN_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _UNLOAD_KNOWN_FILAMENT]
description = User overrideable tip forming macro if slicer filament profiles are known
gcode =
{% set filament_name = params.NAME|default('')|string %}
{% set filament_type = params.TYPE|default('')|string %}
RATOS_ECHO PREFIX="FILAMENT TYPE" MSG='{filament_type}'
RATOS_ECHO PREFIX="FILAMENT PROFILE" MSG='{filament_name}'
{% if filament_name == "Prusament PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% elif filament_name == "Nobufil PETG @V-Minion" %}
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
{% else %}
RATOS_ECHO PREFIX="_UNLOAD_KNOWN_FILAMENT" MSG="Filament profile not found!"
_UNLOAD_UNKNOWN_FILAMENT
{% endif %}
[gcode_macro _UNLOAD_UNKNOWN_FILAMENT]
description = User overrideable standard tip forming macro
gcode =
DEBUG_ECHO PREFIX="_UNLOAD_UNKNOWN_FILAMENT" MSG="Using standard tip forming macro!"
_TIP_FORMING RETRACT_LENGTH=18 COOLING_MOVE_LENGTH=10
[gcode_macro _TIP_FORMING]
gcode =
{% set cooling_moves = params.COOLING_MOVES|default(4)|int %}
{% set cooling_move_length = params.COOLING_MOVE_LENGTH|default(10)|float %}
{% set start_cooling_speed = params.START_COOLING_SPEED|default(10)|float * 60 %}
{% set end_cooling_speed = params.END_COOLING_SPEED|default(50)|float * 60 %}
{% if cooling_moves == 0 %}
{% set cooling_move_length = 0 %}
{% endif %}
{% set dip = true if params.DIP|default(false)|lower == "true" else false %}
{% set dip_length = params.DIP_LENGTH|default(22)|float %}
{% set dip_speed = params.DIP_SPEED|default(30)|float * 60 %}
{% set dip_retract_speed = params.DIP_RETRACT_SPEED|default(70)|float * 60 %}
{% set retract_length = params.RETRACT_LENGTH|default(18)|float %}
{% set start_retract_speed = params.START_RETRACT_SPEED|default(120)|float * 60 %}
{% set end_retract_speed = params.END_RETRACT_SPEED|default(20)|float * 60 %}
DEBUG_ECHO PREFIX="_TIP_FORMING" MSG="cooling_moves: {cooling_moves}, cooling_move_length: {cooling_move_length}, start_cooling_speed: {start_cooling_speed}, end_cooling_speed: {end_cooling_speed}, dip: {dip}, dip_length: {dip_length}, dip_speed: {dip_speed}, dip_retract_speed: {dip_retract_speed}, retract_length: {retract_length}, start_retract_speed: {start_retract_speed}, end_retract_speed: {end_retract_speed}"
M220 S100
G92 E0
{% set retract = retract_length + cooling_move_length / 2 - 15 %}
G1 E-15 F{start_retract_speed}
G1 E-{0.7 * retract} F{1.0 * end_retract_speed}
G1 E-{0.2 * retract} F{0.5 * end_retract_speed}
G1 E-{0.1 * retract} F{0.3 * end_retract_speed}
G92 E0
{% if cooling_moves > 0 %}
{% set i = (end_cooling_speed - start_cooling_speed) / (2 * cooling_moves - 1) %}
{% for m in range(cooling_moves) %}
G1 E{cooling_move_length} F{(start_cooling_speed + i * m * 2)}
G1 E-{cooling_move_length} F{(start_cooling_speed + i * (m * 2 + 1))}
{% endfor %}
{% endif %}
G92 E0
{% if dip %}
G1 E{dip_length} F{dip_speed}
G4 P100
G1 E-{dip_length} F{dip_retract_speed}
{% endif %}
G92 E0
M400
[gcode_macro _ON_FILAMENT_SENSOR_BUTTON_PRESSED]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_SENSOR_BUTTON_PRESSED" MSG="TOOLHEAD: {toolhead}"
{% if not printer.virtual_sdcard.is_active %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_TOOLHEAD_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_RUNOUT]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_runout_detection = true if printer["gcode_macro T%s" % toolhead].enable_runout_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_RUNOUT" MSG="TOOLHEAD: {toolhead}"
{% if enable_runout_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=false
{% endif %}
[gcode_macro _ON_BOWDEN_FILAMENT_SENSOR_CLOG]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set enable_clog_detection = true if printer["gcode_macro T%s" % toolhead].enable_clog_detection|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_ON_BOWDEN_FILAMENT_SENSOR_CLOG" MSG="TOOLHEAD: {toolhead}"
{% if enable_clog_detection %}
_ON_FILAMENT_END TOOLHEAD={toolhead} CLOGGED=true
{% endif %}
[gcode_macro _ON_FILAMENT_END]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set clogged = true if params.CLOGGED|default(false)|lower == 'true' else false %}
{% set unload_after_runout = printer["gcode_macro T%s" % toolhead].unload_after_runout|float %}
{% if clogged %}
_LED_FILAMENT_CLOG TOOLHEAD={toolhead}
{% else %}
_LED_FILAMENT_RUNOUT TOOLHEAD={toolhead}
{% endif %}
DEBUG_ECHO PREFIX="_ON_FILAMENT_END" MSG="TOOLHEAD: {toolhead}"
{% if printer.virtual_sdcard.is_active %}
{% if not printer.pause_resume.is_paused %}
PAUSE RUNOUT=True
{% endif %}
{% if not clogged and unload_after_runout %}
UNLOAD_FILAMENT TOOLHEAD={toolhead}
{% endif %}
{% if not clogged and printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true'%}
_JOIN_SPOOL TOOLHEAD={toolhead}
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M600]
description = Executes a color change by pausing the printer an unloading the filament.
gcode =
PAUSE
UNLOAD_FILAMENT
RATOS_ECHO MSG="Please load new filament and resume"
[gcode_macro COLD_PULL]
description = Automated hotend cold pull.
gcode =
{% set extrusion_temp = params.EXTRUSION_TEMP|default(220)|int %}
{% set cold_pull_temp = params.COLD_PULL_TEMP|default(80)|int %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% if printer["dual_carriage"] is not defined %}
{% set toolhead = 0 %}
{% else %}
{% if not printer.pause_resume.is_paused %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{action_raise_error("Unloading filament in Copy or Mirror mode is not supported! Select single mode to proceed.")}
{% else %}
{% set paused_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% if paused_idex_mode == 'copy' or paused_idex_mode == 'mirror' %}
{% set toolhead = params.TOOLHEAD|default(-1)|int %}
{% else %}
{% set toolhead = printer["gcode_macro PAUSE"].idex_toolhead|int %}
{% endif %}
{% endif %}
{% endif %}
{% if toolhead != 0 and toolhead != 1 %}
{action_raise_error("Please select toolhead! 0 = left, 1 = right toolhead")}
{% endif %}
{% endif %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
_LED_UNLOADING_FILAMENT TOOLHEAD={toolhead}
SAVE_GCODE_STATE NAME=cold_pull_state
{% if "xyz" not in printer.toolhead.homed_axes %}
_SELECT_TOOL T={toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% set target_extruder = 'extruder%s' % ('' if toolhead == 0 else toolhead) %}
ACTIVATE_EXTRUDER EXTRUDER={target_extruder}
RATOS_ECHO MSG="Heating T{toolhead} to {extrusion_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={extrusion_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={extrusion_temp} MAXIMUM={extrusion_temp + 2}
G4 P3000
RATOS_ECHO MSG="extruding..."
G92 E0
G1 E30 F300
G92 E0
RATOS_ECHO MSG="Heating T{toolhead} to {cold_pull_temp}C... Please wait."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={cold_pull_temp}
TEMPERATURE_WAIT SENSOR={target_extruder} MINIMUM={cold_pull_temp} MAXIMUM={cold_pull_temp + 2}
G4 P10000
RATOS_ECHO MSG="cold pull..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-40 VELOCITY=5 ACCEL=100
RATOS_ECHO MSG="eject filament..."
FORCE_MOVE STEPPER={target_extruder} DISTANCE=-200 VELOCITY=20 ACCEL=500
RATOS_ECHO MSG="cooling down extruder..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
RESTORE_GCODE_STATE NAME=cold_pull_state
SAVE_VARIABLE VARIABLE=t{toolhead}_filament VALUE="('""', '""', 0)"
{% if printer["gcode_macro T%s" % toolhead].filament_name is defined and printer["gcode_macro T%s" % toolhead].filament_type is defined and printer["gcode_macro T%s" % toolhead].filament_temp is defined %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=filament_temp VALUE=0
{% endif %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=color VALUE='"{color_unknown}"'
_LED_FILAMENT_UNLOADED TOOLHEAD={toolhead}
CONSOLE_ECHO TITLE="Cold pull finished!" MSG="Please remove the filament from the PTFE tube and cut the end off. Do NOT try to load it again." TYPE="warning"
[gcode_macro _USER_START_PRINT_BEFORE_HOMING]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_BED]
gcode =
[gcode_macro _USER_START_PRINT_BED_MESH]
gcode =
[gcode_macro _USER_START_PRINT_PARK]
gcode =
[gcode_macro _USER_START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
[gcode_macro _USER_START_PRINT_HEAT_CHAMBER]
description = Uses the extruder sensor to wait for chamber temp. Override the _START_PRINT_HEAT_CHAMBER macro to implement heated chamber handling.
gcode =
{% set chamber_heater_bed_temp = printer["gcode_macro RatOS"].chamber_heater_bed_temp|default(115)|int %}
[gcode_macro _USER_END_PRINT_BEFORE_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_AFTER_HEATERS_OFF]
gcode =
[gcode_macro _USER_END_PRINT_PARK]
gcode =
[gcode_macro _USER_END_PRINT_FINISHED]
description = User hook for when the print is finished after gcode state has been restored.
gcode =
[gcode_macro _USER_START_PRINT]
gcode =
[gcode_macro _USER_END_START_PRINT]
gcode =
[gcode_macro _USER_START_FEATURE]
gcode =
[gcode_macro _USER_END_FEATURE]
gcode =
[gcode_macro ECHO_T_VARS]
description = Echo Toolhead variables to the console.
gcode =
{% set t = params.T|default(0) %}
RATOS_ECHO MSG="T{t} Variables"
{% for var, value in printer["gcode_macro T%s" % t].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro ECHO_RATOS_VARS]
description = Echo RatOS variables to the console.
gcode =
{% for var, value in printer["gcode_macro RatOS"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[delayed_gcode RATOS_INIT]
initial_duration = 0.1
gcode =
_LED_STANDBY
CALCULATE_PRINTABLE_AREA
INITIAL_FRONTEND_UPDATE
_CHAMBER_FILTER_SANITY_CHECK
[delayed_gcode RATOS_LOGO]
initial_duration = 2
gcode =
HELLO_RATOS
[gcode_macro INITIAL_FRONTEND_UPDATE]
gcode =
{% set color_ok = printer["gcode_macro RatOS"].status_color_ok|string %}
{% set color_error = printer["gcode_macro RatOS"].status_color_error|string %}
{% set color_unknown = printer["gcode_macro RatOS"].status_color_unknown|string %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_unknown}"'
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_unknown}"'
{% endif %}
{% set t0_sensor = "undefined" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
{% set t0_sensor = "detected" %}
{% else %}
{% set t0_sensor = "empty" %}
{% endif %}
{% else %}
{% set t0_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set t1_sensor = "undefined" %}
{% if printer["dual_carriage"] is defined and printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
{% set t1_sensor = "detected" %}
{% else %}
{% set t1_sensor = "empty" %}
{% endif %}
{% else %}
{% set t1_sensor = "disabled" %}
{% endif %}
{% endif %}
{% set svv = printer.save_variables.variables %}
{% if svv.t0_filament is defined and printer["gcode_macro T0"] is defined %}
{% if printer["gcode_macro T0"].filament_name is defined and printer["gcode_macro T0"].filament_type is defined and printer["gcode_macro T0"].filament_temp is defined %}
{% if t0_sensor != "empty" %}
{% set t0_filament_type = svv.t0_filament[0]|default('')|string %}
{% set t0_filament_name = svv.t0_filament[1]|default('')|string %}
{% set t0_filament_temp = svv.t0_filament[2]|default(0)|float %}
{% if t0_filament_name != '' and t0_filament_type != '' and t0_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='"{t0_filament_name}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='"{t0_filament_type}"'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE={t0_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t0_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
{% if svv.t1_filament is defined and printer["gcode_macro T1"] is defined %}
{% if printer["gcode_macro T1"].filament_name is defined and printer["gcode_macro T1"].filament_type is defined and printer["gcode_macro T1"].filament_temp is defined %}
{% if t1_sensor != "empty" %}
{% set t1_filament_type = svv.t1_filament[0]|default('')|string %}
{% set t1_filament_name = svv.t1_filament[1]|default('')|string %}
{% set t1_filament_temp = svv.t1_filament[2]|default(0)|float %}
{% if t1_filament_name != '' and t1_filament_type != '' and t1_filament_temp > 0 %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=color VALUE='"{color_ok}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='"{t1_filament_name}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='"{t1_filament_type}"'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE={t1_filament_temp}
{% endif %}
{% else %}
SAVE_VARIABLE VARIABLE=t1_filament VALUE="('""', '""', 0)"
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_name VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_type VALUE='""'
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=filament_temp VALUE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro CALCULATE_PRINTABLE_AREA]
gcode =
{% set bed_margin_x = printer["gcode_macro RatOS"].bed_margin_x %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set tool = 0 if printer["gcode_macro T0"] is not defined or printer["gcode_macro T0"].active else 1 %}
{% set max_x = printer.toolhead.axis_maximum.x if printer["dual_carriage"] is defined and tool == 0 else printer.toolhead.axis_maximum.x - bed_margin_x[1] %}
{% if printer["dual_carriage"] is defined %}
{% set max_x = printer.toolhead.axis_maximum.x %}
{% endif %}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="printer.toolhead.axis_maximum.x {printer.toolhead.axis_maximum.x}"
{% set max_y = printer.toolhead.axis_maximum.y - bed_margin_y[1]%}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_x_max VALUE={max_x}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=printable_y_max VALUE={max_y}
DEBUG_ECHO PREFIX="CALCULATE_PRINTABLE_AREA" MSG="Printable area calculated: X: 0,{max_x} Y: 0,{max_y}"
[gcode_macro CACHE_TOOLHEAD_SETTINGS]
variable_cache = {"global": {"accel": 1000, "ratio": 0.5, "speed": 50, "scv": 5}}
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set dummy = cache.__setitem__(key, {"accel": printer.toolhead.max_accel, "ratio": printer.toolhead.minimum_cruise_ratio, "speed": printer.toolhead.max_velocity, "scv": printer.toolhead.square_corner_velocity}) %}
SET_GCODE_VARIABLE MACRO=CACHE_TOOLHEAD_SETTINGS VARIABLE=cache VALUE="{cache | pprint | replace("\n", "") | replace("\"", "\\\"")}"
DEBUG_ECHO PREFIX="CACHE_TOOLHEAD_SETTINGS" MSG="Toolhead settings cached for {key}. {printer.toolhead.max_accel} accel, {printer.toolhead.minimum_cruise_ratio} ratio, {printer.toolhead.max_velocity} velocity, {printer.toolhead.square_corner_velocity} scv."
[gcode_macro RESTORE_TOOLHEAD_SETTINGS]
gcode =
{% set key = "global" %}
{% if params.KEY is defined %}
{% set key = params.KEY %}
{% endif %}
{% set values = printer["gcode_macro CACHE_TOOLHEAD_SETTINGS"].cache.__getitem__(key) %}
{% if values is not defined or values == 'None' %}
{ action_raise_error("RESTORE_TOOLHEAD_SETTINGS: Toolhead settings not cached for key '" ~ key ~ "'.") }
{% endif %}
SET_VELOCITY_LIMIT ACCEL={values.accel} MINIMUM_CRUISE_RATIO={values.ratio} VELOCITY={values.speed} SQUARE_CORNER_VELOCITY={values.scv}
DEBUG_ECHO PREFIX="RESTORE_TOOLHEAD_SETTINGS" MSG="Toolhead settings restored. {values.accel} accel, {values.ratio} ratio, {values.speed} velocity, {values.scv} scv."
[gcode_macro SET_MACRO_TRAVEL_SETTINGS]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set accel = printer["gcode_macro RatOS"].macro_travel_accel %}
SET_VELOCITY_LIMIT ACCEL={accel} MINIMUM_CRUISE_RATIO=0.5 VELOCITY={speed} SQUARE_CORNER_VELOCITY={5}
DEBUG_ECHO PREFIX="SET_MACRO_TRAVEL_SETTINGS" MSG="Macro travel settings set. {accel} accel, {speed} velocity"
[gcode_macro SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% if printer["dual_carriage"] is not defined %}
SET_KINEMATIC_POSITION X={printable_x_max / 2} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
{% else %}
IDEX_SET_CENTER_KINEMATIC_POSITION
{% endif %}
[gcode_macro IDEX_SET_CENTER_KINEMATIC_POSITION]
description = FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
RATOS_ECHO MSG="WARNING: ONLY USE SET_CENTER_KINEMATIC_POSITION FOR DEBUGGING PURPOSES. YOU'RE OVERRIDING THE INTERNAL POSITIONING STATE OF THE PRINTER. PROCEED WITH CAUTION AND DO A PROPER G28 WHEN DONE."
SET_GCODE_VARIABLE MACRO=MAYBE_HOME VARIABLE=is_kinematic_position_overriden VALUE=True
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x - (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
SET_KINEMATIC_POSITION X={center_x + (center_x / 2)} Y={printable_y_max / 2} Z={printer.toolhead.axis_maximum.z / 2}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
[gcode_macro VERIFY_HYBRID_INVERTED]
gcode =
{% set inverted = False %}
{% if printer.configfile.settings.ratos_hybrid_corexy is defined and printer.configfile.settings.ratos_hybrid_corexy.inverted is defined %}
{% if printer.configfile.settings.ratos_hybrid_corexy.inverted|lower == 'true' %}
{% set inverted = True %}
{% endif %}
{% endif %}
{% if inverted == False %}
{ action_emergency_stop("ratos_hybrid_corexy NOT INVERTED! Inverted hybrid core-xy bugfix not detected.") }
{% endif %}
[gcode_macro RATOS_ECHO]
gcode =
{% set prefix = "RatOS" %}
{% set debug = params.DEBUG|default(0)|int %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " | " ~ params.PREFIX %}
{% endif %}
{% set prefix = prefix ~ ":" %}
{% set msg = "" %}
{% if params.MSG is defined %}
{% set msg = params.MSG %}
{% else %}
{% set msg = "No msg parameter provided (this is a bug or unintended use)." %}
{% endif %}
{% if not debug %}
M117 {prefix} {msg}
{% endif %}
RATOS_LOG PREFIX="{prefix}" MSG="{msg}"
{% if not debug %}
RESPOND PREFIX="{prefix}" MSG="{msg}"
{% else %}
CONSOLE_ECHO TITLE="{prefix}" TYPE="debug" MSG="{msg}"
{% endif %}
[gcode_macro ENABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=True
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=prefix_filter VALUE="'{params.FILTER|default('')|lower}'"
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging enabled."
[gcode_macro DISABLE_DEBUG]
gcode =
SET_GCODE_VARIABLE MACRO=DEBUG_ECHO VARIABLE=enabled VALUE=False
RATOS_ECHO PREFIX="DEBUG" MSG="Debugging disabled."
[gcode_macro DEBUG_ECHO]
variable_enabled = False
variable_prefix_filter = ''
gcode =
{% set prefix = "DEBUG" %}
{% if params.PREFIX is defined %}
{% set prefix = prefix ~ " - " ~ params.PREFIX %}
{% endif %}
{% if enabled and (prefix_filter|lower == '' or prefix_filter|lower in params.PREFIX|lower) %}
RATOS_ECHO PREFIX="{prefix}" MSG="{params.MSG}" DEBUG=1
{% endif %}
[gcode_macro START_FEATURE]
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="Start {params.FEATURE} feature gcode"
{% set scv = printer.toolhead.square_corner_velocity|int|default(5) %}
{% set accel = printer.toolhead.max_accel|int|default(10000) %}
{% set ratio = printer.toolhead.minimum_cruise_ratio|float|default(0.5) %}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="scv" VALUE={scv}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="accel" VALUE={accel}
SET_GCODE_VARIABLE MACRO="END_FEATURE" VARIABLE="ratio" VALUE={ratio}
_USER_START_FEATURE FEATURE="{params.FEATURE}"
[gcode_macro END_FEATURE]
variable_scv = 5
variable_accel = 10000
variable_ratio = 0.5
gcode =
DEBUG_ECHO PREFIX="G-Code" MSG="End {params.FEATURE} feature gcode"
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={scv} ACCEL={accel} MINIMUM_CRUISE_RATIO={ratio}
_USER_END_FEATURE FEATURE="{params.FEATURE}" SCV={scv} ACCEL={accel} RATIO={ratio}
[gcode_macro _ON_LAYER_CHANGE]
variable_layer_number = 0
description = INTERNAL USE ONLY. Call it from the slicers after layer change custom gcode
gcode =
{% set layer = params.LAYER|int %}
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE={layer}
SET_PRINT_STATS_INFO CURRENT_LAYER={layer}
[gcode_macro _LEARN_MORE_CALIBRATION]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/calibration" %}
{% set link_text = "RatOS Calibration Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_CHAMBER_FILTER]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/chamber_filter" %}
{% set link_text = "RatOS Chamber Filter Control" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _LEARN_MORE_FILAMENT]
gcode =
{% set link_url = "https://os.ratrig.com/docs/configuration/filaments" %}
{% set link_text = "RatOS Filament Macros" %}
{% set line_1 = '"Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="INFO" MSG={line_1}
[gcode_macro _CONSOLE_SAVE_CONFIG]
gcode =
M118 Click SAVE_CONFIG to save the settings to your printer.cfg.
[gcode_macro SAVE_Z_OFFSET]
gcode =
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SAVE_MULTIPLIER
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _LOAD_RATOS_SKEW_PROFILE]
gcode =
{% set ratos_skew_profile = printer["gcode_macro RatOS"].skew_profile|default("") %}
{% if ratos_skew_profile != "" %}
{% if printer.configfile.config["skew_correction %s" % ratos_skew_profile] is defined %}
SKEW_PROFILE LOAD={ratos_skew_profile}
GET_CURRENT_SKEW
{% else %}
{% set line_1 = '"Could not find skew profile %s!_N_Clearing skew correction."' % ratos_skew_profile %}
CONSOLE_ECHO TITLE="Missing skew profile!" TYPE="warning" MSG={line_1}
SET_SKEW CLEAR=1
{% endif %}
{% endif %}
[gcode_macro M601]
gcode =
PAUSE
[gcode_macro PAUSE]
description = Pauses the print
rename_existing = PAUSE_BASE
variable_extrude = 1.5
variable_retract = 1.5
variable_fan_speed = 0
variable_idex_mode = ""
variable_idex_toolhead = 0
variable_idex_toolhead_x = 0.0
variable_idex_toolhead_y = 0.0
variable_idex_toolhead_z = 0.0
gcode =
{% set runout_detected = true if params.RUNOUT|default(false)|lower == 'true' else false %}
_LED_PAUSE
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set idex_toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
SAVE_GCODE_STATE NAME=PAUSE_state
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_mode VALUE='"{idex_mode}"'
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={idex_toolhead}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_x VALUE={printer.gcode_move.gcode_position.x|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_y VALUE={printer.gcode_move.gcode_position.y|float}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead_z VALUE={printer.gcode_move.gcode_position.z|float}
DEBUG_ECHO PREFIX="PAUSE" MSG="idex_mode: {idex_mode}, idex_toolhead: {idex_toolhead}, idex_toolhead_x: {idex_toolhead_x}, idex_toolhead_y: {idex_toolhead_y}, idex_toolhead_z: {idex_toolhead_z}"
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
CACHE_TOOLHEAD_SETTINGS KEY="pause"
SET_MACRO_TRAVEL_SETTINGS
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% if current_z < (max_z - 20.0) %}
{% set z_safe = 20.0 %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
PAUSE_BASE
{% if printer["dual_carriage"] is not defined %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan"].speed|float}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
{% if idex_toolhead == 0 %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t0"].speed|float}
{% else %}
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=fan_speed VALUE={printer["fan_generic part_fan_t1"].speed|float}
{% endif %}
{% endif %}
{% endif %}
M106 S0
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if idex_mode != '' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set R = printer["gcode_macro PAUSE"].retract|float %}
{% if can_extrude %}
G91
G1 E-{R} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].pause_print_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].pause_print_park_in %}
{% if runout_detected %}
{% set pause_print_park_x = printer["gcode_macro RatOS"].runout_park_x %}
{% set pause_print_park_in = printer["gcode_macro RatOS"].runout_park_in %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
DEBUG_ECHO PREFIX="PAUSE" MSG="z_speed: {z_speed}, pause_print_park_x: {pause_print_park_x}, pause_print_park_in: {pause_print_park_in}, default_toolhead: {default_toolhead}"
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F{z_speed}
G90
{% if printer["dual_carriage"] is not defined %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% else %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
_IDEX_SINGLE X={parking_position}
{% else %}
PARK_TOOLHEAD
{% endif %}
_PARK LOCATION={pause_print_park_in} X={pause_print_park_x}
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="pause"
[gcode_macro RESUME]
description = Resumes the print if the printer is paused.
rename_existing = RESUME_BASE
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set target_idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set target_idex_mode = printer["gcode_macro PAUSE"].idex_mode|lower %}
{% endif %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' else false %}
{% if target_idex_mode != '' %}
{% if target_idex_mode == 'copy' or target_idex_mode == 'mirror' %}
{% set can_extrude = true if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' else false %}
{% else %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% set can_extrude = true if printer['extruder1'].can_extrude|lower == 'true' else false %}
{% endif %}
{% endif %}
{% endif %}
{% set fan_speed = printer["gcode_macro PAUSE"].fan_speed|float %}
{% if printer["dual_carriage"] is not defined %}
M106 S{(fan_speed * 255)}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% else %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% else %}
{% if printer["gcode_macro PAUSE"].idex_toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed}
{% endif %}
{% endif %}
{% endif %}
M106.1 S{fan_speed}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if target_idex_mode == "copy" %}
_IDEX_COPY DANCE=0
{% elif target_idex_mode == "mirror" %}
_IDEX_MIRROR DANCE=0
{% else %}
{% if params.TOOLHEAD is defined %}
_SELECT_TOOL T={params.TOOLHEAD} X=-1 Y=-1 TOOLSHIFT=false
{% else %}
_SELECT_TOOL T={printer["gcode_macro PAUSE"].idex_toolhead} X=-1 Y=-1 TOOLSHIFT=false
{% endif %}
{% endif %}
{% set x = printer["gcode_macro PAUSE"].idex_toolhead_x|float %}
{% set y = printer["gcode_macro PAUSE"].idex_toolhead_y|float %}
{% set z = printer["gcode_macro PAUSE"].idex_toolhead_z|float %}
G1 X{x} Y{y} Z{z} F{speed}
{% if params.TOOLHEAD is defined %}
SAVE_GCODE_STATE NAME=PAUSE_STATE
{% endif %}
{% endif %}
{% if params.TOOLHEAD is not defined %}
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
{% if can_extrude %}
G91
G1 E{E} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is not defined %}
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 MOVE_SPEED={speed}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
RESUME_BASE
_LED_PRINTING
[gcode_macro CANCEL_PRINT]
description = Cancels the printer
rename_existing = CANCEL_PRINT_BASE
gcode =
END_PRINT
TURN_OFF_HEATERS
CLEAR_PAUSE
CANCEL_PRINT_BASE
[gcode_macro START_PRINT]
description = Start print procedure, use this in your Slicer.
variable_post_processor_version = 2
variable_is_printing_gcode = False
variable_both_toolheads = True
variable_object_xoffset = 0
variable_first_x = -1
variable_first_y = -1
variable_total_toolshifts = 0
variable_initial_tool = 0
variable_extruder_first_layer_temp = ""
variable_extruder_other_layer_temp = ""
gcode =
{% if "xyz" in printer.toolhead.homed_axes and printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% if printer["gcode_macro _VAOC"].is_started|default(true)|lower == 'true' %}
_VAOC_END
{% endif %}
{% endif %}
_LED_START_PRINTING
CACHE_TOOLHEAD_SETTINGS KEY="start_print"
_USER_START_PRINT { rawparams }
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set z_probe_stowable = printer["gcode_macro RatOS"].z_probe|lower == 'stowable' %}
{% if printer["dual_carriage"] is defined %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set X0 = params.X0|default(-1)|float %}
{% set X1 = params.X1|default(-1)|float %}
{% set Y0 = params.Y0|default(-1)|float %}
{% set Y1 = params.Y1|default(-1)|float %}
{% if first_x == -1 or first_y == -1 %}
{% set first_x = params.FIRST_X|default(-1)|float %}
{% set first_y = params.FIRST_Y|default(-1)|float %}
{% endif %}
{% set total_toolshifts = params.TOTAL_TOOLSHIFTS|default(0)|int %}
{% set initial_tool = params.INITIAL_TOOL|default(default_toolhead)|int %}
{% set start_chamber_temp = params.START_CHAMBER_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(printer.heater_bed.target, true)|float %}
{% set total_layer_count = params.TOTAL_LAYER_COUNT|default(0)|int %}
{% set extruder_first_layer_temp = (params.EXTRUDER_TEMP|default("")).split(",") %}
RATOS_ECHO MSG="First print coordinates X:{first_x} Y:{first_y}"
{% if params.TOTAL_LAYER_COUNT is not defined %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Configuration" %}
{% set line_1 = '"Your slicer gcode settings are not up to date._N_Learn more about the %s"' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Incomplete Slicer Configuration detected" TYPE="warning" MSG={line_1}
{% endif %}
SET_PRINT_STATS_INFO CURRENT_LAYER=1
SET_GCODE_VARIABLE MACRO=_ON_LAYER_CHANGE VARIABLE=layer_number VALUE=1
{% if total_layer_count > 0 %}
SET_PRINT_STATS_INFO TOTAL_LAYER={total_layer_count}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads %}
{% set initial_tool = 0 if initial_tool == 1 else 1 %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% set both_toolheads = true %}
{% if total_toolshifts == 0 %}
{% set both_toolheads = false %}
{% endif %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
_IDEX_SINGLE X={parking_position}
{% endif %}
{% if both_toolheads and (idex_mode == "copy" or idex_mode == "mirror") %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Gcode tool changes found. Copy and mirror mode do not support toolchanges.")}
{% endif %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set both_toolheads = true %}
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=initial_tool VALUE={initial_tool}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_x VALUE={first_x}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=first_y VALUE={first_y}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=total_toolshifts VALUE={total_toolshifts}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=both_toolheads VALUE={both_toolheads}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_first_layer_temp VALUE="'{params.EXTRUDER_TEMP}'"
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=extruder_other_layer_temp VALUE="'{params.EXTRUDER_OTHER_LAYER_TEMP}'"
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE=0
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set stepper_x_position_min = printer.configfile.settings.stepper_x.position_min|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set x_parking_space = parking_position_t0 - (stepper_x_position_endstop , stepper_x_position_min)|max %}
{% set dc_parking_space = (dual_carriage_position_endstop , dual_carriage_position_max)|min - parking_position_t1 %}
{% if svv.idex_xoffset|abs >= (x_parking_space - 0.5) or svv.idex_xoffset|abs >= (dc_parking_space - 0.5) %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Toolhead x-offset is too high for the available parking space. Calibrate your X and DC endstop positions and make sure you stay below 1mm." % (copy_mode_max_width)) }
{% endif %}
{% endif %}
{% if (idex_mode == "copy" or idex_mode == "mirror") and printer.configfile.settings.ratos.enable_gcode_transform %}
{% if params.MIN_X is not defined or params.MAX_X is not defined %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Something went wrong! Missing important post processor start print parameter!") }
{% endif %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE=0
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set boundary_box_min_x = params.MIN_X|default(0)|float %}
{% set boundary_box_max_x = params.MAX_X|default(printable_x_max)|float %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
{% set boundary_box_max_x = boundary_box_max_x + svv.idex_xoffset %}
{% else %}
{% set boundary_box_min_x = boundary_box_min_x - svv.idex_xoffset %}
{% endif %}
{% set center_x = printable_x_max / 2.0 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set object_width = boundary_box_max_x - boundary_box_min_x %}
{% set copy_mode_max_width = center_x %}
{% set mirror_mode_max_width = center_x - safe_distance / 2.0 %}
DEBUG_ECHO PREFIX="START_PRINT" MSG="OBJECT_WIDTH: {object_width} BOUNDARY_BOX_MIN_X: {boundary_box_min_x} BOUNDARY_BOX_MAX_X: {boundary_box_max_x} CENTER_X: {center_x} SAFE_DISTANCE: {safe_distance}"
{% if idex_mode == "copy" and object_width > copy_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for copy mode! Max supported width is %s mm" % (copy_mode_max_width)) }
{% endif %}
{% if idex_mode == "mirror" and object_width > mirror_mode_max_width %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Object is too big for mirror mode! Max supported width is %s mm" % (mirror_mode_max_width)) }
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = (printable_x_max - boundary_box_max_x - boundary_box_min_x) / 2 %}
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=object_xoffset VALUE={object_xoffset}
{% endif %}
{% endif %}
{% set has_initial_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_initial_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool] is defined else false %}
{% if has_initial_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % initial_tool].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (initial_tool)) }
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined and both_toolheads %}
{% set has_secondary_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s filament sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% set has_secondary_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)] is defined else false %}
{% if has_secondary_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % (1 if initial_tool == 0 else 0)].filament_detected|lower != "true" %}
_LED_START_PRINTING_ERROR
{ action_raise_error("Filament not detected! Toolhead T%s bowden sensor is empty." % (1 if initial_tool == 0 else 0)) }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
_CHAMBER_FILTER_ON AT="before_print_start"
{% if printer["dual_carriage"] is defined %}
{% if printer["gcode_macro _IDEX_JOIN_SPOOLS"].enabled|default(false)|lower == 'true' %}
{% if both_toolheads %}
RATOS_ECHO MSG="Spool join is not possible if both toolheads are in use!"
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% endif %}
{% endif %}
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == '' %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
{% endif %}
{% endif %}
CLEAR_PAUSE
{% if printer["gcode_macro RatOS"].force_absolute_position|lower == 'true' %}
G90
{% endif %}
SAVE_GCODE_STATE NAME=start_print_state
G21
G90
M82
_USER_START_PRINT_BEFORE_HOMING { rawparams }
{% if z_probe_stowable == true %}
STOWABLE_PROBE_BEGIN_BATCH
{% endif %}
MAYBE_HOME
_Z_HOP
{% if idex_mode != '' and not (printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
PARK_TOOLHEAD
{% endif %}
{% if chamber_temp > 0 %}
{% if printer["fan_generic filter"] is defined %}
{% if printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float > 0 %}
SET_FAN_SPEED FAN=filter SPEED={printer["gcode_macro RatOS"].chamber_heater_filter_fan_speed|default(0)|float}
{% endif %}
{% endif %}
_CHAMBER_HEATER_ON START_CHAMBER_TEMP={start_chamber_temp} CHAMBER_TEMP={chamber_temp}
_USER_START_PRINT_HEAT_CHAMBER { rawparams } CHAMBER_TEMP={chamber_temp}
{% endif %}
_START_PRINT_BEFORE_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
RATOS_ECHO MSG="Heating bed..."
M190 S{bed_temp}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_BED { rawparams }
_START_PRINT_AFTER_HEATING_BED T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
_USER_START_PRINT_BED_MESH { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_BED_MESH X0={X0} X1={X1} Y0={Y0} Y1={Y1} T={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if z_probe_stowable == true %}
STOWABLE_PROBE_END_BATCH
{% endif %}
{% if idex_mode == '' %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={extruder_first_layer_temp[0]|float}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={extruder_first_layer_temp[1]|float}
{% endif %}
{% endif %}
_USER_START_PRINT_PARK { rawparams }
_START_PRINT_PARK
RATOS_ECHO MSG="Heating Extruder..."
{% if idex_mode == '' %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% else %}
{% if initial_tool == 0 or both_toolheads or (default_toolhead == 0 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={extruder_first_layer_temp[0]|float} MAXIMUM={extruder_first_layer_temp[0]|float + 5}
{% endif %}
{% if initial_tool == 1 or both_toolheads or (default_toolhead == 1 and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero) %}
TEMPERATURE_WAIT SENSOR="extruder1" MINIMUM={extruder_first_layer_temp[1]|float} MAXIMUM={extruder_first_layer_temp[1]|float + 5}
{% endif %}
{% endif %}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
{% if idex_mode == '' %}
_LED_PRINTING
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
_LED_PRINTING
{% else %}
{% if both_toolheads %}
_LED_PRINTING TOOLHEAD={initial_tool}
{% if toolchange_standby_temp > -1 %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={0 if initial_tool == 1 else 1}
{% else %}
_LED_PRINTING TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% else %}
_LED_PRINTING TOOLHEAD={initial_tool}
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={0 if initial_tool == 1 else 1}
{% endif %}
{% endif %}
{% endif %}
_USER_START_PRINT_AFTER_HEATING_EXTRUDER { rawparams } X0={X0} X1={X1} Y0={Y0} Y1={Y1}
_START_PRINT_AFTER_HEATING_EXTRUDER X0={X0} X1={X1} Y0={Y0} Y1={Y1} INITIAL_TOOLHEAD={initial_tool} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode}
{% if idex_mode != '' %}
{% if not both_toolheads %}
{% if initial_tool != default_toolhead %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if initial_tool == 1 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% set x_offset = printer.toolhead.position.x|float - printer.gcode_move.gcode_position.x|float %}
{% endif %}
RESTORE_GCODE_STATE NAME=start_print_state
{% if idex_mode != '' %}
{% set act_idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% if act_idex_mode == "copy" or act_idex_mode == "mirror" %}
SET_GCODE_OFFSET X={x_offset} MOVE=0
{% endif %}
{% endif %}
{% if idex_mode != '' %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% if idex_mode == "copy" and idex_mode != act_idex_mode %}
_IDEX_COPY DANCE=0
{% elif idex_mode == "mirror" and idex_mode != act_idex_mode %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
RATOS_ECHO MSG="Adjusting object x-offset by {(object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={object_xoffset} MOVE=0
{% endif %}
{% else %}
_SELECT_TOOL T={initial_tool} TOOLSHIFT=false
{% if initial_tool != default_toolhead %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_SET_TOOLHEAD_OFFSET T={initial_tool} MOVE=0
{% endif %}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={initial_tool}
{% endif %}
_SET_EXTRUSION_MODE
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=True
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={printer["print_stats"].print_duration}
{% endif %}
_USER_END_START_PRINT { rawparams }
G92 E0
_CHAMBER_FILTER_ON AT="after_print_start"
RATOS_ECHO MSG="Printing..."
[gcode_macro _START_PRINT_BEFORE_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set idex_mode = '' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set is_stowable_probe = true if printer["gcode_macro RatOS"].z_probe|lower == 'stowable' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Pre-heating extruder..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={min_temp}
{% else %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET={min_temp}
{% endif %}
{% else %}
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={min_temp}
{% endif %}
{% endif %}
{% if not is_stowable_probe %}
{% if printer["dual_carriage"] is defined and act_t != default_toolhead %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
{% endif %}
RATOS_ECHO MSG="Heat soaking z probe..."
{% if auto_z_offset_calibration %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% if default_toolhead == 0 %}
_SELECT_TOOL T=0 TOOLSHIFT=false
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% elif default_toolhead == 1 %}
_SELECT_TOOL T=1 TOOLSHIFT=false
G1 X{safe_home_x + safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{safe_home_x - safe_distance / 2} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% endif %}
{% else %}
_MOVE_TO_SAFE_Z_HOME
{% endif %}
G0 Z2 F{z_speed}
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED]
gcode =
{% set target_idex_mode = params.IDEX_MODE|default("")|lower %}
{% set initial_toolhead = params.T|default(default_toolhead)|int %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set min_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float %}
{% set max_temp = printer["gcode_macro RatOS"].preheat_extruder_temp|float + 5 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set auto_z_offset_calibration = False %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro _VAOC"] is defined %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% if printer["gcode_macro _VAOC"].auto_z_offset_calibration|default("false")|lower == 'true' and is_fixed %}
{% if target_idex_mode != "copy" and target_idex_mode != "mirror" %}
{% if both_toolheads or initial_toolhead != default_toolhead %}
{% set auto_z_offset_calibration = True %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
RATOS_ECHO MSG="Waiting for extruder to be preheated..."
{% if printer["dual_carriage"] is defined %}
{% if auto_z_offset_calibration %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
{% if default_toolhead == 0 %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder1 MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% else %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={max_temp}
{% endif %}
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
_Z_HOP
{% endif %}
{% if auto_z_offset_calibration %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=True
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={default_toolhead}
_SELECT_TOOL T={0 if default_toolhead == 1 else 1} X={parking_position_t0 if default_toolhead == 1 else parking_position_t1} Y=0 TOOLSHIFT=false
_CLEANING_MOVE TOOLHEAD={0 if default_toolhead == 1 else 1}
_VAOC_CALIBRATE_Z_OFFSET AUTO_Z_OFFSET=True
_SELECT_TOOL T={default_toolhead} X={safe_home_x} Y={safe_home_y} TOOLSHIFT=false
{% endif %}
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
{% if needs_rehoming %}
G28 Z
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% if beacon_contact_wipe_before_true_zero %}
_START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE
{% endif %}
_START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE
{% endif %}
[gcode_macro _START_PRINT_AFTER_HEATING_BED_PROBE_FOR_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
G0 Z5 F{z_speed}
G0 X50 Y10 F{speed}
PROBE PROBE_METHOD=contact SAMPLES=1
BEACON_QUERY
[gcode_macro _START_PRINT_AFTER_HEATING_CONTACT_WITH_OPTIONAL_WIPE]
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_true_zero_location = printer["gcode_macro RatOS"].beacon_contact_true_zero_location|default("front")|lower %}
{% set beacon_contact_true_zero_margin_x = printer["gcode_macro RatOS"].beacon_contact_true_zero_margin_x|default(30)|int %}
{% set beacon_contact_wipe_before_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_wipe_before_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_wipe_before_true_zero %}
{% if printer.beacon.last_probe_result|lower == "ok" %}
{% set last_z_offset = printer.beacon.last_z_result %}
RATOS_ECHO MSG="Auto calibration nozzle wipe with probe result {last_z_offset}..."
G0 Z{(0.2 + last_z_offset)} F{z_speed}
G0 X70 F300
{% else %}
RATOS_ECHO MSG="Skipping auto calibration nozzle wipe because probing failed!"
{% endif %}
{% endif %}
G0 Z5 F{z_speed}
_MOVE_TO_SAFE_Z_HOME
RATOS_ECHO MSG="Heating extruder to probing temperature..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={beacon_contact_true_zero_temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={beacon_contact_true_zero_temp} MAXIMUM={beacon_contact_true_zero_temp + 5}
RATOS_ECHO MSG="Beacon contact auto calibration..."
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
G0 Z5 F{z_speed}
[gcode_macro _START_PRINT_AFTER_HEATING_EXTRUDER]
gcode =
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set first_x = printer["gcode_macro START_PRINT"].first_x|default(-1)|float %}
{% set first_y = printer["gcode_macro START_PRINT"].first_y|default(-1)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2.0 %}
{% set center_y = printable_y_max / 2.0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% if printer["dual_carriage"] is defined %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% endif %}
{% set X0 = params.X0|default(-1)|int %}
{% set X1 = params.X1|default(-1)|int %}
{% set Y0 = params.Y0|default(-1)|int %}
{% set Y1 = params.Y1|default(-1)|int %}
{% set idex_mode = params.IDEX_MODE|default('')|lower %}
{% set both_toolheads = true if params.BOTH_TOOLHEADS|default(true)|lower=='true' else false %}
{% set initial_toolhead = params.INITIAL_TOOLHEAD|default(default_toolhead)|int %}
{% if idex_mode == '' %}
_PRIME
{% else %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
RATOS_ECHO PREFIX="IDEX" MSG="using combined prime offset for IDEX {idex_mode} mode"
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
{% if both_toolheads %}
{% if initial_toolhead == 0 %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T0"
_SELECT_TOOL T=0 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T1"
_SELECT_TOOL T=1 TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% else %}
RATOS_ECHO PREFIX="IDEX" MSG="using prime offset for T{initial_toolhead}"
_SELECT_TOOL T={initial_toolhead} TOOLSHIFT=false
_PRIME INITIAL_TOOLHEAD={initial_toolhead} BOTH_TOOLHEADS={both_toolheads} IDEX_MODE={idex_mode} Y1={Y1}
{% endif %}
{% endif %}
{% endif %}
CACHE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
SET_MACRO_TRAVEL_SETTINGS
{% if (X0 > -1 and Y1 > -1) or (first_x > 0 and first_y > 0) %}
{% if printer["dual_carriage"] is defined %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
G0 Z3 F{z_speed}
{% endif %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
{% set first_z = 1 %}
{% else %}
{% set first_z = 3 %}
{% endif %}
{% if idex_mode == "mirror" %}
{% if first_y >= 0 %}
G0 Y{first_y} F{speed}
{% else %}
G0 Y{Y1} F{speed}
{% endif %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if printer["dual_carriage"] is defined and printer["gcode_macro RatOS"].nozzle_priming|lower == 'false' %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={initial_toolhead}
_PURGE_FILAMENT TOOLHEAD={initial_toolhead} E={printer["gcode_macro RatOS"].toolchange_first_purge|default(50)|float}
_CLEANING_MOVE TOOLHEAD={initial_toolhead}
{% endif %}
{% if first_x >= 0 and first_y >= 0 %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% else %}
{% set first_x = X0 %}
{% set first_y = Y0 %}
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'min' %}
{% set first_x = X0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'max' %}
{% set first_x = X1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|float <= center_x %}
{% set first_x = X0 %}
{% else %}
{% set first_x = X1 %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'min' %}
{% set first_y = Y0 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'max' %}
{% set first_y = Y1 %}
{% else %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|float <= center_y %}
{% set first_y = Y0 %}
{% else %}
{% set first_y = Y1 %}
{% endif %}
{% endif %}
{% endif %}
G0 X{first_x} Y{first_y} Z{first_z} F{speed}
{% endif %}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print_after_heating_extruder"
_LOAD_RATOS_SKEW_PROFILE
[gcode_macro _PRIME]
gcode =
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' or printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
PRIME_BLOB INITIAL_TOOLHEAD={params.INITIAL_TOOLHEAD} BOTH_TOOLHEADS={params.BOTH_TOOLHEADS} IDEX_MODE={params.IDEX_MODE} Y1={params.Y1}
{% else %}
{% if printer["dual_carriage"] is defined %}
{% if params.IDEX_MODE == "copy" %}
_IDEX_COPY DANCE=0
{% elif params.IDEX_MODE == "mirror" %}
_IDEX_MIRROR DANCE=0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro END_PRINT]
description = End print procedure, use this in your Slicer.
gcode =
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SAVE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if printer["gcode_macro RatOS"].auto_center_subject|default(false)|lower == 'true' %}
{% set object_xoffset = printer["gcode_macro START_PRINT"].object_xoffset|default(0)|float %}
RATOS_ECHO MSG="Adjusting object x-offset by {(0-object_xoffset)} mm"
SET_GCODE_OFFSET X_ADJUST={(0-object_xoffset)}
{% endif %}
{% endif %}
_USER_END_PRINT_BEFORE_HEATERS_OFF { rawparams }
_END_PRINT_BEFORE_HEATERS_OFF
TURN_OFF_HEATERS
_USER_END_PRINT_AFTER_HEATERS_OFF { rawparams }
_END_PRINT_AFTER_HEATERS_OFF
_USER_END_PRINT_PARK { rawparams }
_END_PRINT_PARK
{% if printer["gcode_macro RatOS"].skew_profile is defined %}
SET_SKEW CLEAR=1
{% endif %}
{% if printer["dual_carriage"] is not defined and printer["gcode_macro RatOS"].end_print_motors_off|lower != 'false' %}
M84
{% endif %}
M107
BED_MESH_CLEAR
RATOS_ECHO MSG="Done :)"
RESTORE_GCODE_STATE NAME=end_print_state
{% if printer["dual_carriage"] is defined %}
M84
{% endif %}
{% if printer.configfile.settings.beacon is defined %}
{% if printer["dual_carriage"] is not defined %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SET_GCODE_OFFSET Z=0 MOVE=0
{% endif %}
{% endif %}
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="start_print"
_CHAMBER_FILTER_ON AT="print_end"
_CHAMBER_FILTER_OFF
_CHAMBER_HEATER_OFF
_USER_END_PRINT_FINISHED { rawparams }
[gcode_macro _END_PRINT_BEFORE_HEATERS_OFF]
gcode =
RATOS_ECHO MSG="Cleaning up..."
[gcode_macro _END_PRINT_AFTER_HEATERS_OFF]
gcode =
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set current_z = printer.toolhead.position.z|float %}
{% set z_hop = printer["gcode_macro RatOS"].end_print_park_z_hop|float %}
{% set r = printer["gcode_macro RatOS"].end_print_retract_filament|default(4)|float %}
{% if current_z < (max_z - z_hop) %}
{% set z_safe = z_hop %}
{% else %}
{% set z_safe = max_z - current_z %}
{% endif %}
G91
G1 E-2 F3600
G0 Z{z_safe} F3600
G1 E-{(r-2)} F3600
G90
[gcode_macro _SET_EXTRUSION_MODE]
gcode =
{% if printer["gcode_macro RatOS"].relative_extrusion|lower == 'true' %}
M83
{% else %}
M82
{% endif %}
[gcode_macro GENERATE_SHAPER_GRAPHS]
description = Genarates input shaper resonances graphs for analysis. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set hz_per_sec = params.HZ_PER_SEC|default(1)|float %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set copy_mode_offset = printable_x_max / 4.0 %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% else %}
_IDEX_SINGLE
{% endif %}
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' %}
{% if idex_mode == 'copy' %}
_IDEX_COPY DANCE=0
{% elif idex_mode == 'mirror' %}
_IDEX_MIRROR DANCE=0
{% endif %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if idex_mode == 'copy' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_copy FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 1 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% elif idex_mode == 'mirror' %}
{% if measure_t0 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1_mirror FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0] - copy_mode_offset},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% if measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 2 %s %s %s" % ('%0.3f'|format(probe_points[0] - copy_mode_offset), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
{% else %}
G1 X{probe_points[0]} Y{probe_points[1]} F{speed}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[0]}" NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]}" NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} HZ_PER_SEC={hz_per_sec} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t0 == true and measure_t1 == false %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 0 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == false and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 1 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% elif measure_t0 == true and measure_t1 == true %}
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"x 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
RUN_SHELL_COMMAND CMD=generate_shaper_graphs PARAMS="{"y 2 0 %s %s %s" % ('%0.3f'|format(probe_points[0]), '%0.3f'|format(probe_points[1]), '%0.3f'|format(probe_points[2]))}"
{% endif %}
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="generate_shaper_graphs"
{% if idex_mode != 'copy' and idex_mode != 'mirror' %}
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
{% endif %}
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Shaper graph"
[gcode_shell_command generate_shaper_graph_x]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-x.sh
timeout = 60.
verbose = True
[gcode_shell_command generate_shaper_graph_y]
command = /home/pi/printer_data/config/RatOS/scripts/generate-shaper-graph-y.sh
timeout = 60.
verbose = True
[gcode_macro MEASURE_COREXY_BELT_TENSION]
description = Generates resonance graph used to ensure belts are equally tensioned. Uses the AXIS, TOOLHEAD, FREQUNECY_START and FREQUENCY_END parameter if you want to do specific measurements, (eg. GENERATE_SHAPER_GRAPHS AXIS=X TOOLHEAD=0 FREQUENCY_START=10 FREQUENCY_END=20)
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
SET_MACRO_TRAVEL_SETTINGS
CACHE_IS_GRAPH_FILES
{% set measure_t0 = true %}
{% set measure_t1 = true %}
{% if params.TOOLHEAD is defined %}
{% if params.TOOLHEAD|lower == '0' %}
{% set measure_t1 = false %}
{% elif params.TOOLHEAD|lower == '1' %}
{% set measure_t0 = false %}
{% else %}
{action_raise_error("Unknown toolhead specified. Expected 0 or 1 (left or right)")}
{% endif %}
{% endif %}
{% set axis = params.AXIS|default('')|lower %}
{% set freq_start = params.FREQUENCY_START|default(10)|int %}
{% set freq_end = params.FREQUENCY_END|default(133)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set adxl_chip = printer["gcode_macro RatOS"].adxl_chip %}
{% set probe_points = printer.configfile.settings.resonance_tester.probe_points[0] %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set default_toolhead_parking_position = printer["gcode_macro T%s" % default_toolhead].parking_position|float %}
MAYBE_HOME
_IDEX_SINGLE
G90
_LED_INPUT_SHAPER_START
{% if axis != '' %}
{% if axis == 'x' %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
PARK_TOOLHEAD
{% elif axis == 'y' %}
{% if measure_t1 == false or measure_t0 == false %}
{action_raise_error("Axis specified. Not supported for belt tension on Y.")}
{% else %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
G4 P5000
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
PARK_TOOLHEAD
{% endif %}
{% else %}
{action_raise_error("Unknown axis specified. Expected X or Y.")}
{% endif %}
{% else %}
{% if measure_t1 == true %}
_SELECT_TOOL T=1 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[1]}" OUTPUT=raw_data NAME=t1 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if measure_t0 == true %}
_SELECT_TOOL T=0 X={probe_points[0]} Y={probe_points[1]}
TEST_RESONANCES AXIS=X CHIPS="{adxl_chip[0]}" OUTPUT=raw_data NAME=t0 FREQ_START={freq_start} FREQ_END={freq_end} POINT={probe_points[0]},{probe_points[1]},{probe_points[2]}
{% endif %}
{% if params.TOOLHEAD is not defined %}
_SELECT_TOOL T=1 X={parking_position_t1} Y={probe_points[1]}
G1 X{parking_position_t1} F{speed}
TEST_RESONANCES AXIS=Y CHIPS="{adxl_chip[1]},{adxl_chip[0]}" OUTPUT=raw_data NAME=t2 POINT={parking_position_t1},{probe_points[1]},{probe_points[2]} FREQ_START={freq_start} FREQ_END={freq_end}
{% endif %}
G4 P5000
{% if measure_t1 == true and measure_t0 == false %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 1"
{% elif measure_t1 == false and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="x 0"
{% elif measure_t1 == true and measure_t0 == true %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS=x
{% endif %}
{% if params.TOOLHEAD is not defined %}
RUN_SHELL_COMMAND CMD=generate_tension_graphs PARAMS="y 2"
{% endif %}
PARK_TOOLHEAD
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="measure_corexy_belt_tension"
_IDEX_SINGLE X={default_toolhead_parking_position} INIT=1
_LED_INPUT_SHAPER_END
_LEARN_MORE_CALIBRATION
SHOW_IS_GRAPH_FILES TITLE="Belt Tension Graph"
[gcode_shell_command generate_belt_tension_graph]
command = /home/pi/printer_data/config/RatOS/scripts/generate-belt-tension-graph.sh
timeout = 90.
verbose = True
[idle_timeout]
gcode =
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused|lower == 'false' %}
RATOS_ECHO PREFIX="IDLE" MSG="2 hours since last activity. Powering off heaters and motors.."
TURN_OFF_HEATERS
M84
{% endif %}
{% endif %}
timeout = 7200
[temperature_sensor raspberry_pi]
sensor_type = temperature_host
[skew_correction]
[input_shaper]
[virtual_sdcard]
path = ~/printer_data/gcodes
[display_status]
[pause_resume]
[force_move]
enable_force_move = True
[respond]
[resonance_generator]
[ratos]
allow_unknown_gcode_generator = True
enable_gcode_transform = True
allow_unsupported_slicer_versions = True
[exclude_object]
[heater_bed]
heater_pin = heater_bed_heating_pin
sensor_pin = heater_bed_sensor_pin
sensor_type = Generic 3950
min_temp = 0
max_temp = 140
pwm_cycle_time = 0.02
control = pid
pid_kp = 65.045
pid_ki = 1.953
pid_kd = 541.497
[fan]
pin = rpi:gpio4
shutdown_speed = 1.0
[heater_fan toolhead_cooling_fan]
pin = toolboard_t0:PA1
fan_speed = 1
heater = extruder
[printer]
kinematics = ratos_hybrid_corexy
max_velocity = 800
max_accel = 10000
minimum_cruise_ratio = 0.5
max_z_velocity = 50
max_z_accel = 600
square_corner_velocity = 5
[ratos_hybrid_corexy]
inverted = true
[dual_carriage]
axis = x
safe_distance = 55
position_max = 558.971
position_endstop = 558.971
position_min = 0
step_pin = PF9
dir_pin = dual_carriage_dir_pin
enable_pin = !PG2
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t1:PB6
[gcode_macro IDEX_SINGLE]
gcode =
_IDEX_REMAP_TOOLHEADS ENABLE=False
_IDEX_SINGLE
[gcode_macro _IDEX_SINGLE]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_single"
SET_MACRO_TRAVEL_SETTINGS
{% set init = params.INIT|default(0)|int %}
{% set new_x = params.X|default(-1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_act_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_default_t = printer["gcode_macro T%s" % (0 if default_toolhead==1 else 1)].parking_position|float %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="init: {init}, new_x: {new_x}, idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, act_t: {act_t}"
{% if idex_mode == "copy" or idex_mode == "mirror" or init == 1 %}
{% if 'x' in printer.toolhead.homed_axes %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="reset gcode offset"
G1 X{center_x} F{(speed)}
SET_GCODE_OFFSET X_ADJUST={center_x / 2} MOVE=0
{% endif %}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="activate default carriage"
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead} MODE=PRIMARY
{% if 'x' in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolheads"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
G90
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position."
SET_DUAL_CARRIAGE CARRIAGE={0 if default_toolhead==1 else 1}
G1 X{parking_position_default_t} F{speed}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move default toolhead to its new position."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% if new_x == -1 %}
{% set new_x = center_x %}
{% endif %}
G1 X{new_x} F{speed}
M400
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="X Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set extruder motion queue."
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if default_toolhead==0 else default_toolhead}
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set toolhead offset."
_SET_TOOLHEAD_OFFSET T={default_toolhead}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="set input shaper."
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[default_toolhead]|float)} SHAPER_FREQ_Y={(shaper_y_freq[default_toolhead]|float)} SHAPER_TYPE_X={(shaper_x_type[default_toolhead]|lower)} SHAPER_TYPE_Y={(shaper_y_type[default_toolhead]|lower)}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="update Frontend."
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if default_toolhead==0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if default_toolhead==1 else False}
{% else %}
{% if "xyz" in printer.toolhead.homed_axes %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="move secondary toolhead to parking position"
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
{% else %}
DEBUG_ECHO PREFIX="IDEX_SINGLE" MSG="Axis not homed."
SET_DUAL_CARRIAGE CARRIAGE={default_toolhead}
{% endif %}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_single"
[gcode_macro IDEX_COPY]
gcode =
_IDEX_COPY
[gcode_macro _IDEX_COPY]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_copy"
SET_MACRO_TRAVEL_SETTINGS
{% set y = params.Y|default(-1)|int %}
{% set dance = params.DANCE|default(1)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_COPY" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}, y: {y}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "copy" %}
{% if idex_mode == "mirror" %}
{% if y>=0 %}
G1 X{center_x} Y{y} F{(speed)}
{% else %}
G1 X{center_x} F{(speed)}
{% endif %}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
{% if idex_mode != "mirror" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "mirror" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance == 1 %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[2]|float)} SHAPER_FREQ_Y={(shaper_y_freq[2]|float)} SHAPER_TYPE_X={(shaper_x_type[2]|lower)} SHAPER_TYPE_Y={(shaper_y_type[2]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_copy"
[gcode_macro IDEX_MIRROR]
gcode =
_IDEX_MIRROR
[gcode_macro _IDEX_MIRROR]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_mirror"
SET_MACRO_TRAVEL_SETTINGS
{% set dance = params.DANCE|default(1)|int %}
{% set priming = params.PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="IDEX_MIRROR" MSG="idex_mode: {idex_mode}, printable_x_max: {printable_x_max}, center_x: {center_x}, dance: {dance}"
{% if "xyz" in printer.toolhead.homed_axes %}
{% if idex_mode != "mirror" %}
{% if idex_mode == "copy" %}
G1 X{center_x} F{(speed)}
{% endif %}
{% if idex_mode == "primary" or idex_mode == "inactive" %}
_IDEX_SET_TOOLHEADS MIRROR_PRIMING={params.PRIMING}
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER='extruder'
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
{% if idex_mode != "copy" %}
SET_PRESSURE_ADVANCE
{% endif %}
{% if idex_mode != "copy" %}
SET_GCODE_OFFSET X_ADJUST=-{center_x / 2} MOVE=0
{% else %}
_SET_TOOLHEAD_OFFSET T={default_toolhead}
{% endif %}
{% if dance and not priming %}
G1 X{center_x} F{(speed)}
G1 X{center_x - 30} F{(speed)}
G1 X{center_x + 30} F{(speed)}
G1 X{center_x} F{(speed)}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[3]|float)} SHAPER_FREQ_Y={(shaper_y_freq[3]|float)} SHAPER_TYPE_X={(shaper_x_type[3]|lower)} SHAPER_TYPE_Y={(shaper_y_type[3]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE=True
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE=True
{% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_mirror"
[gcode_macro _IDEX_SET_TOOLHEADS]
gcode =
CACHE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
SET_MACRO_TRAVEL_SETTINGS
{% set mirror_priming = params.MIRROR_PRIMING|default(0)|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set parking_position_inactive_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_x = printable_x_max / 2 %}
DEBUG_ECHO PREFIX="_IDEX_SET_TOOLHEADS" MSG="idex_mode: {idex_mode}, act_t: {act_t}, center_x: {center_x}, mirror_priming: {mirror_priming}"
{% if act_t != default_toolhead %}
_SET_TOOLHEAD_OFFSET T={default_toolhead} MOVE=1
{% endif %}
{% if mirror_priming %}
{% if parking_position_t0|abs < parking_position_t1 - printable_x_max %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{printable_x_max + parking_position_t0|abs} F{(speed)}
{% else %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{0 - (parking_position_t1 - printable_x_max)} F{(speed)}
{% endif %}
{% else %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1} MODE=PRIMARY
G1 X{parking_position_inactive_t} F{(speed)}
{% if act_t==1 %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{center_x / 2} F{(speed)}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{center_x / 2 + center_x} F{(speed)}
{% endif %}
RESTORE_TOOLHEAD_SETTINGS KEY="idex_set_toolheads"
[gcode_macro IDEX_PARK]
gcode =
PARK_TOOLHEAD
[gcode_macro PARK_TOOLHEAD]
gcode =
{% set idex_mode = 'none' %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% endif %}
{% set act_t = 1 if idex_mode=='primary' else 0 %}
DEBUG_ECHO PREFIX="PARK_TOOLHEAD" MSG="Parking T{act_t}.."
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set parking_position_inact_t = printer["gcode_macro T%s" % (0 if act_t==1 else 1)].parking_position|float %}
{% set printable_y_min = printer["gcode_macro RatOS"].printable_y_min|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% if idex_mode != "copy" and idex_mode != "mirror" and 'xy' in printer.toolhead.homed_axes %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% elif printer.toolhead.position.y|float < printable_y_min %}
G1 Y{printable_y_min} F{speed}
{% endif %}
SAVE_GCODE_STATE NAME=_PARK_TOOLHEAD
G90
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0.5
G1 X{parking_position_act_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={0 if act_t==1 else 1}
G1 X{parking_position_inact_t} F{speed}
SET_DUAL_CARRIAGE CARRIAGE={act_t}
SET_VELOCITY_LIMIT ACCEL={printer.toolhead.max_accel} MINIMUM_CRUISE_RATIO=0.5
M400
RESTORE_GCODE_STATE NAME=_PARK_TOOLHEAD
{% endif %}
[gcode_macro JOIN_SPOOLS]
gcode =
{% set spools = params.SPOOLS|default("") %}
{% if spools == "" %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{% if spools != "0,1" and spools != "1,0" %}
RATOS_ECHO MSG="Wrong spool configuration!"
RATOS_ECHO MSG="Join Spools = JOIN_SPOOLS SPOOLS=0,1"
RATOS_ECHO MSG="Deactivate = JOIN_SPOOLS SPOOLS="
{% else %}
{% if spools == "0,1" or spools == "1,0" %}
_IDEX_JOIN_SPOOLS ENABLE=true
{% else %}
_IDEX_JOIN_SPOOLS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_JOIN_SPOOLS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=False
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% if enable %}
{% set has_t0_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t1_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined else false %}
{% set has_t0_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined else false %}
{% set has_t1_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined else false %}
{% if (has_t0_toolhead_filament_sensor and has_t1_toolhead_filament_sensor) or (has_t0_bowden_filament_sensor and has_t1_bowden_filament_sensor) %}
SET_GCODE_VARIABLE MACRO=_IDEX_JOIN_SPOOLS VARIABLE=enabled VALUE=True
RATOS_ECHO MSG="Spool joining enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Can not enable spool joining! No filament sensors found."
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining deactivated!"
{% endif %}
{% else %}
RATOS_ECHO MSG="Spool joining is not possible in copy and mirror mode!"
{% endif %}
[gcode_macro _JOIN_SPOOL]
gcode =
{% set old_toolhead = params.TOOLHEAD|int %}
{% set new_toolhead = 0 if old_toolhead == 1 else 1 %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed|float * 60 %}
{% set purge_after_load = printer["gcode_macro T%s" % new_toolhead].purge_after_load|float %}
DEBUG_ECHO PREFIX="_JOIN_SPOOL" MSG="toolhead: {new_toolhead}"
{% set has_filament = true %}
{% set has_new_toolhead_filament_sensor = true if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% set has_new_bowden_filament_sensor = true if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead] is defined else false %}
{% if has_new_toolhead_filament_sensor %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_new_bowden_filament_sensor %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].enabled|lower == "true" %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t%s" % new_toolhead].filament_detected|lower != "true" %}
{% set has_filament = false %}
{% endif %}
{% else %}
{% set has_filament = false %}
{% endif %}
{% endif %}
{% if has_filament %}
RATOS_ECHO MSG="Joining spools! Please wait for extruder to heat up...."
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=idex_toolhead VALUE={new_toolhead}
_DEACTIVATE_TOOLHEAD TOOLHEAD={old_toolhead}
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set extruder_temp = extruder_first_layer_temp[new_toolhead]|float %}
{% else %}
{% set extruder_temp = extruder_other_layer_temp[new_toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if new_toolhead == 0 else 'extruder1'} TARGET={extruder_temp}
TEMPERATURE_WAIT SENSOR={'extruder' if new_toolhead == 0 else 'extruder1'} MINIMUM={extruder_temp} MAXIMUM={extruder_temp + 5}
{% if purge_after_load > 0 %}
SET_DUAL_CARRIAGE CARRIAGE={new_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_toolhead == 0 else new_toolhead}
_MOVE_TO_LOADING_POSITION TOOLHEAD={new_toolhead}
_PURGE_FILAMENT TOOLHEAD={new_toolhead} E={purge_after_load}
_CLEANING_MOVE TOOLHEAD={new_toolhead}
SET_DUAL_CARRIAGE CARRIAGE={old_toolhead} MODE=PRIMARY
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if old_toolhead == 0 else old_toolhead}
{% endif %}
RESUME TOOLHEAD={new_toolhead}
_IDEX_JOIN_SPOOLS ENABLE=false
{% else %}
{ action_raise_error("Spool join failed! No filament found or filament sensor is disabled.") }
{% endif %}
[gcode_macro REMAP_TOOLHEADS]
gcode =
{% set toolheads = params.TOOLHEADS|default("") %}
{% if toolheads == "" %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% else %}
{% if toolheads != "0,1" and toolheads != "1,0" %}
RATOS_ECHO MSG="Wrong toolhead configuration!"
RATOS_ECHO MSG="Remap = REMAP_TOOLHEADS TOOLHEADS=0,1"
RATOS_ECHO MSG="Deactivate = REMAP_TOOLHEADS TOOLHEADS="
{% else %}
{% if toolheads == "0,1" or toolheads == "1,0" %}
_IDEX_REMAP_TOOLHEADS ENABLE=true
_IDEX_SINGLE
{% else %}
_IDEX_REMAP_TOOLHEADS ENABLE=false
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _IDEX_REMAP_TOOLHEADS]
variable_enabled = False
gcode =
{% set enable = true if params.ENABLE|default(false)|lower == 'true' else false %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if not enable or (idex_mode != "copy" and idex_mode != "mirror") %}
{% if enable %}
RATOS_ECHO MSG="Toolhead remapping enabled for the next print!"
{% else %}
RATOS_ECHO MSG="Toolhead remapping deactivated!"
{% endif %}
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE={enable}
{% else %}
RATOS_ECHO MSG="Toolhead remapping not possible in copy and mirror mode!"
SET_GCODE_VARIABLE MACRO=_IDEX_REMAP_TOOLHEADS VARIABLE=enabled VALUE=False
{% endif %}
[gcode_macro SHAPER_CALIBRATE]
rename_existing = SHAPER_CALIBRATE_ORG
gcode =
RATOS_ECHO PREFIX="IDEX" MSG="SHAPER_CALIBRATE is useless on IDEX machines. Please use the GENERATE_SHAPER_GRAPHS macro and type the values into `variable_shaper_*_freq` and `variable_shaper_*_type manually`."
[gcode_shell_command generate_shaper_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-shaper-graph.sh
timeout = 120.
verbose = True
[gcode_shell_command generate_tension_graphs]
command = /home/pi/printer_data/config/RatOS/scripts/idex-generate-belt-tension-graph.sh
timeout = 120.
verbose = True
[gcode_macro SET_PRESSURE_ADVANCE]
variable_snyc_toolheads = False
rename_existing = SET_PRESSURE_ADVANCE_BASE
gcode =
{% if params.SYNC_TOOLHEADS is defined %}
{% set snyc_toolheads = true if params.SYNC_TOOLHEADS|default(false)|lower == 'true' else false %}
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=snyc_toolheads VALUE=True
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="Syncing toolheads..."
{% else %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% if idex_mode == 'copy' or idex_mode == 'mirror' or snyc_toolheads %}
{% set advance = params.ADVANCE|default(printer['extruder'].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['extruder'].smooth_time|float)|float %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T0"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder' ADVANCE={advance} SMOOTH_TIME={smooth_time}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG="T1"
SET_PRESSURE_ADVANCE_BASE EXTRUDER='extruder1' ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% else %}
{% set extruder = 'extruder' if act_t == 0 else 'extruder1' %}
{% if params.EXTRUDER is defined %}
{% set extruder = params.EXTRUDER %}
{% endif %}
{% if extruder == 'extruder' or extruder == 'extruder1' %}
{% set advance = params.ADVANCE|default(printer['%s' % extruder].pressure_advance|float)|float %}
{% set smooth_time = params.SMOOTH_TIME|default(printer['%s' % extruder].smooth_time|float)|float %}
SET_PRESSURE_ADVANCE_BASE EXTRUDER={extruder} ADVANCE={advance} SMOOTH_TIME={smooth_time}
{% if params.EXTRUDER is not defined %}
RATOS_ECHO PREFIX="SET_PRESSURE_ADVANCE" MSG={"T%s" % act_t}
{% endif %}
{% else %}
SET_PRESSURE_ADVANCE_BASE { rawparams }
{% endif %}
{% endif %}
{% endif %}
[gcode_macro M106]
rename_existing = M106.1
variable_swap_speed = -1
gcode =
{% set s = [[params.S|default(255)|int, 255]|min, 0]|max %}
{% set p = params.P|default(-1)|int %}
{% set speed = s / 255 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|default('')|lower %}
{% set t = 1 if idex_mode=='primary' else 0 %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(0)|int == 1 else false %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
{% set sync_fans = true %}
{% endif %}
{% if sync_fans and idex_mode != "copy" and idex_mode != "mirror" %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int %}
{% if toolshift_count > total_toolshifts %}
{% set sync_fans = false %}
{% endif %}
{% endif %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE=-1
{% if p == -1 %}
{% if speed == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed}
{% else %}
SET_GCODE_VARIABLE MACRO=M106 VARIABLE=swap_speed VALUE={speed}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={(speed if (t == 0 or sync_fans) else 0)}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={(speed if (t == 1 or sync_fans) else 0)}
{% endif %}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={speed if t == p else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={speed if t == p else 0}
{% endif %}
M106.1 S{s}
[gcode_macro M107]
rename_existing = M107.1
gcode =
{% set p = params.P|default(-1)|int %}
M106 S0 P{p}
[gcode_macro _SELECT_TOOL]
variable_last_timestamp = 0
gcode =
{% if params.T is defined %}
{% set idex_mode = '' %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if "xyz" not in printer.toolhead.homed_axes and (idex_mode == "copy" or idex_mode == "mirror") %}
_IDEX_SINGLE
{% set idex_mode = 'reset' %}
{% endif %}
{% if idex_mode != "copy" and idex_mode != "mirror" %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set new_t = params.T|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set swap_toolheads = true if printer["gcode_macro _IDEX_REMAP_TOOLHEADS"].enabled|default(false)|lower == 'true' else false %}
{% if swap_toolheads and is_printing_gcode %}
{% set new_t = 0 if new_t == 1 else 1 %}
{% endif %}
{% set toolchange_prepurging_timer = printer["gcode_macro RatOS"].toolchange_prepurging_timer|default(0)|int %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
DEBUG_ECHO PREFIX="_SELECT_TOOL" MSG="act_t: {act_t}, new_t: {new_t}, is_printing_gcode: {is_printing_gcode}, swap_toolheads: {swap_toolheads}, toolchange_standby_temp: {toolchange_standby_temp}"
{% set act_extruder = 'extruder%s' % ('' if new_t == 0 else new_t) %}
{% if new_t != act_t or printer.toolhead.extruder != act_extruder or idex_mode == 'reset' %}
RATOS_ECHO PREFIX="IDEX" MSG="Selecting T{new_t}.."
M220 S100
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(1)|int == 1 else false %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set toolshift = false %}
{% endif %}
{% set fan_speed = printer["fan_generic part_fan_t%s" % act_t].speed %}
{% set deactivate_toolhead = false %}
{% if is_printing_gcode %}
{% set total_toolshifts = printer["gcode_macro START_PRINT"].total_toolshifts|int %}
{% set toolshift_count = printer["gcode_macro _TOOLCHANGE"].toolshift_count|int + 1 %}
SET_GCODE_VARIABLE MACRO=_TOOLCHANGE VARIABLE=toolshift_count VALUE={toolshift_count}
{% if toolshift_count == total_toolshifts %}
{% set deactivate_toolhead = true %}
{% endif %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % new_t].standby|default(false)|lower == 'true' else false %}
{% set needs_purging = false %}
{% set wake_up_purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% if is_printing_gcode and toolchange_prepurging_timer > 0 and wake_up_purge > 0 %}
{% set new_timestamp = printer["print_stats"].print_duration %}
{% set elapsed_time = new_timestamp - last_timestamp %}
SET_GCODE_VARIABLE MACRO=_SELECT_TOOL VARIABLE=last_timestamp VALUE={new_timestamp}
{% if elapsed_time > toolchange_prepurging_timer %}
{% set needs_purging = true %}
{% endif %}
{% endif %}
{% set first_use_purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% if toolshift_count == 1 and first_use_purge > 0 %}
{% set needs_purging = true %}
{% endif %}
{% if is_printing_gcode and (toolchange_standby_temp > -1 or needs_purging or needs_wakeup) %}
_TOOLHEAD_STANDBY TOOLHEAD={act_t}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
_TOOLHEAD_WAKEUP TOOLHEAD={new_t} X={new_x} Y={new_y} Z={new_z} FAN_SPEED={fan_speed} TOOLSHIFT_COUNT={toolshift_count}
{% else %}
{% set sync_fans = true if printer["gcode_macro RatOS"].toolchange_sync_fans|default(false)|lower == 'true' else false %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if (new_t == 0 or sync_fans) else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if (new_t == 1 or sync_fans) else 0}
M106.1 S{fan_speed}
{% endif %}
_TOOLCHANGE T={new_t} X={new_x} Y={new_y} Z={new_z} PARK_T0={park_t0} PARK_T1={park_t1} TOOLSHIFT={toolshift}
{% if deactivate_toolhead %}
_DEACTIVATE_TOOLHEAD TOOLHEAD={act_t}
{% endif %}
{% endif %}
{% set shaper_x_freq = printer["gcode_macro RatOS"].shaper_x_freq %}
{% set shaper_y_freq = printer["gcode_macro RatOS"].shaper_y_freq %}
{% set shaper_x_type = printer["gcode_macro RatOS"].shaper_x_type %}
{% set shaper_y_type = printer["gcode_macro RatOS"].shaper_y_type %}
SET_INPUT_SHAPER SHAPER_FREQ_X={(shaper_x_freq[new_t]|float)} SHAPER_FREQ_Y={(shaper_y_freq[new_t]|float)} SHAPER_TYPE_X={(shaper_x_type[new_t]|lower)} SHAPER_TYPE_Y={(shaper_y_type[new_t]|lower)}
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=active VALUE={True if new_t == 0 else False}
SET_GCODE_VARIABLE MACRO=T1 VARIABLE=active VALUE={True if new_t == 1 else False}
{% if 'x' in printer.toolhead.homed_axes %}
{% set sanity_check_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if new_t == 0 %}
{% if printer.toolhead.extruder == 'extruder' %}
{% if sanity_check_idex_mode == 'primary' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% elif new_t == 1 %}
{% if printer.toolhead.extruder == 'extruder1' %}
{% if sanity_check_idex_mode == 'inactive' %}
{ action_emergency_stop("Switched states detected in idex_mode.py. Please restart the host controller.") }
{% endif %}
{% endif %}
{% endif %}
{% endif %}
G90
G92 E0
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _TOOLHEAD_STANDBY]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set toolchange_standby_temp = printer["gcode_macro RatOS"].toolchange_standby_temp|default(-1)|float %}
RATOS_ECHO PREFIX="IDEX" MSG="Putting toolhead T{toolhead} into standby mode."
DEBUG_ECHO PREFIX="_TOOLHEAD_STANDBY" MSG="toolhead: {toolhead}, config_z_hop: {config_z_hop}, toolchange_standby_temp: {toolchange_standby_temp}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={toolhead} SYNC=0
PARK_TOOLHEAD
_CLEANING_MOVE TOOLHEAD={toolhead}
{% if toolchange_standby_temp > -1 %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={toolchange_standby_temp}
{% endif %}
{% if toolchange_standby_temp > -1 %}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=True
{% endif %}
_LED_TOOLHEAD_STANDBY TOOLHEAD={toolhead}
[gcode_macro _TOOLHEAD_WAKEUP]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
{% set fan_speed = params.FAN_SPEED|float %}
{% set new_x = params.X|default(-1)|float %}
{% set new_y = params.Y|default(-1)|float %}
{% set new_z = params.Z|default(-1)|float %}
{% set toolshift_count = params.TOOLSHIFT_COUNT|default(0)|int %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set purge = printer["gcode_macro RatOS"].toolchange_purge|default(0)|float %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% if toolshift_count == 1 %}
{% set purge = printer["gcode_macro RatOS"].toolchange_first_purge %}
{% endif %}
{% set needs_wakeup = true if printer["gcode_macro T%s" % toolhead].standby|default(false)|lower == 'true' else false %}
RATOS_ECHO PREFIX="IDEX" MSG="Waking up toolhead T{toolhead}. Please wait for extruder to heat up..."
DEBUG_ECHO PREFIX="_TOOLHEAD_WAKEUP" MSG="toolhead: {toolhead}, fan_speed: {fan_speed}, new_x: {new_x}, new_y: {new_y}, new_z: {new_z}, config_z_hop: {config_z_hop}"
_LED_TOOLHEAD_WAKEUP TOOLHEAD={toolhead}
SET_DUAL_CARRIAGE CARRIAGE={toolhead} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={toolhead} MOVE=1
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if toolhead == 0 else toolhead}
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% set extruder_first_layer_temp = (printer["gcode_macro START_PRINT"].extruder_first_layer_temp|default("")).split(",") %}
{% set extruder_other_layer_temp = (printer["gcode_macro START_PRINT"].extruder_other_layer_temp|default("")).split(",") %}
{% if needs_wakeup %}
{% if printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|int < 2 %}
{% set temp = extruder_first_layer_temp[toolhead]|float %}
{% else %}
{% set temp = extruder_other_layer_temp[toolhead]|float %}
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET={temp}
TEMPERATURE_WAIT SENSOR={'extruder' if toolhead == 0 else 'extruder1'} MINIMUM={temp} MAXIMUM={temp + 5}
{% endif %}
_LED_PRINTING TOOLHEAD={toolhead}
{% if purge > 0 %}
_MOVE_TO_LOADING_POSITION TOOLHEAD={toolhead}
_PURGE_FILAMENT TOOLHEAD={toolhead} E={purge}
_CLEANING_MOVE TOOLHEAD={toolhead}
{% endif %}
{% if fan_speed > 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={fan_speed if toolhead == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={fan_speed if toolhead == 1 else 0}
M106.1 S{fan_speed}
{% endif %}
G92 E0
G1 E-{e} F{feedrate}
G92 E0
{% if new_x >= 0 and new_y >= 0 %}
G1 X{new_x} Y{new_y} F{speed}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={config_z_hop} T={toolhead} SYNC=0
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
SET_GCODE_VARIABLE MACRO=T{toolhead} VARIABLE=standby VALUE=False
[gcode_macro _TOOLCHANGE]
variable_toolshift_count = 0
gcode =
{% set new_t = params.T|default(-1)|int %}
{% set new_x = params.X|default(-1.0)|float %}
{% set new_y = params.Y|default(-1.0)|float %}
{% set new_z = params.Z|default(-1.0)|float %}
{% set park_t0 = params.PARK_T0|default(-1)|float %}
{% set park_t1 = params.PARK_T1|default(-1)|float %}
{% set toolshift = true if params.TOOLSHIFT|default(true)|lower == 'true' else false %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T: {new_t}, X: {new_x}, Y: {new_y}, Z: {new_z}, PARK_T0: {park_t0}, PARK_T1: {park_t1}, IS_PRINTING_GCODE: {is_printing_gcode}, TOOLSHIFT: {toolshift}"
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set config_z_hop = printer["gcode_macro RatOS"].toolchange_zhop|default(2.0)|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set center_x = printable_x_max / 2 %}
{% set acceleration = printer["gcode_macro RatOS"].toolchange_travel_accel %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% set parking_position_act_t = printer["gcode_macro T%s" % act_t].parking_position|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% if park_t0 >= 0 and park_t1 >= 0 %}
{% set parking_position_t0 = park_t0 %}
{% set parking_position_t1 = park_t1 %}
{% set parking_position_act_t = park_t0 if act_t == 0 else park_t1 %}
{% endif %}
{% if not is_printing_gcode and not toolshift %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Changing tool to T{new_t} without retracting/extruding or moving the toolheads except for parking."
{% if "xyz" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t} MODE=PRIMARY
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
G90
{% set max_accel = printer.toolhead.max_accel|float %}
{% set square_corner_velocity = printer.toolhead.square_corner_velocity|float %}
SET_VELOCITY_LIMIT ACCEL={acceleration} MINIMUM_CRUISE_RATIO=0 SQUARE_CORNER_VELOCITY=20
{% if not is_printing_gcode and toolshift and new_x < 0 and new_y < 0 %}
{% set new_x = center_x %}
{% set new_y = printer.gcode_move.gcode_position.y|float %}
{% endif %}
{% if new_x < 0 or new_y < 0 %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="No new X or Y position given, parking the active toolhead and activating the new toolhead without moving it."
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={config_z_hop} T={new_t}
{% if "x" in printer.toolhead.homed_axes %}
G1 X{parking_position_act_t} F{speed}
{% endif %}
{% if is_printing_gcode %}
_EXTRUDE T={new_t}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t} MOVE={1 if "xyz" in printer.toolhead.homed_axes else 0}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% if "xyz" not in printer.toolhead.homed_axes %}
SET_DUAL_CARRIAGE CARRIAGE={new_t}
_SET_TOOLHEAD_OFFSET T={new_t}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% else %}
{% set svv = printer.save_variables.variables %}
{% if new_t == default_toolhead %}
{% set xoffset = svv.idex_xoffset %}
{% set yoffset = svv.idex_yoffset %}
{% set zoffset = svv.idex_zoffset %}
{% else %}
{% set xoffset = 0 - svv.idex_xoffset %}
{% set yoffset = 0 - svv.idex_yoffset %}
{% set zoffset = 0 - svv.idex_zoffset %}
{% endif %}
{% if svv.idex_applied_offset == new_t %}
{% set xoffset = 0 %}
{% set yoffset = 0 %}
{% set zoffset = 0 %}
{% endif %}
{% set gcode_z = printer.gcode_move.gcode_position.z|float %}
{% set toolhead_z = printer.toolhead.position.z|float %}
{% if new_t == 0 %}
{% set t0_act_x = parking_position_t0 %}
{% set t1_act_x = printer.toolhead.position.x|float %}
{% set t0_new_x = new_x %}
{% set t1_new_x = parking_position_t1 %}
{% set t0_distance = t0_new_x - t0_act_x %}
{% set t1_distance = t1_new_x - t1_act_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T0."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x + (t1_new_x - t1_act_x)} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t0_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=0
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T0: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% elif new_t == 1 %}
{% set t0_act_x = printer.toolhead.position.x|float %}
{% set t1_act_x = parking_position_t1 %}
{% set t0_new_x = parking_position_t0 %}
{% set t1_new_x = new_x %}
{% set t0_distance = t0_act_x - t0_new_x %}
{% set t1_distance = t1_act_x - t1_new_x %}
{% set calc_z_hop = config_z_hop %}
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="Shifting to T1."
DEBUG_ECHO PREFIX="_TOOLCHANGE" MSG="T0_ACT_X: {t0_act_x}, T1_ACT_X: {t1_act_x}, T0_NEW_X: {t0_new_x}, T1_NEW_X: {t1_new_x}, T0_DISTANCE: {t0_distance}, T1_DISTANCE: {t1_distance}"
_ZHOP_BEFORE_TOOLCHANGE Z_HOP={calc_z_hop} T={new_t} SYNC=1
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_act_x} F{speed}
{% if t0_distance >= t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_act_x - t1_distance + xoffset} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X{t0_new_x + xoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
{% elif t0_distance < t1_distance %}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
G1 X{t0_new_x} Y{new_y + yoffset} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{t1_new_x + xoffset} F{speed}
{% endif %}
{% if svv.idex_applied_offset != new_t %}
SET_GCODE_OFFSET X_ADJUST={xoffset} Y_ADJUST={yoffset} MOVE=0 SPEED={speed}
G1 X{t1_new_x} Y{new_y} F{speed}
SET_GCODE_OFFSET Z_ADJUST={zoffset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE=1
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T1: X={xoffset} Y={yoffset} Z={zoffset}"
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={new_t}
{% endif %}
{% endif %}
{% set calc_z_drop = config_z_hop %}
_ZDROP_AFTER_TOOLCHANGE Z_DROP={calc_z_drop} T={new_t} SYNC=1
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER=extruder{'' if new_t == 0 else new_t}
{% endif %}
{% endif %}
SET_VELOCITY_LIMIT ACCEL={max_accel} MINIMUM_CRUISE_RATIO=0.5 SQUARE_CORNER_VELOCITY={square_corner_velocity}
{% endif %}
[gcode_macro _ZHOP_BEFORE_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_hop = params.Z_HOP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_retraction %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_HOP: {z_hop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="COMBINED_ZHOP G1 Z+{z_hop} E-{e} F{speed * 60}"
G1 Z+{z_hop} E-{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="ZHOP G1 Z+{z_hop} F{speed * 60}"
G1 Z+{z_hop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="RETRACT G1 E-{e} F{feedrate}"
G1 E-{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZHOP_BEFORE_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _ZDROP_AFTER_TOOLCHANGE]
gcode =
{% set t = params.T|int %}
{% set sync = params.SYNC|default(0)|int %}
{% set z_drop = params.Z_DROP|default(0.0)|float %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_zspeed|default(25)|float %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
{% set combined_zhop = true if printer["gcode_macro RatOS"].toolchange_combined_zhop|default(true)|lower == 'true' else false %}
{% set both_toolheads = true if printer["gcode_macro START_PRINT"].both_toolheads|default(true)|lower == 'true' else false %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="T: {t}, BOTH_TOOLHEADS: {both_toolheads}, SYNC: {sync}, IS_PRINTING_GCODE: {is_printing_gcode}, Z_DROP: {z_drop}"
G91
M82
G92 E0
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder1
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
{% endif %}
{% endif %}
{% if combined_zhop and is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="COMBINED_ZDROP G1 Z-{z_drop} E{e} F{speed * 60}"
G1 Z-{z_drop} E{e} F{speed * 60}
{% else %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="ZDROP G1 Z-{z_drop} F{speed * 60}"
G1 Z-{z_drop} F{speed * 60}
{% if is_printing_gcode %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="EXTRUDE G1 E{e} F{feedrate}"
G1 E{e} F{feedrate}
{% endif %}
{% endif %}
{% if sync == 1 and t == 0 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder
{% endif %}
{% elif sync == 1 and t == 1 and is_printing_gcode and both_toolheads %}
{% if printer['extruder'].can_extrude|lower == 'true' and printer['extruder1'].can_extrude|lower == 'true' %}
DEBUG_ECHO PREFIX="_ZDROP_AFTER_TOOLCHANGE" MSG="UNSYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1"
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
{% endif %}
{% endif %}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _EXTRUDE]
gcode =
{% set t = params.T|int %}
{% set e = printer["gcode_macro RatOS"].toolchange_extrusion %}
{% set feedrate = printer["gcode_macro RatOS"].toolchange_feedrate %}
DEBUG_ECHO PREFIX="_EXTRUDE" MSG="G1 E{e} F{feedrate * 60}"
G91
M82
G92 E0
G1 E{e} F{feedrate * 60}
G90
G92 E0
_SET_EXTRUSION_MODE
[gcode_macro _DEACTIVATE_TOOLHEAD]
gcode =
{% set toolhead = params.TOOLHEAD|int %}
DEBUG_ECHO PREFIX="_DEACTIVATE_TOOLHEAD" MSG="TOOLHEAD {toolhead}"
{% if toolhead == 0 %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
{% else %}
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
{% endif %}
M106.1 S0
SET_HEATER_TEMPERATURE HEATER={'extruder' if toolhead == 0 else 'extruder1'} TARGET=0
_LED_DEACTIVATE_TOOLHEAD TOOLHEAD={toolhead}
[delayed_gcode _INIT_TOOLHEADS]
initial_duration = 0.1
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|int %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={default_toolhead}
_IDEX_SINGLE INIT=1
{% if printer.configfile.settings.dual_carriage.safe_distance is defined %}
{% if printer.configfile.settings.dual_carriage.safe_distance|float < 50 %}
{ action_emergency_stop("Dual carriage safe_distance seems to be too low!") }
{% endif %}
{% else %}
{ action_emergency_stop("Dual carriage safe_distance not defined!") }
{% endif %}
[gcode_macro _SET_TOOLHEAD_OFFSET]
gcode =
{% set t = params.T|int %}
{% set move = params.MOVE|default(0)|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="T: {t}, MOVE: {move}"
{% set svv = printer.save_variables.variables %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if "xyz" not in printer.toolhead.homed_axes %}
{% set move = 0 %}
{% endif %}
{% if svv.idex_applied_offset != t %}
{% if t != printer["gcode_macro RatOS"].default_toolhead|int %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET X_ADJUST: {(-svv.idex_xoffset)} Y_ADJUST: {(-svv.idex_yoffset)} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={(-svv.idex_xoffset)} Y_ADJUST={(-svv.idex_yoffset)} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {(-svv.idex_zoffset)} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={(-svv.idex_zoffset)} MOVE={move} SPEED={z_speed}
{% else %}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_ X_ADJUST: {svv.idex_xoffset} Y_ADJUST: {svv.idex_yoffset} MOVE: {move} SPEED: {speed}"
SET_GCODE_OFFSET X_ADJUST={svv.idex_xoffset} Y_ADJUST={svv.idex_yoffset} MOVE={move} SPEED={speed}
DEBUG_ECHO PREFIX="_SET_TOOLHEAD_OFFSET" MSG="SET_GCODE_OFFSET Z_ADJUST: {svv.idex_zoffset} MOVE: {move} SPEED: {z_speed}"
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE={move} SPEED={z_speed}
{% endif %}
RATOS_ECHO PREFIX="IDEX" MSG="Toolhead offset applied for T{t}"
SAVE_VARIABLE VARIABLE=idex_applied_offset VALUE={t}
{% if printer.configfile.settings.beacon is defined and is_printing_gcode %}
_BEACON_SET_NOZZLE_TEMP_OFFSET TOOLHEAD={t}
{% endif %}
{% endif %}
[gcode_macro TOOLSHIFT_CONFIG]
gcode =
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={params.SPEED|default(300)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={params.ACCEL|default(5000)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_retraction VALUE={params.RETRACT|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_extrusion VALUE={params.EXTRUDE|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_feedrate VALUE={params.FEEDRATE|default(7200)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={params.Z_HOP|default(2.0)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zspeed VALUE={params.Z_SPEED|default(25)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_combined_zhop VALUE={true if params.COMBINED_ZHOP|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_sync_fans VALUE={true if params.SYNC_FANS|default(0)|int == 1 else false}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_prepurging_timer VALUE={params.AUTO_PURGE_TIME|default(0)|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_purge VALUE={params.PURGE|default(25)|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_standby_temp VALUE={params.STANDBY_TEMP|default(-1)|float}
[gcode_macro CALCULATE_DC_ENDSTOP]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set svv = printer.save_variables.variables %}
{% set idex_xoffset = svv.idex_xoffset|float %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|float %}
{% set stepper_x_position_max = printer.configfile.settings.stepper_x.position_max|float %}
{% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %}
{% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %}
{% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %}
{% set line_1 = "_N_[dual_carriage]" %}
{% set line_2 = "position_max: %.3f" % (dual_carriage_position_max + idex_xoffset) %}
{% set line_3 = "position_endstop: %.3f" % (dual_carriage_position_endstop + idex_xoffset) %}
{% set line_4 = "_N_[gcode_macro RatOS]" %}
{% set line_5 = "variable_bed_margin_x: [%.3f, %.3f]" % (stepper_x_position_endstop|abs, dual_carriage_position_max - stepper_x_position_max + idex_xoffset) %}
{% set line_6 = "_N_[gcode_macro _VAOC]" %}
{% set line_7 = "variable_expected_camera_x_position: %.3f" % idex_xcontrolpoint %}
{% set line_8 = "variable_expected_camera_y_position: %.3f" % idex_ycontrolpoint %}
{% set line_9 = "_N_[gcode_macro T0]" %}
{% set line_10 = "variable_parking_position: %.3f" % (stepper_x_position_endstop + 2) %}
{% set line_11 = "_N_[gcode_macro T1]" %}
{% set line_12 = "variable_parking_position: %.3f" % (dual_carriage_position_endstop + idex_xoffset - 2) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8, line_9, line_10, line_11, line_12)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro INCREASE_Y_MAX]
gcode =
{% if printer["dual_carriage"] is defined %}
{% set bed_margin_y = printer["gcode_macro RatOS"].bed_margin_y %}
{% set stepper_y_position_max = printer.configfile.settings.stepper_y.position_max|float %}
{% set stepper_y_position_endstop = printer.configfile.settings.stepper_y.position_endstop|float %}
{% set line_1 = "_N_[stepper_y]" %}
{% set line_2 = "position_max: %.3f" % (stepper_y_position_max + 1) %}
{% set line_3 = "_N_[gcode_macro RatOS]" %}
{% set line_4 = "variable_bed_margin_y: [%.3f, %.3f]" % (stepper_y_position_endstop|abs, (bed_margin_y[1] + 1)) %}
CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4)}
{% else %}
CONSOLE_ECHO TITLE="Invalid machine type" TYPE="error" MSG="This macro is only available on IDEX machines."
{% endif %}
[gcode_macro _VAOC]
variable_is_fixed = True
variable_is_started = False
variable_is_started_at_temp = False
variable_additional_safe_distance = 50
variable_safe_z = 30
variable_auto_z_offset_calibration = True
variable_enable_camera_cooling = True
variable_camera_cooling_fan_speed = 0.3
variable_camera_cooling_temperature = 50
variable_toolchange_travel_speed = 300
variable_toolchange_travel_accel = 5000
variable_cache_toolchange_travel_speed = 300
variable_cache_toolchange_travel_accel = 5000
variable_cache_toolchange_zhop = 1.0
variable_t0_toolhead_sensor_enabled = 0
variable_t1_toolhead_sensor_enabled = 0
variable_t0_bowden_sensor_enabled = 0
variable_t1_bowden_sensor_enabled = 0
variable_loaded_skew_profile = ""
gcode =
_ECHO_VAOC_VARS
variable_expected_camera_x_position = 211.854
variable_expected_camera_y_position = 528.378
[gcode_macro _VAOC_START]
description = Called from the front end. If T0_TEMP, T1_TEMP and BED_TEMP parameter are specified, VAOC calibration will start under real conditions at printing temp.
gcode =
{% set t0_temp = params.T0_TEMP|default(0)|int %}
{% set t1_temp = params.T1_TEMP|default(0)|int %}
{% set bed_temp = params.BED_TEMP|default(0)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set loaded_skew_profile = printer["gcode_macro SKEW_PROFILE"].loaded_profile|default("") %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=loaded_skew_profile VALUE='"{loaded_skew_profile}"'
{% if t0_temp > 0 and t1_temp > 0 and bed_temp > 0 %}
{% if not is_fixed %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("VAOC calibration at temp works only with a fixed installed VAOC device.") }
{% endif %}
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_toolhead_sensor_enabled VALUE={1 if printer["filament_switch_sensor toolhead_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t0_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t0"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE=0
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=t1_bowden_sensor_enabled VALUE={1 if printer["filament_switch_sensor bowden_filament_sensor_t1"].enabled|lower == "true" else 0}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE=0
{% endif %}
START_PRINT EXTRUDER_TEMP={t0_temp},{t1_temp} EXTRUDER_OTHER_LAYER_TEMP={t0_temp},{t1_temp} BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp} INITIAL_TOOL=0 TOTAL_LAYER_COUNT=1 X0={(printable_x_max / 2 - 10)} Y0={(printable_y_max / 2 - 10)} X1={(printable_x_max / 2 + 10)} Y1={(printable_y_max / 2 + 10)} TOTAL_TOOLSHIFTS=1 FIRST_X={printable_x_max / 2} FIRST_Y={printable_y_max / 2} MIN_X={(printable_x_max / 2 - 10)} MAX_X={(printable_x_max / 2 + 10)} USED_TOOLS=0,1
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=is_printing_gcode VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=True
{% endif %}
_START_VAOC
[gcode_macro _START_VAOC]
description = Called from _VAOC_START. Do not call it manually.
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(printable_x_max/2)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(printable_y_max/2)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
DEBUG_ECHO PREFIX="VAOC_START" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, zcontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, expected_camera_x_position, expected_camera_y_position)}
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_SAFE_Z_HEIGHT
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_speed VALUE={printer["gcode_macro RatOS"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_travel_accel VALUE={printer["gcode_macro RatOS"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=cache_toolchange_zhop VALUE={printer["gcode_macro RatOS"].toolchange_zhop|float}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE=0
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"START X_REFERENCE:%.6f Y_REFERENCE:%.6f Z_REFERENCE:%.6f PARK_T0:%.6f PARK_T1:%.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, parking_position_t0, parking_position_t1)}
_LED_VAOC_ON
MAYBE_HOME
M400
_LOAD_RATOS_SKEW_PROFILE
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
{% if printer.toolhead.position.y|float > printable_y_max %}
G1 Y{printable_y_max} F{speed}
{% endif %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if idex_mode == "copy" or idex_mode == "mirror" %}
IDEX_SINGLE
{% endif %}
{% if is_fixed %}
_SELECT_TOOL T=0 TOOLSHIFT=false
{% if default_toolhead == 0 %}
G1 X{idex_xcontrolpoint} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint + safe_distance + additional_safe_distance} F{speed}
{% else %}
G1 X{idex_xcontrolpoint - safe_distance - additional_safe_distance} F{speed}
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X{idex_xcontrolpoint} F{speed}
{% endif %}
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
{% else %}
_SELECT_TOOL T={default_toolhead} TOOLSHIFT=false
{% endif %}
G1 X{idex_xcontrolpoint} F{speed}
G1 Y{idex_ycontrolpoint} F{speed}
G1 Z{idex_zcontrolpoint} F{z_speed}
_SELECT_TOOL T={default_toolhead} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
{% if not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={default_toolhead}
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=True
[gcode_macro _VAOC_END]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set center_y = printable_y_max / 2 %}
DEBUG_ECHO PREFIX="_VAOC_END" MSG="printable_y_max: {printable_y_max}, center_y: {center_y}, safe_z: {safe_z}"
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% if printer.toolhead.position.z|float < safe_z %}
G1 Z{safe_z} F{z_speed}
{% endif %}
G1 Y{center_y} F{speed}
_IDEX_SINGLE INIT=1
_LED_VAOC_OFF
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_speed VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_speed|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_travel_accel VALUE={printer["gcode_macro _VAOC"].cache_toolchange_travel_accel|int}
SET_GCODE_VARIABLE MACRO=RatOS VARIABLE=toolchange_zhop VALUE={printer["gcode_macro _VAOC"].cache_toolchange_zhop|float}
{% if printer["gcode_macro _VAOC"].is_started_at_temp|default(true)|lower == 'true' %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=toolhead_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_toolhead_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t0"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t0 ENABLE={printer["gcode_macro _VAOC"].t0_bowden_sensor_enabled|int}
{% endif %}
{% if printer["filament_switch_sensor bowden_filament_sensor_t1"] is defined %}
SET_FILAMENT_SENSOR SENSOR=bowden_filament_sensor_t1 ENABLE={printer["gcode_macro _VAOC"].t1_bowden_sensor_enabled|int}
{% endif %}
{% endif %}
{% set loaded_skew_profile = printer["gcode_macro _VAOC"].loaded_skew_profile|default("") %}
{% if loaded_skew_profile != "" %}
SKEW_PROFILE LOAD={loaded_skew_profile}
{% else %}
SET_SKEW CLEAR=1
{% endif %}
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started VALUE=False
SET_GCODE_VARIABLE MACRO=_VAOC VARIABLE=is_started_at_temp VALUE=False
[gcode_macro _VAOC_LOAD_TOOL]
gcode =
{% set t = params.T|default(0)|int %}
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set auto_temp_offset = true if params.AUTO_TEMP_OFFSET|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set safe_distance = printer.configfile.settings.dual_carriage.safe_distance|float %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set additional_safe_distance = printer["gcode_macro _VAOC"].additional_safe_distance|float %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set toolhead_zoffset = svv.idex_zoffset|default(0)|float %}
{% if auto_z_offset %}
{% set additional_safe_distance = 20 %}
{% set idex_xcontrolpoint = idex_xcontrolpoint + z_offset_probe_x_offset %}
{% set idex_ycontrolpoint = idex_ycontrolpoint + z_offset_probe_y_offset %}
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move T%s to control point: X%.6f Y%.6f Z%.6f IS_FIXED=%s"' % (t, idex_xcontrolpoint, idex_ycontrolpoint, idex_zcontrolpoint, is_fixed)}
{% if not auto_temp_offset and not auto_z_offset %}
_VAOC_SET_CAMERA_COOLING T={t}
{% endif %}
{% set parking_position_t0 = printer["gcode_macro T0"].parking_position|float %}
{% set parking_position_t1 = printer["gcode_macro T1"].parking_position|float %}
{% if is_fixed %}
{% set parking_position_t0 = idex_xcontrolpoint - safe_distance - additional_safe_distance %}
{% set parking_position_t1 = idex_xcontrolpoint + safe_distance + additional_safe_distance %}
{% endif %}
{% set current_z = printer.toolhead.position.z|float %}
{% set lowest_toolhead_z = [current_z, current_z - toolhead_zoffset]|min %}
{% if lowest_toolhead_z < safe_z %}
G1 Z{[safe_z, safe_z + toolhead_zoffset]|max} F{z_speed}
{% else %}
G1 Z{idex_zcontrolpoint} F{z_speed}
{% endif %}
_SELECT_TOOL T={t} X={idex_xcontrolpoint} Y={idex_ycontrolpoint} PARK_T0={parking_position_t0} PARK_T1={parking_position_t1}
G1 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_SET_CAMERA_COOLING]
gcode =
{% set t = params.T|default(0)|int %}
{% set enable_camera_cooling = true if printer["gcode_macro _VAOC"].enable_camera_cooling|default(true)|lower == 'true' else false %}
{% set camera_cooling_temperature = printer["gcode_macro _VAOC"].camera_cooling_temperature|float %}
{% set camera_cooling_fan_speed = printer["gcode_macro _VAOC"].camera_cooling_fan_speed|float %}
{% if printer.heater_bed.temperature >= camera_cooling_temperature and enable_camera_cooling %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED={camera_cooling_fan_speed if t == 0 else 0}
SET_FAN_SPEED FAN=part_fan_t1 SPEED={camera_cooling_fan_speed if t == 1 else 0}
M106.1 S{camera_cooling_fan_speed}
{% else %}
SET_FAN_SPEED FAN=part_fan_t0 SPEED=0
SET_FAN_SPEED FAN=part_fan_t1 SPEED=0
M106.1 S0
{% endif %}
[gcode_macro _VAOC_SET_TOOL]
gcode =
{% set svv = printer.save_variables.variables %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set x = printer.gcode_move.gcode_position.x|float %}
{% set y = printer.gcode_move.gcode_position.y|float %}
{% set z = printer.gcode_move.gcode_position.z|float %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={x}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={y}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Control point was set: X%.6f Y%.6f Z%.6f"' % (x, y, z)}
{% else %}
{% set move_diff_x = printer.gcode_move.gcode_position.x|float - svv.idex_xcontrolpoint|float %}
{% set move_diff_y = printer.gcode_move.gcode_position.y|float - svv.idex_ycontrolpoint|float %}
{% set move_diff_z = printer.gcode_move.gcode_position.z|float - svv.idex_zcontrolpoint|float %}
SET_GCODE_OFFSET X_ADJUST={move_diff_x} Y_ADJUST={move_diff_y} Z_ADJUST={move_diff_z} MOVE=0
{% set new_x_offset = svv.idex_xoffset - move_diff_x %}
{% set new_y_offset = svv.idex_yoffset - move_diff_y %}
{% set new_z_offset = svv.idex_zoffset - move_diff_z %}
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE={new_x_offset}
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE={new_y_offset}
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={new_z_offset}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset was set: X%.6f Y%.6f Z%.6f"' % (toolhead, new_x_offset, new_y_offset, new_z_offset)}
{% endif %}
[gcode_macro _VAOC_MOVE]
gcode =
{% set x = params.X|default(0)|float %}
{% set y = params.Y|default(0)|float %}
{% set z = params.Z|default(0)|float %}
G91
{% if z != 0 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 Z%.6f F300"' % (z)}
G1 Z{z} F300
{% else %}
{% if x <=2 and y <=2 %}
RATOS_ECHO PREFIX="VAOC" MSG={'"Move toolhead: G1 X%.6f Y%.6f F18000"' % (x, y)}
G1 X{x} Y{y} F18000
{% endif %}
{% endif %}
G90
[gcode_macro _VAOC_CALIBRATE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% if printer["z_offset_probe"] is defined and is_started %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
{% if auto_z_offset %}
_START_VAOC AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_Z_OFFSET=True
_VAOC_PROBE_Z_OFFSET AUTO_Z_OFFSET=True
_VAOC_END
{% else %}
_VAOC_LOAD_TOOL T={default_toolhead}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1}
_VAOC_PROBE_Z_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
{% endif %}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_Z_OFFSET
{% endif %}
[gcode_macro _VAOC_PROBE_Z_OFFSET]
gcode =
{% set auto_z_offset = true if params.AUTO_Z_OFFSET|default(false)|lower == 'true' else false %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
{% if not auto_z_offset %}
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
{% endif %}
M400
_VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT
[gcode_macro _VAOC_Z_OFFSET_PROBE_CURRENT_POSITION]
gcode =
Z_OFFSET_PROBE PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_DROP=1 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
[gcode_macro _VAOC_Z_OFFSET_PROBE_SAVE_PROBE_RESULT]
gcode =
{% if printer["z_offset_probe"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% if toolhead == printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE={last_z}
RATOS_ECHO PREFIX="VAOC" MSG={'"Z-offset control point set:: %.6f"' % last_z}
{% else %}
{% set z = svv.idex_zoffsetcontrolpoint|float - last_z %}
SET_GCODE_OFFSET Z_ADJUST={svv.idex_zoffset} MOVE=0
G0 Z{svv.idex_zcontrolpoint|float} F{z_speed}
SET_GCODE_OFFSET Z_ADJUST={(0 - z)} MOVE=1
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE={z}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s offset set: Z %.6f"' % (t, z)}
{% endif %}
{% endif %}
[gcode_macro _VAOC_ECHO_Z_OFFSET]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
RATOS_ECHO PREFIX="VAOC" MSG={'"T%s toolhead z-offset %.6f"' % (1 if default_toolhead == 0 else 0, svv.idex_zoffset)}
{% if svv.idex_zoffset|abs < 0.02 %}
CONSOLE_ECHO TITLE={'"Perfect toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="You have a perfect toolhead z-offset!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.02 and svv.idex_zoffset|abs < 0.05 %}
CONSOLE_ECHO TITLE={'"Good toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is good!" TYPE="success"
{% elif svv.idex_zoffset|abs >= 0.05 and svv.idex_zoffset|abs < 0.1 %}
CONSOLE_ECHO TITLE={'"High toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset could be better._N_Use minimum 0.3mm first layer height for copy and mirror mode prints." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.1 and svv.idex_zoffset|abs < 0.2 %}
CONSOLE_ECHO TITLE={'"Bad toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is bad._N_Copy and mirror mode prints are not recommended with it." TYPE="warning"
{% elif svv.idex_zoffset|abs >= 0.2 %}
CONSOLE_ECHO TITLE={'"Unacceptable toolhead z-offset of %.6fmm!"' % svv.idex_zoffset} MSG="Your toolhead z-offset is unacceptable._N_Do not print in copy and mirror mode with it." TYPE="alert"
{% endif %}
RATOS_ECHO PREFIX="VAOC" MSG="Toolhead z-offset calibration done!"
[gcode_macro _VAOC_CALIBRATE_TEMP_OFFSET]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set is_started = true if printer["gcode_macro _VAOC"].is_started|default(false)|lower == 'true' else false %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if is_fixed and is_started and printer["z_offset_probe"] is defined and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT
_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS
_VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED
_VAOC_SET_TOOL
{% set act_z = printer.toolhead.position.z|float %}
_VAOC_LOAD_TOOL T={default_toolhead} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={0 if default_toolhead == 1 else 1} AUTO_TEMP_OFFSET=True
_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET
_VAOC_LOAD_TOOL T={default_toolhead}
G1 Z{act_z} F{z_speed}
_VAOC_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
[gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
M400
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_VAOC_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_VAOC_STORE_NOZZLE_TEMP_OFFSET TEMP=250
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET=0
G1 X{idex_xcontrolpoint} Y{idex_ycontrolpoint} F{speed}
M400
[gcode_macro _VAOC_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
RATOS_ECHO PREFIX="VAOC" MSG="Waiting for thermal expansion..."
G4 P240000
RATOS_ECHO PREFIX="VAOC" MSG="Probing with nozzle temperature {temp}°C..."
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[gcode_macro _VAOC_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode=='primary' else 0 %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=_VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro _VAOC_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _VAOC_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set svv = printer.save_variables.variables %}
{% set msg = '"T0 expansion coefficient %.6fmm_N_T1 expansion coefficient %.6fmm"' % (svv.nozzle_expansion_coefficient_t0, svv.nozzle_expansion_coefficient_t1) %}
CONSOLE_ECHO TITLE="Nozzle expansion coefficients:" MSG={msg} TYPE="success"
[gcode_macro _VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_CONTROL_POINT_WITHIN_EXPECTED_CAMERA_POS" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f, expected_camera_x_position: %.6f, expected_camera_y_position: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint, expected_camera_x_position, expected_camera_y_position)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - expected_camera_x_position)|abs > 5 %}
M84
{ action_raise_error("VAOC x-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_xcontrolpoint, expected_camera_x_position)) }
{% endif %}
{% if (idex_ycontrolpoint - expected_camera_y_position)|abs > 5 %}
M84
{ action_raise_error("VAOC y-control coordinate is set to %.3f but is expected to be within 5mm of %.3f. Please run '_VAOC_RESET' to roll back to default values." % (idex_ycontrolpoint, expected_camera_y_position)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT]
gcode =
{% set is_fixed = true if printer["gcode_macro _VAOC"].is_fixed|default(true)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(0)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_TOOLHEAD_WITHIN_CONTROL_POINT" MSG={'"xcontrolpoint: %.6f, ycontrolpoint: %.6f"' % (idex_xcontrolpoint, idex_ycontrolpoint)}
{% if is_fixed %}
{% if (idex_xcontrolpoint - printer.gcode_move.gcode_position.x|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected y-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_xcontrolpoint, printer.gcode_move.gcode_position.x|float)) }
{% endif %}
{% if (idex_ycontrolpoint - printer.gcode_move.gcode_position.y|float)|abs > 3 %}
M84
{ action_raise_error("Unexpected x-coordinate detected, VAOC aborted. Expected %.3f but got %.3f." % (idex_ycontrolpoint, printer.gcode_move.gcode_position.y|float)) }
{% endif %}
{% endif %}
[gcode_macro _VAOC_ENSURE_SAFE_Z_HEIGHT]
gcode =
{% set safe_z = printer["gcode_macro _VAOC"].safe_z|float %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
{% set idex_zoffsetcontrolpoint = svv.idex_zoffsetcontrolpoint|default(0)|float %}
DEBUG_ECHO PREFIX="_VAOC_ENSURE_SAFE_Z_HEIGHT" MSG={'"idex_zcontrolpoint: %.6f, idex_zoffsetcontrolpoint: %.6f"' % (idex_zcontrolpoint, idex_zoffsetcontrolpoint)}
{% if safe_z < idex_zcontrolpoint + 2 or safe_z < idex_zoffsetcontrolpoint + 2 %}
{action_raise_error("VAOC safe_z value (%.3f) is too low, it must be higher than %.3f" % (safe_z, [idex_zoffsetcontrolpoint + 2, idex_zcontrolpoint + 2]|max))}
{% endif %}
[gcode_macro _VAOC_ENSURE_FILAMENTS_ARE_NOT_LOADED]
gcode =
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t0"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T0. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"] is defined %}
{% if printer["filament_switch_sensor toolhead_filament_sensor_t1"].filament_detected|lower == "true" %}
_LED_START_PRINTING_ERROR
M84
{ action_raise_error("Filament detected in toolhead T1. Unload filament and make sure to clean the nozzle and the melting zone.") }
{% endif %}
{% endif %}
[gcode_macro _VAOC_RESET]
gcode =
{% set expected_camera_x_position = printer["gcode_macro _VAOC"].expected_camera_x_position|default(0)|float %}
{% set expected_camera_y_position = printer["gcode_macro _VAOC"].expected_camera_y_position|default(0)|float %}
{% set svv = printer.save_variables.variables %}
SAVE_VARIABLE VARIABLE=idex_xcontrolpoint VALUE={expected_camera_x_position}
SAVE_VARIABLE VARIABLE=idex_ycontrolpoint VALUE={expected_camera_y_position}
SAVE_VARIABLE VARIABLE=idex_zcontrolpoint VALUE=5.0
SAVE_VARIABLE VARIABLE=idex_zoffsetcontrolpoint VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_xoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_yoffset VALUE=0.0
SAVE_VARIABLE VARIABLE=idex_zoffset VALUE=0.0
RATOS_ECHO PREFIX="VAOC" MSG="VAOC configuration resetted. Please calibrate it before using the printer."
[gcode_macro _ECHO_VAOC_VARS]
description = Echo VAOC variables to the console.
gcode =
{% for var, value in printer["gcode_macro _VAOC"].items() %}
{action_respond_info(var ~ ": " ~ value)}
{% endfor %}
[gcode_macro _VAOC_SWITCH_LED]
gcode =
{% if params.STATE|default(0)|int == 1 %}
_LED_VAOC_ON
{% else %}
_LED_VAOC_OFF
{% endif %}
[gcode_macro Z_PROBE_TEST_T0]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T0
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST_T1]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE_T1
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro Z_PROBE_TEST]
gcode =
{% set debug_previously_enabled = False %}
{% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %}
{% set debug_previously_enabled = True %}
{% else %}
ENABLE_DEBUG
{% endif %}
_CLEAR_PRIMARY_TOOLHEAD_RESULT
_CLEAR_SECONDARY_TOOLHEAD_RESULT
{% if params.HOT|default(False)|lower == 'true' %}
{% set t0_temp = params.T0_TEMP|default(150)|int %}
{% set t1_temp = params.T1_TEMP|default(150)|int %}
{% set bed_temp = params.BED_TEMP|default(115)|int %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders"
SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp}
SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed"
M190 S{bed_temp}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing"
{% else %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing"
{% endif %}
_VAOC_START
{% for i in range(4) %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
{% endfor %}
_VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_PRIMARY_TOOLHEAD_RESULT
_VAOC_Z_PROBE_LOOP
_VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True
_VAOC_TEST_Z_OFFSET
_ADD_SECONDARY_TOOLHEAD_RESULT
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_VAOC_Z_PROBE_TEST_EVALUATE
{% if debug_previously_enabled == False %}
DISABLE_DEBUG
{% endif %}
[gcode_macro _VAOC_Z_PROBE_LOOP]
gcode =
_VAOC_END
DUMP_TMC stepper="stepper_z1"
GET_POSITION
_SHAKE_IT
_VAOC_START
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if primary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T0. Retried {primary_retries} time(s)."
{% endif %}
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
{% if (primary_range - secondary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 is drifting significantly more than T1."
{% endif %}
{% if (secondary_range - primary_range) > 0.01 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 is drifting significantly more than T0."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T0]
gcode =
{% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %}
{% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %}
{% if primary_results|sum > 0 and primary_results|count > 0 %}
{% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %}
{% else %}
{% set primary_average = 0 %}
{% endif %}
{% set primary_min = primary_results|min %}
{% set primary_max = primary_results|max %}
{% set primary_range = primary_max - primary_min %}
{% if primary_retries > 0 %}
{% set primary_average_retries = primary_retries/(primary_results|count) %}
{% else %}
{% set primary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}"
[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T1]
gcode =
{% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %}
{% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %}
{% if secondary_results|sum > 0 and secondary_results|count > 0 %}
{% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %}
{% else %}
{% set secondary_average = 0 %}
{% endif %}
{% set secondary_min = secondary_results|min %}
{% set secondary_max = secondary_results|max %}
{% set secondary_range = secondary_max - secondary_min %}
{% if secondary_retries > 0 %}
{% set secondary_average_retries = secondary_retries/(secondary_results|count) %}
{% else %}
{% set secondary_average_retries = 0 %}
{% endif %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}"
{% if secondary_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)."
{% endif %}
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}"
[gcode_macro _SHAKE_IT]
gcode =
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
_Z_HOP
{% for i in range(3) %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2 - 25}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2 + 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2 - 1}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2 + 1}
{% endfor %}
{% for i in range(2) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 + 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 + 50} Y{printable_y_max/2 - 50}
G0 X{printable_x_max/2 - 50} Y{printable_y_max/2 + 50}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 25} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 25} Y{printable_y_max/2}
{% endfor %}
{% for i in range(5) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 25}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 25}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2 + 1} Y{printable_y_max/2}
G0 X{printable_x_max/2 - 1} Y{printable_y_max/2}
{% endfor %}
{% for i in range(10) %}
G0 X{printable_x_max/2} Y{printable_y_max/2} F{speed}
G0 X{printable_x_max/2} Y{printable_y_max/2 + 1}
G0 X{printable_x_max/2} Y{printable_y_max/2 - 1}
{% endfor %}
{% endfor %}
[gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T0 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 retries updated: {new_retries}"
[gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT]
variable_results = []
variable_retries = 0
gcode =
{% set last_z = printer["z_offset_probe"].last_z_result|default(0)|float %}
{% set last_retries = printer["z_offset_probe"].last_retries|default(0)|float %}
{% set new_results = results + [last_z] %}
{% set new_retries = retries + last_retries %}
{% if last_retries > 0 %}
RATOS_ECHO PREFIX="Z Offset Testing" MSG="T1 probe repeatibility issues detected! Retried {last_retries} time(s)."
{% endif %}
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="{new_results}"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE="{new_retries}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set updated: {new_results}"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 retries updated: {new_retries}"
[gcode_macro _CLEAR_PRIMARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 result set"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T0 retries"
SET_GCODE_VARIABLE MACRO=_ADD_PRIMARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _CLEAR_SECONDARY_TOOLHEAD_RESULT]
gcode =
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 result set"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=results VALUE="[]"
DEBUG_ECHO PREFIX="Z Offset Testing" MSG="Clearing T1 retries"
SET_GCODE_VARIABLE MACRO=_ADD_SECONDARY_TOOLHEAD_RESULT VARIABLE=retries VALUE=0
[gcode_macro _VAOC_TEST_Z_OFFSET]
gcode =
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set act_t = 1 if idex_mode == 'primary' else 0 %}
{% set z_offset_probe_x_offset = printer["z_offset_probe"].x_offset|default(0)|float %}
{% set z_offset_probe_y_offset = printer["z_offset_probe"].y_offset|default(0)|float %}
{% set speed = printer["gcode_macro RatOS"].toolchange_travel_speed * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set svv = printer.save_variables.variables %}
{% set idex_xcontrolpoint = svv.idex_xcontrolpoint|default(150)|float %}
{% set idex_ycontrolpoint = svv.idex_ycontrolpoint|default(30)|float %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(50)|float %}
G1 Z{idex_zcontrolpoint} F{z_speed}
G1 X{idex_xcontrolpoint + z_offset_probe_x_offset} Y{idex_ycontrolpoint + z_offset_probe_y_offset} F{speed}
_VAOC_Z_OFFSET_PROBE_CURRENT_POSITION
G0 Z{idex_zcontrolpoint} F{z_speed}
[delayed_gcode _IDEX_INIT]
initial_duration = 0.1
gcode =
VERIFY_HYBRID_INVERTED
[gcode_macro Z_TILT_ADJUST]
rename_existing = Z_TILT_ADJUST_ORIG
gcode =
{% set beacon_contact_z_tilt_adjust_samples = printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust_samples|default(2)|int %}
{% set beacon_contact_z_tilt_adjust = true if printer["gcode_macro RatOS"].beacon_contact_z_tilt_adjust|default(true)|lower == 'true' else false %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
_IDEX_SINGLE
_SELECT_TOOL T={printer["gcode_macro RatOS"].default_toolhead|default(0)|int} TOOLSHIFT=false
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
DEPLOY_PROBE
{% endif %}
{% if printer.configfile.settings.beacon is defined and beacon_contact_z_tilt_adjust %}
Z_TILT_ADJUST_ORIG PROBE_METHOD=contact SAMPLES={beacon_contact_z_tilt_adjust_samples}
{% else %}
Z_TILT_ADJUST_ORIG
{% endif %}
{% if printer["gcode_macro RatOS"].z_probe == 'stowable' %}
STOW_PROBE
{% endif %}
{% if printer["dual_carriage"] is defined %}
{% if idex_mode == "copy" %}
_IDEX_COPY
{% elif idex_mode == "mirror" %}
_IDEX_MIRROR
{% endif %}
{% endif %}
[stepper_x]
position_max = 500
position_endstop = -59.8
position_min = -59.8
step_pin = PF13
dir_pin = x_dir_pin
enable_pin = !PF14
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = toolboard_t0:PB6
[stepper_y]
position_max = 533.65
position_min = -14.35
position_endstop = -14.35
step_pin = PG0
dir_pin = !y_dir_pin
enable_pin = !PF15
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
homing_speed = 50
endstop_pin = PG9
[stepper_z]
position_max = 500
position_min = -7
step_pin = PC13
dir_pin = !z0_dir_pin
enable_pin = !PF1
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
homing_speed = 10
endstop_pin = probe:z_virtual_endstop
[bed_mesh]
horizontal_move_z = 2
mesh_min = 20,30
mesh_max = 470,462.5
probe_count = 40,40
fade_start = 1.0
fade_end = 10.0
mesh_pps = 2,2
algorithm = bicubic
bicubic_tension = .2
speed = 600
[z_tilt]
z_positions =
0,0
250,500
500,0
points =
20,10
250,440
480,10
horizontal_move_z = 20
retries = 10
retry_tolerance = 0.02
speed = 600
[extruder]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t0:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t0:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.049
step_pin = toolboard_t0:PD0
dir_pin = toolboard_t0:e_dir_pin
enable_pin = !toolboard_t0:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[firmware_retraction]
retract_speed = 60
unretract_extra_length = 0
unretract_speed = 60
retract_length = 0.5
[extruder1]
rotation_distance = 4.63
full_steps_per_rotation = 200
filament_diameter = 1.750
max_extrude_only_velocity = 60
max_extrude_only_distance = 200
nozzle_diameter = 0.6
heater_pin = toolboard_t1:PB13
sensor_type = PT1000
pullup_resistor = 2200
sensor_pin = toolboard_t1:PA3
min_extrude_temp = 170
min_temp = 0
max_temp = 350
pressure_advance = 0.03
step_pin = toolboard_t1:PD0
dir_pin = toolboard_t1:e_dir_pin
enable_pin = !toolboard_t1:PD2
microsteps = 64
control = pid
pid_kp = 28.413
pid_ki = 1.334
pid_kd = 151.300
[resonance_tester]
accel_chip_x = adxl345 toolboard_t0
accel_chip_y = adxl345 toolboard_t0
probe_points =
250,250,20
[tmc2209 stepper_x]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 dual_carriage]
stealthchop_threshold = 0
interpolate = False
uart_pin = PF2
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD11
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_y1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PC7
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_y1]
step_pin = PG4
dir_pin = y1_dir_pin
enable_pin = !PA0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 40
[tmc2209 stepper_z]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE4
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[tmc2209 stepper_z1]
stealthchop_threshold = 0
interpolate = False
uart_pin = PE1
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z1]
step_pin = PE2
dir_pin = !z1_dir_pin
enable_pin = !PD4
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 stepper_z2]
stealthchop_threshold = 0
interpolate = False
uart_pin = PD3
run_current = 1.6
driver_tbl = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 6
sense_resistor = 0.11
[stepper_z2]
step_pin = PE6
dir_pin = !z2_dir_pin
enable_pin = !PE0
microsteps = 64
full_steps_per_rotation = 200
rotation_distance = 4
[tmc2209 extruder]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t0:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[tmc2209 extruder1]
stealthchop_threshold = 0
interpolate = False
uart_pin = toolboard_t1:PA15
run_current = 0.707
driver_tbl = 0
driver_toff = 4
driver_hend = 6
driver_hstrt = 7
sense_resistor = 0.11
[beacon]
serial = /dev/beacon
x_offset = 0
y_offset = 22.5
mesh_main_direction = x
mesh_runs = 1
speed = 15.
lift_speed = 80.
contact_max_hotend_temperature = 275
[delayed_gcode _BEACON_INIT]
initial_duration = 1
gcode =
_BEACON_SET_NOZZLE_TEMP_OFFSET RESET=True
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(0)|float %}
{% if nozzle_expansion_coefficient_multiplier == 0 %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is not defined %}
{% set nozzle_expansion_coefficient_multiplier = 1.0 %}
{% else %}
{% set nozzle_expansion_coefficient_multiplier = printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier|default(1.0)|float %}
{% endif %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={nozzle_expansion_coefficient_multiplier}
{% endif %}
{% if printer["gcode_macro RatOS"].beacon_contact_expansion_multiplier is defined %}
CONSOLE_ECHO TITLE="Deprecated gcode variable" TYPE="warning" MSG={'"Please remove the variable beacon_contact_expansion_multiplier from your config file."'}
{% endif %}
[gcode_macro BEACON_RATOS_CALIBRATION]
gcode =
RATOS_ECHO MSG="Did you mean BEACON_RATOS_CALIBRATE?"
[gcode_macro BEACON_RATOS_CALIBRATE]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
BEACON_INITIAL_CALIBRATION _AUTOMATED=True
{% if beacon_contact_start_print_true_zero %}
BEACON_POKE_TEST _AUTOMATED=True
_BEACON_CHECK_POKE
{% if printer["dual_carriage"] is not defined %}
BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET _AUTOMATED=True
{% endif %}
{% endif %}
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
BEACON_FINAL_CALIBRATION _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% if beacon_contact_start_print_true_zero %}
BEACON_MEASURE_GANTRY_TWIST
_BEACON_MAYBE_SCAN_COMPENSATION
{% endif %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% if chamber_temp > 0 %}
_CHAMBER_HEATER_OFF
{% endif %}
{% if beacon_contact_start_print_true_zero %}
{% if printer["dual_carriage"] is not defined %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
_BEACON_ECHO_POKE
{% endif %}
RATOS_ECHO MSG="Beacon calibration finished!"
_LED_BEACON_CALIBRATION_END
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
[gcode_macro BEACON_INITIAL_CALIBRATION]
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed * 60 %}
MAYBE_HOME X=True Y=True
_LED_BEACON_CALIBRATION_START
G90
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE
_Z_HOP
RATOS_ECHO MSG="Initial beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_FINAL_CALIBRATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
_BEACON_HOME_AND_ABL
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
_LED_BEACON_CALIBRATION_START
G90
G0 Z2 F{z_hop_speed}
RATOS_ECHO MSG="Waiting for calibration temperature..."
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
_Z_HOP
BEACON_AUTO_CALIBRATE
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
_Z_HOP
RATOS_ECHO MSG="Final beacon contact calibration finished!"
{% if not automated %}
_CONSOLE_SAVE_CONFIG
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro BEACON_POKE_TEST]
variable_poke_result_1 = -1
variable_poke_result_2 = -1
variable_poke_result_3 = -1
variable_poke_result_4 = -1
variable_poke_result_5 = -1
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set z_hop_speed = printer.configfile.config.ratos_homing.z_hop_speed|float * 60 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_1 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_2 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_3 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_4 VALUE=-1
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE=poke_result_5 VALUE=-1
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
G0 Z5 F{z_hop_speed}
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=1
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=2
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=3
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=4
_BEACON_PROBE_POKE
_BEACON_STORE_POKE I=5
_Z_HOP
RATOS_ECHO MSG="Beacon poke test finished!"
{% if not automated %}
_BEACON_ECHO_POKE
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_POKE]
gcode =
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
BEACON_POKE speed=3 top=5 bottom={poke_bottom}
BEACON_QUERY
[gcode_macro _BEACON_STORE_POKE]
gcode =
{% set i = params.I|default(1)|int %}
{% set last_z = printer.beacon.last_poke_result|default(0)|float %}
{% if printer.beacon.last_poke_result|lower != "none" %}
{% if printer.beacon.last_poke_result.error == 0 %}
SET_GCODE_VARIABLE MACRO=BEACON_POKE_TEST VARIABLE={"poke_result_%s" % i} VALUE={printer.beacon.last_poke_result.latency}
{% endif %}
{% endif %}
[gcode_macro _BEACON_CHECK_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% if p1 == -1 or p2 == -1 or p3 == -1 or p4 == -1 or p5 == -1 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test error!") }
{% endif %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg > 6 %}
_LED_BEACON_CALIBRATION_ERROR
{ action_raise_error("Beacon poke test failed!") }
{% endif %}
[gcode_macro _BEACON_ECHO_POKE]
gcode =
{% set p1 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_1|int %}
{% set p2 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_2|int %}
{% set p3 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_3|int %}
{% set p4 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_4|int %}
{% set p5 = printer["gcode_macro BEACON_POKE_TEST"].poke_result_5|int %}
{% set avg = (p1 + p2 + p3 + p4 + p5) / 5 %}
{% if avg <= 1 %}
{% set type = "success" %}
{% set note = "Extremely low noise, rarely achieved" %}
{% elif avg > 1 and avg <= 4 %}
{% set type = "info" %}
{% set note = "Excellent performance for a typical printer" %}
{% elif avg > 4 and avg <= 8 %}
{% set type = "warning" %}
{% set note = "Acceptable performance, machine may have considerable cyclic axis noise" %}
{% elif avg > 8 and avg <= 11 %}
{% set type = "alert" %}
{% set note = "Not ideal, may want to verify proper mounting or use thinner stackups" %}
{% elif avg > 11 %}
{% set type = "alert" %}
{% set note = "Reason for concern, present setup may be risky to continue with" %}
{% endif %}
CONSOLE_ECHO TITLE="Beacon poke test result:" TYPE={type} MSG={'"Average latency: %.2f_N_%s"' % (avg, note)}
[gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET]
variable_reference_z = 0.0
gcode =
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set test_margin = 30 %}
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Nozzle temperature offset calibration..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=150
_BEACON_PROBE_NOZZLE_TEMP_OFFSET TEMP=250
_BEACON_STORE_NOZZLE_TEMP_OFFSET TEMP=250
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET=0
{% if not automated %}
_BEACON_ECHO_NOZZLE_TEMP_OFFSETS
{% endif %}
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
{% endif %}
[gcode_macro _BEACON_PROBE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set hotend_heat_soak_time = printer["gcode_macro RatOS"].hotend_heat_soak_time|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set idex_zcontrolpoint = svv.idex_zcontrolpoint|default(150)|float %}
RATOS_ECHO PREFIX="BEACON" MSG="Waiting for nozzle to reach {temp}°C..."
SET_HEATER_TEMPERATURE HEATER={"extruder" if default_toolhead == 0 else "extruder1"} TARGET={temp}
TEMPERATURE_WAIT SENSOR={"extruder" if default_toolhead == 0 else "extruder1"} MINIMUM={temp} MAXIMUM={temp + 2}
{% if hotend_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking hotend for {hotend_heat_soak_time} seconds..."
G4 P{(hotend_heat_soak_time * 1000)}
{% endif %}
RATOS_ECHO PREFIX="BEACON" MSG="Probing with nozzle temperature {temp}°C..."
PROBE PROBE_METHOD=contact PROBE_SPEED=3 LIFT_SPEED=15 SAMPLES=5 SAMPLE_RETRACT_DIST=3 SAMPLES_TOLERANCE=0.005 SAMPLES_TOLERANCE_RETRIES=10 SAMPLES_RESULT=median
BEACON_QUERY
G0 Z5 F{z_speed}
[gcode_macro _BEACON_STORE_NOZZLE_TEMP_OFFSET]
gcode =
{% set temp = params.TEMP|int %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% set last_z = printer.beacon.last_z_result|default(0)|float %}
{% if temp == 150 %}
SET_GCODE_VARIABLE MACRO=BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_CALIBRATE_NOZZLE_TEMP_OFFSET"].reference_z|default(0)|float %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_t{default_toolhead} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_NOZZLE_TEMP_OFFSETS]
gcode =
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set svv = printer.save_variables.variables %}
{% if default_toolhead == 0 %}
CONSOLE_ECHO TYPE="info" MSG={'"T0 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t0}
{% else %}
CONSOLE_ECHO TYPE="info" MSG={'"T1 expansion coefficient %.6f"' % svv.nozzle_expansion_coefficient_t1}
{% endif %}
[gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET]
variable_runtime_temp = 0
gcode =
{% set toolhead = params.TOOLHEAD|default(0)|int %}
{% set reset = true if params.RESET|default(false)|lower == 'true' else false %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set svv = printer.save_variables.variables %}
{% if reset %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE=0
{% else %}
{% if beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set nozzle_expansion_coefficient_t0 = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if printer["dual_carriage"] is defined %}
{% set nozzle_expansion_coefficient_t1 = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set nozzle_expansion_coefficient_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set applied_offset = svv.nozzle_expansion_applied_offset|default(0)|float %}
{% set temp = printer['extruder' if toolhead == 0 else 'extruder1'].target|float %}
{% set temp_offset = temp - beacon_contact_true_zero_temp %}
{% set expansion_coefficient = nozzle_expansion_coefficient_t0 if toolhead == 0 else nozzle_expansion_coefficient_t1 %}
{% set expansion_offset = nozzle_expansion_coefficient_multiplier * (temp_offset * (expansion_coefficient / 100)) %}
{% set new_offset = ((-applied_offset) + expansion_offset) %}
SET_GCODE_OFFSET Z_ADJUST={new_offset} MOVE=1 SPEED={z_speed}
SAVE_VARIABLE VARIABLE=nozzle_expansion_applied_offset VALUE={expansion_offset}
SET_GCODE_VARIABLE MACRO=_BEACON_SET_NOZZLE_TEMP_OFFSET VARIABLE=runtime_temp VALUE={temp}
RATOS_ECHO PREFIX="BEACON" MSG={'"Nozzle expansion offset of %.6fmm applied to T%s"' % (expansion_offset, toolhead)}
DEBUG_ECHO PREFIX="_BEACON_SET_NOZZLE_TEMP_OFFSET" MSG="multiplier: {nozzle_expansion_coefficient_multiplier}, coefficient: {expansion_coefficient}, temp_offset: {temp_offset}, expansion_offset: {expansion_offset}, applied_offset: {applied_offset}, new_offset: {new_offset}"
{% endif %}
{% endif %}
[gcode_macro BEACON_MEASURE_GANTRY_TWIST]
variable_needs_compensation = False
variable_reference_z = 0.0
variable_front = 0.0
variable_front_left = 0.0
variable_front_right = 0.0
variable_back = 0.0
variable_back_left = 0.0
variable_back_right = 0.0
variable_right = 0.0
variable_left = 0.0
variable_margin_x = 40
variable_margin_y = 40
gcode =
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set printable_x_max = printer["gcode_macro RatOS"].printable_x_max|float %}
{% set printable_y_max = printer["gcode_macro RatOS"].printable_y_max|float %}
{% set safe_home_x = printer["gcode_macro RatOS"].safe_home_x %}
{% if safe_home_x is not defined or safe_home_x|lower == 'middle' %}
{% set safe_home_x = printable_x_max / 2 %}
{% endif %}
{% set safe_home_y = printer["gcode_macro RatOS"].safe_home_y %}
{% if safe_home_y is not defined or safe_home_y|lower == 'middle' %}
{% set safe_home_y = printable_y_max / 2 %}
{% endif %}
{% set poke_bottom = printer["gcode_macro RatOS"].beacon_contact_poke_bottom_limit|default(-1)|float %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% if beacon_contact_start_print_true_zero %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=False
_BEACON_HOME_AND_ABL
_LED_BEACON_CALIBRATION_START
RATOS_ECHO PREFIX="BEACON" MSG="Measure gantry twist..."
{% for i in range(10) %}
beacon_poke speed=3 top=5 bottom={poke_bottom}
{% endfor %}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="center"
G0 X{margin_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_left"
G0 X{safe_home_x} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front"
G0 X{(printable_x_max - margin_x)} Y{margin_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="front_right"
G0 X{(printable_x_max - margin_x)} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="right"
G0 X{(printable_x_max - margin_x)} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_right"
G0 X{safe_home_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back"
G0 X{margin_x} Y{(printable_y_max - margin_y)} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="back_left"
G0 X{margin_x} Y{safe_home_y} F{speed}
_BEACON_PROBE_GANTRY_TWIST
_BEACON_STORE_GANTRY_TWIST LOCATION="left"
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
_BEACON_ECHO_GANTRY_TWIST
_LED_BEACON_CALIBRATION_END
{% endif %}
[gcode_macro _BEACON_PROBE_GANTRY_TWIST]
gcode =
RATOS_ECHO PREFIX="BEACON" MSG="Probing..."
BEACON_OFFSET_COMPARE
BEACON_QUERY
[gcode_macro _BEACON_STORE_GANTRY_TWIST]
gcode =
{% set location = params.LOCATION|lower %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set last_z = printer.beacon.last_offset_result["delta"]|default(0)|float %}
{% if location == "center" %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=reference_z VALUE={last_z}
{% else %}
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE={location} VALUE={(last_z - reference_z)}
{% endif %}
[gcode_macro _BEACON_ECHO_GANTRY_TWIST]
gcode =
{% set reference_z = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].reference_z|default(0)|float * 1000 %}
{% set front_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_left|default(0)|float * 1000 %}
{% set front = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front|default(0)|float * 1000 %}
{% set front_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].front_right|default(0)|float * 1000 %}
{% set right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].right|default(0)|float * 1000 %}
{% set back_right = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_right|default(0)|float * 1000 %}
{% set back = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back|default(0)|float * 1000 %}
{% set back_left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].back_left|default(0)|float * 1000 %}
{% set left = printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].left|default(0)|float * 1000 %}
{% set line_1 = "Front left: %.6fμm" % (front_left) %}
{% set line_2 = "Front center: %.6fμm" % (front) %}
{% set line_3 = "Front right: %.6fμm" % (front_right) %}
{% set line_4 = "Left center: %.6fμm" % (left) %}
{% set line_5 = "Right center: %.6fμm" % (right) %}
{% set line_6 = "Back left: %.6fμm" % (back_left) %}
{% set line_7 = "Back center: %.6fμm" % (back) %}
{% set line_8 = "Back right: %.6fμm" % (back_right) %}
{% set max_value = [(front_left|abs), (front|abs), (front_right|abs), (left|abs), (right|abs), (back_left|abs), (back|abs), (back_right|abs)]|max %}
{% if max_value <= 50 %}
{% set type = "success" %}
{% set recommendation = "Very low gantry twist: %.6fμm._N_No beacon scan compensation needed." % max_value %}
{% elif max_value > 50 and max_value <= 100 %}
{% set type = "info" %}
{% set recommendation = "Low gantry twist: %.6fμm._N_You may experience first layer inconsistensies, consider beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 100 and max_value <= 150 %}
{% set type = "warning" %}
{% set recommendation = "High gantry twist: %.6fμm._N_High chance of first layer problems, beacon scan compensation is highly encouraged." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 150 and max_value <= 200 %}
{% set type = "alert" %}
{% set recommendation = "Very High gantry twist: %.6fμm._N_You will encounter first layer problems on large prints unless you activate beacon scan compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% elif max_value > 200 %}
{% set type = "alert" %}
{% set recommendation = "Extremely high gantry twist: %.6fμm._N_You have significant scan/contact inconsistency which is indicative of mechanical problems, please investigate before resorting to software compensation." % max_value %}
SET_GCODE_VARIABLE MACRO=BEACON_MEASURE_GANTRY_TWIST VARIABLE=needs_compensation VALUE=True
{% endif %}
CONSOLE_ECHO TITLE="Gantry twist relative to the center" TYPE={type} MSG={'"_N_%s_N__N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s"' % (recommendation, line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8)}
[gcode_macro BEACON_CREATE_SCAN_COMPENSATION_MESH]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set profile = params.PROFILE|default("Contact")|string %}
{% set automated = true if params._AUTOMATED|default(false)|lower == 'true' else false %}
{% set default_toolhead = printer["gcode_macro RatOS"].default_toolhead|default(0)|int %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
{% set probe_count = printer["gcode_macro RatOS"].beacon_scan_compensation_probe_count %}
{% set bed_heat_soak_time = printer["gcode_macro RatOS"].bed_heat_soak_time|default(0)|int %}
{% if not beacon_scan_compensation_enable %}
RATOS_ECHO MSG="Beacon scan compensation is disabled!"
{% else %}
MAYBE_HOME
_MOVE_TO_SAFE_Z_HOME
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
_LED_BEACON_CALIBRATION_START
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_ON CHAMBER_TEMP={chamber_temp}
{% endif %}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=150
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
RATOS_ECHO MSG="Please wait..."
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} MAXIMUM={(bed_temp + 5)}
TEMPERATURE_WAIT SENSOR={'extruder' if default_toolhead == 0 else 'extruder1'} MINIMUM=150 MAXIMUM=155
{% endif %}
{% if not automated %}
{% if bed_heat_soak_time > 0 %}
RATOS_ECHO MSG="Heat soaking bed for {bed_heat_soak_time} seconds..."
G4 P{(bed_heat_soak_time * 1000)}
{% endif %}
{% endif %}
{% if printer.z_tilt is defined %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% endif %}
{% if printer.quad_gantry_level is defined %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
BED_MESH_CALIBRATE PROBE_METHOD=contact USE_CONTACT_AREA=1 SAMPLES=2 SAMPLES_DROP=1 SAMPLES_TOLERANCE_RETRIES=10 PROBE_COUNT={probe_count[0]},{probe_count[1]} PROFILE={profile}
{% if not automated %}
SET_HEATER_TEMPERATURE HEATER={'extruder' if default_toolhead == 0 else 'extruder1'} TARGET=0
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if chamber_temp > 0 and not automated %}
_CHAMBER_HEATER_OFF
{% endif %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% if not automated %}
_LED_BEACON_CALIBRATION_END
{% endif %}
RATOS_ECHO MSG="Beacon scan compensation mesh created!"
{% if not automated %}
RATOS_ECHO MSG="Saving config and restarting klipper..."
SAVE_CONFIG
{% endif %}
{% endif %}
[gcode_macro _BEACON_APPLY_SCAN_COMPENSATION]
gcode =
{% set beacon_scan_compensation_profile = printer["gcode_macro RatOS"].beacon_scan_compensation_profile %}
{% set beacon_scan_compensation_enable = true if printer["gcode_macro RatOS"].beacon_scan_compensation_enable|default(false)|lower == 'true' else false %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_SCAN_COMPENSATION" MSG="beacon_scan_compensation_profile {beacon_scan_compensation_profile}, beacon_scan_compensation_enable {beacon_scan_compensation_enable}"
{% if beacon_scan_compensation_enable %}
BEACON_APPLY_SCAN_COMPENSATION PROFILE={beacon_scan_compensation_profile}
{% endif %}
[gcode_macro _BEACON_MAYBE_SCAN_COMPENSATION]
gcode =
{% set bed_temp = params.BED_TEMP|default(85)|int %}
{% set chamber_temp = params.CHAMBER_TEMP|default(0)|int %}
{% set needs_scan_compensation = true if printer["gcode_macro BEACON_MEASURE_GANTRY_TWIST"].needs_compensation|default(false)|lower == 'true' else false %}
{% if needs_scan_compensation %}
BEACON_CREATE_SCAN_COMPENSATION_MESH _AUTOMATED=True BED_TEMP={bed_temp} CHAMBER_TEMP={chamber_temp}
{% endif %}
[gcode_macro _BEACON_HOME_AND_ABL]
gcode =
MAYBE_HOME X=True Y=True
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% set needs_rehoming = False %}
{% if printer.z_tilt is defined and not printer.z_tilt.applied %}
RATOS_ECHO MSG="Adjusting Z tilt..."
Z_TILT_ADJUST
RATOS_ECHO MSG="Rehoming Z after Z tilt adjustment..."
{% set needs_rehoming = True %}
{% endif %}
{% if printer.quad_gantry_level is defined and not printer.quad_gantry_level.applied %}
RATOS_ECHO MSG="Running quad gantry leveling..."
QUAD_GANTRY_LEVEL
RATOS_ECHO MSG="Rehoming Z after quad gantry leveling..."
{% set needs_rehoming = True %}
{% endif %}
_MOVE_TO_SAFE_Z_HOME Z_HOP=True
{% if needs_rehoming %}
BEACON_AUTO_CALIBRATE SKIP_MODEL_CREATION=1
{% endif %}
[gcode_macro _BEACON_SAVE_MULTIPLIER]
gcode =
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set multiplier = printer["gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER"].runtime_multiplier|default(-1.0)|float %}
DEBUG_ECHO PREFIX="_BEACON_SAVE_MULTIPLIER" MSG="multiplier: {multiplier}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if multiplier > 0 and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
SAVE_VARIABLE VARIABLE=nozzle_expansion_coefficient_multiplier VALUE={multiplier}
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE=-1.0
CONSOLE_ECHO TITLE="Hotend thermal expansion compensation" TYPE="success" MSG={'"New value is: %.6f_N_The new multiplier value has been saved to the configuration."' % multiplier}
{% else %}
Z_OFFSET_APPLY_PROBE
{% endif %}
[gcode_macro _BEACON_APPLY_RUNTIME_MULTIPLIER]
variable_runtime_multiplier = -1.0
gcode =
{% set toolhead = 0 %}
{% if printer["dual_carriage"] is defined %}
{% set idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% set toolhead = 1 if idex_mode == 'primary' else 0 %}
{% endif %}
{% set beacon_contact_true_zero_temp = printer["gcode_macro RatOS"].beacon_contact_true_zero_temp|default(150)|int %}
{% set beacon_contact_start_print_true_zero = true if printer["gcode_macro RatOS"].beacon_contact_start_print_true_zero|default(false)|lower == 'true' else false %}
{% set beacon_contact_expansion_compensation = true if printer["gcode_macro RatOS"].beacon_contact_expansion_compensation|default(false)|lower == 'true' else false %}
{% set layer_number = printer["gcode_macro _ON_LAYER_CHANGE"].layer_number|default(0)|int %}
{% set is_printing_gcode = true if printer["gcode_macro START_PRINT"].is_printing_gcode|default(true)|lower == 'true' else false %}
{% if layer_number == 0 and is_printing_gcode %}
{% set link_url = "https://os.ratrig.com/docs/slicers" %}
{% set link_text = "RatOS Slicer Documentation" %}
{% set line_1 = '"Your slicer is not correctly reporting layer information. See the layer change custom g-code in the %s".' % (link_url, link_text) %}
CONSOLE_ECHO TITLE="Missing layer information" TYPE="warning" MSG={line_1}
{% endif %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="layer_number: {layer_number}, is_printing_gcode: {is_printing_gcode}, beacon_contact_start_print_true_zero: {beacon_contact_start_print_true_zero}, beacon_contact_expansion_compensation: {beacon_contact_expansion_compensation}"
{% if layer_number == 1 and is_printing_gcode and printer.configfile.settings.beacon is defined and beacon_contact_start_print_true_zero and beacon_contact_expansion_compensation %}
{% set svv = printer.save_variables.variables %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t0|default(0)|float %}
{% if toolhead == 1 %}
{% set nozzle_expansion_coefficient = svv.nozzle_expansion_coefficient_t1|default(0)|float %}
{% endif %}
{% set beacon_contact_expansion_multiplier = svv.nozzle_expansion_coefficient_multiplier|default(1.0)|float %}
{% set print_temp = printer["gcode_macro _BEACON_SET_NOZZLE_TEMP_OFFSET"].runtime_temp|default(0)|int %}
{% if print_temp > 0 %}
{% set z_offset = printer.gcode_move.homing_origin.z|float %}
{% set temp_delta = print_temp - beacon_contact_true_zero_temp %}
{% set coefficient_per_degree = nozzle_expansion_coefficient / 100 %}
{% set z_offset_per_degree = z_offset / temp_delta %}
{% set new_multiplier = z_offset_per_degree / coefficient_per_degree %}
DEBUG_ECHO PREFIX="_BEACON_APPLY_RUNTIME_MULTIPLIER" MSG="print_temp: {print_temp}, z_offset: {z_offset}, temp_delta: {temp_delta}, nozzle_expansion_coefficient: {nozzle_expansion_coefficient}, coefficient_per_degree: {coefficient_per_degree}, z_offset_per_degree: {z_offset_per_degree}, old_multiplier: {beacon_contact_expansion_multiplier}, new_multiplier: {new_multiplier}"
SET_GCODE_VARIABLE MACRO=_BEACON_APPLY_RUNTIME_MULTIPLIER VARIABLE=runtime_multiplier VALUE={new_multiplier}
{% endif %}
{% endif %}
[fan_generic part_fan_t0]
pin = !toolboard_t0:PA0
cycle_time = 0.00004
[fan_generic part_fan_t1]
pin = !toolboard_t1:PA0
cycle_time = 0.00004
[heater_fan toolhead_cooling_fan_t1]
heater = extruder1
pin = toolboard_t1:PA1
[controller_fan controller_fan]
pin = PD12
[gcode_macro T0]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = True
variable_color = "7bff33"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = -32.8
variable_parking_position = -57.800
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=0 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[gcode_macro T1]
variable_join = 0
variable_remap = 0
variable_alert = ""
variable_filament_name = ""
variable_filament_type = ""
variable_filament_temp = 0
variable_runout_sensor = ""
variable_active = False
variable_color = "0ea5e9"
variable_hotend_type = "UHF"
variable_has_cht_nozzle = False
variable_cooling_position_to_nozzle_distance = 40
variable_tooolhead_sensor_to_extruder_gear_distance = 15
variable_extruder_gear_to_cooling_position_distance = 30
variable_filament_loading_nozzle_offset = -5
variable_filament_grabbing_length = 5
variable_filament_grabbing_speed = 1
variable_enable_insert_detection = True
variable_enable_runout_detection = True
variable_enable_clog_detection = False
variable_unload_after_runout = True
variable_purge_after_load = 0
variable_purge_before_unload = 0
variable_extruder_load_speed = 60
variable_filament_load_speed = 10
variable_standby = False
variable_temperature_offset = 0
variable_has_oozeguard = True
variable_has_front_arm_nozzle_wiper = False
variable_loading_position = 532.8
variable_parking_position = 556.971
variable_resume_after_insert = True
gcode =
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=1 X={x} Y={y} Z={z} TOOLSHIFT={s}
{% endif %}
[save_variables]
filename = /home/pi/printer_data/config/ratos-variables.cfg
[z_offset_probe]
pin = ^PG10
z_offset = -7
y_offset = 0
x_offset = 37.5
speed = 10
samples = 3
sample_retract_dist = 5
lift_speed = 10.0
samples_result = median
samples_tolerance = 0.2
samples_tolerance_retries = 5
[neopixel vaoc_led]
pin = PB0
chain_count = 6
color_order = GRB
[heater_fan vaoc_fan]
pin = PD13
heater = heater_bed
fan_speed = 1.0
heater_temp = 50
[filament_switch_sensor toolhead_filament_sensor_t0]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t0:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=0
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=0
[gcode_button toolhead_filament_sensor_button_t0]
pin = ^!toolboard_t0:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=0
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=0
{% endif %}
press_gcode =
[filament_switch_sensor toolhead_filament_sensor_t1]
pause_on_runout = False
event_delay = 0.1
switch_pin = ^toolboard_t1:PB4
runout_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_RUNOUT TOOLHEAD=1
insert_gcode =
_ON_TOOLHEAD_FILAMENT_SENSOR_INSERT TOOLHEAD=1
[gcode_button toolhead_filament_sensor_button_t1]
pin = ^!toolboard_t1:PB3
release_gcode =
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=1
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=1
{% endif %}
press_gcode =
[beacon model default]
model_coef = 1.5216898007481126,
1.8902129794265508,
0.831820228817575,
0.3593149586958484,
0.23269392145129414,
0.19533062331679613,
-0.1632586565325532,
-0.17574982456618962,
0.17702053002792054,
0.13435326641891854
model_domain = 1.851328082849494e-07,1.9354184656086437e-07
model_range = 0.200000,5.000000
model_temp = 43.655936
model_offset = -0.05394
[bed_mesh Preparation]
version = 1
points =
-0.123065, -0.129249, -0.137728, -0.143346, -0.146108, -0.151560, -0.155215, -0.159040, -0.159958, -0.164177, -0.166491, -0.171752, -0.176450, -0.180710, -0.184686, -0.190246, -0.195775, -0.202238, -0.207460, -0.213022, -0.218225, -0.220510, -0.220567, -0.219225, -0.217630, -0.212552, -0.206331, -0.200070, -0.194573, -0.188334, -0.180118, -0.172176, -0.168038, -0.164374, -0.159375, -0.153073, -0.146940, -0.141521, -0.135166, -0.127086
-0.088754, -0.096605, -0.102126, -0.105995, -0.109969, -0.114049, -0.118511, -0.121889, -0.124322, -0.126883, -0.131213, -0.135417, -0.139505, -0.143071, -0.147057, -0.152929, -0.157956, -0.164833, -0.170577, -0.176167, -0.181394, -0.184379, -0.183957, -0.184723, -0.181740, -0.178752, -0.172233, -0.167393, -0.161225, -0.155149, -0.148851, -0.144256, -0.140355, -0.137883, -0.132371, -0.128553, -0.122059, -0.115777, -0.111817, -0.103433
-0.059703, -0.065141, -0.068894, -0.072534, -0.074652, -0.078732, -0.083449, -0.087482, -0.090032, -0.093010, -0.095624, -0.100951, -0.104058, -0.107939, -0.110295, -0.114845, -0.122184, -0.128323, -0.134619, -0.141129, -0.146735, -0.150526, -0.151921, -0.151703, -0.149648, -0.145697, -0.140806, -0.136280, -0.130497, -0.125540, -0.120070, -0.115730, -0.115253, -0.113816, -0.111683, -0.107485, -0.102833, -0.098964, -0.092084, -0.083493
-0.035146, -0.038887, -0.040630, -0.042918, -0.045822, -0.048863, -0.053602, -0.057912, -0.061422, -0.063969, -0.067771, -0.070734, -0.074263, -0.077254, -0.079459, -0.084177, -0.089247, -0.097608, -0.105291, -0.111173, -0.118299, -0.123146, -0.124957, -0.125483, -0.121116, -0.117566, -0.112065, -0.108311, -0.103527, -0.098034, -0.093794, -0.092694, -0.092279, -0.092993, -0.091409, -0.090502, -0.087302, -0.082043, -0.077730, -0.068983
-0.014429, -0.015436, -0.015024, -0.015867, -0.016594, -0.019643, -0.023524, -0.028230, -0.032698, -0.035277, -0.037866, -0.041326, -0.042863, -0.045187, -0.048169, -0.051460, -0.057369, -0.064702, -0.072998, -0.082472, -0.088649, -0.094871, -0.098359, -0.099789, -0.097374, -0.090473, -0.085585, -0.080722, -0.076818, -0.073349, -0.069668, -0.068340, -0.069674, -0.071996, -0.071434, -0.069706, -0.067260, -0.064747, -0.060147, -0.051867
0.001800, 0.004209, 0.006295, 0.006641, 0.006498, 0.003907, 0.000374, -0.004775, -0.008574, -0.012033, -0.015343, -0.017616, -0.020077, -0.021090, -0.023071, -0.026600, -0.031917, -0.039089, -0.048471, -0.057699, -0.066738, -0.073148, -0.075881, -0.078085, -0.074661, -0.071015, -0.062931, -0.057662, -0.054662, -0.049156, -0.046409, -0.047290, -0.049401, -0.052189, -0.052468, -0.052381, -0.048999, -0.045375, -0.042758, -0.036124
0.014578, 0.018249, 0.024038, 0.026382, 0.027249, 0.026050, 0.022467, 0.017577, 0.013010, 0.010887, 0.006983, 0.004054, 0.002721, 0.001326, -0.000218, -0.003487, -0.007851, -0.014883, -0.023207, -0.033846, -0.042392, -0.050957, -0.055968, -0.056765, -0.055272, -0.049752, -0.043583, -0.037460, -0.031652, -0.028299, -0.026023, -0.024866, -0.027110, -0.030476, -0.033084, -0.034078, -0.031246, -0.029362, -0.025190, -0.019151
0.024410, 0.030484, 0.035193, 0.039485, 0.041745, 0.040083, 0.037331, 0.032763, 0.028232, 0.025326, 0.021729, 0.020069, 0.017930, 0.018061, 0.015847, 0.013482, 0.008905, 0.001823, -0.007356, -0.016569, -0.026170, -0.033571, -0.037941, -0.040096, -0.038153, -0.033153, -0.025879, -0.019168, -0.014733, -0.010497, -0.008672, -0.007561, -0.010567, -0.014787, -0.015661, -0.017707, -0.017691, -0.014205, -0.012676, -0.006032
0.030350, 0.037321, 0.045452, 0.050793, 0.053375, 0.054499, 0.051059, 0.046846, 0.042496, 0.039367, 0.035643, 0.033919, 0.033912, 0.033623, 0.032081, 0.030054, 0.024662, 0.019256, 0.010309, -0.000351, -0.009383, -0.017529, -0.022320, -0.022585, -0.022214, -0.017406, -0.012453, -0.004461, 0.001580, 0.003945, 0.005930, 0.006089, 0.003042, -0.000316, -0.002673, -0.003751, -0.003717, -0.002638, 0.000226, 0.005144
0.035173, 0.044246, 0.052100, 0.057619, 0.061427, 0.062646, 0.059768, 0.057094, 0.052969, 0.049696, 0.046221, 0.044853, 0.044616, 0.045243, 0.045236, 0.041880, 0.037458, 0.030193, 0.021980, 0.013232, 0.002262, -0.005043, -0.010706, -0.011683, -0.008394, -0.003728, 0.001908, 0.006662, 0.011662, 0.016663, 0.018832, 0.016640, 0.013833, 0.008164, 0.007799, 0.005419, 0.005328, 0.009190, 0.008467, 0.015441
0.037108, 0.045666, 0.056458, 0.063149, 0.067499, 0.069070, 0.068454, 0.065539, 0.062239, 0.059947, 0.057580, 0.054794, 0.056387, 0.057237, 0.057484, 0.055314, 0.050020, 0.043846, 0.035280, 0.025122, 0.016671, 0.008013, 0.002311, 0.000737, 0.001896, 0.008203, 0.014297, 0.020006, 0.024262, 0.026669, 0.029339, 0.030551, 0.026033, 0.021667, 0.017948, 0.016993, 0.017491, 0.017914, 0.020540, 0.025522
0.036352, 0.047193, 0.056745, 0.064612, 0.068634, 0.070738, 0.069708, 0.067799, 0.066444, 0.064284, 0.063129, 0.061805, 0.060988, 0.062269, 0.063716, 0.060863, 0.057021, 0.049768, 0.040718, 0.032150, 0.020744, 0.014030, 0.009615, 0.006588, 0.008979, 0.012564, 0.020268, 0.025138, 0.030238, 0.034561, 0.036879, 0.034610, 0.032263, 0.027581, 0.024798, 0.023672, 0.023321, 0.026978, 0.024620, 0.027896
0.031904, 0.041999, 0.053526, 0.061780, 0.068626, 0.071467, 0.069588, 0.070855, 0.067652, 0.067081, 0.066260, 0.065427, 0.067567, 0.067660, 0.066819, 0.066532, 0.062096, 0.056381, 0.047624, 0.037620, 0.028342, 0.019370, 0.013689, 0.013032, 0.014071, 0.018558, 0.024375, 0.029309, 0.035040, 0.038931, 0.042663, 0.042886, 0.037831, 0.034178, 0.030240, 0.030073, 0.030481, 0.030514, 0.032425, 0.035200
0.027182, 0.039232, 0.050723, 0.059936, 0.065685, 0.068762, 0.069802, 0.067959, 0.067866, 0.067327, 0.067183, 0.067449, 0.068351, 0.070500, 0.070804, 0.066856, 0.063180, 0.057359, 0.048570, 0.041217, 0.030261, 0.023075, 0.018834, 0.015316, 0.018939, 0.022756, 0.029306, 0.034018, 0.038670, 0.043164, 0.045084, 0.044050, 0.042856, 0.037331, 0.034978, 0.032203, 0.031843, 0.034428, 0.032762, 0.037273
0.021053, 0.033448, 0.046106, 0.055345, 0.064261, 0.068907, 0.069228, 0.069829, 0.068287, 0.068723, 0.069343, 0.068829, 0.071972, 0.073165, 0.073793, 0.072091, 0.066945, 0.060901, 0.053179, 0.043877, 0.036784, 0.028377, 0.023620, 0.022244, 0.021968, 0.027336, 0.032852, 0.037884, 0.042949, 0.044947, 0.048544, 0.049110, 0.045085, 0.042044, 0.039134, 0.036728, 0.035119, 0.034480, 0.035005, 0.040348
0.012798, 0.026215, 0.038175, 0.049823, 0.056616, 0.061959, 0.063431, 0.063875, 0.064311, 0.064278, 0.065429, 0.067402, 0.068134, 0.070311, 0.071612, 0.068720, 0.065355, 0.058476, 0.049821, 0.043365, 0.033745, 0.028649, 0.024126, 0.021884, 0.024781, 0.027504, 0.032892, 0.037274, 0.041428, 0.045995, 0.047404, 0.045205, 0.044657, 0.039586, 0.038947, 0.035435, 0.034980, 0.037579, 0.032889, 0.037251
0.002599, 0.016742, 0.028454, 0.039856, 0.050630, 0.057205, 0.057988, 0.060542, 0.060803, 0.062833, 0.063316, 0.063458, 0.067483, 0.068629, 0.069600, 0.068774, 0.065105, 0.060486, 0.053074, 0.043536, 0.036203, 0.030149, 0.025306, 0.023637, 0.024745, 0.030017, 0.034726, 0.038220, 0.042707, 0.043750, 0.047446, 0.047304, 0.044249, 0.040629, 0.037643, 0.037322, 0.036376, 0.036060, 0.034983, 0.039259
-0.009299, 0.003358, 0.016587, 0.028772, 0.037637, 0.045522, 0.048419, 0.050740, 0.052845, 0.054601, 0.054222, 0.056341, 0.057287, 0.060815, 0.062225, 0.059457, 0.058540, 0.052712, 0.045650, 0.039369, 0.029281, 0.023853, 0.020326, 0.017158, 0.020475, 0.024038, 0.029159, 0.033918, 0.035785, 0.040239, 0.040813, 0.040406, 0.039684, 0.033949, 0.033181, 0.032565, 0.029348, 0.033315, 0.026965, 0.030583
-0.026918, -0.010726, 0.002999, 0.014433, 0.026463, 0.034997, 0.038263, 0.042755, 0.042939, 0.045824, 0.048341, 0.048364, 0.051534, 0.052744, 0.054094, 0.054604, 0.051491, 0.048552, 0.042327, 0.033918, 0.027486, 0.020894, 0.015739, 0.013238, 0.014280, 0.018615, 0.022786, 0.027006, 0.032407, 0.034888, 0.037864, 0.036858, 0.033948, 0.030834, 0.029128, 0.027105, 0.027313, 0.024774, 0.024613, 0.027069
-0.040027, -0.025131, -0.010601, 0.002523, 0.013123, 0.021425, 0.026915, 0.029297, 0.032819, 0.034947, 0.036059, 0.038480, 0.039604, 0.041848, 0.043952, 0.042987, 0.042589, 0.037420, 0.031622, 0.024770, 0.017692, 0.011391, 0.007445, 0.004353, 0.006436, 0.009431, 0.015809, 0.020322, 0.022741, 0.028265, 0.028380, 0.028365, 0.028435, 0.021376, 0.020191, 0.019534, 0.016283, 0.019006, 0.011746, 0.014708
-0.056684, -0.040558, -0.026026, -0.013077, 0.001136, 0.010197, 0.014126, 0.019524, 0.020289, 0.024250, 0.027205, 0.027040, 0.032136, 0.032733, 0.036150, 0.035729, 0.033818, 0.032633, 0.025943, 0.018154, 0.011096, 0.004347, 0.000182, -0.001587, -0.000674, 0.003150, 0.008718, 0.014003, 0.019522, 0.021413, 0.024493, 0.023669, 0.021443, 0.017697, 0.014271, 0.011648, 0.010124, 0.007028, 0.008391, 0.011548
-0.070688, -0.054708, -0.038988, -0.022400, -0.012838, -0.002722, 0.002683, 0.005530, 0.009069, 0.011945, 0.013369, 0.016565, 0.019252, 0.022612, 0.026435, 0.026276, 0.025811, 0.021076, 0.014586, 0.009648, 0.000497, -0.005110, -0.010032, -0.013120, -0.009419, -0.005850, 0.001196, 0.007562, 0.011003, 0.016293, 0.018088, 0.015279, 0.015117, 0.005636, 0.004038, 0.002755, -0.002018, 0.003098, -0.003080, -0.000159
-0.089093, -0.069024, -0.051576, -0.039140, -0.023761, -0.014054, -0.008637, -0.004206, -0.002925, 0.000628, 0.004294, 0.005180, 0.012082, 0.014985, 0.018446, 0.019703, 0.018943, 0.015701, 0.008415, 0.001132, -0.005341, -0.012240, -0.017255, -0.018934, -0.018344, -0.013165, -0.006037, 0.001223, 0.007618, 0.009453, 0.012580, 0.011127, 0.007477, 0.001830, -0.001810, -0.004428, -0.005625, -0.007326, -0.005016, -0.000600
-0.099704, -0.080527, -0.064504, -0.047065, -0.036227, -0.025986, -0.020027, -0.016586, -0.013094, -0.010398, -0.007205, -0.002616, 0.000734, 0.006380, 0.011519, 0.011174, 0.009740, 0.006345, 0.000545, -0.006125, -0.015283, -0.021250, -0.024104, -0.027854, -0.024622, -0.019636, -0.011858, -0.003915, 0.000667, 0.007300, 0.007642, 0.003905, 0.002899, -0.006441, -0.009109, -0.009676, -0.012463, -0.007014, -0.012570, -0.007146
-0.114714, -0.093148, -0.075353, -0.061754, -0.045386, -0.035447, -0.029339, -0.024022, -0.022394, -0.017008, -0.013168, -0.011385, -0.002852, 0.000333, 0.005220, 0.006668, 0.006239, 0.003185, -0.002733, -0.010821, -0.017979, -0.026075, -0.029651, -0.031781, -0.028478, -0.022137, -0.015652, -0.008127, -0.002024, 0.000627, 0.005143, 0.004125, -0.000697, -0.005698, -0.011038, -0.012025, -0.011996, -0.012589, -0.010022, -0.005017
-0.122903, -0.103635, -0.085984, -0.068299, -0.055409, -0.045262, -0.039103, -0.034155, -0.030447, -0.026675, -0.022523, -0.017787, -0.012967, -0.006671, -0.001667, -0.001944, -0.001690, -0.006190, -0.012321, -0.018992, -0.026396, -0.032518, -0.035515, -0.038670, -0.034660, -0.028220, -0.021430, -0.013595, -0.009650, -0.004742, -0.002199, -0.005392, -0.005290, -0.012575, -0.015890, -0.016404, -0.019504, -0.013782, -0.018582, -0.014276
-0.134579, -0.113485, -0.095284, -0.079518, -0.062659, -0.052056, -0.046305, -0.039009, -0.037823, -0.031848, -0.027185, -0.024069, -0.016064, -0.013428, -0.007718, -0.004529, -0.006462, -0.009628, -0.015448, -0.022543, -0.030829, -0.037569, -0.039995, -0.040648, -0.038926, -0.033288, -0.025343, -0.019131, -0.012345, -0.009802, -0.006212, -0.006248, -0.010552, -0.013167, -0.017225, -0.018029, -0.017813, -0.019312, -0.017588, -0.012622
-0.141623, -0.121670, -0.102186, -0.085896, -0.071216, -0.060247, -0.053842, -0.047188, -0.042746, -0.037427, -0.034976, -0.028961, -0.023709, -0.016692, -0.012858, -0.012134, -0.011163, -0.015775, -0.023443, -0.028172, -0.036157, -0.042440, -0.044826, -0.047997, -0.043392, -0.036551, -0.030720, -0.023607, -0.017635, -0.012732, -0.009913, -0.014198, -0.013203, -0.020762, -0.021628, -0.022211, -0.024141, -0.018562, -0.021550, -0.018843
-0.153558, -0.131254, -0.112812, -0.097483, -0.078966, -0.067860, -0.060926, -0.053977, -0.052300, -0.044006, -0.039839, -0.035812, -0.028838, -0.024006, -0.019004, -0.016593, -0.019021, -0.020131, -0.025883, -0.034599, -0.040980, -0.047799, -0.051352, -0.052014, -0.049759, -0.042428, -0.034779, -0.027594, -0.022224, -0.019623, -0.014617, -0.015462, -0.018895, -0.023314, -0.026383, -0.027395, -0.026422, -0.027225, -0.024109, -0.018187
-0.161908, -0.140002, -0.120655, -0.102888, -0.087870, -0.077667, -0.069724, -0.063534, -0.057774, -0.052057, -0.047301, -0.041207, -0.036047, -0.031176, -0.024730, -0.024522, -0.023785, -0.027288, -0.033143, -0.038931, -0.048404, -0.054383, -0.057185, -0.059173, -0.055642, -0.049257, -0.042398, -0.033901, -0.029000, -0.023467, -0.020749, -0.023617, -0.023141, -0.030864, -0.033138, -0.032954, -0.034538, -0.029482, -0.033082, -0.028314
-0.174826, -0.151443, -0.130396, -0.116540, -0.098721, -0.086440, -0.078811, -0.071608, -0.069023, -0.060435, -0.055560, -0.050716, -0.042712, -0.037661, -0.034517, -0.031178, -0.032055, -0.033793, -0.038671, -0.045928, -0.052841, -0.060492, -0.063749, -0.063988, -0.062643, -0.056771, -0.049569, -0.041294, -0.034726, -0.031908, -0.028202, -0.029544, -0.031862, -0.035321, -0.038379, -0.038996, -0.038819, -0.039354, -0.037656, -0.031082
-0.183238, -0.161592, -0.141835, -0.122259, -0.107820, -0.096198, -0.087266, -0.081174, -0.074490, -0.069838, -0.064393, -0.057107, -0.050762, -0.045327, -0.038202, -0.038855, -0.038407, -0.041566, -0.047140, -0.051945, -0.061233, -0.066409, -0.069864, -0.071910, -0.067210, -0.062565, -0.055432, -0.048278, -0.044331, -0.038455, -0.036269, -0.038273, -0.038014, -0.045766, -0.046782, -0.045843, -0.049612, -0.044485, -0.046549, -0.043773
-0.193766, -0.171381, -0.150622, -0.136571, -0.116007, -0.105103, -0.095303, -0.087977, -0.084827, -0.076628, -0.071043, -0.067079, -0.058807, -0.053256, -0.047233, -0.043607, -0.045450, -0.047128, -0.052927, -0.059961, -0.065522, -0.072239, -0.075898, -0.075835, -0.075111, -0.067972, -0.061979, -0.053963, -0.049569, -0.047796, -0.043883, -0.043617, -0.047656, -0.050661, -0.053231, -0.054403, -0.054461, -0.055549, -0.052266, -0.047746
-0.201314, -0.179345, -0.161359, -0.141661, -0.125534, -0.113803, -0.104605, -0.097577, -0.091460, -0.084584, -0.081618, -0.073351, -0.066639, -0.060233, -0.053844, -0.052016, -0.050399, -0.053801, -0.060298, -0.064515, -0.073415, -0.079082, -0.082485, -0.085173, -0.080732, -0.075519, -0.069232, -0.061446, -0.057882, -0.054204, -0.050503, -0.055575, -0.054341, -0.063491, -0.062954, -0.061692, -0.063367, -0.060560, -0.063682, -0.062945
-0.210699, -0.186568, -0.169980, -0.155576, -0.134580, -0.123486, -0.114304, -0.104424, -0.101420, -0.092798, -0.086708, -0.083121, -0.072735, -0.068592, -0.062863, -0.059082, -0.060053, -0.060206, -0.063958, -0.071063, -0.077559, -0.085187, -0.086687, -0.088869, -0.087870, -0.081655, -0.074488, -0.068268, -0.062429, -0.060979, -0.056752, -0.057920, -0.060916, -0.066499, -0.069739, -0.070931, -0.070913, -0.070755, -0.068799, -0.063772
-0.219515, -0.197554, -0.177657, -0.160158, -0.145459, -0.131642, -0.122712, -0.114730, -0.108205, -0.102209, -0.096258, -0.088791, -0.081533, -0.074260, -0.066793, -0.066614, -0.064792, -0.068370, -0.072488, -0.076295, -0.085080, -0.090724, -0.095074, -0.097575, -0.093448, -0.090253, -0.083279, -0.075362, -0.072746, -0.067366, -0.066279, -0.070410, -0.069398, -0.077609, -0.078058, -0.078135, -0.084604, -0.079149, -0.080611, -0.079800
-0.230805, -0.207528, -0.186481, -0.172408, -0.153776, -0.143194, -0.132521, -0.122732, -0.119724, -0.111161, -0.104757, -0.098336, -0.089800, -0.085237, -0.079503, -0.074701, -0.074730, -0.077056, -0.080999, -0.087250, -0.090878, -0.098745, -0.100539, -0.104508, -0.101283, -0.096607, -0.088982, -0.085559, -0.079754, -0.079122, -0.075177, -0.075963, -0.081290, -0.085296, -0.088572, -0.088783, -0.090303, -0.090612, -0.089416, -0.085933
-0.237804, -0.216625, -0.196099, -0.177369, -0.162298, -0.151235, -0.142740, -0.134419, -0.126793, -0.120617, -0.114293, -0.107315, -0.098104, -0.090157, -0.083399, -0.082639, -0.080974, -0.083252, -0.088626, -0.094519, -0.101179, -0.107558, -0.109548, -0.114106, -0.110311, -0.106939, -0.099894, -0.093051, -0.091536, -0.087351, -0.087053, -0.090645, -0.091250, -0.099822, -0.100443, -0.101896, -0.103601, -0.100931, -0.103353, -0.101983
-0.247583, -0.224449, -0.204610, -0.192000, -0.171035, -0.160649, -0.151982, -0.142274, -0.139230, -0.129743, -0.123914, -0.119027, -0.108169, -0.102443, -0.095205, -0.091306, -0.092205, -0.092345, -0.096259, -0.103217, -0.108755, -0.115722, -0.119030, -0.120152, -0.118763, -0.111891, -0.108093, -0.102743, -0.098191, -0.095813, -0.095324, -0.097542, -0.103908, -0.108247, -0.112667, -0.113407, -0.114053, -0.115255, -0.113592, -0.108895
-0.258858, -0.235997, -0.216740, -0.198116, -0.183378, -0.171186, -0.161217, -0.155748, -0.147888, -0.142165, -0.135823, -0.126753, -0.118377, -0.109580, -0.102398, -0.099259, -0.097063, -0.101252, -0.106440, -0.110945, -0.118590, -0.125773, -0.130331, -0.133380, -0.130510, -0.125840, -0.121346, -0.113584, -0.112154, -0.108462, -0.107451, -0.111338, -0.113454, -0.123539, -0.127029, -0.125848, -0.131621, -0.126772, -0.129161, -0.126885
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh ratos]
version = 1
points =
0.252421, 0.239918, 0.235079, 0.233044, 0.229596, 0.212449, 0.189631, 0.177265, 0.169883, 0.164401, 0.162956, 0.163382, 0.166705, 0.179165, 0.193577
0.271966, 0.259877, 0.254582, 0.251196, 0.246518, 0.227398, 0.201969, 0.187328, 0.176683, 0.168773, 0.169957, 0.176639, 0.182214, 0.189877, 0.198461
0.276289, 0.267046, 0.261350, 0.255007, 0.248230, 0.229009, 0.203988, 0.191305, 0.185623, 0.181806, 0.180978, 0.181667, 0.184263, 0.193155, 0.203690
0.278889, 0.273241, 0.267160, 0.257355, 0.248146, 0.229016, 0.204779, 0.194759, 0.195556, 0.197049, 0.193377, 0.185856, 0.184502, 0.195611, 0.209394
0.278746, 0.275629, 0.269870, 0.258938, 0.248858, 0.229500, 0.205165, 0.195780, 0.198458, 0.201461, 0.196561, 0.185904, 0.183158, 0.195579, 0.211088
0.276375, 0.276236, 0.271549, 0.260815, 0.250692, 0.230737, 0.205548, 0.195534, 0.197468, 0.199796, 0.194343, 0.182983, 0.180177, 0.193876, 0.210799
0.273524, 0.273458, 0.269603, 0.260653, 0.251723, 0.231624, 0.206002, 0.195409, 0.196267, 0.197753, 0.192971, 0.183368, 0.181615, 0.195760, 0.212938
0.267660, 0.262256, 0.259405, 0.256574, 0.252066, 0.232597, 0.207063, 0.195713, 0.194465, 0.194512, 0.193170, 0.191017, 0.193092, 0.206555, 0.222135
0.261978, 0.251389, 0.249510, 0.252617, 0.252419, 0.233692, 0.208414, 0.196366, 0.192974, 0.191518, 0.193443, 0.198433, 0.204171, 0.216936, 0.230946
0.259175, 0.248781, 0.247703, 0.252469, 0.253528, 0.235805, 0.211588, 0.199323, 0.194060, 0.190904, 0.192775, 0.198523, 0.204714, 0.217544, 0.231592
0.256917, 0.248898, 0.248775, 0.253971, 0.255438, 0.239147, 0.216672, 0.204382, 0.196942, 0.191618, 0.192082, 0.196190, 0.201684, 0.215074, 0.230002
0.258878, 0.252498, 0.252461, 0.256670, 0.257493, 0.241767, 0.220173, 0.208520, 0.201784, 0.196903, 0.196216, 0.197892, 0.202508, 0.217707, 0.234843
0.266676, 0.262097, 0.261261, 0.262395, 0.261081, 0.245358, 0.224295, 0.214415, 0.211973, 0.210659, 0.208388, 0.205266, 0.208274, 0.227810, 0.250023
0.272369, 0.268928, 0.267532, 0.266607, 0.263893, 0.248373, 0.227935, 0.219380, 0.219876, 0.220951, 0.217279, 0.210276, 0.211840, 0.234232, 0.259847
0.272470, 0.268521, 0.267342, 0.267309, 0.265457, 0.251692, 0.233409, 0.225272, 0.224341, 0.223802, 0.218119, 0.207943, 0.207465, 0.228239, 0.252402
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 164.129
max_x = 335.871
min_y = 164.129
max_y = 335.871
[bed_mesh default_01]
version = 1
points =
-0.212352, -0.205004, -0.205688, -0.213947, -0.211584, -0.200827, -0.196079, -0.201497, -0.201616, -0.208425, -0.209947, -0.207257, -0.208137, -0.210397, -0.217396, -0.222770, -0.220129, -0.218163, -0.221850, -0.237017, -0.247459, -0.242211, -0.231428, -0.233658, -0.238247, -0.236157, -0.227367, -0.215174, -0.214324, -0.216396, -0.215984, -0.211921, -0.203751, -0.202477, -0.212640, -0.222181, -0.219244, -0.211084, -0.209151, -0.209082
-0.174162, -0.176047, -0.170487, -0.170548, -0.170736, -0.164118, -0.157555, -0.153439, -0.160425, -0.170282, -0.172797, -0.167139, -0.166458, -0.175026, -0.179929, -0.178620, -0.177640, -0.179906, -0.184836, -0.197635, -0.207979, -0.205003, -0.197052, -0.197250, -0.203982, -0.199476, -0.190324, -0.186099, -0.187066, -0.186672, -0.187746, -0.181171, -0.185153, -0.187589, -0.187063, -0.200665, -0.201051, -0.202709, -0.193542, -0.191586
-0.137100, -0.139551, -0.156952, -0.140436, -0.132315, -0.117612, -0.126367, -0.127171, -0.117222, -0.126918, -0.136512, -0.136358, -0.132073, -0.130702, -0.140103, -0.142380, -0.138235, -0.138905, -0.144252, -0.155403, -0.167395, -0.168131, -0.163644, -0.167313, -0.170169, -0.167668, -0.163673, -0.153559, -0.151257, -0.156368, -0.162458, -0.158603, -0.153421, -0.159541, -0.173014, -0.183822, -0.179305, -0.173713, -0.177083, -0.178655
-0.119638, -0.118582, -0.112676, -0.107016, -0.101057, -0.097609, -0.090568, -0.088846, -0.094353, -0.105808, -0.108640, -0.099508, -0.097061, -0.104063, -0.108925, -0.106601, -0.108711, -0.108244, -0.112043, -0.120678, -0.130435, -0.136258, -0.136819, -0.140693, -0.145176, -0.140418, -0.133156, -0.127840, -0.122126, -0.121636, -0.126438, -0.130351, -0.139794, -0.144111, -0.146054, -0.158204, -0.161518, -0.167826, -0.159598, -0.158650
-0.096835, -0.087718, -0.104672, -0.082461, -0.076224, -0.060838, -0.069516, -0.072615, -0.062211, -0.077871, -0.084714, -0.077026, -0.072760, -0.070095, -0.080251, -0.081571, -0.077742, -0.079221, -0.083101, -0.090649, -0.099299, -0.104793, -0.110080, -0.115975, -0.119470, -0.118751, -0.111056, -0.099818, -0.088329, -0.086065, -0.095142, -0.105657, -0.108794, -0.116773, -0.128079, -0.136836, -0.137575, -0.140247, -0.145489, -0.148040
-0.083209, -0.079868, -0.067185, -0.063731, -0.058642, -0.053051, -0.047765, -0.045331, -0.050266, -0.066491, -0.066941, -0.056015, -0.048217, -0.054259, -0.060356, -0.057978, -0.058606, -0.058994, -0.066141, -0.074500, -0.082524, -0.087903, -0.089955, -0.094768, -0.104398, -0.099852, -0.090725, -0.079565, -0.067033, -0.062767, -0.070707, -0.083459, -0.101043, -0.101848, -0.100333, -0.109638, -0.123028, -0.141217, -0.130959, -0.131217
-0.069730, -0.056597, -0.069495, -0.045018, -0.042152, -0.026485, -0.032235, -0.034557, -0.024843, -0.038262, -0.047943, -0.040534, -0.031409, -0.031423, -0.038290, -0.042184, -0.036914, -0.036003, -0.044482, -0.056018, -0.065785, -0.068729, -0.067646, -0.075299, -0.082594, -0.082415, -0.073119, -0.059632, -0.051532, -0.053502, -0.062114, -0.070318, -0.073796, -0.079949, -0.088985, -0.099045, -0.106334, -0.115317, -0.118710, -0.121606
-0.063230, -0.056601, -0.041980, -0.034523, -0.029628, -0.022591, -0.015527, -0.011458, -0.016579, -0.029089, -0.032697, -0.020075, -0.012276, -0.017379, -0.024206, -0.024615, -0.021741, -0.020420, -0.029944, -0.044031, -0.057771, -0.058946, -0.055658, -0.060140, -0.067052, -0.068268, -0.059032, -0.046807, -0.044834, -0.051708, -0.055075, -0.061517, -0.071357, -0.076336, -0.080810, -0.088325, -0.104141, -0.122163, -0.110924, -0.110569
-0.060174, -0.039395, -0.050614, -0.025623, -0.014566, -0.007533, -0.001840, -0.007895, 0.000069, -0.005943, -0.019542, -0.011396, 0.001031, -0.002683, -0.007624, -0.009318, -0.006436, -0.001552, -0.011221, -0.028696, -0.041084, -0.042016, -0.040203, -0.044466, -0.051808, -0.052518, -0.043417, -0.032423, -0.032810, -0.041661, -0.050081, -0.052858, -0.052876, -0.063332, -0.079570, -0.089959, -0.096716, -0.101982, -0.105016, -0.107001
-0.053710, -0.043327, -0.028031, -0.017850, -0.009484, -0.001637, 0.005673, 0.010586, 0.005636, -0.003814, -0.005362, 0.006161, 0.013608, 0.008057, 0.002322, 0.003612, 0.004110, 0.008068, 0.002083, -0.015465, -0.030949, -0.030547, -0.029409, -0.033287, -0.038682, -0.039024, -0.031263, -0.021618, -0.026750, -0.032994, -0.035691, -0.044157, -0.052114, -0.060215, -0.075515, -0.083466, -0.095327, -0.106548, -0.095535, -0.098521
-0.047254, -0.030528, -0.031638, -0.012849, 0.004841, 0.006983, 0.013694, 0.012846, 0.016138, 0.014432, 0.006226, 0.010452, 0.024727, 0.021013, 0.019524, 0.018961, 0.019665, 0.023419, 0.017911, -0.000232, -0.014022, -0.014730, -0.014596, -0.019038, -0.025992, -0.025129, -0.014481, -0.007814, -0.009829, -0.019165, -0.028011, -0.031947, -0.032988, -0.045983, -0.065714, -0.081242, -0.085685, -0.086933, -0.087880, -0.095017
-0.048876, -0.037640, -0.020639, -0.011257, -0.002252, 0.003293, 0.011320, 0.018432, 0.016599, 0.008416, 0.008857, 0.020046, 0.028597, 0.025368, 0.020894, 0.020093, 0.024371, 0.025767, 0.019986, 0.005394, -0.011722, -0.013006, -0.011459, -0.016446, -0.020481, -0.020572, -0.009700, -0.002004, -0.006115, -0.014821, -0.020690, -0.029257, -0.037335, -0.048699, -0.063009, -0.072149, -0.084081, -0.094853, -0.088026, -0.093326
-0.045599, -0.032489, -0.031909, -0.015132, 0.004367, 0.005761, 0.009753, 0.013737, 0.019610, 0.017209, 0.010670, 0.018033, 0.034446, 0.032759, 0.027419, 0.026150, 0.030680, 0.031041, 0.025393, 0.009631, -0.004301, -0.004888, -0.004235, -0.009507, -0.016274, -0.014927, -0.004799, 0.003089, 0.000024, -0.010745, -0.022641, -0.023781, -0.026245, -0.039501, -0.059650, -0.077316, -0.081899, -0.082664, -0.085848, -0.095630
-0.051719, -0.042516, -0.024727, -0.014881, -0.007962, -0.002778, 0.007253, 0.018564, 0.020549, 0.010749, 0.010767, 0.025842, 0.036605, 0.033660, 0.027884, 0.026999, 0.031138, 0.033807, 0.026322, 0.010483, -0.004168, -0.004458, -0.003391, -0.006828, -0.010159, -0.008629, -0.003788, 0.001726, -0.001831, -0.008376, -0.017421, -0.022119, -0.030860, -0.043583, -0.059511, -0.070434, -0.082378, -0.090458, -0.089146, -0.096370
-0.057793, -0.042621, -0.038750, -0.024348, -0.005081, -0.005268, 0.003206, 0.010779, 0.022189, 0.019209, 0.011044, 0.020911, 0.036400, 0.034032, 0.028483, 0.028491, 0.032888, 0.035226, 0.029869, 0.013138, -0.000218, -0.000329, 0.001627, -0.003569, -0.009235, -0.007042, -0.000417, 0.003729, 0.000901, -0.010109, -0.017801, -0.018479, -0.021562, -0.036566, -0.057392, -0.075915, -0.079832, -0.081904, -0.088661, -0.100886
-0.067526, -0.055309, -0.036025, -0.024537, -0.017287, -0.011391, 0.002241, 0.016031, 0.017569, 0.008104, 0.006919, 0.022812, 0.035649, 0.030569, 0.025295, 0.026158, 0.028120, 0.032186, 0.028803, 0.014355, -0.001453, -0.003540, 0.000052, -0.001443, -0.003511, -0.005267, -0.001147, 0.000925, -0.004403, -0.009193, -0.012170, -0.019738, -0.029104, -0.044019, -0.060224, -0.070235, -0.081397, -0.094197, -0.096617, -0.101341
-0.075428, -0.058510, -0.049621, -0.037169, -0.011246, -0.010479, -0.006396, 0.006504, 0.015749, 0.012822, 0.006671, 0.016924, 0.032039, 0.031328, 0.026985, 0.027980, 0.030920, 0.032808, 0.031615, 0.018644, 0.001923, 0.000053, 0.003103, -0.001638, -0.003420, -0.005222, -0.000500, 0.001731, -0.003233, -0.012132, -0.017811, -0.019364, -0.021427, -0.036729, -0.058064, -0.075307, -0.078393, -0.086764, -0.096422, -0.104641
-0.092209, -0.073958, -0.053538, -0.041213, -0.031588, -0.024989, -0.011064, 0.002184, 0.004486, -0.004082, -0.003293, 0.012688, 0.024729, 0.023376, 0.016493, 0.016586, 0.021829, 0.027456, 0.025131, 0.008832, -0.008327, -0.010361, -0.007077, -0.007777, -0.007766, -0.011707, -0.013024, -0.007518, -0.012126, -0.020229, -0.024097, -0.030067, -0.037289, -0.049421, -0.062891, -0.078169, -0.090757, -0.105824, -0.111811, -0.117777
-0.106289, -0.086122, -0.074620, -0.056172, -0.033359, -0.034200, -0.027585, -0.014357, -0.003523, -0.003173, -0.008568, 0.004560, 0.019812, 0.016370, 0.013293, 0.013211, 0.017172, 0.021237, 0.018588, 0.001698, -0.012144, -0.012347, -0.010917, -0.015273, -0.018952, -0.021509, -0.017029, -0.011164, -0.014443, -0.027155, -0.036630, -0.037423, -0.036926, -0.049532, -0.067352, -0.090672, -0.098946, -0.105902, -0.117845, -0.128940
-0.119843, -0.099551, -0.077375, -0.061466, -0.050643, -0.047894, -0.033252, -0.019023, -0.014146, -0.020387, -0.016146, -0.000891, 0.012049, 0.008154, 0.002012, 0.003114, 0.007794, 0.012077, 0.007700, -0.011028, -0.026025, -0.024384, -0.020351, -0.023849, -0.027654, -0.030259, -0.025713, -0.018766, -0.022065, -0.032647, -0.040511, -0.047076, -0.052786, -0.064445, -0.079572, -0.097204, -0.110174, -0.127382, -0.136959, -0.142453
-0.135881, -0.113617, -0.095958, -0.075519, -0.053636, -0.051158, -0.045442, -0.035110, -0.023830, -0.022073, -0.025648, -0.012523, 0.002373, 0.000009, -0.002147, -0.001985, 0.000331, 0.003723, -0.002529, -0.020264, -0.031099, -0.030751, -0.027355, -0.031960, -0.040301, -0.040107, -0.030883, -0.023717, -0.024764, -0.038626, -0.049844, -0.052232, -0.052227, -0.068758, -0.088853, -0.110131, -0.118940, -0.125623, -0.139267, -0.150404
-0.147234, -0.122517, -0.096928, -0.081168, -0.067667, -0.057299, -0.044252, -0.032443, -0.030321, -0.037537, -0.034091, -0.017946, -0.003430, -0.003912, -0.009807, -0.011897, -0.008144, -0.003054, -0.009226, -0.026037, -0.039774, -0.038967, -0.034867, -0.037244, -0.043301, -0.045683, -0.040373, -0.031648, -0.032516, -0.041435, -0.049670, -0.058216, -0.068111, -0.083771, -0.099720, -0.113914, -0.127152, -0.147164, -0.154335, -0.160429
-0.158273, -0.133270, -0.115417, -0.091514, -0.067230, -0.058936, -0.052044, -0.044265, -0.035939, -0.036139, -0.040261, -0.027272, -0.013186, -0.013542, -0.013861, -0.013039, -0.008873, -0.007381, -0.013661, -0.028296, -0.039834, -0.040777, -0.038878, -0.043689, -0.052118, -0.049598, -0.040967, -0.033006, -0.034674, -0.046396, -0.055599, -0.059550, -0.064319, -0.081374, -0.102252, -0.123352, -0.133457, -0.141361, -0.153732, -0.162842
-0.163985, -0.137959, -0.112560, -0.096319, -0.080136, -0.066032, -0.055239, -0.045154, -0.040025, -0.045969, -0.043949, -0.027366, -0.013946, -0.015938, -0.020205, -0.020363, -0.015098, -0.009180, -0.014372, -0.029472, -0.043361, -0.047060, -0.044514, -0.046874, -0.049002, -0.048900, -0.044376, -0.038649, -0.038640, -0.044392, -0.051377, -0.063703, -0.075619, -0.090800, -0.106410, -0.117386, -0.134056, -0.156076, -0.161317, -0.164352
-0.169328, -0.145232, -0.130536, -0.106804, -0.079563, -0.069719, -0.064499, -0.057419, -0.044854, -0.043388, -0.046350, -0.033538, -0.019578, -0.019911, -0.022262, -0.020217, -0.013577, -0.011777, -0.018283, -0.032001, -0.041685, -0.042622, -0.043564, -0.047741, -0.053702, -0.051118, -0.042753, -0.035469, -0.036813, -0.048548, -0.057071, -0.062776, -0.066666, -0.081272, -0.102125, -0.120857, -0.133965, -0.144835, -0.155386, -0.162296
-0.174195, -0.147149, -0.124193, -0.107844, -0.092439, -0.079965, -0.067838, -0.054727, -0.047991, -0.051406, -0.048628, -0.034037, -0.018244, -0.018863, -0.023209, -0.024508, -0.018643, -0.012967, -0.019073, -0.034525, -0.047431, -0.049212, -0.046173, -0.045697, -0.047429, -0.048119, -0.044775, -0.039874, -0.039932, -0.045759, -0.051624, -0.065144, -0.076265, -0.090425, -0.103435, -0.113760, -0.131897, -0.154919, -0.160239, -0.165805
-0.182561, -0.157658, -0.140669, -0.116638, -0.091799, -0.084003, -0.077296, -0.067061, -0.054018, -0.051473, -0.055342, -0.041953, -0.026010, -0.024838, -0.024730, -0.024400, -0.020117, -0.017292, -0.025480, -0.038031, -0.045972, -0.049371, -0.048599, -0.050784, -0.053543, -0.049795, -0.041647, -0.037489, -0.040859, -0.050387, -0.059536, -0.064606, -0.070159, -0.084596, -0.102330, -0.120388, -0.134318, -0.147666, -0.158329, -0.169645
-0.185359, -0.157558, -0.131731, -0.117546, -0.100084, -0.089652, -0.077197, -0.060971, -0.055224, -0.060475, -0.059241, -0.041946, -0.025511, -0.023695, -0.026481, -0.028896, -0.022794, -0.017925, -0.027362, -0.038360, -0.051689, -0.054773, -0.050138, -0.050791, -0.051434, -0.051241, -0.049361, -0.044589, -0.044599, -0.049575, -0.058380, -0.071201, -0.081492, -0.095400, -0.106904, -0.120585, -0.141445, -0.162992, -0.166815, -0.176471
-0.196082, -0.166958, -0.148924, -0.124362, -0.099268, -0.089224, -0.083847, -0.072393, -0.059968, -0.060778, -0.063197, -0.051714, -0.035522, -0.031973, -0.029103, -0.027414, -0.026238, -0.025612, -0.033610, -0.043246, -0.051063, -0.053604, -0.050845, -0.057947, -0.064302, -0.060114, -0.051503, -0.046237, -0.047593, -0.058820, -0.068816, -0.072418, -0.075854, -0.092028, -0.110957, -0.130835, -0.142765, -0.155778, -0.168639, -0.177908
-0.200300, -0.171321, -0.144331, -0.127095, -0.109905, -0.096309, -0.083512, -0.071281, -0.065010, -0.070142, -0.069848, -0.053726, -0.036597, -0.033447, -0.035503, -0.035330, -0.034016, -0.029435, -0.034186, -0.045152, -0.058465, -0.061283, -0.059673, -0.061314, -0.065187, -0.066523, -0.062808, -0.057136, -0.057148, -0.061304, -0.068774, -0.081868, -0.092308, -0.105321, -0.119247, -0.130699, -0.148070, -0.174184, -0.181326, -0.188999
-0.210978, -0.184754, -0.163399, -0.136324, -0.110831, -0.098993, -0.092695, -0.082435, -0.072148, -0.071655, -0.075002, -0.062925, -0.046288, -0.044239, -0.043506, -0.039959, -0.039265, -0.038697, -0.042598, -0.053324, -0.062799, -0.062659, -0.060035, -0.067710, -0.075688, -0.075506, -0.069265, -0.060182, -0.061386, -0.069283, -0.078029, -0.085454, -0.089592, -0.101379, -0.120476, -0.138711, -0.151708, -0.165282, -0.178453, -0.189651
-0.213823, -0.186222, -0.158513, -0.140422, -0.121378, -0.106957, -0.093131, -0.083539, -0.078151, -0.080226, -0.076733, -0.061965, -0.045421, -0.045943, -0.050881, -0.051294, -0.046266, -0.040289, -0.043641, -0.058750, -0.072077, -0.071710, -0.069723, -0.071302, -0.076957, -0.083019, -0.080095, -0.069503, -0.067251, -0.073316, -0.080551, -0.094333, -0.104093, -0.113464, -0.122254, -0.135871, -0.157887, -0.184133, -0.193983, -0.202171
-0.223648, -0.196956, -0.172755, -0.145972, -0.124713, -0.111993, -0.104786, -0.095984, -0.083477, -0.078793, -0.079990, -0.068091, -0.052115, -0.051193, -0.053526, -0.053014, -0.049966, -0.044288, -0.049525, -0.062762, -0.073232, -0.072006, -0.071171, -0.076765, -0.083899, -0.085304, -0.076928, -0.068839, -0.070375, -0.080444, -0.089973, -0.095778, -0.098567, -0.110535, -0.127832, -0.145316, -0.162515, -0.178885, -0.192816, -0.203364
-0.224755, -0.195540, -0.167739, -0.151826, -0.137850, -0.123829, -0.108701, -0.096483, -0.087211, -0.086128, -0.083904, -0.067125, -0.051459, -0.049813, -0.056470, -0.059854, -0.054588, -0.045736, -0.050423, -0.065929, -0.080947, -0.080407, -0.076883, -0.079984, -0.087131, -0.090107, -0.086714, -0.078370, -0.078387, -0.087787, -0.093730, -0.106154, -0.117145, -0.127281, -0.135589, -0.151872, -0.173965, -0.198997, -0.208778, -0.217297
-0.236412, -0.208303, -0.185907, -0.160665, -0.142679, -0.134650, -0.122917, -0.108172, -0.091731, -0.088118, -0.090214, -0.076740, -0.061674, -0.059377, -0.060620, -0.061344, -0.058130, -0.051690, -0.057795, -0.072844, -0.082404, -0.083815, -0.080383, -0.085699, -0.094873, -0.094414, -0.088375, -0.083196, -0.083701, -0.096367, -0.106204, -0.112475, -0.116630, -0.129931, -0.148242, -0.168045, -0.183552, -0.192899, -0.207597, -0.218212
-0.237287, -0.206152, -0.179789, -0.165392, -0.153328, -0.141575, -0.124247, -0.107707, -0.098006, -0.098279, -0.094075, -0.076129, -0.058939, -0.055824, -0.061223, -0.066850, -0.061029, -0.050364, -0.056406, -0.073349, -0.088519, -0.089802, -0.085554, -0.090894, -0.095761, -0.097451, -0.097298, -0.091280, -0.091221, -0.098982, -0.105068, -0.120914, -0.134946, -0.148633, -0.161257, -0.175263, -0.191837, -0.210962, -0.224154, -0.234785
-0.244892, -0.219822, -0.198629, -0.172720, -0.154475, -0.144890, -0.135139, -0.120020, -0.105250, -0.101039, -0.101008, -0.087588, -0.070567, -0.067107, -0.067615, -0.068201, -0.064559, -0.058672, -0.066341, -0.081607, -0.091026, -0.090784, -0.089355, -0.097357, -0.106002, -0.103992, -0.096717, -0.090707, -0.094152, -0.111377, -0.122097, -0.130857, -0.139237, -0.152123, -0.171285, -0.193055, -0.212451, -0.227079, -0.238595, -0.241892
-0.241288, -0.214481, -0.186985, -0.170045, -0.155410, -0.144508, -0.132037, -0.117802, -0.107757, -0.109608, -0.103491, -0.082870, -0.064308, -0.064005, -0.065106, -0.068039, -0.062985, -0.058956, -0.066495, -0.080766, -0.096005, -0.100514, -0.097092, -0.099911, -0.107930, -0.111969, -0.109479, -0.106917, -0.110140, -0.116409, -0.122318, -0.136523, -0.153991, -0.173235, -0.191881, -0.208770, -0.224630, -0.242501, -0.255860, -0.270545
-0.252568, -0.229471, -0.209208, -0.181703, -0.157178, -0.147318, -0.139416, -0.127420, -0.115907, -0.114291, -0.108872, -0.094413, -0.078117, -0.077561, -0.077469, -0.075725, -0.069815, -0.065316, -0.075619, -0.092149, -0.101235, -0.103101, -0.098071, -0.104493, -0.118503, -0.122364, -0.117171, -0.112725, -0.112465, -0.124729, -0.137475, -0.146765, -0.160303, -0.178019, -0.202943, -0.226301, -0.241417, -0.253458, -0.270105, -0.279430
-0.253365, -0.231416, -0.201769, -0.183800, -0.168858, -0.155590, -0.141248, -0.127344, -0.119347, -0.120530, -0.110964, -0.091796, -0.076677, -0.075151, -0.079195, -0.078767, -0.071936, -0.065997, -0.076345, -0.093900, -0.108021, -0.111656, -0.108413, -0.112178, -0.123620, -0.133219, -0.132920, -0.129961, -0.128081, -0.139346, -0.152586, -0.163616, -0.178862, -0.199189, -0.219177, -0.237676, -0.256572, -0.280020, -0.289513, -0.302499
x_count = 40
y_count = 40
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 470.0
min_y = 30.0
max_y = 462.5
[bed_mesh Contact]
version = 1
points =
0.083125, 0.029844, -0.025938, -0.024844, -0.070313, -0.093906, -0.093750, -0.177969, -0.125938, -0.174688, -0.115000, -0.088125, -0.057031, -0.029219, 0.016406
0.191562, 0.169219, 0.124687, 0.104531, 0.061250, 0.037344, 0.016250, -0.051250, -0.045313, -0.053906, -0.015000, -0.011250, 0.020156, 0.066875, 0.076250
0.248281, 0.228437, 0.177344, 0.169062, 0.133125, 0.132656, 0.094844, 0.047187, 0.042500, 0.049062, 0.067187, 0.088281, 0.092344, 0.122812, 0.146875
0.290469, 0.291562, 0.258281, 0.235625, 0.212344, 0.180469, 0.161562, 0.108125, 0.091719, 0.075469, 0.149219, 0.109219, 0.142969, 0.142969, 0.164844
0.290312, 0.320469, 0.270156, 0.252969, 0.236562, 0.205156, 0.201719, 0.160469, 0.156406, 0.136875, 0.192500, 0.184219, 0.200312, 0.202812, 0.206562
0.298125, 0.361250, 0.322031, 0.290469, 0.285937, 0.256562, 0.247031, 0.191250, 0.167500, 0.181094, 0.201406, 0.212812, 0.185469, 0.206875, 0.215781
0.283281, 0.311562, 0.287500, 0.294062, 0.284375, 0.273437, 0.248594, 0.195469, 0.201719, 0.182812, 0.216094, 0.234062, 0.230781, 0.238125, 0.244062
0.254844, 0.279375, 0.269531, 0.291406, 0.273594, 0.275469, 0.252187, 0.195625, 0.198594, 0.177656, 0.217187, 0.225469, 0.217187, 0.229531, 0.220000
0.231406, 0.249531, 0.260312, 0.286094, 0.275000, 0.247031, 0.252969, 0.198281, 0.190937, 0.203750, 0.236406, 0.223437, 0.237812, 0.226250, 0.222031
0.208125, 0.259219, 0.252812, 0.262031, 0.264844, 0.247656, 0.256719, 0.209531, 0.191562, 0.198750, 0.235000, 0.229219, 0.216094, 0.240781, 0.243281
0.183125, 0.238594, 0.252500, 0.269687, 0.275937, 0.267969, 0.264219, 0.219375, 0.220937, 0.208906, 0.268281, 0.239375, 0.233594, 0.251719, 0.245469
0.184531, 0.232031, 0.261719, 0.258437, 0.276875, 0.265781, 0.269375, 0.234375, 0.226094, 0.198906, 0.249219, 0.236562, 0.243750, 0.228906, 0.249219
0.164531, 0.239687, 0.261250, 0.266094, 0.281250, 0.270937, 0.308906, 0.236094, 0.236719, 0.215000, 0.294219, 0.258906, 0.241406, 0.256719, 0.261562
0.184062, 0.245625, 0.241562, 0.264062, 0.299062, 0.306406, 0.291562, 0.251250, 0.262969, 0.226875, 0.290625, 0.265781, 0.252500, 0.267187, 0.260625
0.164844, 0.251875, 0.245000, 0.258281, 0.279219, 0.279062, 0.298750, 0.259219, 0.248906, 0.240156, 0.293125, 0.273750, 0.255312, 0.246406, 0.255156
x_count = 15
y_count = 15
mesh_x_pps = 2
mesh_y_pps = 2
algo = bicubic
tension = 0.2
min_x = 20.0
max_x = 469.96000000000004
min_y = 30.0
max_y = 439.91999999999985
=======================
Extruder max_extrude_ratio=0.598682
Extruder max_extrude_ratio=0.598682
mcu 'mcu': Starting serial connect
webhooks client 4104372200: New connection
webhooks client 4104372200: Client info {'program': 'Moonraker', 'version': 'v0.9.3-0-g71f9e67'}
Loaded MCU 'mcu' 130 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'mcu' config: ADC_MAX=4095 BUS_PINS_i2c1=PB6,PB7 BUS_PINS_i2c1a=PB8,PB9 BUS_PINS_i2c2=PB10,PB11 BUS_PINS_i2c3=PA8,PC9 BUS_PINS_sdio=PC12,PD2,PC8,PC9,PC10,PC11 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 BUS_PINS_spi3a=PC11,PC12,PC10 BUS_PINS_spi4=PE13,PE14,PE12 CLOCK_FREQ=180000000 MCU=stm32f446xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PH0,PH1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu 'rpi': Starting connect
Loaded MCU 'rpi' 119 commands (?-20240727_132503-fv-az659-741 / gcc: (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110 binutils: (GNU Binutils for Raspbian) 2.35.2)
MCU 'rpi' config: ADC_MAX=4095 CLOCK_FREQ=50000000 MCU=linux PCA9685_MAX=4096 PWM_MAX=32768 STATS_SUMSQ_BASE=256
mcu 'toolboard_t0': Starting serial connect
mcu 'toolboard_t0': got {'count': 382, 'sum': 534335, 'sumsq': 5515812, '#name': 'stats', '#sent_time': 30.559294481, '#receive_time': 30.564418074}
Loaded MCU 'toolboard_t0' 118 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'toolboard_t0' config: ADC_MAX=4095 BUS_PINS_i2c1_PA9_PA10=PA9,PA10 BUS_PINS_i2c1_PB6_PB7=PB6,PB7 BUS_PINS_i2c1_PB8_PB9=PB8,PB9 BUS_PINS_i2c2_PB10_PB11=PB10,PB11 BUS_PINS_i2c2_PB13_PB14=PB13,PB14 BUS_PINS_i2c3_PB3_PB4=PB3,PB4 BUS_PINS_i2c3_PC0_PC1=PC0,PC1 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2_PB2_PB11_PB10=PB2,PB11,PB10 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=64000000 MCU=stm32g0b1xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu 'toolboard_t1': Starting serial connect
Loaded MCU 'toolboard_t1' 118 commands (v0.12.0-316-g96cceed23 / gcc: (15:8-2019-q3-1+b1) 8.3.1 20190703 (release) [gcc-8-branch revision 273027] binutils: (2.34-4+rpi1+14) 2.34)
MCU 'toolboard_t1' config: ADC_MAX=4095 BUS_PINS_i2c1_PA9_PA10=PA9,PA10 BUS_PINS_i2c1_PB6_PB7=PB6,PB7 BUS_PINS_i2c1_PB8_PB9=PB8,PB9 BUS_PINS_i2c2_PB10_PB11=PB10,PB11 BUS_PINS_i2c2_PB13_PB14=PB13,PB14 BUS_PINS_i2c3_PB3_PB4=PB3,PB4 BUS_PINS_i2c3_PC0_PC1=PC0,PC1 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2_PB2_PB11_PB10=PB2,PB11,PB10 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=64000000 MCU=stm32g0b1xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
mcu_temperature 'mcu' nominal base=-273.935743 slope=1315.662651
mcu_temperature 'toolboard_t0' nominal base=-262.897727 slope=1279.687500
mcu_temperature 'toolboard_t1' nominal base=-268.850575 slope=1294.396552
mcu 'beacon': Starting serial connect
Loaded MCU 'beacon' 45 commands (Beacon 2.1.0 / )
MCU 'beacon' config: ADC_MAX=4095 BEACON_ACCEL_BITS=12 BEACON_ACCEL_SCALE_16G=7.81 BEACON_ACCEL_SCALE_2G=0.98 BEACON_ACCEL_SCALE_4G=1.95 BEACON_ACCEL_SCALE_8G=3.91 BEACON_ADC_SMOOTH_COUNT=16 BEACON_HAS_ACCEL=1 BEACON_REV=H CLOCK_FREQ=32000000 MCU=beacon STATS_SUMSQ_BASE=256
Sending MCU 'mcu' printer configuration...
Configured MCU 'mcu' (1024 moves)
Sending MCU 'rpi' printer configuration...
Configured MCU 'rpi' (1024 moves)
Sending MCU 'toolboard_t0' printer configuration...
Configured MCU 'toolboard_t0' (1024 moves)
Sending MCU 'toolboard_t1' printer configuration...
Configured MCU 'toolboard_t1' (1024 moves)
Starting heater checks for heater_bed
bed_mesh: generated points
Index | Tool Adjusted | Probe
0 | (20.0, 7.5) | (20.0, 30.0)
1 | (31.5, 7.5) | (31.5, 30.0)
2 | (43.1, 7.5) | (43.1, 30.0)
3 | (54.6, 7.5) | (54.6, 30.0)
4 | (66.1, 7.5) | (66.1, 30.0)
5 | (77.7, 7.5) | (77.7, 30.0)
6 | (89.2, 7.5) | (89.2, 30.0)
7 | (100.7, 7.5) | (100.7, 30.0)
8 | (112.2, 7.5) | (112.2, 30.0)
9 | (123.8, 7.5) | (123.8, 30.0)
10 | (135.3, 7.5) | (135.3, 30.0)
11 | (146.8, 7.5) | (146.8, 30.0)
12 | (158.4, 7.5) | (158.4, 30.0)
13 | (169.9, 7.5) | (169.9, 30.0)
14 | (181.4, 7.5) | (181.4, 30.0)
15 | (192.9, 7.5) | (192.9, 30.0)
16 | (204.5, 7.5) | (204.5, 30.0)
17 | (216.0, 7.5) | (216.0, 30.0)
18 | (227.5, 7.5) | (227.5, 30.0)
19 | (239.1, 7.5) | (239.1, 30.0)
20 | (250.6, 7.5) | (250.6, 30.0)
21 | (262.1, 7.5) | (262.1, 30.0)
22 | (273.7, 7.5) | (273.7, 30.0)
23 | (285.2, 7.5) | (285.2, 30.0)
24 | (296.7, 7.5) | (296.7, 30.0)
25 | (308.2, 7.5) | (308.2, 30.0)
26 | (319.8, 7.5) | (319.8, 30.0)
27 | (331.3, 7.5) | (331.3, 30.0)
28 | (342.8, 7.5) | (342.8, 30.0)
29 | (354.4, 7.5) | (354.4, 30.0)
30 | (365.9, 7.5) | (365.9, 30.0)
31 | (377.4, 7.5) | (377.4, 30.0)
32 | (389.0, 7.5) | (389.0, 30.0)
33 | (400.5, 7.5) | (400.5, 30.0)
34 | (412.0, 7.5) | (412.0, 30.0)
35 | (423.5, 7.5) | (423.5, 30.0)
36 | (435.1, 7.5) | (435.1, 30.0)
37 | (446.6, 7.5) | (446.6, 30.0)
38 | (458.1, 7.5) | (458.1, 30.0)
39 | (469.7, 7.5) | (469.7, 30.0)
40 | (469.7, 18.6) | (469.7, 41.1)
41 | (458.1, 18.6) | (458.1, 41.1)
42 | (446.6, 18.6) | (446.6, 41.1)
43 | (435.1, 18.6) | (435.1, 41.1)
44 | (423.5, 18.6) | (423.5, 41.1)
45 | (412.0, 18.6) | (412.0, 41.1)
46 | (400.5, 18.6) | (400.5, 41.1)
47 | (389.0, 18.6) | (389.0, 41.1)
48 | (377.4, 18.6) | (377.4, 41.1)
49 | (365.9, 18.6) | (365.9, 41.1)
50 | (354.4, 18.6) | (354.4, 41.1)
51 | (342.8, 18.6) | (342.8, 41.1)
52 | (331.3, 18.6) | (331.3, 41.1)
53 | (319.8, 18.6) | (319.8, 41.1)
54 | (308.2, 18.6) | (308.2, 41.1)
55 | (296.7, 18.6) | (296.7, 41.1)
56 | (285.2, 18.6) | (285.2, 41.1)
57 | (273.7, 18.6) | (273.7, 41.1)
58 | (262.1, 18.6) | (262.1, 41.1)
59 | (250.6, 18.6) | (250.6, 41.1)
60 | (239.1, 18.6) | (239.1, 41.1)
61 | (227.5, 18.6) | (227.5, 41.1)
62 | (216.0, 18.6) | (216.0, 41.1)
63 | (204.5, 18.6) | (204.5, 41.1)
64 | (192.9, 18.6) | (192.9, 41.1)
65 | (181.4, 18.6) | (181.4, 41.1)
66 | (169.9, 18.6) | (169.9, 41.1)
67 | (158.4, 18.6) | (158.4, 41.1)
68 | (146.8, 18.6) | (146.8, 41.1)
69 | (135.3, 18.6) | (135.3, 41.1)
70 | (123.8, 18.6) | (123.8, 41.1)
71 | (112.2, 18.6) | (112.2, 41.1)
72 | (100.7, 18.6) | (100.7, 41.1)
73 | (89.2, 18.6) | (89.2, 41.1)
74 | (77.6, 18.6) | (77.6, 41.1)
75 | (66.1, 18.6) | (66.1, 41.1)
76 | (54.6, 18.6) | (54.6, 41.1)
77 | (43.1, 18.6) | (43.1, 41.1)
78 | (31.5, 18.6) | (31.5, 41.1)
79 | (20.0, 18.6) | (20.0, 41.1)
80 | (20.0, 29.7) | (20.0, 52.2)
81 | (31.5, 29.7) | (31.5, 52.2)
82 | (43.1, 29.7) | (43.1, 52.2)
83 | (54.6, 29.7) | (54.6, 52.2)
84 | (66.1, 29.7) | (66.1, 52.2)
85 | (77.7, 29.7) | (77.7, 52.2)
86 | (89.2, 29.7) | (89.2, 52.2)
87 | (100.7, 29.7) | (100.7, 52.2)
88 | (112.2, 29.7) | (112.2, 52.2)
89 | (123.8, 29.7) | (123.8, 52.2)
90 | (135.3, 29.7) | (135.3, 52.2)
91 | (146.8, 29.7) | (146.8, 52.2)
92 | (158.4, 29.7) | (158.4, 52.2)
93 | (169.9, 29.7) | (169.9, 52.2)
94 | (181.4, 29.7) | (181.4, 52.2)
95 | (192.9, 29.7) | (192.9, 52.2)
96 | (204.5, 29.7) | (204.5, 52.2)
97 | (216.0, 29.7) | (216.0, 52.2)
98 | (227.5, 29.7) | (227.5, 52.2)
99 | (239.1, 29.7) | (239.1, 52.2)
100 | (250.6, 29.7) | (250.6, 52.2)
101 | (262.1, 29.7) | (262.1, 52.2)
102 | (273.7, 29.7) | (273.7, 52.2)
103 | (285.2, 29.7) | (285.2, 52.2)
104 | (296.7, 29.7) | (296.7, 52.2)
105 | (308.2, 29.7) | (308.2, 52.2)
106 | (319.8, 29.7) | (319.8, 52.2)
107 | (331.3, 29.7) | (331.3, 52.2)
108 | (342.8, 29.7) | (342.8, 52.2)
109 | (354.4, 29.7) | (354.4, 52.2)
110 | (365.9, 29.7) | (365.9, 52.2)
111 | (377.4, 29.7) | (377.4, 52.2)
112 | (389.0, 29.7) | (389.0, 52.2)
113 | (400.5, 29.7) | (400.5, 52.2)
114 | (412.0, 29.7) | (412.0, 52.2)
115 | (423.5, 29.7) | (423.5, 52.2)
116 | (435.1, 29.7) | (435.1, 52.2)
117 | (446.6, 29.7) | (446.6, 52.2)
118 | (458.1, 29.7) | (458.1, 52.2)
119 | (469.7, 29.7) | (469.7, 52.2)
120 | (469.7, 40.7) | (469.7, 63.2)
121 | (458.1, 40.7) | (458.1, 63.2)
122 | (446.6, 40.7) | (446.6, 63.2)
123 | (435.1, 40.7) | (435.1, 63.2)
124 | (423.5, 40.7) | (423.5, 63.2)
125 | (412.0, 40.7) | (412.0, 63.2)
126 | (400.5, 40.7) | (400.5, 63.2)
127 | (389.0, 40.7) | (389.0, 63.2)
128 | (377.4, 40.7) | (377.4, 63.2)
129 | (365.9, 40.7) | (365.9, 63.2)
130 | (354.4, 40.7) | (354.4, 63.2)
131 | (342.8, 40.7) | (342.8, 63.2)
132 | (331.3, 40.7) | (331.3, 63.2)
133 | (319.8, 40.7) | (319.8, 63.2)
134 | (308.2, 40.7) | (308.2, 63.2)
135 | (296.7, 40.7) | (296.7, 63.2)
136 | (285.2, 40.7) | (285.2, 63.2)
137 | (273.7, 40.7) | (273.7, 63.2)
138 | (262.1, 40.7) | (262.1, 63.2)
139 | (250.6, 40.7) | (250.6, 63.2)
140 | (239.1, 40.7) | (239.1, 63.2)
141 | (227.5, 40.7) | (227.5, 63.2)
142 | (216.0, 40.7) | (216.0, 63.2)
143 | (204.5, 40.7) | (204.5, 63.2)
144 | (192.9, 40.7) | (192.9, 63.2)
145 | (181.4, 40.7) | (181.4, 63.2)
146 | (169.9, 40.7) | (169.9, 63.2)
147 | (158.4, 40.7) | (158.4, 63.2)
148 | (146.8, 40.7) | (146.8, 63.2)
149 | (135.3, 40.7) | (135.3, 63.2)
150 | (123.8, 40.7) | (123.8, 63.2)
151 | (112.2, 40.7) | (112.2, 63.2)
152 | (100.7, 40.7) | (100.7, 63.2)
153 | (89.2, 40.7) | (89.2, 63.2)
154 | (77.6, 40.7) | (77.6, 63.2)
155 | (66.1, 40.7) | (66.1, 63.2)
156 | (54.6, 40.7) | (54.6, 63.2)
157 | (43.1, 40.7) | (43.1, 63.2)
158 | (31.5, 40.7) | (31.5, 63.2)
159 | (20.0, 40.7) | (20.0, 63.2)
160 | (20.0, 51.8) | (20.0, 74.3)
161 | (31.5, 51.8) | (31.5, 74.3)
162 | (43.1, 51.8) | (43.1, 74.3)
163 | (54.6, 51.8) | (54.6, 74.3)
164 | (66.1, 51.8) | (66.1, 74.3)
165 | (77.7, 51.8) | (77.7, 74.3)
166 | (89.2, 51.8) | (89.2, 74.3)
167 | (100.7, 51.8) | (100.7, 74.3)
168 | (112.2, 51.8) | (112.2, 74.3)
169 | (123.8, 51.8) | (123.8, 74.3)
170 | (135.3, 51.8) | (135.3, 74.3)
171 | (146.8, 51.8) | (146.8, 74.3)
172 | (158.4, 51.8) | (158.4, 74.3)
173 | (169.9, 51.8) | (169.9, 74.3)
174 | (181.4, 51.8) | (181.4, 74.3)
175 | (192.9, 51.8) | (192.9, 74.3)
176 | (204.5, 51.8) | (204.5, 74.3)
177 | (216.0, 51.8) | (216.0, 74.3)
178 | (227.5, 51.8) | (227.5, 74.3)
179 | (239.1, 51.8) | (239.1, 74.3)
180 | (250.6, 51.8) | (250.6, 74.3)
181 | (262.1, 51.8) | (262.1, 74.3)
182 | (273.7, 51.8) | (273.7, 74.3)
183 | (285.2, 51.8) | (285.2, 74.3)
184 | (296.7, 51.8) | (296.7, 74.3)
185 | (308.2, 51.8) | (308.2, 74.3)
186 | (319.8, 51.8) | (319.8, 74.3)
187 | (331.3, 51.8) | (331.3, 74.3)
188 | (342.8, 51.8) | (342.8, 74.3)
189 | (354.4, 51.8) | (354.4, 74.3)
190 | (365.9, 51.8) | (365.9, 74.3)
191 | (377.4, 51.8) | (377.4, 74.3)
192 | (389.0, 51.8) | (389.0, 74.3)
193 | (400.5, 51.8) | (400.5, 74.3)
194 | (412.0, 51.8) | (412.0, 74.3)
195 | (423.5, 51.8) | (423.5, 74.3)
196 | (435.1, 51.8) | (435.1, 74.3)
197 | (446.6, 51.8) | (446.6, 74.3)
198 | (458.1, 51.8) | (458.1, 74.3)
199 | (469.7, 51.8) | (469.7, 74.3)
200 | (469.7, 62.9) | (469.7, 85.4)
201 | (458.1, 62.9) | (458.1, 85.4)
202 | (446.6, 62.9) | (446.6, 85.4)
203 | (435.1, 62.9) | (435.1, 85.4)
204 | (423.5, 62.9) | (423.5, 85.4)
205 | (412.0, 62.9) | (412.0, 85.4)
206 | (400.5, 62.9) | (400.5, 85.4)
207 | (389.0, 62.9) | (389.0, 85.4)
208 | (377.4, 62.9) | (377.4, 85.4)
209 | (365.9, 62.9) | (365.9, 85.4)
210 | (354.4, 62.9) | (354.4, 85.4)
211 | (342.8, 62.9) | (342.8, 85.4)
212 | (331.3, 62.9) | (331.3, 85.4)
213 | (319.8, 62.9) | (319.8, 85.4)
214 | (308.2, 62.9) | (308.2, 85.4)
215 | (296.7, 62.9) | (296.7, 85.4)
216 | (285.2, 62.9) | (285.2, 85.4)
217 | (273.7, 62.9) | (273.7, 85.4)
218 | (262.1, 62.9) | (262.1, 85.4)
219 | (250.6, 62.9) | (250.6, 85.4)
220 | (239.1, 62.9) | (239.1, 85.4)
221 | (227.5, 62.9) | (227.5, 85.4)
222 | (216.0, 62.9) | (216.0, 85.4)
223 | (204.5, 62.9) | (204.5, 85.4)
224 | (192.9, 62.9) | (192.9, 85.4)
225 | (181.4, 62.9) | (181.4, 85.4)
226 | (169.9, 62.9) | (169.9, 85.4)
227 | (158.4, 62.9) | (158.4, 85.4)
228 | (146.8, 62.9) | (146.8, 85.4)
229 | (135.3, 62.9) | (135.3, 85.4)
230 | (123.8, 62.9) | (123.8, 85.4)
231 | (112.2, 62.9) | (112.2, 85.4)
232 | (100.7, 62.9) | (100.7, 85.4)
233 | (89.2, 62.9) | (89.2, 85.4)
234 | (77.6, 62.9) | (77.6, 85.4)
235 | (66.1, 62.9) | (66.1, 85.4)
236 | (54.6, 62.9) | (54.6, 85.4)
237 | (43.1, 62.9) | (43.1, 85.4)
238 | (31.5, 62.9) | (31.5, 85.4)
239 | (20.0, 62.9) | (20.0, 85.4)
240 | (20.0, 74.0) | (20.0, 96.5)
241 | (31.5, 74.0) | (31.5, 96.5)
242 | (43.1, 74.0) | (43.1, 96.5)
243 | (54.6, 74.0) | (54.6, 96.5)
244 | (66.1, 74.0) | (66.1, 96.5)
245 | (77.7, 74.0) | (77.7, 96.5)
246 | (89.2, 74.0) | (89.2, 96.5)
247 | (100.7, 74.0) | (100.7, 96.5)
248 | (112.2, 74.0) | (112.2, 96.5)
249 | (123.8, 74.0) | (123.8, 96.5)
250 | (135.3, 74.0) | (135.3, 96.5)
251 | (146.8, 74.0) | (146.8, 96.5)
252 | (158.4, 74.0) | (158.4, 96.5)
253 | (169.9, 74.0) | (169.9, 96.5)
254 | (181.4, 74.0) | (181.4, 96.5)
255 | (192.9, 74.0) | (192.9, 96.5)
256 | (204.5, 74.0) | (204.5, 96.5)
257 | (216.0, 74.0) | (216.0, 96.5)
258 | (227.5, 74.0) | (227.5, 96.5)
259 | (239.1, 74.0) | (239.1, 96.5)
260 | (250.6, 74.0) | (250.6, 96.5)
261 | (262.1, 74.0) | (262.1, 96.5)
262 | (273.7, 74.0) | (273.7, 96.5)
263 | (285.2, 74.0) | (285.2, 96.5)
264 | (296.7, 74.0) | (296.7, 96.5)
265 | (308.2, 74.0) | (308.2, 96.5)
266 | (319.8, 74.0) | (319.8, 96.5)
267 | (331.3, 74.0) | (331.3, 96.5)
268 | (342.8, 74.0) | (342.8, 96.5)
269 | (354.4, 74.0) | (354.4, 96.5)
270 | (365.9, 74.0) | (365.9, 96.5)
271 | (377.4, 74.0) | (377.4, 96.5)
272 | (389.0, 74.0) | (389.0, 96.5)
273 | (400.5, 74.0) | (400.5, 96.5)
274 | (412.0, 74.0) | (412.0, 96.5)
275 | (423.5, 74.0) | (423.5, 96.5)
276 | (435.1, 74.0) | (435.1, 96.5)
277 | (446.6, 74.0) | (446.6, 96.5)
278 | (458.1, 74.0) | (458.1, 96.5)
279 | (469.7, 74.0) | (469.7, 96.5)
280 | (469.7, 85.1) | (469.7, 107.6)
281 | (458.1, 85.1) | (458.1, 107.6)
282 | (446.6, 85.1) | (446.6, 107.6)
283 | (435.1, 85.1) | (435.1, 107.6)
284 | (423.5, 85.1) | (423.5, 107.6)
285 | (412.0, 85.1) | (412.0, 107.6)
286 | (400.5, 85.1) | (400.5, 107.6)
287 | (389.0, 85.1) | (389.0, 107.6)
288 | (377.4, 85.1) | (377.4, 107.6)
289 | (365.9, 85.1) | (365.9, 107.6)
290 | (354.4, 85.1) | (354.4, 107.6)
291 | (342.8, 85.1) | (342.8, 107.6)
292 | (331.3, 85.1) | (331.3, 107.6)
293 | (319.8, 85.1) | (319.8, 107.6)
294 | (308.2, 85.1) | (308.2, 107.6)
295 | (296.7, 85.1) | (296.7, 107.6)
296 | (285.2, 85.1) | (285.2, 107.6)
297 | (273.7, 85.1) | (273.7, 107.6)
298 | (262.1, 85.1) | (262.1, 107.6)
299 | (250.6, 85.1) | (250.6, 107.6)
300 | (239.1, 85.1) | (239.1, 107.6)
301 | (227.5, 85.1) | (227.5, 107.6)
302 | (216.0, 85.1) | (216.0, 107.6)
303 | (204.5, 85.1) | (204.5, 107.6)
304 | (192.9, 85.1) | (192.9, 107.6)
305 | (181.4, 85.1) | (181.4, 107.6)
306 | (169.9, 85.1) | (169.9, 107.6)
307 | (158.4, 85.1) | (158.4, 107.6)
308 | (146.8, 85.1) | (146.8, 107.6)
309 | (135.3, 85.1) | (135.3, 107.6)
310 | (123.8, 85.1) | (123.8, 107.6)
311 | (112.2, 85.1) | (112.2, 107.6)
312 | (100.7, 85.1) | (100.7, 107.6)
313 | (89.2, 85.1) | (89.2, 107.6)
314 | (77.6, 85.1) | (77.6, 107.6)
315 | (66.1, 85.1) | (66.1, 107.6)
316 | (54.6, 85.1) | (54.6, 107.6)
317 | (43.1, 85.1) | (43.1, 107.6)
318 | (31.5, 85.1) | (31.5, 107.6)
319 | (20.0, 85.1) | (20.0, 107.6)
320 | (20.0, 96.1) | (20.0, 118.6)
321 | (31.5, 96.1) | (31.5, 118.6)
322 | (43.1, 96.1) | (43.1, 118.6)
323 | (54.6, 96.1) | (54.6, 118.6)
324 | (66.1, 96.1) | (66.1, 118.6)
325 | (77.7, 96.1) | (77.7, 118.6)
326 | (89.2, 96.1) | (89.2, 118.6)
327 | (100.7, 96.1) | (100.7, 118.6)
328 | (112.2, 96.1) | (112.2, 118.6)
329 | (123.8, 96.1) | (123.8, 118.6)
330 | (135.3, 96.1) | (135.3, 118.6)
331 | (146.8, 96.1) | (146.8, 118.6)
332 | (158.4, 96.1) | (158.4, 118.6)
333 | (169.9, 96.1) | (169.9, 118.6)
334 | (181.4, 96.1) | (181.4, 118.6)
335 | (192.9, 96.1) | (192.9, 118.6)
336 | (204.5, 96.1) | (204.5, 118.6)
337 | (216.0, 96.1) | (216.0, 118.6)
338 | (227.5, 96.1) | (227.5, 118.6)
339 | (239.1, 96.1) | (239.1, 118.6)
340 | (250.6, 96.1) | (250.6, 118.6)
341 | (262.1, 96.1) | (262.1, 118.6)
342 | (273.7, 96.1) | (273.7, 118.6)
343 | (285.2, 96.1) | (285.2, 118.6)
344 | (296.7, 96.1) | (296.7, 118.6)
345 | (308.2, 96.1) | (308.2, 118.6)
346 | (319.8, 96.1) | (319.8, 118.6)
347 | (331.3, 96.1) | (331.3, 118.6)
348 | (342.8, 96.1) | (342.8, 118.6)
349 | (354.4, 96.1) | (354.4, 118.6)
350 | (365.9, 96.1) | (365.9, 118.6)
351 | (377.4, 96.1) | (377.4, 118.6)
352 | (389.0, 96.1) | (389.0, 118.6)
353 | (400.5, 96.1) | (400.5, 118.6)
354 | (412.0, 96.1) | (412.0, 118.6)
355 | (423.5, 96.1) | (423.5, 118.6)
356 | (435.1, 96.1) | (435.1, 118.6)
357 | (446.6, 96.1) | (446.6, 118.6)
358 | (458.1, 96.1) | (458.1, 118.6)
359 | (469.7, 96.1) | (469.7, 118.6)
360 | (469.7, 107.2) | (469.7, 129.7)
361 | (458.1, 107.2) | (458.1, 129.7)
362 | (446.6, 107.2) | (446.6, 129.7)
363 | (435.1, 107.2) | (435.1, 129.7)
364 | (423.5, 107.2) | (423.5, 129.7)
365 | (412.0, 107.2) | (412.0, 129.7)
366 | (400.5, 107.2) | (400.5, 129.7)
367 | (389.0, 107.2) | (389.0, 129.7)
368 | (377.4, 107.2) | (377.4, 129.7)
369 | (365.9, 107.2) | (365.9, 129.7)
370 | (354.4, 107.2) | (354.4, 129.7)
371 | (342.8, 107.2) | (342.8, 129.7)
372 | (331.3, 107.2) | (331.3, 129.7)
373 | (319.8, 107.2) | (319.8, 129.7)
374 | (308.2, 107.2) | (308.2, 129.7)
375 | (296.7, 107.2) | (296.7, 129.7)
376 | (285.2, 107.2) | (285.2, 129.7)
377 | (273.7, 107.2) | (273.7, 129.7)
378 | (262.1, 107.2) | (262.1, 129.7)
379 | (250.6, 107.2) | (250.6, 129.7)
380 | (239.1, 107.2) | (239.1, 129.7)
381 | (227.5, 107.2) | (227.5, 129.7)
382 | (216.0, 107.2) | (216.0, 129.7)
383 | (204.5, 107.2) | (204.5, 129.7)
384 | (192.9, 107.2) | (192.9, 129.7)
385 | (181.4, 107.2) | (181.4, 129.7)
386 | (169.9, 107.2) | (169.9, 129.7)
387 | (158.4, 107.2) | (158.4, 129.7)
388 | (146.8, 107.2) | (146.8, 129.7)
389 | (135.3, 107.2) | (135.3, 129.7)
390 | (123.8, 107.2) | (123.8, 129.7)
391 | (112.2, 107.2) | (112.2, 129.7)
392 | (100.7, 107.2) | (100.7, 129.7)
393 | (89.2, 107.2) | (89.2, 129.7)
394 | (77.6, 107.2) | (77.6, 129.7)
395 | (66.1, 107.2) | (66.1, 129.7)
396 | (54.6, 107.2) | (54.6, 129.7)
397 | (43.1, 107.2) | (43.1, 129.7)
398 | (31.5, 107.2) | (31.5, 129.7)
399 | (20.0, 107.2) | (20.0, 129.7)
400 | (20.0, 118.3) | (20.0, 140.8)
401 | (31.5, 118.3) | (31.5, 140.8)
402 | (43.1, 118.3) | (43.1, 140.8)
403 | (54.6, 118.3) | (54.6, 140.8)
404 | (66.1, 118.3) | (66.1, 140.8)
405 | (77.7, 118.3) | (77.7, 140.8)
406 | (89.2, 118.3) | (89.2, 140.8)
407 | (100.7, 118.3) | (100.7, 140.8)
408 | (112.2, 118.3) | (112.2, 140.8)
409 | (123.8, 118.3) | (123.8, 140.8)
410 | (135.3, 118.3) | (135.3, 140.8)
411 | (146.8, 118.3) | (146.8, 140.8)
412 | (158.4, 118.3) | (158.4, 140.8)
413 | (169.9, 118.3) | (169.9, 140.8)
414 | (181.4, 118.3) | (181.4, 140.8)
415 | (192.9, 118.3) | (192.9, 140.8)
416 | (204.5, 118.3) | (204.5, 140.8)
417 | (216.0, 118.3) | (216.0, 140.8)
418 | (227.5, 118.3) | (227.5, 140.8)
419 | (239.1, 118.3) | (239.1, 140.8)
420 | (250.6, 118.3) | (250.6, 140.8)
421 | (262.1, 118.3) | (262.1, 140.8)
422 | (273.7, 118.3) | (273.7, 140.8)
423 | (285.2, 118.3) | (285.2, 140.8)
424 | (296.7, 118.3) | (296.7, 140.8)
425 | (308.2, 118.3) | (308.2, 140.8)
426 | (319.8, 118.3) | (319.8, 140.8)
427 | (331.3, 118.3) | (331.3, 140.8)
428 | (342.8, 118.3) | (342.8, 140.8)
429 | (354.4, 118.3) | (354.4, 140.8)
430 | (365.9, 118.3) | (365.9, 140.8)
431 | (377.4, 118.3) | (377.4, 140.8)
432 | (389.0, 118.3) | (389.0, 140.8)
433 | (400.5, 118.3) | (400.5, 140.8)
434 | (412.0, 118.3) | (412.0, 140.8)
435 | (423.5, 118.3) | (423.5, 140.8)
436 | (435.1, 118.3) | (435.1, 140.8)
437 | (446.6, 118.3) | (446.6, 140.8)
438 | (458.1, 118.3) | (458.1, 140.8)
439 | (469.7, 118.3) | (469.7, 140.8)
440 | (469.7, 129.4) | (469.7, 151.9)
441 | (458.1, 129.4) | (458.1, 151.9)
442 | (446.6, 129.4) | (446.6, 151.9)
443 | (435.1, 129.4) | (435.1, 151.9)
444 | (423.5, 129.4) | (423.5, 151.9)
445 | (412.0, 129.4) | (412.0, 151.9)
446 | (400.5, 129.4) | (400.5, 151.9)
447 | (389.0, 129.4) | (389.0, 151.9)
448 | (377.4, 129.4) | (377.4, 151.9)
449 | (365.9, 129.4) | (365.9, 151.9)
450 | (354.4, 129.4) | (354.4, 151.9)
451 | (342.8, 129.4) | (342.8, 151.9)
452 | (331.3, 129.4) | (331.3, 151.9)
453 | (319.8, 129.4) | (319.8, 151.9)
454 | (308.2, 129.4) | (308.2, 151.9)
455 | (296.7, 129.4) | (296.7, 151.9)
456 | (285.2, 129.4) | (285.2, 151.9)
457 | (273.7, 129.4) | (273.7, 151.9)
458 | (262.1, 129.4) | (262.1, 151.9)
459 | (250.6, 129.4) | (250.6, 151.9)
460 | (239.1, 129.4) | (239.1, 151.9)
461 | (227.5, 129.4) | (227.5, 151.9)
462 | (216.0, 129.4) | (216.0, 151.9)
463 | (204.5, 129.4) | (204.5, 151.9)
464 | (192.9, 129.4) | (192.9, 151.9)
465 | (181.4, 129.4) | (181.4, 151.9)
466 | (169.9, 129.4) | (169.9, 151.9)
467 | (158.4, 129.4) | (158.4, 151.9)
468 | (146.8, 129.4) | (146.8, 151.9)
469 | (135.3, 129.4) | (135.3, 151.9)
470 | (123.8, 129.4) | (123.8, 151.9)
471 | (112.2, 129.4) | (112.2, 151.9)
472 | (100.7, 129.4) | (100.7, 151.9)
473 | (89.2, 129.4) | (89.2, 151.9)
474 | (77.6, 129.4) | (77.6, 151.9)
475 | (66.1, 129.4) | (66.1, 151.9)
476 | (54.6, 129.4) | (54.6, 151.9)
477 | (43.1, 129.4) | (43.1, 151.9)
478 | (31.5, 129.4) | (31.5, 151.9)
479 | (20.0, 129.4) | (20.0, 151.9)
480 | (20.0, 140.5) | (20.0, 163.0)
481 | (31.5, 140.5) | (31.5, 163.0)
482 | (43.1, 140.5) | (43.1, 163.0)
483 | (54.6, 140.5) | (54.6, 163.0)
484 | (66.1, 140.5) | (66.1, 163.0)
485 | (77.7, 140.5) | (77.7, 163.0)
486 | (89.2, 140.5) | (89.2, 163.0)
487 | (100.7, 140.5) | (100.7, 163.0)
488 | (112.2, 140.5) | (112.2, 163.0)
489 | (123.8, 140.5) | (123.8, 163.0)
490 | (135.3, 140.5) | (135.3, 163.0)
491 | (146.8, 140.5) | (146.8, 163.0)
492 | (158.4, 140.5) | (158.4, 163.0)
493 | (169.9, 140.5) | (169.9, 163.0)
494 | (181.4, 140.5) | (181.4, 163.0)
495 | (192.9, 140.5) | (192.9, 163.0)
496 | (204.5, 140.5) | (204.5, 163.0)
497 | (216.0, 140.5) | (216.0, 163.0)
498 | (227.5, 140.5) | (227.5, 163.0)
499 | (239.1, 140.5) | (239.1, 163.0)
500 | (250.6, 140.5) | (250.6, 163.0)
501 | (262.1, 140.5) | (262.1, 163.0)
502 | (273.7, 140.5) | (273.7, 163.0)
503 | (285.2, 140.5) | (285.2, 163.0)
504 | (296.7, 140.5) | (296.7, 163.0)
505 | (308.2, 140.5) | (308.2, 163.0)
506 | (319.8, 140.5) | (319.8, 163.0)
507 | (331.3, 140.5) | (331.3, 163.0)
508 | (342.8, 140.5) | (342.8, 163.0)
509 | (354.4, 140.5) | (354.4, 163.0)
510 | (365.9, 140.5) | (365.9, 163.0)
511 | (377.4, 140.5) | (377.4, 163.0)
512 | (389.0, 140.5) | (389.0, 163.0)
513 | (400.5, 140.5) | (400.5, 163.0)
514 | (412.0, 140.5) | (412.0, 163.0)
515 | (423.5, 140.5) | (423.5, 163.0)
516 | (435.1, 140.5) | (435.1, 163.0)
517 | (446.6, 140.5) | (446.6, 163.0)
518 | (458.1, 140.5) | (458.1, 163.0)
519 | (469.7, 140.5) | (469.7, 163.0)
520 | (469.7, 151.5) | (469.7, 174.0)
521 | (458.1, 151.5) | (458.1, 174.0)
522 | (446.6, 151.5) | (446.6, 174.0)
523 | (435.1, 151.5) | (435.1, 174.0)
524 | (423.5, 151.5) | (423.5, 174.0)
525 | (412.0, 151.5) | (412.0, 174.0)
526 | (400.5, 151.5) | (400.5, 174.0)
527 | (389.0, 151.5) | (389.0, 174.0)
528 | (377.4, 151.5) | (377.4, 174.0)
529 | (365.9, 151.5) | (365.9, 174.0)
530 | (354.4, 151.5) | (354.4, 174.0)
531 | (342.8, 151.5) | (342.8, 174.0)
532 | (331.3, 151.5) | (331.3, 174.0)
533 | (319.8, 151.5) | (319.8, 174.0)
534 | (308.2, 151.5) | (308.2, 174.0)
535 | (296.7, 151.5) | (296.7, 174.0)
536 | (285.2, 151.5) | (285.2, 174.0)
537 | (273.7, 151.5) | (273.7, 174.0)
538 | (262.1, 151.5) | (262.1, 174.0)
539 | (250.6, 151.5) | (250.6, 174.0)
540 | (239.1, 151.5) | (239.1, 174.0)
541 | (227.5, 151.5) | (227.5, 174.0)
542 | (216.0, 151.5) | (216.0, 174.0)
543 | (204.5, 151.5) | (204.5, 174.0)
544 | (192.9, 151.5) | (192.9, 174.0)
545 | (181.4, 151.5) | (181.4, 174.0)
546 | (169.9, 151.5) | (169.9, 174.0)
547 | (158.4, 151.5) | (158.4, 174.0)
548 | (146.8, 151.5) | (146.8, 174.0)
549 | (135.3, 151.5) | (135.3, 174.0)
550 | (123.8, 151.5) | (123.8, 174.0)
551 | (112.2, 151.5) | (112.2, 174.0)
552 | (100.7, 151.5) | (100.7, 174.0)
553 | (89.2, 151.5) | (89.2, 174.0)
554 | (77.6, 151.5) | (77.6, 174.0)
555 | (66.1, 151.5) | (66.1, 174.0)
556 | (54.6, 151.5) | (54.6, 174.0)
557 | (43.1, 151.5) | (43.1, 174.0)
558 | (31.5, 151.5) | (31.5, 174.0)
559 | (20.0, 151.5) | (20.0, 174.0)
560 | (20.0, 162.6) | (20.0, 185.1)
561 | (31.5, 162.6) | (31.5, 185.1)
562 | (43.1, 162.6) | (43.1, 185.1)
563 | (54.6, 162.6) | (54.6, 185.1)
564 | (66.1, 162.6) | (66.1, 185.1)
565 | (77.7, 162.6) | (77.7, 185.1)
566 | (89.2, 162.6) | (89.2, 185.1)
567 | (100.7, 162.6) | (100.7, 185.1)
568 | (112.2, 162.6) | (112.2, 185.1)
569 | (123.8, 162.6) | (123.8, 185.1)
570 | (135.3, 162.6) | (135.3, 185.1)
571 | (146.8, 162.6) | (146.8, 185.1)
572 | (158.4, 162.6) | (158.4, 185.1)
573 | (169.9, 162.6) | (169.9, 185.1)
574 | (181.4, 162.6) | (181.4, 185.1)
575 | (192.9, 162.6) | (192.9, 185.1)
576 | (204.5, 162.6) | (204.5, 185.1)
577 | (216.0, 162.6) | (216.0, 185.1)
578 | (227.5, 162.6) | (227.5, 185.1)
579 | (239.1, 162.6) | (239.1, 185.1)
580 | (250.6, 162.6) | (250.6, 185.1)
581 | (262.1, 162.6) | (262.1, 185.1)
582 | (273.7, 162.6) | (273.7, 185.1)
583 | (285.2, 162.6) | (285.2, 185.1)
584 | (296.7, 162.6) | (296.7, 185.1)
585 | (308.2, 162.6) | (308.2, 185.1)
586 | (319.8, 162.6) | (319.8, 185.1)
587 | (331.3, 162.6) | (331.3, 185.1)
588 | (342.8, 162.6) | (342.8, 185.1)
589 | (354.4, 162.6) | (354.4, 185.1)
590 | (365.9, 162.6) | (365.9, 185.1)
591 | (377.4, 162.6) | (377.4, 185.1)
592 | (389.0, 162.6) | (389.0, 185.1)
593 | (400.5, 162.6) | (400.5, 185.1)
594 | (412.0, 162.6) | (412.0, 185.1)
595 | (423.5, 162.6) | (423.5, 185.1)
596 | (435.1, 162.6) | (435.1, 185.1)
597 | (446.6, 162.6) | (446.6, 185.1)
598 | (458.1, 162.6) | (458.1, 185.1)
599 | (469.7, 162.6) | (469.7, 185.1)
600 | (469.7, 173.7) | (469.7, 196.2)
601 | (458.1, 173.7) | (458.1, 196.2)
602 | (446.6, 173.7) | (446.6, 196.2)
603 | (435.1, 173.7) | (435.1, 196.2)
604 | (423.5, 173.7) | (423.5, 196.2)
605 | (412.0, 173.7) | (412.0, 196.2)
606 | (400.5, 173.7) | (400.5, 196.2)
607 | (389.0, 173.7) | (389.0, 196.2)
608 | (377.4, 173.7) | (377.4, 196.2)
609 | (365.9, 173.7) | (365.9, 196.2)
610 | (354.4, 173.7) | (354.4, 196.2)
611 | (342.8, 173.7) | (342.8, 196.2)
612 | (331.3, 173.7) | (331.3, 196.2)
613 | (319.8, 173.7) | (319.8, 196.2)
614 | (308.2, 173.7) | (308.2, 196.2)
615 | (296.7, 173.7) | (296.7, 196.2)
616 | (285.2, 173.7) | (285.2, 196.2)
617 | (273.7, 173.7) | (273.7, 196.2)
618 | (262.1, 173.7) | (262.1, 196.2)
619 | (250.6, 173.7) | (250.6, 196.2)
620 | (239.1, 173.7) | (239.1, 196.2)
621 | (227.5, 173.7) | (227.5, 196.2)
622 | (216.0, 173.7) | (216.0, 196.2)
623 | (204.5, 173.7) | (204.5, 196.2)
624 | (192.9, 173.7) | (192.9, 196.2)
625 | (181.4, 173.7) | (181.4, 196.2)
626 | (169.9, 173.7) | (169.9, 196.2)
627 | (158.4, 173.7) | (158.4, 196.2)
628 | (146.8, 173.7) | (146.8, 196.2)
629 | (135.3, 173.7) | (135.3, 196.2)
630 | (123.8, 173.7) | (123.8, 196.2)
631 | (112.2, 173.7) | (112.2, 196.2)
632 | (100.7, 173.7) | (100.7, 196.2)
633 | (89.2, 173.7) | (89.2, 196.2)
634 | (77.6, 173.7) | (77.6, 196.2)
635 | (66.1, 173.7) | (66.1, 196.2)
636 | (54.6, 173.7) | (54.6, 196.2)
637 | (43.1, 173.7) | (43.1, 196.2)
638 | (31.5, 173.7) | (31.5, 196.2)
639 | (20.0, 173.7) | (20.0, 196.2)
640 | (20.0, 184.8) | (20.0, 207.3)
641 | (31.5, 184.8) | (31.5, 207.3)
642 | (43.1, 184.8) | (43.1, 207.3)
643 | (54.6, 184.8) | (54.6, 207.3)
644 | (66.1, 184.8) | (66.1, 207.3)
645 | (77.7, 184.8) | (77.7, 207.3)
646 | (89.2, 184.8) | (89.2, 207.3)
647 | (100.7, 184.8) | (100.7, 207.3)
648 | (112.2, 184.8) | (112.2, 207.3)
649 | (123.8, 184.8) | (123.8, 207.3)
650 | (135.3, 184.8) | (135.3, 207.3)
651 | (146.8, 184.8) | (146.8, 207.3)
652 | (158.4, 184.8) | (158.4, 207.3)
653 | (169.9, 184.8) | (169.9, 207.3)
654 | (181.4, 184.8) | (181.4, 207.3)
655 | (192.9, 184.8) | (192.9, 207.3)
656 | (204.5, 184.8) | (204.5, 207.3)
657 | (216.0, 184.8) | (216.0, 207.3)
658 | (227.5, 184.8) | (227.5, 207.3)
659 | (239.1, 184.8) | (239.1, 207.3)
660 | (250.6, 184.8) | (250.6, 207.3)
661 | (262.1, 184.8) | (262.1, 207.3)
662 | (273.7, 184.8) | (273.7, 207.3)
663 | (285.2, 184.8) | (285.2, 207.3)
664 | (296.7, 184.8) | (296.7, 207.3)
665 | (308.2, 184.8) | (308.2, 207.3)
666 | (319.8, 184.8) | (319.8, 207.3)
667 | (331.3, 184.8) | (331.3, 207.3)
668 | (342.8, 184.8) | (342.8, 207.3)
669 | (354.4, 184.8) | (354.4, 207.3)
670 | (365.9, 184.8) | (365.9, 207.3)
671 | (377.4, 184.8) | (377.4, 207.3)
672 | (389.0, 184.8) | (389.0, 207.3)
673 | (400.5, 184.8) | (400.5, 207.3)
674 | (412.0, 184.8) | (412.0, 207.3)
675 | (423.5, 184.8) | (423.5, 207.3)
676 | (435.1, 184.8) | (435.1, 207.3)
677 | (446.6, 184.8) | (446.6, 207.3)
678 | (458.1, 184.8) | (458.1, 207.3)
679 | (469.7, 184.8) | (469.7, 207.3)
680 | (469.7, 195.9) | (469.7, 218.4)
681 | (458.1, 195.9) | (458.1, 218.4)
682 | (446.6, 195.9) | (446.6, 218.4)
683 | (435.1, 195.9) | (435.1, 218.4)
684 | (423.5, 195.9) | (423.5, 218.4)
685 | (412.0, 195.9) | (412.0, 218.4)
686 | (400.5, 195.9) | (400.5, 218.4)
687 | (389.0, 195.9) | (389.0, 218.4)
688 | (377.4, 195.9) | (377.4, 218.4)
689 | (365.9, 195.9) | (365.9, 218.4)
690 | (354.4, 195.9) | (354.4, 218.4)
691 | (342.8, 195.9) | (342.8, 218.4)
692 | (331.3, 195.9) | (331.3, 218.4)
693 | (319.8, 195.9) | (319.8, 218.4)
694 | (308.2, 195.9) | (308.2, 218.4)
695 | (296.7, 195.9) | (296.7, 218.4)
696 | (285.2, 195.9) | (285.2, 218.4)
697 | (273.7, 195.9) | (273.7, 218.4)
698 | (262.1, 195.9) | (262.1, 218.4)
699 | (250.6, 195.9) | (250.6, 218.4)
700 | (239.1, 195.9) | (239.1, 218.4)
701 | (227.5, 195.9) | (227.5, 218.4)
702 | (216.0, 195.9) | (216.0, 218.4)
703 | (204.5, 195.9) | (204.5, 218.4)
704 | (192.9, 195.9) | (192.9, 218.4)
705 | (181.4, 195.9) | (181.4, 218.4)
706 | (169.9, 195.9) | (169.9, 218.4)
707 | (158.4, 195.9) | (158.4, 218.4)
708 | (146.8, 195.9) | (146.8, 218.4)
709 | (135.3, 195.9) | (135.3, 218.4)
710 | (123.8, 195.9) | (123.8, 218.4)
711 | (112.2, 195.9) | (112.2, 218.4)
712 | (100.7, 195.9) | (100.7, 218.4)
713 | (89.2, 195.9) | (89.2, 218.4)
714 | (77.6, 195.9) | (77.6, 218.4)
715 | (66.1, 195.9) | (66.1, 218.4)
716 | (54.6, 195.9) | (54.6, 218.4)
717 | (43.1, 195.9) | (43.1, 218.4)
718 | (31.5, 195.9) | (31.5, 218.4)
719 | (20.0, 195.9) | (20.0, 218.4)
720 | (20.0, 206.9) | (20.0, 229.4)
721 | (31.5, 206.9) | (31.5, 229.4)
722 | (43.1, 206.9) | (43.1, 229.4)
723 | (54.6, 206.9) | (54.6, 229.4)
724 | (66.1, 206.9) | (66.1, 229.4)
725 | (77.7, 206.9) | (77.7, 229.4)
726 | (89.2, 206.9) | (89.2, 229.4)
727 | (100.7, 206.9) | (100.7, 229.4)
728 | (112.2, 206.9) | (112.2, 229.4)
729 | (123.8, 206.9) | (123.8, 229.4)
730 | (135.3, 206.9) | (135.3, 229.4)
731 | (146.8, 206.9) | (146.8, 229.4)
732 | (158.4, 206.9) | (158.4, 229.4)
733 | (169.9, 206.9) | (169.9, 229.4)
734 | (181.4, 206.9) | (181.4, 229.4)
735 | (192.9, 206.9) | (192.9, 229.4)
736 | (204.5, 206.9) | (204.5, 229.4)
737 | (216.0, 206.9) | (216.0, 229.4)
738 | (227.5, 206.9) | (227.5, 229.4)
739 | (239.1, 206.9) | (239.1, 229.4)
740 | (250.6, 206.9) | (250.6, 229.4)
741 | (262.1, 206.9) | (262.1, 229.4)
742 | (273.7, 206.9) | (273.7, 229.4)
743 | (285.2, 206.9) | (285.2, 229.4)
744 | (296.7, 206.9) | (296.7, 229.4)
745 | (308.2, 206.9) | (308.2, 229.4)
746 | (319.8, 206.9) | (319.8, 229.4)
747 | (331.3, 206.9) | (331.3, 229.4)
748 | (342.8, 206.9) | (342.8, 229.4)
749 | (354.4, 206.9) | (354.4, 229.4)
750 | (365.9, 206.9) | (365.9, 229.4)
751 | (377.4, 206.9) | (377.4, 229.4)
752 | (389.0, 206.9) | (389.0, 229.4)
753 | (400.5, 206.9) | (400.5, 229.4)
754 | (412.0, 206.9) | (412.0, 229.4)
755 | (423.5, 206.9) | (423.5, 229.4)
756 | (435.1, 206.9) | (435.1, 229.4)
757 | (446.6, 206.9) | (446.6, 229.4)
758 | (458.1, 206.9) | (458.1, 229.4)
759 | (469.7, 206.9) | (469.7, 229.4)
760 | (469.7, 218.0) | (469.7, 240.5)
761 | (458.1, 218.0) | (458.1, 240.5)
762 | (446.6, 218.0) | (446.6, 240.5)
763 | (435.1, 218.0) | (435.1, 240.5)
764 | (423.5, 218.0) | (423.5, 240.5)
765 | (412.0, 218.0) | (412.0, 240.5)
766 | (400.5, 218.0) | (400.5, 240.5)
767 | (389.0, 218.0) | (389.0, 240.5)
768 | (377.4, 218.0) | (377.4, 240.5)
769 | (365.9, 218.0) | (365.9, 240.5)
770 | (354.4, 218.0) | (354.4, 240.5)
771 | (342.8, 218.0) | (342.8, 240.5)
772 | (331.3, 218.0) | (331.3, 240.5)
773 | (319.8, 218.0) | (319.8, 240.5)
774 | (308.2, 218.0) | (308.2, 240.5)
775 | (296.7, 218.0) | (296.7, 240.5)
776 | (285.2, 218.0) | (285.2, 240.5)
777 | (273.7, 218.0) | (273.7, 240.5)
778 | (262.1, 218.0) | (262.1, 240.5)
779 | (250.6, 218.0) | (250.6, 240.5)
780 | (239.1, 218.0) | (239.1, 240.5)
781 | (227.5, 218.0) | (227.5, 240.5)
782 | (216.0, 218.0) | (216.0, 240.5)
783 | (204.5, 218.0) | (204.5, 240.5)
784 | (192.9, 218.0) | (192.9, 240.5)
785 | (181.4, 218.0) | (181.4, 240.5)
786 | (169.9, 218.0) | (169.9, 240.5)
787 | (158.4, 218.0) | (158.4, 240.5)
788 | (146.8, 218.0) | (146.8, 240.5)
789 | (135.3, 218.0) | (135.3, 240.5)
790 | (123.8, 218.0) | (123.8, 240.5)
791 | (112.2, 218.0) | (112.2, 240.5)
792 | (100.7, 218.0) | (100.7, 240.5)
793 | (89.2, 218.0) | (89.2, 240.5)
794 | (77.6, 218.0) | (77.6, 240.5)
795 | (66.1, 218.0) | (66.1, 240.5)
796 | (54.6, 218.0) | (54.6, 240.5)
797 | (43.1, 218.0) | (43.1, 240.5)
798 | (31.5, 218.0) | (31.5, 240.5)
799 | (20.0, 218.0) | (20.0, 240.5)
800 | (20.0, 229.1) | (20.0, 251.6)
801 | (31.5, 229.1) | (31.5, 251.6)
802 | (43.1, 229.1) | (43.1, 251.6)
803 | (54.6, 229.1) | (54.6, 251.6)
804 | (66.1, 229.1) | (66.1, 251.6)
805 | (77.7, 229.1) | (77.7, 251.6)
806 | (89.2, 229.1) | (89.2, 251.6)
807 | (100.7, 229.1) | (100.7, 251.6)
808 | (112.2, 229.1) | (112.2, 251.6)
809 | (123.8, 229.1) | (123.8, 251.6)
810 | (135.3, 229.1) | (135.3, 251.6)
811 | (146.8, 229.1) | (146.8, 251.6)
812 | (158.4, 229.1) | (158.4, 251.6)
813 | (169.9, 229.1) | (169.9, 251.6)
814 | (181.4, 229.1) | (181.4, 251.6)
815 | (192.9, 229.1) | (192.9, 251.6)
816 | (204.5, 229.1) | (204.5, 251.6)
817 | (216.0, 229.1) | (216.0, 251.6)
818 | (227.5, 229.1) | (227.5, 251.6)
819 | (239.1, 229.1) | (239.1, 251.6)
820 | (250.6, 229.1) | (250.6, 251.6)
821 | (262.1, 229.1) | (262.1, 251.6)
822 | (273.7, 229.1) | (273.7, 251.6)
823 | (285.2, 229.1) | (285.2, 251.6)
824 | (296.7, 229.1) | (296.7, 251.6)
825 | (308.2, 229.1) | (308.2, 251.6)
826 | (319.8, 229.1) | (319.8, 251.6)
827 | (331.3, 229.1) | (331.3, 251.6)
828 | (342.8, 229.1) | (342.8, 251.6)
829 | (354.4, 229.1) | (354.4, 251.6)
830 | (365.9, 229.1) | (365.9, 251.6)
831 | (377.4, 229.1) | (377.4, 251.6)
832 | (389.0, 229.1) | (389.0, 251.6)
833 | (400.5, 229.1) | (400.5, 251.6)
834 | (412.0, 229.1) | (412.0, 251.6)
835 | (423.5, 229.1) | (423.5, 251.6)
836 | (435.1, 229.1) | (435.1, 251.6)
837 | (446.6, 229.1) | (446.6, 251.6)
838 | (458.1, 229.1) | (458.1, 251.6)
839 | (469.7, 229.1) | (469.7, 251.6)
840 | (469.7, 240.2) | (469.7, 262.7)
841 | (458.1, 240.2) | (458.1, 262.7)
842 | (446.6, 240.2) | (446.6, 262.7)
843 | (435.1, 240.2) | (435.1, 262.7)
844 | (423.5, 240.2) | (423.5, 262.7)
845 | (412.0, 240.2) | (412.0, 262.7)
846 | (400.5, 240.2) | (400.5, 262.7)
847 | (389.0, 240.2) | (389.0, 262.7)
848 | (377.4, 240.2) | (377.4, 262.7)
849 | (365.9, 240.2) | (365.9, 262.7)
850 | (354.4, 240.2) | (354.4, 262.7)
851 | (342.8, 240.2) | (342.8, 262.7)
852 | (331.3, 240.2) | (331.3, 262.7)
853 | (319.8, 240.2) | (319.8, 262.7)
854 | (308.2, 240.2) | (308.2, 262.7)
855 | (296.7, 240.2) | (296.7, 262.7)
856 | (285.2, 240.2) | (285.2, 262.7)
857 | (273.7, 240.2) | (273.7, 262.7)
858 | (262.1, 240.2) | (262.1, 262.7)
859 | (250.6, 240.2) | (250.6, 262.7)
860 | (239.1, 240.2) | (239.1, 262.7)
861 | (227.5, 240.2) | (227.5, 262.7)
862 | (216.0, 240.2) | (216.0, 262.7)
863 | (204.5, 240.2) | (204.5, 262.7)
864 | (192.9, 240.2) | (192.9, 262.7)
865 | (181.4, 240.2) | (181.4, 262.7)
866 | (169.9, 240.2) | (169.9, 262.7)
867 | (158.4, 240.2) | (158.4, 262.7)
868 | (146.8, 240.2) | (146.8, 262.7)
869 | (135.3, 240.2) | (135.3, 262.7)
870 | (123.8, 240.2) | (123.8, 262.7)
871 | (112.2, 240.2) | (112.2, 262.7)
872 | (100.7, 240.2) | (100.7, 262.7)
873 | (89.2, 240.2) | (89.2, 262.7)
874 | (77.6, 240.2) | (77.6, 262.7)
875 | (66.1, 240.2) | (66.1, 262.7)
876 | (54.6, 240.2) | (54.6, 262.7)
877 | (43.1, 240.2) | (43.1, 262.7)
878 | (31.5, 240.2) | (31.5, 262.7)
879 | (20.0, 240.2) | (20.0, 262.7)
880 | (20.0, 251.3) | (20.0, 273.8)
881 | (31.5, 251.3) | (31.5, 273.8)
882 | (43.1, 251.3) | (43.1, 273.8)
883 | (54.6, 251.3) | (54.6, 273.8)
884 | (66.1, 251.3) | (66.1, 273.8)
885 | (77.7, 251.3) | (77.7, 273.8)
886 | (89.2, 251.3) | (89.2, 273.8)
887 | (100.7, 251.3) | (100.7, 273.8)
888 | (112.2, 251.3) | (112.2, 273.8)
889 | (123.8, 251.3) | (123.8, 273.8)
890 | (135.3, 251.3) | (135.3, 273.8)
891 | (146.8, 251.3) | (146.8, 273.8)
892 | (158.4, 251.3) | (158.4, 273.8)
893 | (169.9, 251.3) | (169.9, 273.8)
894 | (181.4, 251.3) | (181.4, 273.8)
895 | (192.9, 251.3) | (192.9, 273.8)
896 | (204.5, 251.3) | (204.5, 273.8)
897 | (216.0, 251.3) | (216.0, 273.8)
898 | (227.5, 251.3) | (227.5, 273.8)
899 | (239.1, 251.3) | (239.1, 273.8)
900 | (250.6, 251.3) | (250.6, 273.8)
901 | (262.1, 251.3) | (262.1, 273.8)
902 | (273.7, 251.3) | (273.7, 273.8)
903 | (285.2, 251.3) | (285.2, 273.8)
904 | (296.7, 251.3) | (296.7, 273.8)
905 | (308.2, 251.3) | (308.2, 273.8)
906 | (319.8, 251.3) | (319.8, 273.8)
907 | (331.3, 251.3) | (331.3, 273.8)
908 | (342.8, 251.3) | (342.8, 273.8)
909 | (354.4, 251.3) | (354.4, 273.8)
910 | (365.9, 251.3) | (365.9, 273.8)
911 | (377.4, 251.3) | (377.4, 273.8)
912 | (389.0, 251.3) | (389.0, 273.8)
913 | (400.5, 251.3) | (400.5, 273.8)
914 | (412.0, 251.3) | (412.0, 273.8)
915 | (423.5, 251.3) | (423.5, 273.8)
916 | (435.1, 251.3) | (435.1, 273.8)
917 | (446.6, 251.3) | (446.6, 273.8)
918 | (458.1, 251.3) | (458.1, 273.8)
919 | (469.7, 251.3) | (469.7, 273.8)
920 | (469.7, 262.3) | (469.7, 284.8)
921 | (458.1, 262.3) | (458.1, 284.8)
922 | (446.6, 262.3) | (446.6, 284.8)
923 | (435.1, 262.3) | (435.1, 284.8)
924 | (423.5, 262.3) | (423.5, 284.8)
925 | (412.0, 262.3) | (412.0, 284.8)
926 | (400.5, 262.3) | (400.5, 284.8)
927 | (389.0, 262.3) | (389.0, 284.8)
928 | (377.4, 262.3) | (377.4, 284.8)
929 | (365.9, 262.3) | (365.9, 284.8)
930 | (354.4, 262.3) | (354.4, 284.8)
931 | (342.8, 262.3) | (342.8, 284.8)
932 | (331.3, 262.3) | (331.3, 284.8)
933 | (319.8, 262.3) | (319.8, 284.8)
934 | (308.2, 262.3) | (308.2, 284.8)
935 | (296.7, 262.3) | (296.7, 284.8)
936 | (285.2, 262.3) | (285.2, 284.8)
937 | (273.7, 262.3) | (273.7, 284.8)
938 | (262.1, 262.3) | (262.1, 284.8)
939 | (250.6, 262.3) | (250.6, 284.8)
940 | (239.1, 262.3) | (239.1, 284.8)
941 | (227.5, 262.3) | (227.5, 284.8)
942 | (216.0, 262.3) | (216.0, 284.8)
943 | (204.5, 262.3) | (204.5, 284.8)
944 | (192.9, 262.3) | (192.9, 284.8)
945 | (181.4, 262.3) | (181.4, 284.8)
946 | (169.9, 262.3) | (169.9, 284.8)
947 | (158.4, 262.3) | (158.4, 284.8)
948 | (146.8, 262.3) | (146.8, 284.8)
949 | (135.3, 262.3) | (135.3, 284.8)
950 | (123.8, 262.3) | (123.8, 284.8)
951 | (112.2, 262.3) | (112.2, 284.8)
952 | (100.7, 262.3) | (100.7, 284.8)
953 | (89.2, 262.3) | (89.2, 284.8)
954 | (77.6, 262.3) | (77.6, 284.8)
955 | (66.1, 262.3) | (66.1, 284.8)
956 | (54.6, 262.3) | (54.6, 284.8)
957 | (43.1, 262.3) | (43.1, 284.8)
958 | (31.5, 262.3) | (31.5, 284.8)
959 | (20.0, 262.3) | (20.0, 284.8)
960 | (20.0, 273.4) | (20.0, 295.9)
961 | (31.5, 273.4) | (31.5, 295.9)
962 | (43.1, 273.4) | (43.1, 295.9)
963 | (54.6, 273.4) | (54.6, 295.9)
964 | (66.1, 273.4) | (66.1, 295.9)
965 | (77.7, 273.4) | (77.7, 295.9)
966 | (89.2, 273.4) | (89.2, 295.9)
967 | (100.7, 273.4) | (100.7, 295.9)
968 | (112.2, 273.4) | (112.2, 295.9)
969 | (123.8, 273.4) | (123.8, 295.9)
970 | (135.3, 273.4) | (135.3, 295.9)
971 | (146.8, 273.4) | (146.8, 295.9)
972 | (158.4, 273.4) | (158.4, 295.9)
973 | (169.9, 273.4) | (169.9, 295.9)
974 | (181.4, 273.4) | (181.4, 295.9)
975 | (192.9, 273.4) | (192.9, 295.9)
976 | (204.5, 273.4) | (204.5, 295.9)
977 | (216.0, 273.4) | (216.0, 295.9)
978 | (227.5, 273.4) | (227.5, 295.9)
979 | (239.1, 273.4) | (239.1, 295.9)
980 | (250.6, 273.4) | (250.6, 295.9)
981 | (262.1, 273.4) | (262.1, 295.9)
982 | (273.7, 273.4) | (273.7, 295.9)
983 | (285.2, 273.4) | (285.2, 295.9)
984 | (296.7, 273.4) | (296.7, 295.9)
985 | (308.2, 273.4) | (308.2, 295.9)
986 | (319.8, 273.4) | (319.8, 295.9)
987 | (331.3, 273.4) | (331.3, 295.9)
988 | (342.8, 273.4) | (342.8, 295.9)
989 | (354.4, 273.4) | (354.4, 295.9)
990 | (365.9, 273.4) | (365.9, 295.9)
991 | (377.4, 273.4) | (377.4, 295.9)
992 | (389.0, 273.4) | (389.0, 295.9)
993 | (400.5, 273.4) | (400.5, 295.9)
994 | (412.0, 273.4) | (412.0, 295.9)
995 | (423.5, 273.4) | (423.5, 295.9)
996 | (435.1, 273.4) | (435.1, 295.9)
997 | (446.6, 273.4) | (446.6, 295.9)
998 | (458.1, 273.4) | (458.1, 295.9)
999 | (469.7, 273.4) | (469.7, 295.9)
1000| (469.7, 284.5) | (469.7, 307.0)
1001| (458.1, 284.5) | (458.1, 307.0)
1002| (446.6, 284.5) | (446.6, 307.0)
1003| (435.1, 284.5) | (435.1, 307.0)
1004| (423.5, 284.5) | (423.5, 307.0)
1005| (412.0, 284.5) | (412.0, 307.0)
1006| (400.5, 284.5) | (400.5, 307.0)
1007| (389.0, 284.5) | (389.0, 307.0)
1008| (377.4, 284.5) | (377.4, 307.0)
1009| (365.9, 284.5) | (365.9, 307.0)
1010| (354.4, 284.5) | (354.4, 307.0)
1011| (342.8, 284.5) | (342.8, 307.0)
1012| (331.3, 284.5) | (331.3, 307.0)
1013| (319.8, 284.5) | (319.8, 307.0)
1014| (308.2, 284.5) | (308.2, 307.0)
1015| (296.7, 284.5) | (296.7, 307.0)
1016| (285.2, 284.5) | (285.2, 307.0)
1017| (273.7, 284.5) | (273.7, 307.0)
1018| (262.1, 284.5) | (262.1, 307.0)
1019| (250.6, 284.5) | (250.6, 307.0)
1020| (239.1, 284.5) | (239.1, 307.0)
1021| (227.5, 284.5) | (227.5, 307.0)
1022| (216.0, 284.5) | (216.0, 307.0)
1023| (204.5, 284.5) | (204.5, 307.0)
1024| (192.9, 284.5) | (192.9, 307.0)
1025| (181.4, 284.5) | (181.4, 307.0)
1026| (169.9, 284.5) | (169.9, 307.0)
1027| (158.4, 284.5) | (158.4, 307.0)
1028| (146.8, 284.5) | (146.8, 307.0)
1029| (135.3, 284.5) | (135.3, 307.0)
1030| (123.8, 284.5) | (123.8, 307.0)
1031| (112.2, 284.5) | (112.2, 307.0)
1032| (100.7, 284.5) | (100.7, 307.0)
1033| (89.2, 284.5) | (89.2, 307.0)
1034| (77.6, 284.5) | (77.6, 307.0)
1035| (66.1, 284.5) | (66.1, 307.0)
1036| (54.6, 284.5) | (54.6, 307.0)
1037| (43.1, 284.5) | (43.1, 307.0)
1038| (31.5, 284.5) | (31.5, 307.0)
1039| (20.0, 284.5) | (20.0, 307.0)
1040| (20.0, 295.6) | (20.0, 318.1)
1041| (31.5, 295.6) | (31.5, 318.1)
1042| (43.1, 295.6) | (43.1, 318.1)
1043| (54.6, 295.6) | (54.6, 318.1)
1044| (66.1, 295.6) | (66.1, 318.1)
1045| (77.7, 295.6) | (77.7, 318.1)
1046| (89.2, 295.6) | (89.2, 318.1)
1047| (100.7, 295.6) | (100.7, 318.1)
1048| (112.2, 295.6) | (112.2, 318.1)
1049| (123.8, 295.6) | (123.8, 318.1)
1050| (135.3, 295.6) | (135.3, 318.1)
1051| (146.8, 295.6) | (146.8, 318.1)
1052| (158.4, 295.6) | (158.4, 318.1)
1053| (169.9, 295.6) | (169.9, 318.1)
1054| (181.4, 295.6) | (181.4, 318.1)
1055| (192.9, 295.6) | (192.9, 318.1)
1056| (204.5, 295.6) | (204.5, 318.1)
1057| (216.0, 295.6) | (216.0, 318.1)
1058| (227.5, 295.6) | (227.5, 318.1)
1059| (239.1, 295.6) | (239.1, 318.1)
1060| (250.6, 295.6) | (250.6, 318.1)
1061| (262.1, 295.6) | (262.1, 318.1)
1062| (273.7, 295.6) | (273.7, 318.1)
1063| (285.2, 295.6) | (285.2, 318.1)
1064| (296.7, 295.6) | (296.7, 318.1)
1065| (308.2, 295.6) | (308.2, 318.1)
1066| (319.8, 295.6) | (319.8, 318.1)
1067| (331.3, 295.6) | (331.3, 318.1)
1068| (342.8, 295.6) | (342.8, 318.1)
1069| (354.4, 295.6) | (354.4, 318.1)
1070| (365.9, 295.6) | (365.9, 318.1)
1071| (377.4, 295.6) | (377.4, 318.1)
1072| (389.0, 295.6) | (389.0, 318.1)
1073| (400.5, 295.6) | (400.5, 318.1)
1074| (412.0, 295.6) | (412.0, 318.1)
1075| (423.5, 295.6) | (423.5, 318.1)
1076| (435.1, 295.6) | (435.1, 318.1)
1077| (446.6, 295.6) | (446.6, 318.1)
1078| (458.1, 295.6) | (458.1, 318.1)
1079| (469.7, 295.6) | (469.7, 318.1)
1080| (469.7, 306.7) | (469.7, 329.2)
1081| (458.1, 306.7) | (458.1, 329.2)
1082| (446.6, 306.7) | (446.6, 329.2)
1083| (435.1, 306.7) | (435.1, 329.2)
1084| (423.5, 306.7) | (423.5, 329.2)
1085| (412.0, 306.7) | (412.0, 329.2)
1086| (400.5, 306.7) | (400.5, 329.2)
1087| (389.0, 306.7) | (389.0, 329.2)
1088| (377.4, 306.7) | (377.4, 329.2)
1089| (365.9, 306.7) | (365.9, 329.2)
1090| (354.4, 306.7) | (354.4, 329.2)
1091| (342.8, 306.7) | (342.8, 329.2)
1092| (331.3, 306.7) | (331.3, 329.2)
1093| (319.8, 306.7) | (319.8, 329.2)
1094| (308.2, 306.7) | (308.2, 329.2)
1095| (296.7, 306.7) | (296.7, 329.2)
1096| (285.2, 306.7) | (285.2, 329.2)
1097| (273.7, 306.7) | (273.7, 329.2)
1098| (262.1, 306.7) | (262.1, 329.2)
1099| (250.6, 306.7) | (250.6, 329.2)
1100| (239.1, 306.7) | (239.1, 329.2)
1101| (227.5, 306.7) | (227.5, 329.2)
1102| (216.0, 306.7) | (216.0, 329.2)
1103| (204.5, 306.7) | (204.5, 329.2)
1104| (192.9, 306.7) | (192.9, 329.2)
1105| (181.4, 306.7) | (181.4, 329.2)
1106| (169.9, 306.7) | (169.9, 329.2)
1107| (158.4, 306.7) | (158.4, 329.2)
1108| (146.8, 306.7) | (146.8, 329.2)
1109| (135.3, 306.7) | (135.3, 329.2)
1110| (123.8, 306.7) | (123.8, 329.2)
1111| (112.2, 306.7) | (112.2, 329.2)
1112| (100.7, 306.7) | (100.7, 329.2)
1113| (89.2, 306.7) | (89.2, 329.2)
1114| (77.6, 306.7) | (77.6, 329.2)
1115| (66.1, 306.7) | (66.1, 329.2)
1116| (54.6, 306.7) | (54.6, 329.2)
1117| (43.1, 306.7) | (43.1, 329.2)
1118| (31.5, 306.7) | (31.5, 329.2)
1119| (20.0, 306.7) | (20.0, 329.2)
1120| (20.0, 317.7) | (20.0, 340.2)
1121| (31.5, 317.7) | (31.5, 340.2)
1122| (43.1, 317.7) | (43.1, 340.2)
1123| (54.6, 317.7) | (54.6, 340.2)
1124| (66.1, 317.7) | (66.1, 340.2)
1125| (77.7, 317.7) | (77.7, 340.2)
1126| (89.2, 317.7) | (89.2, 340.2)
1127| (100.7, 317.7) | (100.7, 340.2)
1128| (112.2, 317.7) | (112.2, 340.2)
1129| (123.8, 317.7) | (123.8, 340.2)
1130| (135.3, 317.7) | (135.3, 340.2)
1131| (146.8, 317.7) | (146.8, 340.2)
1132| (158.4, 317.7) | (158.4, 340.2)
1133| (169.9, 317.7) | (169.9, 340.2)
1134| (181.4, 317.7) | (181.4, 340.2)
1135| (192.9, 317.7) | (192.9, 340.2)
1136| (204.5, 317.7) | (204.5, 340.2)
1137| (216.0, 317.7) | (216.0, 340.2)
1138| (227.5, 317.7) | (227.5, 340.2)
1139| (239.1, 317.7) | (239.1, 340.2)
1140| (250.6, 317.7) | (250.6, 340.2)
1141| (262.1, 317.7) | (262.1, 340.2)
1142| (273.7, 317.7) | (273.7, 340.2)
1143| (285.2, 317.7) | (285.2, 340.2)
1144| (296.7, 317.7) | (296.7, 340.2)
1145| (308.2, 317.7) | (308.2, 340.2)
1146| (319.8, 317.7) | (319.8, 340.2)
1147| (331.3, 317.7) | (331.3, 340.2)
1148| (342.8, 317.7) | (342.8, 340.2)
1149| (354.4, 317.7) | (354.4, 340.2)
1150| (365.9, 317.7) | (365.9, 340.2)
1151| (377.4, 317.7) | (377.4, 340.2)
1152| (389.0, 317.7) | (389.0, 340.2)
1153| (400.5, 317.7) | (400.5, 340.2)
1154| (412.0, 317.7) | (412.0, 340.2)
1155| (423.5, 317.7) | (423.5, 340.2)
1156| (435.1, 317.7) | (435.1, 340.2)
1157| (446.6, 317.7) | (446.6, 340.2)
1158| (458.1, 317.7) | (458.1, 340.2)
1159| (469.7, 317.7) | (469.7, 340.2)
1160| (469.7, 328.8) | (469.7, 351.3)
1161| (458.1, 328.8) | (458.1, 351.3)
1162| (446.6, 328.8) | (446.6, 351.3)
1163| (435.1, 328.8) | (435.1, 351.3)
1164| (423.5, 328.8) | (423.5, 351.3)
1165| (412.0, 328.8) | (412.0, 351.3)
1166| (400.5, 328.8) | (400.5, 351.3)
1167| (389.0, 328.8) | (389.0, 351.3)
1168| (377.4, 328.8) | (377.4, 351.3)
1169| (365.9, 328.8) | (365.9, 351.3)
1170| (354.4, 328.8) | (354.4, 351.3)
1171| (342.8, 328.8) | (342.8, 351.3)
1172| (331.3, 328.8) | (331.3, 351.3)
1173| (319.8, 328.8) | (319.8, 351.3)
1174| (308.2, 328.8) | (308.2, 351.3)
1175| (296.7, 328.8) | (296.7, 351.3)
1176| (285.2, 328.8) | (285.2, 351.3)
1177| (273.7, 328.8) | (273.7, 351.3)
1178| (262.1, 328.8) | (262.1, 351.3)
1179| (250.6, 328.8) | (250.6, 351.3)
1180| (239.1, 328.8) | (239.1, 351.3)
1181| (227.5, 328.8) | (227.5, 351.3)
1182| (216.0, 328.8) | (216.0, 351.3)
1183| (204.5, 328.8) | (204.5, 351.3)
1184| (192.9, 328.8) | (192.9, 351.3)
1185| (181.4, 328.8) | (181.4, 351.3)
1186| (169.9, 328.8) | (169.9, 351.3)
1187| (158.4, 328.8) | (158.4, 351.3)
1188| (146.8, 328.8) | (146.8, 351.3)
1189| (135.3, 328.8) | (135.3, 351.3)
1190| (123.8, 328.8) | (123.8, 351.3)
1191| (112.2, 328.8) | (112.2, 351.3)
1192| (100.7, 328.8) | (100.7, 351.3)
1193| (89.2, 328.8) | (89.2, 351.3)
1194| (77.6, 328.8) | (77.6, 351.3)
1195| (66.1, 328.8) | (66.1, 351.3)
1196| (54.6, 328.8) | (54.6, 351.3)
1197| (43.1, 328.8) | (43.1, 351.3)
1198| (31.5, 328.8) | (31.5, 351.3)
1199| (20.0, 328.8) | (20.0, 351.3)
1200| (20.0, 339.9) | (20.0, 362.4)
1201| (31.5, 339.9) | (31.5, 362.4)
1202| (43.1, 339.9) | (43.1, 362.4)
1203| (54.6, 339.9) | (54.6, 362.4)
1204| (66.1, 339.9) | (66.1, 362.4)
1205| (77.7, 339.9) | (77.7, 362.4)
1206| (89.2, 339.9) | (89.2, 362.4)
1207| (100.7, 339.9) | (100.7, 362.4)
1208| (112.2, 339.9) | (112.2, 362.4)
1209| (123.8, 339.9) | (123.8, 362.4)
1210| (135.3, 339.9) | (135.3, 362.4)
1211| (146.8, 339.9) | (146.8, 362.4)
1212| (158.4, 339.9) | (158.4, 362.4)
1213| (169.9, 339.9) | (169.9, 362.4)
1214| (181.4, 339.9) | (181.4, 362.4)
1215| (192.9, 339.9) | (192.9, 362.4)
1216| (204.5, 339.9) | (204.5, 362.4)
1217| (216.0, 339.9) | (216.0, 362.4)
1218| (227.5, 339.9) | (227.5, 362.4)
1219| (239.1, 339.9) | (239.1, 362.4)
1220| (250.6, 339.9) | (250.6, 362.4)
1221| (262.1, 339.9) | (262.1, 362.4)
1222| (273.7, 339.9) | (273.7, 362.4)
1223| (285.2, 339.9) | (285.2, 362.4)
1224| (296.7, 339.9) | (296.7, 362.4)
1225| (308.2, 339.9) | (308.2, 362.4)
1226| (319.8, 339.9) | (319.8, 362.4)
1227| (331.3, 339.9) | (331.3, 362.4)
1228| (342.8, 339.9) | (342.8, 362.4)
1229| (354.4, 339.9) | (354.4, 362.4)
1230| (365.9, 339.9) | (365.9, 362.4)
1231| (377.4, 339.9) | (377.4, 362.4)
1232| (389.0, 339.9) | (389.0, 362.4)
1233| (400.5, 339.9) | (400.5, 362.4)
1234| (412.0, 339.9) | (412.0, 362.4)
1235| (423.5, 339.9) | (423.5, 362.4)
1236| (435.1, 339.9) | (435.1, 362.4)
1237| (446.6, 339.9) | (446.6, 362.4)
1238| (458.1, 339.9) | (458.1, 362.4)
1239| (469.7, 339.9) | (469.7, 362.4)
1240| (469.7, 351.0) | (469.7, 373.5)
1241| (458.1, 351.0) | (458.1, 373.5)
1242| (446.6, 351.0) | (446.6, 373.5)
1243| (435.1, 351.0) | (435.1, 373.5)
1244| (423.5, 351.0) | (423.5, 373.5)
1245| (412.0, 351.0) | (412.0, 373.5)
1246| (400.5, 351.0) | (400.5, 373.5)
1247| (389.0, 351.0) | (389.0, 373.5)
1248| (377.4, 351.0) | (377.4, 373.5)
1249| (365.9, 351.0) | (365.9, 373.5)
1250| (354.4, 351.0) | (354.4, 373.5)
1251| (342.8, 351.0) | (342.8, 373.5)
1252| (331.3, 351.0) | (331.3, 373.5)
1253| (319.8, 351.0) | (319.8, 373.5)
1254| (308.2, 351.0) | (308.2, 373.5)
1255| (296.7, 351.0) | (296.7, 373.5)
1256| (285.2, 351.0) | (285.2, 373.5)
1257| (273.7, 351.0) | (273.7, 373.5)
1258| (262.1, 351.0) | (262.1, 373.5)
1259| (250.6, 351.0) | (250.6, 373.5)
1260| (239.1, 351.0) | (239.1, 373.5)
1261| (227.5, 351.0) | (227.5, 373.5)
1262| (216.0, 351.0) | (216.0, 373.5)
1263| (204.5, 351.0) | (204.5, 373.5)
1264| (192.9, 351.0) | (192.9, 373.5)
1265| (181.4, 351.0) | (181.4, 373.5)
1266| (169.9, 351.0) | (169.9, 373.5)
1267| (158.4, 351.0) | (158.4, 373.5)
1268| (146.8, 351.0) | (146.8, 373.5)
1269| (135.3, 351.0) | (135.3, 373.5)
1270| (123.8, 351.0) | (123.8, 373.5)
1271| (112.2, 351.0) | (112.2, 373.5)
1272| (100.7, 351.0) | (100.7, 373.5)
1273| (89.2, 351.0) | (89.2, 373.5)
1274| (77.6, 351.0) | (77.6, 373.5)
1275| (66.1, 351.0) | (66.1, 373.5)
1276| (54.6, 351.0) | (54.6, 373.5)
1277| (43.1, 351.0) | (43.1, 373.5)
1278| (31.5, 351.0) | (31.5, 373.5)
1279| (20.0, 351.0) | (20.0, 373.5)
1280| (20.0, 362.1) | (20.0, 384.6)
1281| (31.5, 362.1) | (31.5, 384.6)
1282| (43.1, 362.1) | (43.1, 384.6)
1283| (54.6, 362.1) | (54.6, 384.6)
1284| (66.1, 362.1) | (66.1, 384.6)
1285| (77.7, 362.1) | (77.7, 384.6)
1286| (89.2, 362.1) | (89.2, 384.6)
1287| (100.7, 362.1) | (100.7, 384.6)
1288| (112.2, 362.1) | (112.2, 384.6)
1289| (123.8, 362.1) | (123.8, 384.6)
1290| (135.3, 362.1) | (135.3, 384.6)
1291| (146.8, 362.1) | (146.8, 384.6)
1292| (158.4, 362.1) | (158.4, 384.6)
1293| (169.9, 362.1) | (169.9, 384.6)
1294| (181.4, 362.1) | (181.4, 384.6)
1295| (192.9, 362.1) | (192.9, 384.6)
1296| (204.5, 362.1) | (204.5, 384.6)
1297| (216.0, 362.1) | (216.0, 384.6)
1298| (227.5, 362.1) | (227.5, 384.6)
1299| (239.1, 362.1) | (239.1, 384.6)
1300| (250.6, 362.1) | (250.6, 384.6)
1301| (262.1, 362.1) | (262.1, 384.6)
1302| (273.7, 362.1) | (273.7, 384.6)
1303| (285.2, 362.1) | (285.2, 384.6)
1304| (296.7, 362.1) | (296.7, 384.6)
1305| (308.2, 362.1) | (308.2, 384.6)
1306| (319.8, 362.1) | (319.8, 384.6)
1307| (331.3, 362.1) | (331.3, 384.6)
1308| (342.8, 362.1) | (342.8, 384.6)
1309| (354.4, 362.1) | (354.4, 384.6)
1310| (365.9, 362.1) | (365.9, 384.6)
1311| (377.4, 362.1) | (377.4, 384.6)
1312| (389.0, 362.1) | (389.0, 384.6)
1313| (400.5, 362.1) | (400.5, 384.6)
1314| (412.0, 362.1) | (412.0, 384.6)
1315| (423.5, 362.1) | (423.5, 384.6)
1316| (435.1, 362.1) | (435.1, 384.6)
1317| (446.6, 362.1) | (446.6, 384.6)
1318| (458.1, 362.1) | (458.1, 384.6)
1319| (469.7, 362.1) | (469.7, 384.6)
1320| (469.7, 373.1) | (469.7, 395.6)
1321| (458.1, 373.1) | (458.1, 395.6)
1322| (446.6, 373.1) | (446.6, 395.6)
1323| (435.1, 373.1) | (435.1, 395.6)
1324| (423.5, 373.1) | (423.5, 395.6)
1325| (412.0, 373.1) | (412.0, 395.6)
1326| (400.5, 373.1) | (400.5, 395.6)
1327| (389.0, 373.1) | (389.0, 395.6)
1328| (377.4, 373.1) | (377.4, 395.6)
1329| (365.9, 373.1) | (365.9, 395.6)
1330| (354.4, 373.1) | (354.4, 395.6)
1331| (342.8, 373.1) | (342.8, 395.6)
1332| (331.3, 373.1) | (331.3, 395.6)
1333| (319.8, 373.1) | (319.8, 395.6)
1334| (308.2, 373.1) | (308.2, 395.6)
1335| (296.7, 373.1) | (296.7, 395.6)
1336| (285.2, 373.1) | (285.2, 395.6)
1337| (273.7, 373.1) | (273.7, 395.6)
1338| (262.1, 373.1) | (262.1, 395.6)
1339| (250.6, 373.1) | (250.6, 395.6)
1340| (239.1, 373.1) | (239.1, 395.6)
1341| (227.5, 373.1) | (227.5, 395.6)
1342| (216.0, 373.1) | (216.0, 395.6)
1343| (204.5, 373.1) | (204.5, 395.6)
1344| (192.9, 373.1) | (192.9, 395.6)
1345| (181.4, 373.1) | (181.4, 395.6)
1346| (169.9, 373.1) | (169.9, 395.6)
1347| (158.4, 373.1) | (158.4, 395.6)
1348| (146.8, 373.1) | (146.8, 395.6)
1349| (135.3, 373.1) | (135.3, 395.6)
1350| (123.8, 373.1) | (123.8, 395.6)
1351| (112.2, 373.1) | (112.2, 395.6)
1352| (100.7, 373.1) | (100.7, 395.6)
1353| (89.2, 373.1) | (89.2, 395.6)
1354| (77.6, 373.1) | (77.6, 395.6)
1355| (66.1, 373.1) | (66.1, 395.6)
1356| (54.6, 373.1) | (54.6, 395.6)
1357| (43.1, 373.1) | (43.1, 395.6)
1358| (31.5, 373.1) | (31.5, 395.6)
1359| (20.0, 373.1) | (20.0, 395.6)
1360| (20.0, 384.2) | (20.0, 406.7)
1361| (31.5, 384.2) | (31.5, 406.7)
1362| (43.1, 384.2) | (43.1, 406.7)
1363| (54.6, 384.2) | (54.6, 406.7)
1364| (66.1, 384.2) | (66.1, 406.7)
1365| (77.7, 384.2) | (77.7, 406.7)
1366| (89.2, 384.2) | (89.2, 406.7)
1367| (100.7, 384.2) | (100.7, 406.7)
1368| (112.2, 384.2) | (112.2, 406.7)
1369| (123.8, 384.2) | (123.8, 406.7)
1370| (135.3, 384.2) | (135.3, 406.7)
1371| (146.8, 384.2) | (146.8, 406.7)
1372| (158.4, 384.2) | (158.4, 406.7)
1373| (169.9, 384.2) | (169.9, 406.7)
1374| (181.4, 384.2) | (181.4, 406.7)
1375| (192.9, 384.2) | (192.9, 406.7)
1376| (204.5, 384.2) | (204.5, 406.7)
1377| (216.0, 384.2) | (216.0, 406.7)
1378| (227.5, 384.2) | (227.5, 406.7)
1379| (239.1, 384.2) | (239.1, 406.7)
1380| (250.6, 384.2) | (250.6, 406.7)
1381| (262.1, 384.2) | (262.1, 406.7)
1382| (273.7, 384.2) | (273.7, 406.7)
1383| (285.2, 384.2) | (285.2, 406.7)
1384| (296.7, 384.2) | (296.7, 406.7)
1385| (308.2, 384.2) | (308.2, 406.7)
1386| (319.8, 384.2) | (319.8, 406.7)
1387| (331.3, 384.2) | (331.3, 406.7)
1388| (342.8, 384.2) | (342.8, 406.7)
1389| (354.4, 384.2) | (354.4, 406.7)
1390| (365.9, 384.2) | (365.9, 406.7)
1391| (377.4, 384.2) | (377.4, 406.7)
1392| (389.0, 384.2) | (389.0, 406.7)
1393| (400.5, 384.2) | (400.5, 406.7)
1394| (412.0, 384.2) | (412.0, 406.7)
1395| (423.5, 384.2) | (423.5, 406.7)
1396| (435.1, 384.2) | (435.1, 406.7)
1397| (446.6, 384.2) | (446.6, 406.7)
1398| (458.1, 384.2) | (458.1, 406.7)
1399| (469.7, 384.2) | (469.7, 406.7)
1400| (469.7, 395.3) | (469.7, 417.8)
1401| (458.1, 395.3) | (458.1, 417.8)
1402| (446.6, 395.3) | (446.6, 417.8)
1403| (435.1, 395.3) | (435.1, 417.8)
1404| (423.5, 395.3) | (423.5, 417.8)
1405| (412.0, 395.3) | (412.0, 417.8)
1406| (400.5, 395.3) | (400.5, 417.8)
1407| (389.0, 395.3) | (389.0, 417.8)
1408| (377.4, 395.3) | (377.4, 417.8)
1409| (365.9, 395.3) | (365.9, 417.8)
1410| (354.4, 395.3) | (354.4, 417.8)
1411| (342.8, 395.3) | (342.8, 417.8)
1412| (331.3, 395.3) | (331.3, 417.8)
1413| (319.8, 395.3) | (319.8, 417.8)
1414| (308.2, 395.3) | (308.2, 417.8)
1415| (296.7, 395.3) | (296.7, 417.8)
1416| (285.2, 395.3) | (285.2, 417.8)
1417| (273.7, 395.3) | (273.7, 417.8)
1418| (262.1, 395.3) | (262.1, 417.8)
1419| (250.6, 395.3) | (250.6, 417.8)
1420| (239.1, 395.3) | (239.1, 417.8)
1421| (227.5, 395.3) | (227.5, 417.8)
1422| (216.0, 395.3) | (216.0, 417.8)
1423| (204.5, 395.3) | (204.5, 417.8)
1424| (192.9, 395.3) | (192.9, 417.8)
1425| (181.4, 395.3) | (181.4, 417.8)
1426| (169.9, 395.3) | (169.9, 417.8)
1427| (158.4, 395.3) | (158.4, 417.8)
1428| (146.8, 395.3) | (146.8, 417.8)
1429| (135.3, 395.3) | (135.3, 417.8)
1430| (123.8, 395.3) | (123.8, 417.8)
1431| (112.2, 395.3) | (112.2, 417.8)
1432| (100.7, 395.3) | (100.7, 417.8)
1433| (89.2, 395.3) | (89.2, 417.8)
1434| (77.6, 395.3) | (77.6, 417.8)
1435| (66.1, 395.3) | (66.1, 417.8)
1436| (54.6, 395.3) | (54.6, 417.8)
1437| (43.1, 395.3) | (43.1, 417.8)
1438| (31.5, 395.3) | (31.5, 417.8)
1439| (20.0, 395.3) | (20.0, 417.8)
1440| (20.0, 406.4) | (20.0, 428.9)
1441| (31.5, 406.4) | (31.5, 428.9)
1442| (43.1, 406.4) | (43.1, 428.9)
1443| (54.6, 406.4) | (54.6, 428.9)
1444| (66.1, 406.4) | (66.1, 428.9)
1445| (77.7, 406.4) | (77.7, 428.9)
1446| (89.2, 406.4) | (89.2, 428.9)
1447| (100.7, 406.4) | (100.7, 428.9)
1448| (112.2, 406.4) | (112.2, 428.9)
1449| (123.8, 406.4) | (123.8, 428.9)
1450| (135.3, 406.4) | (135.3, 428.9)
1451| (146.8, 406.4) | (146.8, 428.9)
1452| (158.4, 406.4) | (158.4, 428.9)
1453| (169.9, 406.4) | (169.9, 428.9)
1454| (181.4, 406.4) | (181.4, 428.9)
1455| (192.9, 406.4) | (192.9, 428.9)
1456| (204.5, 406.4) | (204.5, 428.9)
1457| (216.0, 406.4) | (216.0, 428.9)
1458| (227.5, 406.4) | (227.5, 428.9)
1459| (239.1, 406.4) | (239.1, 428.9)
1460| (250.6, 406.4) | (250.6, 428.9)
1461| (262.1, 406.4) | (262.1, 428.9)
1462| (273.7, 406.4) | (273.7, 428.9)
1463| (285.2, 406.4) | (285.2, 428.9)
1464| (296.7, 406.4) | (296.7, 428.9)
1465| (308.2, 406.4) | (308.2, 428.9)
1466| (319.8, 406.4) | (319.8, 428.9)
1467| (331.3, 406.4) | (331.3, 428.9)
1468| (342.8, 406.4) | (342.8, 428.9)
1469| (354.4, 406.4) | (354.4, 428.9)
1470| (365.9, 406.4) | (365.9, 428.9)
1471| (377.4, 406.4) | (377.4, 428.9)
1472| (389.0, 406.4) | (389.0, 428.9)
1473| (400.5, 406.4) | (400.5, 428.9)
1474| (412.0, 406.4) | (412.0, 428.9)
1475| (423.5, 406.4) | (423.5, 428.9)
1476| (435.1, 406.4) | (435.1, 428.9)
1477| (446.6, 406.4) | (446.6, 428.9)
1478| (458.1, 406.4) | (458.1, 428.9)
1479| (469.7, 406.4) | (469.7, 428.9)
1480| (469.7, 417.5) | (469.7, 440.0)
1481| (458.1, 417.5) | (458.1, 440.0)
1482| (446.6, 417.5) | (446.6, 440.0)
1483| (435.1, 417.5) | (435.1, 440.0)
1484| (423.5, 417.5) | (423.5, 440.0)
1485| (412.0, 417.5) | (412.0, 440.0)
1486| (400.5, 417.5) | (400.5, 440.0)
1487| (389.0, 417.5) | (389.0, 440.0)
1488| (377.4, 417.5) | (377.4, 440.0)
1489| (365.9, 417.5) | (365.9, 440.0)
1490| (354.4, 417.5) | (354.4, 440.0)
1491| (342.8, 417.5) | (342.8, 440.0)
1492| (331.3, 417.5) | (331.3, 440.0)
1493| (319.8, 417.5) | (319.8, 440.0)
1494| (308.2, 417.5) | (308.2, 440.0)
1495| (296.7, 417.5) | (296.7, 440.0)
1496| (285.2, 417.5) | (285.2, 440.0)
1497| (273.7, 417.5) | (273.7, 440.0)
1498| (262.1, 417.5) | (262.1, 440.0)
1499| (250.6, 417.5) | (250.6, 440.0)
1500| (239.1, 417.5) | (239.1, 440.0)
1501| (227.5, 417.5) | (227.5, 440.0)
1502| (216.0, 417.5) | (216.0, 440.0)
1503| (204.5, 417.5) | (204.5, 440.0)
1504| (192.9, 417.5) | (192.9, 440.0)
1505| (181.4, 417.5) | (181.4, 440.0)
1506| (169.9, 417.5) | (169.9, 440.0)
1507| (158.4, 417.5) | (158.4, 440.0)
1508| (146.8, 417.5) | (146.8, 440.0)
1509| (135.3, 417.5) | (135.3, 440.0)
1510| (123.8, 417.5) | (123.8, 440.0)
1511| (112.2, 417.5) | (112.2, 440.0)
1512| (100.7, 417.5) | (100.7, 440.0)
1513| (89.2, 417.5) | (89.2, 440.0)
1514| (77.6, 417.5) | (77.6, 440.0)
1515| (66.1, 417.5) | (66.1, 440.0)
1516| (54.6, 417.5) | (54.6, 440.0)
1517| (43.1, 417.5) | (43.1, 440.0)
1518| (31.5, 417.5) | (31.5, 440.0)
1519| (20.0, 417.5) | (20.0, 440.0)
1520| (20.0, 428.5) | (20.0, 451.0)
1521| (31.5, 428.5) | (31.5, 451.0)
1522| (43.1, 428.5) | (43.1, 451.0)
1523| (54.6, 428.5) | (54.6, 451.0)
1524| (66.1, 428.5) | (66.1, 451.0)
1525| (77.7, 428.5) | (77.7, 451.0)
1526| (89.2, 428.5) | (89.2, 451.0)
1527| (100.7, 428.5) | (100.7, 451.0)
1528| (112.2, 428.5) | (112.2, 451.0)
1529| (123.8, 428.5) | (123.8, 451.0)
1530| (135.3, 428.5) | (135.3, 451.0)
1531| (146.8, 428.5) | (146.8, 451.0)
1532| (158.4, 428.5) | (158.4, 451.0)
1533| (169.9, 428.5) | (169.9, 451.0)
1534| (181.4, 428.5) | (181.4, 451.0)
1535| (192.9, 428.5) | (192.9, 451.0)
1536| (204.5, 428.5) | (204.5, 451.0)
1537| (216.0, 428.5) | (216.0, 451.0)
1538| (227.5, 428.5) | (227.5, 451.0)
1539| (239.1, 428.5) | (239.1, 451.0)
1540| (250.6, 428.5) | (250.6, 451.0)
1541| (262.1, 428.5) | (262.1, 451.0)
1542| (273.7, 428.5) | (273.7, 451.0)
1543| (285.2, 428.5) | (285.2, 451.0)
1544| (296.7, 428.5) | (296.7, 451.0)
1545| (308.2, 428.5) | (308.2, 451.0)
1546| (319.8, 428.5) | (319.8, 451.0)
1547| (331.3, 428.5) | (331.3, 451.0)
1548| (342.8, 428.5) | (342.8, 451.0)
1549| (354.4, 428.5) | (354.4, 451.0)
1550| (365.9, 428.5) | (365.9, 451.0)
1551| (377.4, 428.5) | (377.4, 451.0)
1552| (389.0, 428.5) | (389.0, 451.0)
1553| (400.5, 428.5) | (400.5, 451.0)
1554| (412.0, 428.5) | (412.0, 451.0)
1555| (423.5, 428.5) | (423.5, 451.0)
1556| (435.1, 428.5) | (435.1, 451.0)
1557| (446.6, 428.5) | (446.6, 451.0)
1558| (458.1, 428.5) | (458.1, 451.0)
1559| (469.7, 428.5) | (469.7, 451.0)
1560| (469.7, 439.6) | (469.7, 462.1)
1561| (458.1, 439.6) | (458.1, 462.1)
1562| (446.6, 439.6) | (446.6, 462.1)
1563| (435.1, 439.6) | (435.1, 462.1)
1564| (423.5, 439.6) | (423.5, 462.1)
1565| (412.0, 439.6) | (412.0, 462.1)
1566| (400.5, 439.6) | (400.5, 462.1)
1567| (389.0, 439.6) | (389.0, 462.1)
1568| (377.4, 439.6) | (377.4, 462.1)
1569| (365.9, 439.6) | (365.9, 462.1)
1570| (354.4, 439.6) | (354.4, 462.1)
1571| (342.8, 439.6) | (342.8, 462.1)
1572| (331.3, 439.6) | (331.3, 462.1)
1573| (319.8, 439.6) | (319.8, 462.1)
1574| (308.2, 439.6) | (308.2, 462.1)
1575| (296.7, 439.6) | (296.7, 462.1)
1576| (285.2, 439.6) | (285.2, 462.1)
1577| (273.7, 439.6) | (273.7, 462.1)
1578| (262.1, 439.6) | (262.1, 462.1)
1579| (250.6, 439.6) | (250.6, 462.1)
1580| (239.1, 439.6) | (239.1, 462.1)
1581| (227.5, 439.6) | (227.5, 462.1)
1582| (216.0, 439.6) | (216.0, 462.1)
1583| (204.5, 439.6) | (204.5, 462.1)
1584| (192.9, 439.6) | (192.9, 462.1)
1585| (181.4, 439.6) | (181.4, 462.1)
1586| (169.9, 439.6) | (169.9, 462.1)
1587| (158.4, 439.6) | (158.4, 462.1)
1588| (146.8, 439.6) | (146.8, 462.1)
1589| (135.3, 439.6) | (135.3, 462.1)
1590| (123.8, 439.6) | (123.8, 462.1)
1591| (112.2, 439.6) | (112.2, 462.1)
1592| (100.7, 439.6) | (100.7, 462.1)
1593| (89.2, 439.6) | (89.2, 462.1)
1594| (77.6, 439.6) | (77.6, 462.1)
1595| (66.1, 439.6) | (66.1, 462.1)
1596| (54.6, 439.6) | (54.6, 462.1)
1597| (43.1, 439.6) | (43.1, 462.1)
1598| (31.5, 439.6) | (31.5, 462.1)
1599| (20.0, 439.6) | (20.0, 462.1)
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
Script running error
Traceback (most recent call last):
File "/home/pi/klipper/klippy/extras/gcode_button.py", line 41, in button_callback
self.gcode.run_script(template.render())
File "/home/pi/klipper/klippy/gcode.py", line 230, in run_script
self._process_commands(script.split('\n'), need_ack=False)
File "/home/pi/klipper/klippy/gcode.py", line 212, in _process_commands
handler(gcmd)
File "/home/pi/klipper/klippy/gcode.py", line 282, in cmd_default
raise gcmd.error(self.printer.get_state_message()[0])
gcode.CommandError:
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
Script running error
Traceback (most recent call last):
File "/home/pi/klipper/klippy/extras/gcode_button.py", line 41, in button_callback
self.gcode.run_script(template.render())
File "/home/pi/klipper/klippy/gcode.py", line 230, in run_script
self._process_commands(script.split('\n'), need_ack=False)
File "/home/pi/klipper/klippy/gcode.py", line 212, in _process_commands
handler(gcmd)
File "/home/pi/klipper/klippy/gcode.py", line 282, in cmd_default
raise gcmd.error(self.printer.get_state_message()[0])
gcode.CommandError:
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
beacon: loaded fnorm=5106861.31 temp=20.78 amfg=1.017 from nvm
beacon: built tempco model version 1 {'amfg': 1.0174497367135622, 'tcc': -7.231912357067147e-06, 'tcfl': -0.0006331441376081758, 'tctl': 0.0019368853710497302, 'fmin': 5106861.308217049, 'fmin_temp': 20.781034469604492}
Enabling Beacon accelerometer
Selected Beacon accelerometer scale 16g
Sending MCU 'beacon' printer configuration...
Configured MCU 'beacon' (0 moves)
Starting heater checks for extruder
Starting heater checks for extruder1
Stats 33.5: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000005 bytes_write=3982 bytes_read=7849 bytes_retransmit=9 bytes_invalid=0 send_seq=325 receive_seq=325 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179998989 rpi: mcu_awake=0.004 mcu_task_avg=0.000026 mcu_task_stddev=0.000018 bytes_write=876 bytes_read=4755 bytes_retransmit=0 bytes_invalid=0 send_seq=117 receive_seq=117 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999312 adj=50006424 toolboard_t0: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1508 bytes_read=5033 bytes_retransmit=9 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63997324 adj=63989707 toolboard_t1: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1508 bytes_read=5018 bytes_retransmit=9 bytes_invalid=0 send_seq=161 receive_seq=161 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64001357 adj=64002268 Octopus_V1.1_F446: temp=27.3 EBB42_v1.2_T0: temp=26.7 EBB42_v1.2_T1: temp=26.0 raspberry_pi: temp=43.3 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=380 bytes_read=2274 bytes_retransmit=0 bytes_invalid=0 send_seq=62 receive_seq=62 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000285 adj=32003105 coil_temp=25.1 refs=0 mcu_temp=24.74 supply_voltage=3.069 sysload=1.60 cputime=9.430 memavail=357128 print_time=41.809 buffer_time=0.260 print_stall=0 extruder: target=0 temp=48.2 pwm=0.000 extruder1: target=0 temp=24.0 pwm=0.000
toolhead: max_velocity: 36000.000000
max_accel: 8000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
Extruder extruder already active
Extruder 'extruder' now syncing with 'extruder'
Extruder 'extruder1' now syncing with 'extruder1'
shaper_type_x:mzv shaper_freq_x:52.800 damping_ratio_x:0.100000
shaper_type_y:mzv shaper_freq_y:38.200 damping_ratio_y:0.100000
toolhead: max_velocity: 800.000000
max_accel: 10000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
Stats 34.5: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000007 mcu_task_stddev=0.000005 bytes_write=3988 bytes_read=7967 bytes_retransmit=9 bytes_invalid=0 send_seq=326 receive_seq=326 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999232 rpi: mcu_awake=0.004 mcu_task_avg=0.000026 mcu_task_stddev=0.000018 bytes_write=882 bytes_read=4771 bytes_retransmit=0 bytes_invalid=0 send_seq=118 receive_seq=118 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000083 adj=49992370 toolboard_t0: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1514 bytes_read=5133 bytes_retransmit=9 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63997985 adj=64004372 toolboard_t1: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1514 bytes_read=5118 bytes_retransmit=9 bytes_invalid=0 send_seq=162 receive_seq=162 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=64000236 adj=64001027 Octopus_V1.1_F446: temp=27.4 EBB42_v1.2_T0: temp=26.9 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=43.3 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=386 bytes_read=2630 bytes_retransmit=0 bytes_invalid=0 send_seq=63 receive_seq=63 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000225 adj=31999014 coil_temp=25.1 refs=0 mcu_temp=24.72 supply_voltage=3.069 sysload=1.60 cputime=9.618 memavail=344548 print_time=41.809 buffer_time=0.000 print_stall=0 extruder: target=0 temp=48.2 pwm=0.000 extruder1: target=0 temp=23.9 pwm=0.000
webhooks: registering remote method 'shutdown_machine' for connection id: 4104372200
webhooks: registering remote method 'reboot_machine' for connection id: 4104372200
webhooks: registering remote method 'pause_job_queue' for connection id: 4104372200
webhooks: registering remote method 'start_job_queue' for connection id: 4104372200
Stats 41.2: gcodein=0 mcu: mcu_awake=0.006 mcu_task_avg=0.000008 mcu_task_stddev=0.000009 bytes_write=4000 bytes_read=8642 bytes_retransmit=9 bytes_invalid=0 send_seq=328 receive_seq=328 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999406 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000006 bytes_write=894 bytes_read=4816 bytes_retransmit=0 bytes_invalid=0 send_seq=120 receive_seq=120 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000300 adj=49995254 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1526 bytes_read=5838 bytes_retransmit=9 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999238 adj=64004272 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1526 bytes_read=5823 bytes_retransmit=9 bytes_invalid=0 send_seq=164 receive_seq=164 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999731 adj=63998861 Octopus_V1.1_F446: temp=27.7 EBB42_v1.2_T0: temp=27.0 EBB42_v1.2_T1: temp=26.3 raspberry_pi: temp=41.4 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=398 bytes_read=4940 bytes_retransmit=0 bytes_invalid=0 send_seq=65 receive_seq=65 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=32000247 adj=31999082 coil_temp=25.1 refs=0 mcu_temp=24.74 supply_voltage=3.069 sysload=1.44 cputime=9.765 memavail=338304 print_time=41.809 buffer_time=0.000 print_stall=0 extruder: target=0 temp=46.8 pwm=0.000 extruder1: target=0 temp=23.9 pwm=0.000
Stats 42.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4006 bytes_read=8773 bytes_retransmit=9 bytes_invalid=0 send_seq=329 receive_seq=329 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999366 rpi: mcu_awake=0.000 mcu_task_avg=0.000009 mcu_task_stddev=0.000006 bytes_write=900 bytes_read=4832 bytes_retransmit=0 bytes_invalid=0 send_seq=121 receive_seq=121 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000130 adj=50004374 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1532 bytes_read=5938 bytes_retransmit=9 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999113 adj=63998684 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1532 bytes_read=5923 bytes_retransmit=9 bytes_invalid=0 send_seq=165 receive_seq=165 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999614 adj=63999590 Octopus_V1.1_F446: temp=27.8 EBB42_v1.2_T0: temp=27.0 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=41.4 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=404 bytes_read=5280 bytes_retransmit=0 bytes_invalid=0 send_seq=66 receive_seq=66 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999934 adj=32000409 coil_temp=25.1 refs=0 mcu_temp=24.76 supply_voltage=3.069 sysload=1.44 cputime=9.787 memavail=337864 print_time=41.809 buffer_time=0.000 print_stall=0 extruder: target=0 temp=46.7 pwm=0.000 extruder1: target=0 temp=23.9 pwm=0.000
Stats 43.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=4012 bytes_read=8891 bytes_retransmit=9 bytes_invalid=0 send_seq=330 receive_seq=330 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999471 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=906 bytes_read=4861 bytes_retransmit=0 bytes_invalid=0 send_seq=122 receive_seq=122 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000134 adj=50002754 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1538 bytes_read=6038 bytes_retransmit=9 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999482 adj=63998446 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1538 bytes_read=6023 bytes_retransmit=9 bytes_invalid=0 send_seq=166 receive_seq=166 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999590 adj=63999301 Octopus_V1.1_F446: temp=27.9 EBB42_v1.2_T0: temp=27.1 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=40.9 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=410 bytes_read=5636 bytes_retransmit=0 bytes_invalid=0 send_seq=67 receive_seq=67 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=32000136 coil_temp=25.1 refs=0 mcu_temp=24.77 supply_voltage=3.069 sysload=1.44 cputime=9.814 memavail=338624 print_time=41.809 buffer_time=0.000 print_stall=0 extruder: target=0 temp=46.6 pwm=0.000 extruder1: target=0 temp=23.8 pwm=0.000
toolhead: max_velocity: 36000.000000
max_accel: 8000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
toolhead: max_velocity: 800.000000
max_accel: 10000.000000
minimum_cruise_ratio: 0.500000
square_corner_velocity: 5.000000
Stats 44.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5390 bytes_read=9895 bytes_retransmit=9 bytes_invalid=0 send_seq=390 receive_seq=390 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999372 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=912 bytes_read=4877 bytes_retransmit=0 bytes_invalid=0 send_seq=123 receive_seq=123 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000047 adj=50002032 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1544 bytes_read=6166 bytes_retransmit=9 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999350 adj=64000031 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1544 bytes_read=6151 bytes_retransmit=9 bytes_invalid=0 send_seq=167 receive_seq=167 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999587 adj=63999178 Octopus_V1.1_F446: temp=27.8 EBB42_v1.2_T0: temp=27.1 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=40.9 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=416 bytes_read=5992 bytes_retransmit=0 bytes_invalid=0 send_seq=68 receive_seq=68 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999935 adj=32000161 coil_temp=25.1 refs=0 mcu_temp=24.79 supply_voltage=3.069 sysload=1.44 cputime=9.961 memavail=344104 print_time=53.294 buffer_time=1.041 print_stall=0 extruder: target=0 temp=46.5 pwm=0.000 extruder1: target=0 temp=23.9 pwm=0.000
TMC 'stepper_z' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_z1' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_z2' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_z' reports GSTAT: 00000000
TMC 'stepper_z1' reports GSTAT: 00000000
TMC 'stepper_z2' reports GSTAT: 00000000
Stats 45.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=5835 bytes_read=10566 bytes_retransmit=9 bytes_invalid=0 send_seq=419 receive_seq=419 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999527 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=918 bytes_read=4893 bytes_retransmit=0 bytes_invalid=0 send_seq=124 receive_seq=124 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=50000007 adj=50000849 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1550 bytes_read=6266 bytes_retransmit=9 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999276 adj=63999405 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1550 bytes_read=6251 bytes_retransmit=9 bytes_invalid=0 send_seq=168 receive_seq=168 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999546 adj=63999645 Octopus_V1.1_F446: temp=27.9 EBB42_v1.2_T0: temp=27.0 EBB42_v1.2_T1: temp=26.7 raspberry_pi: temp=40.9 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=422 bytes_read=6348 bytes_retransmit=0 bytes_invalid=0 send_seq=69 receive_seq=69 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999958 adj=32000118 coil_temp=25.1 refs=0 mcu_temp=24.82 supply_voltage=3.069 sysload=1.32 cputime=10.010 memavail=344232 print_time=53.294 buffer_time=0.040 print_stall=0 extruder: target=0 temp=46.4 pwm=0.000 extruder1: target=0 temp=24.0 pwm=0.000
TMC 'stepper_x' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_y' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_y1' reports GSTAT: 00000001 reset=1(Reset)
TMC 'dual_carriage' reports GSTAT: 00000001 reset=1(Reset)
TMC 'stepper_x' reports GSTAT: 00000000
TMC 'stepper_y' reports GSTAT: 00000000
TMC 'stepper_y1' reports GSTAT: 00000000
TMC 'dual_carriage' reports GSTAT: 00000000
Stats 46.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=9305 bytes_read=13096 bytes_retransmit=9 bytes_invalid=0 send_seq=572 receive_seq=572 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999465 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=924 bytes_read=4909 bytes_retransmit=0 bytes_invalid=0 send_seq=125 receive_seq=125 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999971 adj=50000418 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1556 bytes_read=6380 bytes_retransmit=9 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999323 adj=63998941 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1556 bytes_read=6365 bytes_retransmit=9 bytes_invalid=0 send_seq=169 receive_seq=169 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999567 adj=63999444 Octopus_V1.1_F446: temp=27.9 EBB42_v1.2_T0: temp=27.2 EBB42_v1.2_T1: temp=26.5 raspberry_pi: temp=40.4 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=428 bytes_read=6704 bytes_retransmit=0 bytes_invalid=0 send_seq=70 receive_seq=70 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999939 adj=32000078 coil_temp=25.1 refs=0 mcu_temp=24.85 supply_voltage=3.069 sysload=1.32 cputime=10.150 memavail=344236 print_time=54.436 buffer_time=0.000 print_stall=0 extruder: target=0 temp=46.3 pwm=0.000 extruder1: target=0 temp=23.9 pwm=0.000
Stats 47.2: gcodein=0 mcu: mcu_awake=0.011 mcu_task_avg=0.000009 mcu_task_stddev=0.000007 bytes_write=15173 bytes_read=14251 bytes_retransmit=9 bytes_invalid=0 send_seq=693 receive_seq=693 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999555 rpi: mcu_awake=0.000 mcu_task_avg=0.000008 mcu_task_stddev=0.000007 bytes_write=930 bytes_read=4925 bytes_retransmit=0 bytes_invalid=0 send_seq=126 receive_seq=126 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999950 adj=50000221 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1595 bytes_read=6464 bytes_retransmit=89 bytes_invalid=0 send_seq=170 receive_seq=169 retransmit_seq=170 srtt=0.000 rttvar=0.000 rto=0.100 ready_bytes=0 upcoming_bytes=0 freq=63999323 adj=63999346 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1562 bytes_read=6493 bytes_retransmit=9 bytes_invalid=0 send_seq=170 receive_seq=170 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999558 adj=63999665 Octopus_V1.1_F446: temp=28.0 EBB42_v1.2_T0: temp=27.2 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=41.4 heater_bed: target=0 temp=22.8 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=434 bytes_read=7060 bytes_retransmit=0 bytes_invalid=0 send_seq=71 receive_seq=71 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999968 adj=32000017 coil_temp=25.1 refs=0 mcu_temp=24.87 supply_voltage=3.069 sysload=1.32 cputime=10.252 memavail=343764 print_time=55.438 buffer_time=0.000 print_stall=0 extruder: target=0 temp=46.2 pwm=0.000 extruder1: target=0 temp=23.9 pwm=0.000
Stats 48.2: gcodein=0 mcu: mcu_awake=0.011 mcu_task_avg=0.000009 mcu_task_stddev=0.000007 bytes_write=15509 bytes_read=14791 bytes_retransmit=9 bytes_invalid=0 send_seq=715 receive_seq=715 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999533 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000022 bytes_write=936 bytes_read=4954 bytes_retransmit=0 bytes_invalid=0 send_seq=127 receive_seq=127 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999933 adj=49999979 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1655 bytes_read=6464 bytes_retransmit=317 bytes_invalid=0 send_seq=176 receive_seq=169 retransmit_seq=175 srtt=0.000 rttvar=0.000 rto=0.800 ready_bytes=0 upcoming_bytes=0 freq=63999323 adj=63999219 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1568 bytes_read=6593 bytes_retransmit=9 bytes_invalid=0 send_seq=171 receive_seq=171 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999540 adj=63999474 Octopus_V1.1_F446: temp=27.8 EBB42_v1.2_T0: temp=27.2 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=40.4 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=440 bytes_read=7416 bytes_retransmit=0 bytes_invalid=0 send_seq=72 receive_seq=72 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999963 adj=32000074 coil_temp=25.1 refs=0 mcu_temp=24.89 supply_voltage=3.069 sysload=1.32 cputime=10.291 memavail=343764 print_time=55.693 buffer_time=0.000 print_stall=0 extruder: target=0 temp=46.2 pwm=0.000 extruder1: target=0 temp=23.7 pwm=0.000
Stats 49.2: gcodein=0 mcu: mcu_awake=0.011 mcu_task_avg=0.000009 mcu_task_stddev=0.000007 bytes_write=15711 bytes_read=15231 bytes_retransmit=9 bytes_invalid=0 send_seq=730 receive_seq=730 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999584 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000022 bytes_write=942 bytes_read=4970 bytes_retransmit=0 bytes_invalid=0 send_seq=128 receive_seq=128 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999957 adj=49999990 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1661 bytes_read=6464 bytes_retransmit=417 bytes_invalid=0 send_seq=177 receive_seq=169 retransmit_seq=176 srtt=0.000 rttvar=0.000 rto=1.600 ready_bytes=0 upcoming_bytes=0 freq=63999323 adj=63999316 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1574 bytes_read=6693 bytes_retransmit=9 bytes_invalid=0 send_seq=172 receive_seq=172 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999579 adj=63999477 Octopus_V1.1_F446: temp=27.7 EBB42_v1.2_T0: temp=27.2 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=41.4 heater_bed: target=0 temp=22.9 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=446 bytes_read=7772 bytes_retransmit=0 bytes_invalid=0 send_seq=73 receive_seq=73 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999960 adj=32000064 coil_temp=25.1 refs=0 mcu_temp=24.91 supply_voltage=3.069 sysload=1.32 cputime=10.363 memavail=343764 print_time=55.693 buffer_time=0.000 print_stall=0 extruder: target=0 temp=46.2 pwm=0.000 extruder1: target=0 temp=23.8 pwm=0.000
Timeout with MCU 'toolboard_t0' (eventtime=50.206624)
Transition to shutdown state: Lost communication with MCU 'toolboard_t0'
Dumping gcode input 0 blocks
Dumping 20 requests for client 4104372200
Received 32.586793: b'{"id":4090957728,"method":"objects/subscribe","params":{"objects":{"bed_mesh":["profile_name","mesh_max","mesh_min","probed_matrix","profiles"],"configfile":["config","warnings"],"display_status":["progress","message"],"fan":["speed"],"gcode_move":["extrude_factor","gcode_position","homing_origin","speed_factor","speed"],"idle_timeout":["state"],"pause_resume":["is_paused"],"print_stats":["print_duration","total_duration","filament_used","filename","state","message","info"],"toolhead":["homed_axes","estimated_print_time","print_time","position","extruder","max_accel","minimum_cruise_ratio","max_velocity","square_corner_velocity"],"virtual_sdcard":["file_position","is_active","progress"],"webhooks":["state","state_message"],"firmware_retraction":["retract_length","retract_speed","unretract_extra_length","unretract_speed"],"motion_report":["live_position","live_velocity","live_extruder_velocity"],"exclude_object":["current_object","objects","excluded_objects"],"manual_probe":["is_active"],"screws_tilt_adjust":["results","error"],"extruder":["target","temperature","pressure_advance","smooth_time","power"],"extruder1":["target","temperature","pressure_advance","smooth_time","power"],"heater_bed":["target","temperature","power"],"temperature_sensor Octopus_V1.1_F446":["temperature"],"temperature_sensor EBB42_v1.2_T0":["temperature"],"temperature_sensor EBB42_v1.2_T1":["temperature"],"temperature_sensor raspberry_pi":["temperature"],"controller_fan controller_fan":["speed"],"fan_generic part_fan_t0":["speed"],"fan_generic part_fan_t1":["speed"],"heater_fan toolhead_cooling_fan":["speed"],"heater_fan toolhead_cooling_fan_t1":["speed"],"heater_fan vaoc_fan":["speed"],"filament_switch_sensor toolhead_filament_sensor_t0":["enabled","filament_detected"],"filament_switch_sensor toolhead_filament_sensor_t1":["enabled","filament_detected"],"neopixel vaoc_led":["color_data"]},"response_template":{"method":"process_status_update"}}}'
Received 32.778487: b'{"id":4090235752,"method":"info","params":{}}'
Received 33.116558: b'{"id":4090957008,"method":"info","params":{}}'
Received 33.384280: b'{"id":4090957728,"method":"info","params":{}}'
Received 33.711173: b'{"id":4090956720,"method":"info","params":{}}'
Received 33.720398: b'{"id":4090751944,"method":"objects/subscribe","params":{"objects":{"webhooks":null,"bed_mesh":["profile_name","mesh_max","mesh_min","probed_matrix","profiles"],"configfile":["config","warnings"],"display_status":["progress","message"],"fan":["speed"],"gcode_move":["extrude_factor","gcode_position","homing_origin","speed_factor","speed"],"idle_timeout":["state"],"pause_resume":["is_paused"],"print_stats":["print_duration","total_duration","filament_used","filename","state","message","info"],"toolhead":["homed_axes","estimated_print_time","print_time","position","extruder","max_accel","minimum_cruise_ratio","max_velocity","square_corner_velocity"],"virtual_sdcard":["file_position","is_active","progress"],"firmware_retraction":["retract_length","retract_speed","unretract_extra_length","unretract_speed"],"motion_report":["live_position","live_velocity","live_extruder_velocity"],"exclude_object":["current_object","objects","excluded_objects"],"manual_probe":["is_active"],"screws_tilt_adjust":["results","error"],"extruder":["target","temperature","pressure_advance","smooth_time","power"],"extruder1":["target","temperature","pressure_advance","smooth_time","power"],"heater_bed":["target","temperature","power"],"temperature_sensor Octopus_V1.1_F446":["temperature"],"temperature_sensor EBB42_v1.2_T0":["temperature"],"temperature_sensor EBB42_v1.2_T1":["temperature"],"temperature_sensor raspberry_pi":["temperature"],"controller_fan controller_fan":["speed"],"fan_generic part_fan_t0":["speed"],"fan_generic part_fan_t1":["speed"],"heater_fan toolhead_cooling_fan":["speed"],"heater_fan toolhead_cooling_fan_t1":["speed"],"heater_fan vaoc_fan":["speed"],"filament_switch_sensor toolhead_filament_sensor_t0":["enabled","filament_detected"],"filament_switch_sensor toolhead_filament_sensor_t1":["enabled","filament_detected"],"neopixel vaoc_led":["color_data"]},"response_template":{"method":"process_status_update"}}}'
Received 33.985524: b'{"id":4081412200,"method":"gcode/subscribe_output","params":{"response_template":{"method":"process_gcode_response"}}}'
Received 33.987467: b'{"id":4081412200,"method":"list_endpoints","params":{}}'
Received 33.990682: b'{"id":4081411816,"method":"objects/subscribe","params":{"objects":{"webhooks":null,"print_stats":null,"bed_mesh":["profile_name","mesh_max","mesh_min","probed_matrix","profiles"],"configfile":["config","warnings"],"display_status":["progress","message"],"fan":["speed"],"gcode_move":["extrude_factor","gcode_position","homing_origin","speed_factor","speed"],"idle_timeout":["state"],"pause_resume":["is_paused"],"toolhead":["homed_axes","estimated_print_time","print_time","position","extruder","max_accel","minimum_cruise_ratio","max_velocity","square_corner_velocity"],"virtual_sdcard":["file_position","is_active","progress"],"firmware_retraction":["retract_length","retract_speed","unretract_extra_length","unretract_speed"],"motion_report":["live_position","live_velocity","live_extruder_velocity"],"exclude_object":["current_object","objects","excluded_objects"],"manual_probe":["is_active"],"screws_tilt_adjust":["results","error"],"extruder":["target","temperature","pressure_advance","smooth_time","power"],"extruder1":["target","temperature","pressure_advance","smooth_time","power"],"heater_bed":["target","temperature","power"],"temperature_sensor Octopus_V1.1_F446":["temperature"],"temperature_sensor EBB42_v1.2_T0":["temperature"],"temperature_sensor EBB42_v1.2_T1":["temperature"],"temperature_sensor raspberry_pi":["temperature"],"controller_fan controller_fan":["speed"],"fan_generic part_fan_t0":["speed"],"fan_generic part_fan_t1":["speed"],"heater_fan toolhead_cooling_fan":["speed"],"heater_fan toolhead_cooling_fan_t1":["speed"],"heater_fan vaoc_fan":["speed"],"filament_switch_sensor toolhead_filament_sensor_t0":["enabled","filament_detected"],"filament_switch_sensor toolhead_filament_sensor_t1":["enabled","filament_detected"],"neopixel vaoc_led":["color_data"]},"response_template":{"method":"process_status_update"}}}'
Received 34.235416: b'{"id":4090752088,"method":"objects/list","params":{}}'
Received 34.237496: b'{"id":4090752088,"method":"objects/query","params":{"objects":{"configfile":null}}}'
Received 34.504612: b'{"id":4090306320,"method":"register_remote_method","params":{"response_template":{"method":"shutdown_machine"},"remote_method":"shutdown_machine"}}'
Received 34.507620: b'{"id":4090926248,"method":"register_remote_method","params":{"response_template":{"method":"reboot_machine"},"remote_method":"reboot_machine"}}'
Received 34.508791: b'{"id":4090926248,"method":"register_remote_method","params":{"response_template":{"method":"pause_job_queue"},"remote_method":"pause_job_queue"}}'
Received 34.510256: b'{"id":4090926248,"method":"register_remote_method","params":{"response_template":{"method":"start_job_queue"},"remote_method":"start_job_queue"}}'
Received 34.512666: b'{"id":4090304256,"method":"objects/query","params":{"objects":{"heaters":null}}}'
Received 34.512666: b'{"id":4090304208,"method":"objects/query","params":{"objects":{"heaters":null}}}'
Received 34.715262: b'{"id":4090304688,"method":"objects/subscribe","params":{"objects":{"webhooks":null,"print_stats":null,"temperature_sensor Octopus_V1.1_F446":null,"temperature_sensor EBB42_v1.2_T0":null,"temperature_sensor EBB42_v1.2_T1":null,"temperature_sensor raspberry_pi":null,"heater_bed":null,"temperature_sensor beacon_coil":null,"extruder":null,"extruder1":null,"bed_mesh":["profile_name","mesh_max","mesh_min","probed_matrix","profiles"],"configfile":["config","warnings"],"display_status":["progress","message"],"fan":["speed"],"gcode_move":["extrude_factor","gcode_position","homing_origin","speed_factor","speed"],"idle_timeout":["state"],"pause_resume":["is_paused"],"toolhead":["homed_axes","estimated_print_time","print_time","position","extruder","max_accel","minimum_cruise_ratio","max_velocity","square_corner_velocity"],"virtual_sdcard":["file_position","is_active","progress"],"firmware_retraction":["retract_length","retract_speed","unretract_extra_length","unretract_speed"],"motion_report":["live_position","live_velocity","live_extruder_velocity"],"exclude_object":["current_object","objects","excluded_objects"],"manual_probe":["is_active"],"screws_tilt_adjust":["results","error"],"controller_fan controller_fan":["speed"],"fan_generic part_fan_t0":["speed"],"fan_generic part_fan_t1":["speed"],"heater_fan toolhead_cooling_fan":["speed"],"heater_fan toolhead_cooling_fan_t1":["speed"],"heater_fan vaoc_fan":["speed"],"filament_switch_sensor toolhead_filament_sensor_t0":["enabled","filament_detected"],"filament_switch_sensor toolhead_filament_sensor_t1":["enabled","filament_detected"],"neopixel vaoc_led":["color_data"]},"response_template":{"method":"process_status_update"}}}'
Received 34.985390: b'{"id":4090304472,"method":"objects/subscribe","params":{"objects":{"webhooks":null,"print_stats":null,"temperature_sensor Octopus_V1.1_F446":null,"temperature_sensor EBB42_v1.2_T0":null,"temperature_sensor EBB42_v1.2_T1":null,"temperature_sensor raspberry_pi":null,"heater_bed":null,"temperature_sensor beacon_coil":null,"extruder":null,"extruder1":null,"bed_mesh":["profile_name","mesh_max","mesh_min","probed_matrix","profiles"],"configfile":["config","warnings"],"display_status":["progress","message"],"fan":["speed"],"gcode_move":["extrude_factor","gcode_position","homing_origin","speed_factor","speed"],"idle_timeout":["state"],"pause_resume":["is_paused"],"toolhead":["homed_axes","estimated_print_time","print_time","position","extruder","max_accel","minimum_cruise_ratio","max_velocity","square_corner_velocity"],"virtual_sdcard":["file_position","is_active","progress"],"firmware_retraction":["retract_length","retract_speed","unretract_extra_length","unretract_speed"],"motion_report":["live_position","live_velocity","live_extruder_velocity"],"exclude_object":["current_object","objects","excluded_objects"],"manual_probe":["is_active"],"screws_tilt_adjust":["results","error"],"controller_fan controller_fan":["speed"],"fan_generic part_fan_t0":["speed"],"fan_generic part_fan_t1":["speed"],"heater_fan toolhead_cooling_fan":["speed"],"heater_fan toolhead_cooling_fan_t1":["speed"],"heater_fan vaoc_fan":["speed"],"filament_switch_sensor toolhead_filament_sensor_t0":["enabled","filament_detected"],"filament_switch_sensor toolhead_filament_sensor_t1":["enabled","filament_detected"],"neopixel vaoc_led":["color_data"]},"response_template":{"method":"process_status_update"}}}'
Received 43.949648: b'{"id":4090306416,"method":"gcode/script","params":{"script":"G28"}}'
gcode state: absolute_coord=True absolute_extrude=True base_position=[0.0, 0.0, 0.0, 0.0] last_position=[779.9, 250.0, 15.0, 0.0] homing_position=[0.0, 0.0, 0.0, 0.0] speed_factor=0.016666666666666666 extrude_factor=1.0 speed=600.0
Reactor garbage collection: (46.463700139, 43.993763807, 0.0)
Lost communication with MCU 'toolboard_t0'
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown
Stats 50.2: gcodein=0 mcu: mcu_awake=0.011 mcu_task_avg=0.000009 mcu_task_stddev=0.000007 bytes_write=15913 bytes_read=15656 bytes_retransmit=9 bytes_invalid=0 send_seq=745 receive_seq=745 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=179999627 rpi: mcu_awake=0.001 mcu_task_avg=0.000012 mcu_task_stddev=0.000022 bytes_write=948 bytes_read=4986 bytes_retransmit=0 bytes_invalid=0 send_seq=129 receive_seq=129 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=49999978 adj=50000062 toolboard_t0: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1667 bytes_read=6464 bytes_retransmit=417 bytes_invalid=0 send_seq=178 receive_seq=169 retransmit_seq=176 srtt=0.000 rttvar=0.000 rto=1.600 ready_bytes=0 upcoming_bytes=0 freq=63999323 adj=63999257 toolboard_t1: mcu_awake=0.002 mcu_task_avg=0.000015 mcu_task_stddev=0.000009 bytes_write=1580 bytes_read=6821 bytes_retransmit=9 bytes_invalid=0 send_seq=173 receive_seq=173 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999593 adj=63999640 Octopus_V1.1_F446: temp=27.6 EBB42_v1.2_T0: temp=27.2 EBB42_v1.2_T1: temp=26.6 raspberry_pi: temp=39.9 heater_bed: target=0 temp=23.0 pwm=0.000 beacon: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=452 bytes_read=8128 bytes_retransmit=0 bytes_invalid=0 send_seq=74 receive_seq=74 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=31999967 adj=31999992 coil_temp=25.1 refs=0 mcu_temp=24.93 supply_voltage=3.069 sysload=1.30 cputime=10.440 memavail=343764 print_time=55.693 buffer_time=0.000 print_stall=0 extruder: target=0 temp=46.2 pwm=0.000 extruder1: target=0 temp=23.9 pwm=0.000
MCU 'toolboard_t1' shutdown: Command request
clocksync state: mcu_freq=64000000 last_clock=3807936441 clock_est=(35.531 2877867893 63999593.948) min_half_rtt=0.000083 min_rtt_time=45.140 time_avg=35.531(46.498) clock_avg=2877867893.185(2975851088.109) pred_variance=1881314464.110 clock_adj=(-1.386 63999640.500)
Dumping serial stats: bytes_write=1586 bytes_read=6833 bytes_retransmit=9 bytes_invalid=0 send_seq=174 receive_seq=174 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 100 messages
Sent 0 30.897540 30.897540 9: seq: 1a, identify offset=2320 count=40
Sent 1 30.898057 30.898057 9: seq: 1b, identify offset=2360 count=40
Sent 2 30.898534 30.898534 9: seq: 1c, identify offset=2400 count=40
Sent 3 30.899028 30.899028 9: seq: 1d, identify offset=2440 count=40
Sent 4 30.899668 30.899668 9: seq: 1e, identify offset=2480 count=40
Sent 5 30.900311 30.900311 9: seq: 1f, identify offset=2520 count=40
Sent 6 30.900822 30.900822 9: seq: 10, identify offset=2560 count=40
Sent 7 30.901313 30.901313 9: seq: 11, identify offset=2600 count=40
Sent 8 30.901923 30.901923 9: seq: 12, identify offset=2640 count=40
Sent 9 30.902428 30.902428 9: seq: 13, identify offset=2680 count=40
Sent 10 30.902919 30.902919 9: seq: 14, identify offset=2720 count=40
Sent 11 30.903422 30.903422 9: seq: 15, identify offset=2760 count=40
Sent 12 30.903927 30.903927 9: seq: 16, identify offset=2800 count=40
Sent 13 30.904445 30.904445 9: seq: 17, identify offset=2840 count=40
Sent 14 30.904927 30.904927 9: seq: 18, identify offset=2880 count=40
Sent 15 30.905393 30.905393 9: seq: 19, identify offset=2920 count=40
Sent 16 30.905904 30.905904 9: seq: 1a, identify offset=2960 count=40
Sent 17 30.906403 30.906403 9: seq: 1b, identify offset=3000 count=40
Sent 18 30.906893 30.906893 9: seq: 1c, identify offset=3040 count=40
Sent 19 30.907362 30.907362 9: seq: 1d, identify offset=3045 count=40
Sent 20 30.913748 30.913748 6: seq: 1e, get_uptime
Sent 21 30.964958 30.964958 6: seq: 1f, get_clock
Sent 22 31.016570 31.016570 6: seq: 10, get_clock
Sent 23 31.067825 31.067825 6: seq: 11, get_clock
Sent 24 31.118811 31.118811 6: seq: 12, get_clock
Sent 25 31.170526 31.170526 6: seq: 13, get_clock
Sent 26 31.221473 31.221473 6: seq: 14, get_clock
Sent 27 31.272491 31.272491 6: seq: 15, get_clock
Sent 28 31.323422 31.323422 6: seq: 16, get_clock
Sent 29 31.325599 31.325599 6: seq: 17, get_clock
Sent 30 31.329201 31.329201 12: seq: 18, debug_read order=1 addr=536835496
Sent 31 31.329860 31.329860 12: seq: 19, debug_read order=1 addr=536835530
Sent 32 31.975734 31.975734 6: seq: 1a, get_config
Sent 33 31.977989 31.977989 7: seq: 1b, allocate_oids count=13
Sent 34 31.978049 31.978049 9: seq: 1c, config_spi oid=0 pin=PB12 cs_active_high=0
Sent 35 31.978103 31.978103 8: seq: 1d, config_adxl345 oid=1 spi_oid=0
Sent 36 31.978315 31.978315 9: seq: 1e, config_analog_in oid=6 pin=ADC_TEMPERATURE
Sent 37 31.978435 31.978435 15: seq: 1f, spi_set_software_bus oid=0 miso_pin=PB2 mosi_pin=PB11 sclk_pin=PB10 mode=3 rate=5000000
Sent 38 31.978516 31.978516 12: seq: 10, config_tmcuart oid=2 rx_pin=PA15 pull_up=0 tx_pin=PA15 bit_time=1600
Sent 39 31.978605 31.978605 11: seq: 11, config_digital_out oid=7 pin=PA0 value=1 default_value=1 max_duration=0
Sent 40 31.978636 31.978636 9: seq: 12, set_digital_out_pwm_cycle oid=7 cycle_ticks=2560
Sent 41 31.978837 31.978837 11: seq: 13, config_digital_out oid=8 pin=PA1 value=0 default_value=1 max_duration=0
Sent 42 31.978893 31.978893 10: seq: 14, set_digital_out_pwm_cycle oid=8 cycle_ticks=640000
Sent 43 31.978924 31.978924 8: seq: 15, config_buttons oid=9 button_count=2
Sent 44 31.979028 31.979028 9: seq: 16, config_endstop oid=3 pin=PB6 pull_up=0
Sent 45 31.979093 31.979093 7: seq: 17, config_trsync oid=4
Sent 46 31.979124 31.979124 8: seq: 18, config_analog_in oid=10 pin=PA3
Sent 47 31.979373 31.979373 15: seq: 19, config_digital_out oid=11 pin=PB13 value=0 default_value=0 max_duration=320000000
Sent 48 31.979406 31.979406 11: seq: 1a, set_digital_out_pwm_cycle oid=11 cycle_ticks=6400000
Sent 49 31.979533 31.979533 11: seq: 1b, config_stepper oid=5 step_pin=PD0 dir_pin=PD1 invert_step=4294967295 step_pulse_ticks=0
Sent 50 31.979706 31.979706 11: seq: 1c, config_digital_out oid=12 pin=PD2 value=1 default_value=1 max_duration=0
Sent 51 31.979811 31.979811 11: seq: 1d, finalize_config crc=2168895921
Sent 52 31.979951 31.979951 25: seq: 1e, query_analog_in oid=6 clock=2716526561 sample_ticks=64000 sample_count=8 rest_ticks=19200000 min_value=0 max_value=65535 range_check_count=4
Sent 53 31.979999 31.979999 14: seq: 1f, queue_digital_out oid=7 clock=2663177617 on_ticks=2560
Sent 54 31.980101 31.980101 13: seq: 10, queue_digital_out oid=8 clock=2663181423 on_ticks=0
Sent 55 31.980183 31.980183 10: seq: 11, buttons_add oid=9 pos=0 pin=PB4 pull_up=1
Sent 56 31.980214 31.980214 10: seq: 12, buttons_add oid=9 pos=1 pin=PB3 pull_up=1
Sent 57 31.980276 31.980276 17: seq: 13, buttons_query oid=9 clock=2718446561 rest_ticks=128000 retransmit_count=50 invert=2
Sent 58 31.980340 31.980340 26: seq: 14, query_analog_in oid=10 clock=2719086561 sample_ticks=64000 sample_count=8 rest_ticks=19200000 min_value=10237 max_value=16734 range_check_count=4
Sent 59 31.980371 31.980371 13: seq: 15, queue_digital_out oid=11 clock=2663199704 on_ticks=0
Sent 60 31.980482 31.980482 6: seq: 16, get_config
Sent 61 32.309865 32.309865 6: seq: 17, get_clock
Sent 62 32.922773 32.922773 14: seq: 18, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 63 32.926878 32.926878 19: seq: 19, tmcuart_send oid=2 write=b'\xea\x03\x080\x80\x00\n\x08\xb8\x87' read=0
Sent 64 32.929576 32.929576 14: seq: 1a, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 65 32.933611 32.933611 19: seq: 1b, tmcuart_send oid=2 write=b'\xea\x03h0\x80\x00\x12\x08 \xda' read=0
Sent 66 32.936433 32.936433 14: seq: 1c, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 67 32.940858 32.940858 19: seq: 1d, tmcuart_send oid=2 write=b'\xea\x03\x88=\x91\x04\x1a\x88\xae\xe7' read=0
Sent 68 32.943583 32.943583 14: seq: 1e, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 69 32.948023 32.948023 19: seq: 1f, tmcuart_send oid=2 write=b'\xea\x03\x082\x80\x10\xb2\xc8\xa2\xa4' read=0
Sent 70 32.950811 32.950811 14: seq: 10, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 71 32.955222 32.955222 19: seq: 11, tmcuart_send oid=2 write=b'\xea\x03h2\x80\x1e\xfa\xef?\xdf' read=0
Sent 72 32.957990 32.957990 14: seq: 12, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 73 32.962560 32.962560 19: seq: 13, tmcuart_send oid=2 write=b'\xea\x03\x882\x80\x00\x02\x08\xa0\xe6' read=0
Sent 74 32.965268 32.965268 14: seq: 14, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 75 32.969823 32.969823 19: seq: 15, tmcuart_send oid=2 write=b'\xea\x03H8\x80\x00\x02\x08 \xde' read=0
Sent 76 32.972504 32.972504 14: seq: 16, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 77 32.976898 32.976898 19: seq: 17, tmcuart_send oid=2 write=b'\xea\x03\x08>\xe4\x1ar\x88\xa4\x85' read=0
Sent 78 32.979592 32.979592 14: seq: 18, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 79 32.983995 32.983995 19: seq: 19, tmcuart_send oid=2 write=b'\xea\x03(2\x80\x00\x02\x88"\xf3' read=0
Sent 80 32.986739 32.986739 14: seq: 1a, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 81 32.991131 32.991131 19: seq: 1b, tmcuart_send oid=2 write=b'\xea\x03\x088\x80\x00\x02\x08 \xba' read=0
Sent 82 32.993841 32.993841 14: seq: 1c, tmcuart_send oid=2 write=b'\xea\x03H \xe4' read=10
Sent 83 33.042522 33.042522 8: seq: 1d, buttons_ack oid=9 count=1
Sent 84 33.294296 33.294296 6: seq: 1e, get_clock
Sent 85 33.489951 33.489951 7: seq: 1f, stepper_get_position oid=5
Sent 86 33.491372 33.491372 14: seq: 10, tmcuart_send oid=2 write=b'\xea\x03H-\xd5' read=10
Sent 87 34.279030 34.279030 6: seq: 11, get_clock
Sent 88 35.263455 35.263455 6: seq: 12, get_clock
Sent 89 41.201842 41.201842 6: seq: 13, get_clock
Sent 90 42.186724 42.186724 6: seq: 14, get_clock
Sent 91 43.172749 43.172749 6: seq: 15, get_clock
Sent 92 44.155900 44.155900 6: seq: 16, get_clock
Sent 93 45.140459 45.140459 6: seq: 17, get_clock
Sent 94 46.124853 46.124853 6: seq: 18, get_clock
Sent 95 47.109076 47.109076 6: seq: 19, get_clock
Sent 96 48.093280 48.093280 6: seq: 1a, get_clock
Sent 97 49.079240 49.079240 6: seq: 1b, get_clock
Sent 98 50.063448 50.063448 6: seq: 1c, get_clock
Sent 99 50.220252 50.220252 6: seq: 1d, emergency_stop
Dumping receive queue 100 messages
Receive: 0 37.257430 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3007086561 value=10869
Receive: 1 37.517515 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3023726561 value=7473
Receive: 2 37.557517 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3026286561 value=10874
Receive: 3 37.817429 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3042926561 value=7470
Receive: 4 37.857477 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3045486561 value=10875
Receive: 5 38.117396 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3062126561 value=7471
Receive: 6 38.157417 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3064686561 value=10872
Receive: 7 38.417440 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3081326561 value=7472
Receive: 8 38.457433 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3083886561 value=10876
Receive: 9 38.717411 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3100526561 value=7477
Receive: 10 38.757411 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3103086561 value=10877
Receive: 11 39.017426 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3119726561 value=7472
Receive: 12 39.057431 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3122286561 value=10877
Receive: 13 39.317485 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3138926561 value=7473
Receive: 14 39.357462 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3141486561 value=10871
Receive: 15 39.617468 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3158126561 value=7476
Receive: 16 39.657433 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3160686561 value=10872
Receive: 17 39.917461 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3177326561 value=7475
Receive: 18 39.957489 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3179886561 value=10876
Receive: 19 40.217471 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3196526561 value=7471
Receive: 20 40.257480 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3199086561 value=10871
Receive: 21 40.517457 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3215726561 value=7474
Receive: 22 40.557467 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3218286561 value=10870
Receive: 23 40.564609 35.263455 14: seq: 13, stats count=154 sum=145313 sumsq=742628
Receive: 24 40.817449 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3234926561 value=7477
Receive: 25 40.857466 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3237486561 value=10874
Receive: 26 41.117448 35.263455 14: seq: 13, analog_in_state oid=6 next_clock=3254126561 value=7471
Receive: 27 41.157479 35.263455 14: seq: 13, analog_in_state oid=10 next_clock=3256686561 value=10873
Receive: 28 41.202234 41.201842 11: seq: 14, clock clock=3240795831
Receive: 29 41.417435 41.201842 14: seq: 14, analog_in_state oid=6 next_clock=3273326561 value=7470
Receive: 30 41.457457 41.201842 14: seq: 14, analog_in_state oid=10 next_clock=3275886561 value=10870
Receive: 31 41.717453 41.201842 14: seq: 14, analog_in_state oid=6 next_clock=3292526561 value=7469
Receive: 32 41.757452 41.201842 14: seq: 14, analog_in_state oid=10 next_clock=3295086561 value=10874
Receive: 33 42.017456 41.201842 14: seq: 14, analog_in_state oid=6 next_clock=3311726561 value=7476
Receive: 34 42.057444 41.201842 14: seq: 14, analog_in_state oid=10 next_clock=3314286561 value=10873
Receive: 35 42.187011 42.186724 11: seq: 15, clock clock=3303827113
Receive: 36 42.317470 42.186724 14: seq: 15, analog_in_state oid=6 next_clock=3330926561 value=7476
Receive: 37 42.357469 42.186724 14: seq: 15, analog_in_state oid=10 next_clock=3333486561 value=10873
Receive: 38 42.617549 42.186724 14: seq: 15, analog_in_state oid=6 next_clock=3350126561 value=7469
Receive: 39 42.657515 42.186724 14: seq: 15, analog_in_state oid=10 next_clock=3352686561 value=10872
Receive: 40 42.917522 42.186724 14: seq: 15, analog_in_state oid=6 next_clock=3369326561 value=7475
Receive: 41 42.957480 42.186724 14: seq: 15, analog_in_state oid=10 next_clock=3371886561 value=10871
Receive: 42 43.173034 43.172749 11: seq: 16, clock clock=3366932949
Receive: 43 43.228110 43.172749 14: seq: 16, analog_in_state oid=6 next_clock=3388526561 value=7475
Receive: 44 43.257527 43.172749 14: seq: 16, analog_in_state oid=10 next_clock=3391086561 value=10875
Receive: 45 43.517449 43.172749 14: seq: 16, analog_in_state oid=6 next_clock=3407726561 value=7477
Receive: 46 43.557463 43.172749 14: seq: 16, analog_in_state oid=10 next_clock=3410286561 value=10875
Receive: 47 43.817439 43.172749 14: seq: 16, analog_in_state oid=6 next_clock=3426926561 value=7476
Receive: 48 43.857462 43.172749 14: seq: 16, analog_in_state oid=10 next_clock=3429486561 value=10870
Receive: 49 44.117463 43.172749 14: seq: 16, analog_in_state oid=6 next_clock=3446126561 value=7474
Receive: 50 44.156129 44.155900 11: seq: 17, clock clock=3429854552
Receive: 51 44.157478 44.155900 14: seq: 17, analog_in_state oid=10 next_clock=3448686561 value=10874
Receive: 52 44.417463 44.155900 14: seq: 17, analog_in_state oid=6 next_clock=3465326561 value=7476
Receive: 53 44.457444 44.155900 14: seq: 17, analog_in_state oid=10 next_clock=3467886561 value=10871
Receive: 54 44.717511 44.155900 14: seq: 17, analog_in_state oid=6 next_clock=3484526561 value=7472
Receive: 55 44.757470 44.155900 14: seq: 17, analog_in_state oid=10 next_clock=3487086561 value=10871
Receive: 56 45.017495 44.155900 14: seq: 17, analog_in_state oid=6 next_clock=3503726561 value=7479
Receive: 57 45.057555 44.155900 14: seq: 17, analog_in_state oid=10 next_clock=3506286561 value=10876
Receive: 58 45.140626 45.140459 11: seq: 18, clock clock=3492863948
Receive: 59 45.317457 45.140459 14: seq: 18, analog_in_state oid=6 next_clock=3522926561 value=7478
Receive: 60 45.357466 45.140459 14: seq: 18, analog_in_state oid=10 next_clock=3525486561 value=10875
Receive: 61 45.564714 45.140459 14: seq: 18, stats count=163 sum=156372 sumsq=817369
Receive: 62 45.617461 45.140459 14: seq: 18, analog_in_state oid=6 next_clock=3542126561 value=7477
Receive: 63 45.657461 45.140459 14: seq: 18, analog_in_state oid=10 next_clock=3544686561 value=10871
Receive: 64 45.917465 45.140459 14: seq: 18, analog_in_state oid=6 next_clock=3561326561 value=7475
Receive: 65 45.957466 45.140459 14: seq: 18, analog_in_state oid=10 next_clock=3563886561 value=10874
Receive: 66 46.125066 46.124853 11: seq: 19, clock clock=3555867420
Receive: 67 46.217457 46.124853 14: seq: 19, analog_in_state oid=6 next_clock=3580526561 value=7478
Receive: 68 46.261846 46.124853 14: seq: 19, analog_in_state oid=10 next_clock=3583086561 value=10873
Receive: 69 46.517490 46.124853 14: seq: 19, analog_in_state oid=6 next_clock=3599726561 value=7473
Receive: 70 46.557494 46.124853 14: seq: 19, analog_in_state oid=10 next_clock=3602286561 value=10869
Receive: 71 46.817469 46.124853 14: seq: 19, analog_in_state oid=6 next_clock=3618926561 value=7473
Receive: 72 46.857472 46.124853 14: seq: 19, analog_in_state oid=10 next_clock=3621486561 value=10875
Receive: 73 47.109296 47.109076 11: seq: 1a, clock clock=3618855756
Receive: 74 47.117461 47.109076 14: seq: 1a, analog_in_state oid=6 next_clock=3638126561 value=7477
Receive: 75 47.157469 47.109076 14: seq: 1a, analog_in_state oid=10 next_clock=3640686561 value=10874
Receive: 76 47.417490 47.109076 14: seq: 1a, analog_in_state oid=6 next_clock=3657326561 value=7481
Receive: 77 47.457502 47.109076 14: seq: 1a, analog_in_state oid=10 next_clock=3659886561 value=10872
Receive: 78 47.717509 47.109076 14: seq: 1a, analog_in_state oid=6 next_clock=3676526561 value=7475
Receive: 79 47.757536 47.109076 14: seq: 1a, analog_in_state oid=10 next_clock=3679086561 value=10880
Receive: 80 48.017524 47.109076 14: seq: 1a, analog_in_state oid=6 next_clock=3695726561 value=7477
Receive: 81 48.057502 47.109076 14: seq: 1a, analog_in_state oid=10 next_clock=3698286561 value=10869
Receive: 82 48.093460 48.093280 11: seq: 1b, clock clock=3681843456
Receive: 83 48.317570 48.093280 14: seq: 1b, analog_in_state oid=6 next_clock=3714926561 value=7483
Receive: 84 48.357650 48.093280 14: seq: 1b, analog_in_state oid=10 next_clock=3717486561 value=10869
Receive: 85 48.617589 48.093280 14: seq: 1b, analog_in_state oid=6 next_clock=3734126561 value=7477
Receive: 86 48.657603 48.093280 14: seq: 1b, analog_in_state oid=10 next_clock=3736686561 value=10875
Receive: 87 48.917561 48.093280 14: seq: 1b, analog_in_state oid=6 next_clock=3753326561 value=7477
Receive: 88 48.957551 48.093280 14: seq: 1b, analog_in_state oid=10 next_clock=3755886561 value=10871
Receive: 89 49.079523 49.079240 11: seq: 1c, clock clock=3744948923
Receive: 90 49.217599 49.079240 14: seq: 1c, analog_in_state oid=6 next_clock=3772526561 value=7482
Receive: 91 49.257635 49.079240 14: seq: 1c, analog_in_state oid=10 next_clock=3775086561 value=10874
Receive: 92 49.517608 49.079240 14: seq: 1c, analog_in_state oid=6 next_clock=3791726561 value=7476
Receive: 93 49.557751 49.079240 14: seq: 1c, analog_in_state oid=10 next_clock=3794286561 value=10873
Receive: 94 49.817619 49.079240 14: seq: 1c, analog_in_state oid=6 next_clock=3810926561 value=7480
Receive: 95 49.857669 49.079240 14: seq: 1c, analog_in_state oid=10 next_clock=3813486561 value=10872
Receive: 96 50.063747 50.063448 11: seq: 1d, clock clock=3807936441
Receive: 97 50.117570 50.063448 14: seq: 1d, analog_in_state oid=6 next_clock=3830126561 value=7478
Receive: 98 50.157561 50.063448 14: seq: 1d, analog_in_state oid=10 next_clock=3832686561 value=10874
Receive: 99 50.220996 50.220252 12: seq: 1e, shutdown clock=3817983493 static_string_id=Command request
Dumping trapq 'toolhead' 1 moves:
move 0: pt=55.442797 mt=16.789000 sv=50.000000 a=0.000000 sp=(779.775000,250.000000,15.000000) ar=(-1.000000,0.000000,0.000000)
Requested toolhead position at shutdown time 58.262186: (638.8055530555569, 250.0, 15.0)
MCU 'beacon' shutdown: Emergency stop
clocksync state: mcu_freq=32000000 last_clock=1840929757 clock_est=(35.876 1386891933 31999967.522) min_half_rtt=0.000190 min_rtt_time=44.156 time_avg=35.876(43.302) clock_avg=1386891933.118(1385663387.856) pred_variance=486692260.350 clock_adj=(0.586 31999992.750)
Dumping serial stats: bytes_write=458 bytes_read=8153 bytes_retransmit=0 bytes_invalid=0 send_seq=75 receive_seq=75 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 61 messages
Sent 0 31.496801 31.496801 8: seq: 11, identify offset=0 count=40
Sent 1 31.507807 31.507807 8: seq: 10, identify offset=0 count=40
Sent 2 31.508753 31.508753 8: seq: 11, identify offset=40 count=40
Sent 3 31.509634 31.509634 8: seq: 12, identify offset=80 count=40
Sent 4 31.510540 31.510540 9: seq: 13, identify offset=120 count=40
Sent 5 31.511430 31.511430 9: seq: 14, identify offset=160 count=40
Sent 6 31.512364 31.512364 9: seq: 15, identify offset=200 count=40
Sent 7 31.513181 31.513181 9: seq: 16, identify offset=240 count=40
Sent 8 31.514015 31.514015 9: seq: 17, identify offset=280 count=40
Sent 9 31.514791 31.514791 9: seq: 18, identify offset=320 count=40
Sent 10 31.515848 31.515848 9: seq: 19, identify offset=360 count=40
Sent 11 31.517096 31.517096 9: seq: 1a, identify offset=400 count=40
Sent 12 31.518191 31.518191 9: seq: 1b, identify offset=440 count=40
Sent 13 31.519129 31.519129 9: seq: 1c, identify offset=480 count=40
Sent 14 31.520106 31.520106 9: seq: 1d, identify offset=520 count=40
Sent 15 31.521030 31.521030 9: seq: 1e, identify offset=560 count=40
Sent 16 31.521936 31.521936 9: seq: 1f, identify offset=600 count=40
Sent 17 31.522817 31.522817 9: seq: 10, identify offset=640 count=40
Sent 18 31.523783 31.523783 9: seq: 11, identify offset=680 count=40
Sent 19 31.524751 31.524751 9: seq: 12, identify offset=720 count=40
Sent 20 31.525584 31.525584 9: seq: 13, identify offset=760 count=40
Sent 21 31.526494 31.526494 9: seq: 14, identify offset=800 count=40
Sent 22 31.527340 31.527340 9: seq: 15, identify offset=840 count=40
Sent 23 31.528210 31.528210 9: seq: 16, identify offset=880 count=40
Sent 24 31.529017 31.529017 9: seq: 17, identify offset=920 count=40
Sent 25 31.529797 31.529797 9: seq: 18, identify offset=937 count=40
Sent 26 31.532129 31.532129 6: seq: 19, get_uptime
Sent 27 31.583168 31.583168 6: seq: 1a, get_clock
Sent 28 31.634459 31.634459 6: seq: 1b, get_clock
Sent 29 31.686689 31.686689 6: seq: 1c, get_clock
Sent 30 31.738033 31.738033 6: seq: 1d, get_clock
Sent 31 31.789340 31.789340 6: seq: 1e, get_clock
Sent 32 31.840582 31.840582 6: seq: 1f, get_clock
Sent 33 31.892233 31.892233 6: seq: 10, get_clock
Sent 34 31.944192 31.944192 6: seq: 11, get_clock
Sent 35 31.947063 31.947063 6: seq: 12, get_clock
Sent 36 32.931043 32.931043 6: seq: 13, get_clock
Sent 37 32.998439 32.998439 6: seq: 14, get_config
Sent 38 33.419155 33.419155 10: seq: 15, beacon_nvm_read len=8 offset=65534
Sent 39 33.420360 33.420360 8: seq: 16, beacon_nvm_read len=20 offset=0
Sent 40 33.423579 33.423579 14: seq: 17, beacon_set_threshold trigger=44152277 untrigger=43887363
Sent 41 33.423848 33.423848 7: seq: 18, beacon_stream en=0
Sent 42 33.424898 33.424898 8: seq: 19, beacon_accel_stream en=0 scale=0
Sent 43 33.426451 33.426451 7: seq: 1a, allocate_oids count=1
Sent 44 33.426882 33.426882 7: seq: 1b, config_trsync oid=0
Sent 45 33.427146 33.427146 11: seq: 1c, finalize_config crc=2501485974
Sent 46 33.427443 33.427443 6: seq: 1d, get_config
Sent 47 33.915866 33.915866 6: seq: 1e, get_clock
Sent 48 34.900162 34.900162 6: seq: 1f, get_clock
Sent 49 41.213758 41.213758 6: seq: 10, get_clock
Sent 50 42.186822 42.186822 6: seq: 11, get_clock
Sent 51 43.173429 43.173429 6: seq: 12, get_clock
Sent 52 44.156029 44.156029 6: seq: 13, get_clock
Sent 53 45.141056 45.141056 6: seq: 14, get_clock
Sent 54 46.124936 46.124936 6: seq: 15, get_clock
Sent 55 47.109511 47.109511 6: seq: 16, get_clock
Sent 56 48.093724 48.093724 6: seq: 17, get_clock
Sent 57 49.079696 49.079696 6: seq: 18, get_clock
Sent 58 50.064804 50.064804 6: seq: 19, get_clock
Sent 59 50.223323 50.223323 6: seq: 1a, emergency_stop
Sent 60 50.226512 50.226512 7: seq: 1b, beacon_stream en=0
Dumping receive queue 100 messages
Receive: 0 45.515439 45.141056 16: seq: 15, beacon_status mcu_temp=44816 supply_voltage=50131 coil_temp=53980 status=1
Receive: 1 45.534534 45.141056 18: seq: 15, beacon_data samples=1 start_clock=1695915187 delta_clock=0 data=b'\x82\x8e\x9a\x18'
Receive: 2 45.615623 45.141056 16: seq: 15, beacon_status mcu_temp=44816 supply_voltage=50131 coil_temp=53980 status=1
Receive: 3 45.634516 45.141056 18: seq: 15, beacon_data samples=1 start_clock=1699115964 delta_clock=0 data=b'\x82\x8e\x9a\x18'
Receive: 4 45.715778 45.141056 16: seq: 15, beacon_status mcu_temp=44816 supply_voltage=50131 coil_temp=53978 status=1
Receive: 5 45.734563 45.141056 18: seq: 15, beacon_data samples=1 start_clock=1702316746 delta_clock=0 data=b'\x82\x8e\x9a\x18'
Receive: 6 45.815995 45.141056 16: seq: 15, beacon_status mcu_temp=44816 supply_voltage=50131 coil_temp=53977 status=1
Receive: 7 45.834594 45.141056 18: seq: 15, beacon_data samples=1 start_clock=1705517525 delta_clock=0 data=b'\x82\x8e\x9a\x18'
Receive: 8 45.916172 45.141056 16: seq: 15, beacon_status mcu_temp=44818 supply_voltage=50130 coil_temp=53977 status=1
Receive: 9 45.934590 45.141056 18: seq: 15, beacon_data samples=1 start_clock=1708718305 delta_clock=0 data=b'\x82\x8e\x9a\x18'
Receive: 10 46.016451 45.141056 16: seq: 15, beacon_status mcu_temp=44818 supply_voltage=50130 coil_temp=53978 status=1
Receive: 11 46.034672 45.141056 18: seq: 15, beacon_data samples=1 start_clock=1711919094 delta_clock=0 data=b'\x82\x8e\x97z'
Receive: 12 46.116552 45.141056 16: seq: 15, beacon_status mcu_temp=44818 supply_voltage=50130 coil_temp=53976 status=1
Receive: 13 46.125321 46.124936 11: seq: 16, clock clock=1714852408
Receive: 14 46.134686 46.124936 18: seq: 16, beacon_data samples=1 start_clock=1715119878 delta_clock=0 data=b'\x82\x8e\x9c\xb7'
Receive: 15 46.216810 46.124936 16: seq: 16, beacon_status mcu_temp=44818 supply_voltage=50130 coil_temp=53977 status=1
Receive: 16 46.234679 46.124936 18: seq: 16, beacon_data samples=1 start_clock=1718320642 delta_clock=0 data=b'\x82\x8e\x9a\x18'
Receive: 17 46.316941 46.124936 16: seq: 16, beacon_status mcu_temp=44820 supply_voltage=50130 coil_temp=53977 status=1
Receive: 18 46.334705 46.124936 18: seq: 16, beacon_data samples=1 start_clock=1721521420 delta_clock=0 data=b'\x82\x8e\x97z'
Receive: 19 46.417165 46.124936 16: seq: 16, beacon_status mcu_temp=44820 supply_voltage=50130 coil_temp=53977 status=1
Receive: 20 46.434747 46.124936 18: seq: 16, beacon_data samples=1 start_clock=1724722202 delta_clock=0 data=b'\x82\x8e\x97z'
Receive: 21 46.517326 46.124936 16: seq: 16, beacon_status mcu_temp=44820 supply_voltage=50130 coil_temp=53975 status=1
Receive: 22 46.534752 46.124936 18: seq: 16, beacon_data samples=1 start_clock=1727922969 delta_clock=0 data=b'\x82\x8e\x9a\x18'
Receive: 23 46.617540 46.124936 16: seq: 16, beacon_status mcu_temp=44820 supply_voltage=50130 coil_temp=53978 status=1
Receive: 24 46.634766 46.124936 18: seq: 16, beacon_data samples=1 start_clock=1731123741 delta_clock=0 data=b'\x82\x8e\x97z'
Receive: 25 46.717780 46.124936 16: seq: 16, beacon_status mcu_temp=44820 supply_voltage=50130 coil_temp=53977 status=1
Receive: 26 46.734823 46.124936 18: seq: 16, beacon_data samples=1 start_clock=1734324523 delta_clock=0 data=b'\x82\x8e\x9a\x18'
Receive: 27 46.817911 46.124936 16: seq: 16, beacon_status mcu_temp=44822 supply_voltage=50131 coil_temp=53977 status=1
Receive: 28 46.834846 46.124936 18: seq: 16, beacon_data samples=1 start_clock=1737525297 delta_clock=0 data=b'\x82\x8e\x9a\x18'
Receive: 29 46.918169 46.124936 16: seq: 16, beacon_status mcu_temp=44822 supply_voltage=50131 coil_temp=53976 status=1
Receive: 30 46.934874 46.124936 18: seq: 16, beacon_data samples=1 start_clock=1740726078 delta_clock=0 data=b'\x82\x8e\xa2\xa0'
Receive: 31 47.018291 46.124936 16: seq: 16, beacon_status mcu_temp=44822 supply_voltage=50131 coil_temp=53974 status=1
Receive: 32 47.034866 46.124936 18: seq: 16, beacon_data samples=1 start_clock=1743926856 delta_clock=0 data=b'\x82\x8e\xa2\xa0'
Receive: 33 47.109999 47.109511 11: seq: 17, clock clock=1746361349
Receive: 34 47.118566 47.109511 16: seq: 17, beacon_status mcu_temp=44822 supply_voltage=50131 coil_temp=53973 status=1
Receive: 35 47.134892 47.109511 18: seq: 17, beacon_data samples=1 start_clock=1747127633 delta_clock=0 data=b'\x82\x8e\xa7\xde'
Receive: 36 47.218701 47.109511 16: seq: 17, beacon_status mcu_temp=44822 supply_voltage=50131 coil_temp=53973 status=1
Receive: 37 47.234937 47.109511 18: seq: 17, beacon_data samples=1 start_clock=1750328413 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 38 47.318846 47.109511 16: seq: 17, beacon_status mcu_temp=44823 supply_voltage=50131 coil_temp=53973 status=1
Receive: 39 47.335002 47.109511 18: seq: 17, beacon_data samples=1 start_clock=1753529188 delta_clock=0 data=b'\x82\x8e\xa4\x93'
Receive: 40 47.419045 47.109511 16: seq: 17, beacon_status mcu_temp=44823 supply_voltage=50131 coil_temp=53973 status=1
Receive: 41 47.434967 47.109511 18: seq: 17, beacon_data samples=1 start_clock=1756729972 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 42 47.520107 47.109511 16: seq: 17, beacon_status mcu_temp=44823 supply_voltage=50131 coil_temp=53972 status=1
Receive: 43 47.535015 47.109511 18: seq: 17, beacon_data samples=1 start_clock=1759930744 delta_clock=0 data=b'\x82\x8e\xa4\x93'
Receive: 44 47.619384 47.109511 16: seq: 17, beacon_status mcu_temp=44823 supply_voltage=50131 coil_temp=53972 status=1
Receive: 45 47.635023 47.109511 18: seq: 17, beacon_data samples=1 start_clock=1763131531 delta_clock=0 data=b'\x82\x8e\xa2\xa0'
Receive: 46 47.719605 47.109511 16: seq: 17, beacon_status mcu_temp=44824 supply_voltage=50131 coil_temp=53973 status=1
Receive: 47 47.735029 47.109511 18: seq: 17, beacon_data samples=1 start_clock=1766332298 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 48 47.819797 47.109511 16: seq: 17, beacon_status mcu_temp=44824 supply_voltage=50131 coil_temp=53973 status=1
Receive: 49 47.835082 47.109511 18: seq: 17, beacon_data samples=1 start_clock=1769533081 delta_clock=0 data=b'\x82\x8e\xa4\x93'
Receive: 50 47.920046 47.109511 16: seq: 17, beacon_status mcu_temp=44824 supply_voltage=50131 coil_temp=53975 status=1
Receive: 51 47.935113 47.109511 18: seq: 17, beacon_data samples=1 start_clock=1772733862 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 52 48.020309 47.109511 16: seq: 17, beacon_status mcu_temp=44824 supply_voltage=50131 coil_temp=53976 status=1
Receive: 53 48.035139 47.109511 18: seq: 17, beacon_data samples=1 start_clock=1775934644 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 54 48.094108 48.093724 11: seq: 18, clock clock=1777854337
Receive: 55 48.120362 48.093724 16: seq: 18, beacon_status mcu_temp=44824 supply_voltage=50131 coil_temp=53975 status=1
Receive: 56 48.135139 48.093724 18: seq: 18, beacon_data samples=1 start_clock=1779135431 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 57 48.220566 48.093724 16: seq: 18, beacon_status mcu_temp=44826 supply_voltage=50131 coil_temp=53975 status=1
Receive: 58 48.235182 48.093724 18: seq: 18, beacon_data samples=1 start_clock=1782336214 delta_clock=0 data=b'\x82\x8e\xa4\x93'
Receive: 59 48.320804 48.093724 16: seq: 18, beacon_status mcu_temp=44826 supply_voltage=50131 coil_temp=53976 status=1
Receive: 60 48.335387 48.093724 18: seq: 18, beacon_data samples=1 start_clock=1785536990 delta_clock=0 data=b'\x82\x8e\xa4\x93'
Receive: 61 48.421005 48.093724 16: seq: 18, beacon_status mcu_temp=44826 supply_voltage=50131 coil_temp=53976 status=1
Receive: 62 48.435298 48.093724 18: seq: 18, beacon_data samples=1 start_clock=1788737767 delta_clock=0 data=b'\x82\x8e\xa2\xa0'
Receive: 63 48.521265 48.093724 16: seq: 18, beacon_status mcu_temp=44826 supply_voltage=50131 coil_temp=53978 status=1
Receive: 64 48.535356 48.093724 18: seq: 18, beacon_data samples=1 start_clock=1791938546 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 65 48.621428 48.093724 16: seq: 18, beacon_status mcu_temp=44826 supply_voltage=50131 coil_temp=53977 status=1
Receive: 66 48.635327 48.093724 18: seq: 18, beacon_data samples=1 start_clock=1795139326 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 67 48.721627 48.093724 16: seq: 18, beacon_status mcu_temp=44827 supply_voltage=50132 coil_temp=53977 status=1
Receive: 68 48.735368 48.093724 18: seq: 18, beacon_data samples=1 start_clock=1798340099 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 69 48.821780 48.093724 16: seq: 18, beacon_status mcu_temp=44827 supply_voltage=50132 coil_temp=53978 status=1
Receive: 70 48.835392 48.093724 18: seq: 18, beacon_data samples=1 start_clock=1801540881 delta_clock=0 data=b'\x82\x8e\xa4\x93'
Receive: 71 48.921987 48.093724 16: seq: 18, beacon_status mcu_temp=44827 supply_voltage=50132 coil_temp=53979 status=1
Receive: 72 48.935450 48.093724 18: seq: 18, beacon_data samples=1 start_clock=1804741660 delta_clock=0 data=b'\x82\x8e\xa4\x93'
Receive: 73 49.022252 48.093724 16: seq: 18, beacon_status mcu_temp=44827 supply_voltage=50132 coil_temp=53982 status=1
Receive: 74 49.035497 48.093724 18: seq: 18, beacon_data samples=1 start_clock=1807942437 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 75 49.080310 49.079696 11: seq: 19, clock clock=1809405458
Receive: 76 49.122348 49.079696 16: seq: 19, beacon_status mcu_temp=44828 supply_voltage=50132 coil_temp=53982 status=1
Receive: 77 49.135474 49.079696 18: seq: 19, beacon_data samples=1 start_clock=1811143222 delta_clock=0 data=b'\x82\x8e\xa4\x93'
Receive: 78 49.222573 49.079696 16: seq: 19, beacon_status mcu_temp=44828 supply_voltage=50133 coil_temp=53982 status=1
Receive: 79 49.235507 49.079696 18: seq: 19, beacon_data samples=1 start_clock=1814344001 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 80 49.322753 49.079696 16: seq: 19, beacon_status mcu_temp=44828 supply_voltage=50133 coil_temp=53983 status=1
Receive: 81 49.335555 49.079696 18: seq: 19, beacon_data samples=1 start_clock=1817544778 delta_clock=0 data=b'\x82\x8e\xa2\xa0'
Receive: 82 49.422974 49.079696 16: seq: 19, beacon_status mcu_temp=44828 supply_voltage=50133 coil_temp=53983 status=1
Receive: 83 49.435553 49.079696 18: seq: 19, beacon_data samples=1 start_clock=1820745560 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 84 49.523137 49.079696 16: seq: 19, beacon_status mcu_temp=44828 supply_voltage=50133 coil_temp=53984 status=1
Receive: 85 49.535590 49.079696 18: seq: 19, beacon_data samples=1 start_clock=1823946345 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 86 49.623345 49.079696 16: seq: 19, beacon_status mcu_temp=44830 supply_voltage=50133 coil_temp=53984 status=1
Receive: 87 49.635572 49.079696 18: seq: 19, beacon_data samples=1 start_clock=1827147128 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 88 49.723505 49.079696 16: seq: 19, beacon_status mcu_temp=44830 supply_voltage=50133 coil_temp=53984 status=1
Receive: 89 49.735592 49.079696 18: seq: 19, beacon_data samples=1 start_clock=1830347899 delta_clock=0 data=b'\x82\x8e\xa71'
Receive: 90 49.823744 49.079696 16: seq: 19, beacon_status mcu_temp=44830 supply_voltage=50133 coil_temp=53984 status=1
Receive: 91 49.835606 49.079696 18: seq: 19, beacon_data samples=1 start_clock=1833548686 delta_clock=0 data=b'\x82\x8e\xa4\x93'
Receive: 92 49.923889 49.079696 16: seq: 19, beacon_status mcu_temp=44830 supply_voltage=50133 coil_temp=53984 status=1
Receive: 93 49.935628 49.079696 18: seq: 19, beacon_data samples=1 start_clock=1836749461 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 94 50.024135 49.079696 16: seq: 19, beacon_status mcu_temp=44830 supply_voltage=50133 coil_temp=53984 status=1
Receive: 95 50.035688 49.079696 18: seq: 19, beacon_data samples=1 start_clock=1839950242 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 96 50.065471 50.064804 11: seq: 1a, clock clock=1840929757
Receive: 97 50.124306 50.064804 16: seq: 1a, beacon_status mcu_temp=44831 supply_voltage=50134 coil_temp=53984 status=1
Receive: 98 50.135679 50.064804 18: seq: 1a, beacon_data samples=1 start_clock=1843151015 delta_clock=0 data=b'\x82\x8e\xa5?'
Receive: 99 50.223867 50.223323 12: seq: 1b, shutdown clock=1846001611 static_string_id=Emergency stop
MCU 'mcu' shutdown: Command request
clocksync state: mcu_freq=180000000 last_clock=10460102754 clock_est=(34.471 7653727296 179999627.276) min_half_rtt=0.000076 min_rtt_time=46.124 time_avg=34.471(57.063) clock_avg=7653727296.372(10271230887.963) pred_variance=13895490273.614
Dumping serial stats: bytes_write=15919 bytes_read=15668 bytes_retransmit=9 bytes_invalid=0 send_seq=746 receive_seq=746 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 100 messages
Sent 0 46.457170 46.457170 61: seq: 16, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 1 46.457217 46.457217 61: seq: 17, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 2 46.457217 46.457217 61: seq: 18, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 3 46.457297 46.457297 61: seq: 19, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 4 46.457346 46.457346 61: seq: 1a, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 5 46.457431 46.457431 61: seq: 1b, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 6 46.457511 46.457511 61: seq: 1c, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 7 46.457679 46.457679 61: seq: 1d, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 8 46.457737 46.457737 61: seq: 1e, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 9 46.457737 46.457737 61: seq: 1f, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 10 46.457797 46.457797 61: seq: 10, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 11 46.457858 46.457858 61: seq: 11, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 12 46.457916 46.457916 61: seq: 12, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=938 add=0, queue_step oid=14 interval=937 count=938 add=0, queue_step oid=17 interval=937 count=938 add=0, queue_step oid=22 interval=937 count=938 add=0, queue_step oid=12 interval=938 count=938 add=0
Sent 13 46.460721 46.460721 61: seq: 13, queue_step oid=14 interval=938 count=938 add=0, queue_step oid=17 interval=938 count=938 add=0, queue_step oid=22 interval=938 count=938 add=0, queue_step oid=12 interval=937 count=922 add=0, queue_step oid=14 interval=937 count=922 add=0, queue_step oid=17 interval=937 count=922 add=0, queue_step oid=22 interval=937 count=922 add=0, queue_step oid=12 interval=943 count=319 add=0
Sent 14 46.460721 46.460721 61: seq: 14, queue_step oid=14 interval=943 count=319 add=0, queue_step oid=17 interval=943 count=319 add=0, queue_step oid=22 interval=943 count=319 add=0, queue_step oid=12 interval=953 count=332 add=0, queue_step oid=14 interval=953 count=332 add=0, queue_step oid=17 interval=953 count=332 add=0, queue_step oid=22 interval=953 count=332 add=0, queue_step oid=12 interval=963 count=300 add=0
Sent 15 46.460721 46.460721 61: seq: 15, queue_step oid=14 interval=963 count=300 add=0, queue_step oid=17 interval=963 count=300 add=0, queue_step oid=22 interval=963 count=300 add=0, queue_step oid=12 interval=973 count=310 add=0, queue_step oid=14 interval=973 count=310 add=0, queue_step oid=17 interval=973 count=310 add=0, queue_step oid=22 interval=973 count=310 add=0, queue_step oid=12 interval=983 count=284 add=0
Sent 16 46.460721 46.460721 61: seq: 16, queue_step oid=14 interval=983 count=284 add=0, queue_step oid=17 interval=983 count=284 add=0, queue_step oid=22 interval=983 count=284 add=0, queue_step oid=12 interval=993 count=289 add=0, queue_step oid=14 interval=993 count=289 add=0, queue_step oid=17 interval=993 count=289 add=0, queue_step oid=22 interval=993 count=289 add=0, queue_step oid=12 interval=1007 count=210 add=0
Sent 17 46.460721 46.460721 61: seq: 17, queue_step oid=14 interval=1007 count=210 add=0, queue_step oid=17 interval=1007 count=210 add=0, queue_step oid=22 interval=1007 count=210 add=0, queue_step oid=12 interval=1024 count=215 add=0, queue_step oid=14 interval=1024 count=215 add=0, queue_step oid=17 interval=1024 count=215 add=0, queue_step oid=22 interval=1024 count=215 add=0, queue_step oid=12 interval=1042 count=213 add=0
Sent 18 46.460721 46.460721 61: seq: 18, queue_step oid=14 interval=1042 count=213 add=0, queue_step oid=17 interval=1042 count=213 add=0, queue_step oid=22 interval=1042 count=213 add=0, queue_step oid=12 interval=1060 count=194 add=0, queue_step oid=14 interval=1060 count=194 add=0, queue_step oid=17 interval=1060 count=194 add=0, queue_step oid=22 interval=1060 count=194 add=0, queue_step oid=12 interval=1078 count=192 add=0
Sent 19 46.460721 46.460721 61: seq: 19, queue_step oid=14 interval=1078 count=192 add=0, queue_step oid=17 interval=1078 count=192 add=0, queue_step oid=22 interval=1078 count=192 add=0, queue_step oid=12 interval=1097 count=195 add=0, queue_step oid=14 interval=1097 count=195 add=0, queue_step oid=17 interval=1097 count=195 add=0, queue_step oid=22 interval=1097 count=195 add=0, queue_step oid=12 interval=1117 count=191 add=0
Sent 20 46.460721 46.460721 61: seq: 1a, queue_step oid=14 interval=1117 count=191 add=0, queue_step oid=17 interval=1117 count=191 add=0, queue_step oid=22 interval=1117 count=191 add=0, queue_step oid=12 interval=1138 count=194 add=0, queue_step oid=14 interval=1138 count=194 add=0, queue_step oid=17 interval=1138 count=194 add=0, queue_step oid=22 interval=1138 count=194 add=0, queue_step oid=12 interval=1161 count=171 add=0
Sent 21 46.460721 46.460721 61: seq: 1b, queue_step oid=14 interval=1161 count=171 add=0, queue_step oid=17 interval=1161 count=171 add=0, queue_step oid=22 interval=1161 count=171 add=0, queue_step oid=12 interval=1188 count=168 add=0, queue_step oid=14 interval=1188 count=168 add=0, queue_step oid=17 interval=1188 count=168 add=0, queue_step oid=22 interval=1188 count=168 add=0, queue_step oid=12 interval=1216 count=159 add=0
Sent 22 46.460721 46.460721 61: seq: 1c, queue_step oid=14 interval=1216 count=159 add=0, queue_step oid=17 interval=1216 count=159 add=0, queue_step oid=22 interval=1216 count=159 add=0, queue_step oid=12 interval=1245 count=157 add=0, queue_step oid=14 interval=1245 count=157 add=0, queue_step oid=17 interval=1245 count=157 add=0, queue_step oid=22 interval=1245 count=157 add=0, queue_step oid=12 interval=1276 count=155 add=0
Sent 23 46.460721 46.460721 61: seq: 1d, queue_step oid=14 interval=1276 count=155 add=0, queue_step oid=17 interval=1276 count=155 add=0, queue_step oid=22 interval=1276 count=155 add=0, queue_step oid=12 interval=1308 count=147 add=0, queue_step oid=14 interval=1308 count=147 add=0, queue_step oid=17 interval=1308 count=147 add=0, queue_step oid=22 interval=1308 count=147 add=0, queue_step oid=12 interval=1342 count=148 add=0
Sent 24 46.460721 46.460721 61: seq: 1e, queue_step oid=14 interval=1342 count=148 add=0, queue_step oid=17 interval=1342 count=148 add=0, queue_step oid=22 interval=1342 count=148 add=0, queue_step oid=12 interval=1378 count=142 add=0, queue_step oid=14 interval=1378 count=142 add=0, queue_step oid=17 interval=1378 count=142 add=0, queue_step oid=22 interval=1378 count=142 add=0, queue_step oid=12 interval=1416 count=141 add=0
Sent 25 46.461054 46.461054 61: seq: 1f, queue_step oid=14 interval=1416 count=141 add=0, queue_step oid=17 interval=1416 count=141 add=0, queue_step oid=22 interval=1416 count=141 add=0, queue_step oid=12 interval=1456 count=132 add=0, queue_step oid=14 interval=1456 count=132 add=0, queue_step oid=17 interval=1456 count=132 add=0, queue_step oid=22 interval=1456 count=132 add=0, queue_step oid=12 interval=1498 count=133 add=0
Sent 26 46.461054 46.461054 61: seq: 10, queue_step oid=14 interval=1498 count=133 add=0, queue_step oid=17 interval=1498 count=133 add=0, queue_step oid=22 interval=1498 count=133 add=0, queue_step oid=12 interval=1543 count=125 add=0, queue_step oid=14 interval=1543 count=125 add=0, queue_step oid=17 interval=1543 count=125 add=0, queue_step oid=22 interval=1543 count=125 add=0, queue_step oid=12 interval=1590 count=124 add=0
Sent 27 46.461149 46.461149 61: seq: 11, queue_step oid=14 interval=1590 count=124 add=0, queue_step oid=17 interval=1590 count=124 add=0, queue_step oid=22 interval=1590 count=124 add=0, queue_step oid=12 interval=1641 count=120 add=0, queue_step oid=14 interval=1641 count=120 add=0, queue_step oid=17 interval=1641 count=120 add=0, queue_step oid=22 interval=1641 count=120 add=0, queue_step oid=12 interval=1695 count=116 add=0
Sent 28 46.461220 46.461220 61: seq: 12, queue_step oid=14 interval=1695 count=116 add=0, queue_step oid=17 interval=1695 count=116 add=0, queue_step oid=22 interval=1695 count=116 add=0, queue_step oid=12 interval=1752 count=110 add=0, queue_step oid=14 interval=1752 count=110 add=0, queue_step oid=17 interval=1752 count=110 add=0, queue_step oid=22 interval=1752 count=110 add=0, queue_step oid=12 interval=1813 count=108 add=0
Sent 29 46.461317 46.461317 61: seq: 13, queue_step oid=14 interval=1813 count=108 add=0, queue_step oid=17 interval=1813 count=108 add=0, queue_step oid=22 interval=1813 count=108 add=0, queue_step oid=12 interval=1879 count=105 add=0, queue_step oid=14 interval=1879 count=105 add=0, queue_step oid=17 interval=1879 count=105 add=0, queue_step oid=22 interval=1879 count=105 add=0, queue_step oid=12 interval=1951 count=102 add=0
Sent 30 46.461390 46.461390 61: seq: 14, queue_step oid=14 interval=1951 count=102 add=0, queue_step oid=17 interval=1951 count=102 add=0, queue_step oid=22 interval=1951 count=102 add=0, queue_step oid=12 interval=1987 count=119 add=1, queue_step oid=14 interval=1987 count=119 add=1, queue_step oid=17 interval=1987 count=119 add=1, queue_step oid=22 interval=1987 count=119 add=1, queue_step oid=12 interval=2086 count=246 add=1
Sent 31 46.461454 46.461454 61: seq: 15, queue_step oid=14 interval=2086 count=246 add=1, queue_step oid=17 interval=2086 count=246 add=1, queue_step oid=22 interval=2086 count=246 add=1, queue_step oid=12 interval=2382 count=144 add=1, queue_step oid=14 interval=2382 count=144 add=1, queue_step oid=17 interval=2382 count=144 add=1, queue_step oid=22 interval=2382 count=144 add=1, queue_step oid=12 interval=2561 count=233 add=2
Sent 32 46.461521 46.461521 61: seq: 16, queue_step oid=14 interval=2561 count=233 add=2, queue_step oid=17 interval=2561 count=233 add=2, queue_step oid=22 interval=2561 count=233 add=2, queue_step oid=12 interval=3093 count=145 add=3, queue_step oid=14 interval=3093 count=145 add=3, queue_step oid=17 interval=3093 count=145 add=3, queue_step oid=22 interval=3093 count=145 add=3, queue_step oid=12 interval=3622 count=123 add=5
Sent 33 46.461591 46.461591 61: seq: 17, queue_step oid=14 interval=3622 count=123 add=5, queue_step oid=17 interval=3622 count=123 add=5, queue_step oid=22 interval=3622 count=123 add=5, queue_step oid=12 interval=4348 count=107 add=10, queue_step oid=14 interval=4348 count=107 add=10, queue_step oid=17 interval=4348 count=107 add=10, queue_step oid=22 interval=4348 count=107 add=10, queue_step oid=12 interval=5595 count=119 add=22
Sent 34 46.461696 46.461696 64: seq: 18, queue_step oid=14 interval=5595 count=119 add=22, queue_step oid=17 interval=5595 count=119 add=22, queue_step oid=22 interval=5595 count=119 add=22, queue_step oid=12 interval=8475 count=57 add=57, queue_step oid=14 interval=8475 count=57 add=57, queue_step oid=17 interval=8475 count=57 add=57, queue_step oid=22 interval=8475 count=57 add=57, queue_step oid=12 interval=12096 count=31 add=192, queue_step oid=14 interval=12096 count=31 add=192
Sent 35 46.461744 46.461744 59: seq: 19, queue_step oid=17 interval=12096 count=31 add=192, queue_step oid=22 interval=12096 count=31 add=192, queue_step oid=12 interval=19457 count=29 add=575, queue_step oid=14 interval=19457 count=29 add=575, queue_step oid=17 interval=19457 count=29 add=575, queue_step oid=22 interval=19457 count=29 add=575, queue_step oid=12 interval=38296 count=9 add=1954
Sent 36 46.461805 46.461805 61: seq: 1a, queue_step oid=14 interval=38296 count=9 add=1954, queue_step oid=17 interval=38296 count=9 add=1954, queue_step oid=22 interval=38296 count=9 add=1954, queue_step oid=12 interval=59797 count=4 add=8819, queue_step oid=14 interval=59797 count=4 add=8819, queue_step oid=17 interval=59797 count=4 add=8819, queue_step oid=22 interval=59797 count=4 add=8819
Sent 37 46.462627 46.462627 61: seq: 1b, queue_step oid=12 interval=106554 count=1 add=0, queue_step oid=14 interval=106554 count=1 add=0, queue_step oid=17 interval=106554 count=1 add=0, queue_step oid=22 interval=106554 count=1 add=0, queue_step oid=12 interval=154476 count=1 add=0, queue_step oid=14 interval=154476 count=1 add=0, queue_step oid=17 interval=154476 count=1 add=0, queue_step oid=22 interval=154476 count=1 add=0
Sent 38 46.786103 46.786103 35: seq: 1c, tmcuart_send oid=2 write=b'\xea\x03\xe8\xad\xe1' read=10, trsync_start oid=13 report_clock=1385763806 report_ticks=1350000 expire_reason=4, stepper_stop_on_trigger oid=12 trsync_oid=13, trsync_set_timeout oid=13 clock=1389588806
Sent 39 46.790604 46.790604 14: seq: 1d, tmcuart_send oid=4 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 40 46.795135 46.795135 14: seq: 1e, tmcuart_send oid=2 write=b'\xea\x03( \xc3' read=10
Sent 41 46.799684 46.799684 14: seq: 1f, tmcuart_send oid=5 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 42 46.804106 46.804106 14: seq: 10, tmcuart_send oid=4 write=b'\xea\x03( \xc3' read=10
Sent 43 46.808488 46.808488 14: seq: 11, tmcuart_send oid=3 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 44 46.812876 46.812876 14: seq: 12, tmcuart_send oid=5 write=b'\xea\x03( \xc3' read=10
Sent 45 46.817417 46.817417 14: seq: 13, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 46 47.108897 47.108897 6: seq: 14, get_clock
Sent 47 47.219103 47.219103 16: seq: 15, set_next_step_dir oid=12 dir=0, queue_step oid=12 interval=8229132 count=1 add=0
Sent 48 47.269216 47.269216 63: seq: 16, queue_step oid=12 interval=117877 count=2 add=-29921, queue_step oid=12 interval=63765 count=7 add=-4624, queue_step oid=12 interval=37042 count=9 add=-1086, queue_step oid=12 interval=32341 count=15 add=-366, queue_step oid=12 interval=23535 count=32 add=-286, queue_step oid=12 interval=15260 count=39 add=-34, queue_step oid=12 interval=14163 count=70 add=-49
Sent 49 47.269216 47.269216 12: seq: 17, queue_step oid=12 interval=11253 count=1064 add=0
Sent 50 47.307742 47.307742 14: seq: 18, tmcuart_send oid=6 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 51 47.312170 47.312170 14: seq: 19, tmcuart_send oid=7 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 52 47.316776 47.316776 14: seq: 1a, tmcuart_send oid=6 write=b'\xea\x03( \xc3' read=10
Sent 53 47.318523 47.318523 12: seq: 1b, queue_step oid=12 interval=11251 count=800 add=0
Sent 54 47.321193 47.321193 14: seq: 1c, tmcuart_send oid=8 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 55 47.325652 47.325652 14: seq: 1d, tmcuart_send oid=7 write=b'\xea\x03( \xc3' read=10
Sent 56 47.330019 47.330019 14: seq: 1e, tmcuart_send oid=8 write=b'\xea\x03( \xc3' read=10
Sent 57 47.369108 47.369108 12: seq: 1f, queue_step oid=12 interval=11250 count=800 add=0
Sent 58 47.392042 47.392042 8: seq: 10, trsync_trigger oid=13 reason=2
Sent 59 47.392602 47.392602 11: seq: 11, queue_step oid=12 interval=11391 count=1 add=0
Sent 60 47.787171 47.787171 14: seq: 12, tmcuart_send oid=2 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 61 47.791661 47.791661 14: seq: 13, tmcuart_send oid=4 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 62 47.796120 47.796120 14: seq: 14, tmcuart_send oid=2 write=b'\xea\x03( \xc3' read=10
Sent 63 47.800510 47.800510 14: seq: 15, tmcuart_send oid=5 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 64 47.804990 47.804990 14: seq: 16, tmcuart_send oid=4 write=b'\xea\x03( \xc3' read=10
Sent 65 47.809431 47.809431 14: seq: 17, tmcuart_send oid=3 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 66 47.813894 47.813894 14: seq: 18, tmcuart_send oid=5 write=b'\xea\x03( \xc3' read=10
Sent 67 47.818292 47.818292 14: seq: 19, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 68 48.093065 48.093065 6: seq: 1a, get_clock
Sent 69 48.309042 48.309042 14: seq: 1b, tmcuart_send oid=6 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 70 48.314328 48.314328 14: seq: 1c, tmcuart_send oid=7 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 71 48.319558 48.319558 14: seq: 1d, tmcuart_send oid=6 write=b'\xea\x03( \xc3' read=10
Sent 72 48.324877 48.324877 14: seq: 1e, tmcuart_send oid=8 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 73 48.330075 48.330075 14: seq: 1f, tmcuart_send oid=7 write=b'\xea\x03( \xc3' read=10
Sent 74 48.335277 48.335277 14: seq: 10, tmcuart_send oid=8 write=b'\xea\x03( \xc3' read=10
Sent 75 48.787665 48.787665 14: seq: 11, tmcuart_send oid=2 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 76 48.793044 48.793044 14: seq: 12, tmcuart_send oid=4 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 77 48.798753 48.798753 14: seq: 13, tmcuart_send oid=2 write=b'\xea\x03( \xc3' read=10
Sent 78 48.803859 48.803859 14: seq: 14, tmcuart_send oid=5 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 79 48.809087 48.809087 14: seq: 15, tmcuart_send oid=4 write=b'\xea\x03( \xc3' read=10
Sent 80 48.814342 48.814342 14: seq: 16, tmcuart_send oid=3 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 81 48.819518 48.819518 14: seq: 17, tmcuart_send oid=5 write=b'\xea\x03( \xc3' read=10
Sent 82 48.824662 48.824662 14: seq: 18, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 83 49.077479 49.077479 6: seq: 19, get_clock
Sent 84 49.309694 49.309694 14: seq: 1a, tmcuart_send oid=6 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 85 49.314864 49.314864 14: seq: 1b, tmcuart_send oid=7 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 86 49.320088 49.320088 14: seq: 1c, tmcuart_send oid=6 write=b'\xea\x03( \xc3' read=10
Sent 87 49.325231 49.325231 14: seq: 1d, tmcuart_send oid=8 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 88 49.330402 49.330402 14: seq: 1e, tmcuart_send oid=7 write=b'\xea\x03( \xc3' read=10
Sent 89 49.335572 49.335572 14: seq: 1f, tmcuart_send oid=8 write=b'\xea\x03( \xc3' read=10
Sent 90 49.788425 49.788425 14: seq: 10, tmcuart_send oid=2 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 91 49.793990 49.793990 14: seq: 11, tmcuart_send oid=4 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 92 49.799380 49.799380 14: seq: 12, tmcuart_send oid=2 write=b'\xea\x03( \xc3' read=10
Sent 93 49.804720 49.804720 14: seq: 13, tmcuart_send oid=5 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 94 49.810057 49.810057 14: seq: 14, tmcuart_send oid=4 write=b'\xea\x03( \xc3' read=10
Sent 95 49.815435 49.815435 14: seq: 15, tmcuart_send oid=3 write=b'\xea\x03\xe8\xad\xe1' read=10
Sent 96 49.820946 49.820946 14: seq: 16, tmcuart_send oid=5 write=b'\xea\x03( \xc3' read=10
Sent 97 49.826354 49.826354 14: seq: 17, tmcuart_send oid=3 write=b'\xea\x03( \xc3' read=10
Sent 98 50.061693 50.061693 6: seq: 18, get_clock
Sent 99 50.212177 50.212177 6: seq: 19, emergency_stop
Dumping receive queue 100 messages
Receive: 0 46.333935 46.329975 18: seq: 16, tmcuart_response oid=8 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 1 46.386091 46.366913 14: seq: 17, trsync_state oid=16 can_trigger=0 trigger_reason=1 clock=1208521248
Receive: 2 46.386289 46.386121 10: seq: 18, trsync_state oid=16 can_trigger=0 trigger_reason=1 clock=0
Receive: 3 46.387303 46.387107 10: seq: 1b, trsync_state oid=16 can_trigger=0 trigger_reason=1 clock=0
Receive: 4 46.387709 46.387577 9: seq: 1c, stepper_position oid=14 pos=340
Receive: 5 46.392183 46.388171 18: seq: 1d, tmcuart_response oid=4 read=b'\n\xfaO-\x80\x00\x12H6\xc5'
Receive: 6 46.392805 46.392640 9: seq: 1e, stepper_position oid=17 pos=-340
Receive: 7 46.397098 46.393162 18: seq: 1f, tmcuart_response oid=5 read=b'\n\xfaO-\x80\x00\nH*\xb9'
Receive: 8 46.397403 46.393162 14: seq: 1f, analog_in_state oid=24 next_clock=1263265408 value=7510
Receive: 9 46.397785 46.397637 9: seq: 10, stepper_position oid=12 pos=-340
Receive: 10 46.402057 46.398128 18: seq: 11, tmcuart_response oid=2 read=b'\n\xfaO-\x80\x00\nH*\xb9'
Receive: 11 46.402602 46.402456 9: seq: 12, stepper_position oid=22 pos=340
Receive: 12 46.406883 46.406454 18: seq: 14, tmcuart_response oid=3 read=b'\n\xfaO-\x80\x00\x12H6\xc5'
Receive: 13 46.407372 46.406454 15: seq: 14, analog_in_state oid=25 next_clock=1265065408 value=31405
Receive: 14 46.407568 46.407437 14: seq: 15, endstop_state oid=15 homing=0 next_clock=1208534391 pin_value=1
Receive: 15 46.697421 46.462627 14: seq: 1c, analog_in_state oid=24 next_clock=1317265408 value=7510
Receive: 16 46.707360 46.462627 15: seq: 1c, analog_in_state oid=25 next_clock=1319065408 value=31407
Receive: 17 46.790083 46.786103 18: seq: 1d, tmcuart_response oid=2 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 18 46.794616 46.790604 18: seq: 1e, tmcuart_response oid=4 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 19 46.799106 46.795135 18: seq: 1f, tmcuart_response oid=2 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 20 46.803612 46.799684 18: seq: 10, tmcuart_response oid=5 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 21 46.808082 46.804106 18: seq: 11, tmcuart_response oid=4 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 22 46.812416 46.808488 18: seq: 12, tmcuart_response oid=3 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 23 46.816916 46.812876 18: seq: 13, tmcuart_response oid=5 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 24 46.821444 46.817417 18: seq: 14, tmcuart_response oid=3 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 25 46.997428 46.817417 14: seq: 14, analog_in_state oid=24 next_clock=1371265408 value=7517
Receive: 26 47.008094 46.817417 15: seq: 14, analog_in_state oid=25 next_clock=1373065408 value=31417
Receive: 27 47.109270 47.108897 11: seq: 15, clock clock=1338666713
Receive: 28 47.150223 47.108897 16: seq: 15, stats count=1276 sum=2015881 sumsq=19817546
Receive: 29 47.297371 47.269216 14: seq: 18, analog_in_state oid=24 next_clock=1425265408 value=7522
Receive: 30 47.307361 47.269216 15: seq: 18, analog_in_state oid=25 next_clock=1427065408 value=31398
Receive: 31 47.311694 47.307742 18: seq: 19, tmcuart_response oid=6 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 32 47.316175 47.312170 18: seq: 1a, tmcuart_response oid=7 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 33 47.320719 47.318523 18: seq: 1c, tmcuart_response oid=6 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 34 47.325171 47.321193 18: seq: 1d, tmcuart_response oid=8 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 35 47.329597 47.325652 18: seq: 1e, tmcuart_response oid=7 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 36 47.334004 47.330019 18: seq: 1f, tmcuart_response oid=8 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 37 47.370725 47.369108 14: seq: 10, trsync_state oid=13 can_trigger=1 trigger_reason=0 clock=1385764348
Receive: 38 47.378248 47.369108 14: seq: 10, trsync_state oid=13 can_trigger=1 trigger_reason=0 clock=1387114363
Receive: 39 47.385760 47.369108 14: seq: 10, trsync_state oid=13 can_trigger=1 trigger_reason=0 clock=1388464333
Receive: 40 47.392015 47.369108 14: seq: 10, trsync_state oid=13 can_trigger=0 trigger_reason=4 clock=1389589523
Receive: 41 47.392256 47.392042 10: seq: 11, trsync_state oid=13 can_trigger=0 trigger_reason=4 clock=0
Receive: 42 47.597399 47.392602 14: seq: 12, analog_in_state oid=24 next_clock=1479265408 value=7517
Receive: 43 47.607400 47.392602 15: seq: 12, analog_in_state oid=25 next_clock=1481065408 value=31409
Receive: 44 47.791126 47.787171 18: seq: 13, tmcuart_response oid=2 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 45 47.795600 47.791661 18: seq: 14, tmcuart_response oid=4 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 46 47.800055 47.796120 18: seq: 15, tmcuart_response oid=2 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 47 47.804516 47.800510 18: seq: 16, tmcuart_response oid=5 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 48 47.808942 47.804990 18: seq: 17, tmcuart_response oid=4 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 49 47.813419 47.809431 18: seq: 18, tmcuart_response oid=3 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 50 47.817874 47.813894 18: seq: 19, tmcuart_response oid=5 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 51 47.822273 47.818292 18: seq: 1a, tmcuart_response oid=3 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 52 47.897436 47.818292 14: seq: 1a, analog_in_state oid=24 next_clock=1533265408 value=7513
Receive: 53 47.907397 47.818292 15: seq: 1a, analog_in_state oid=25 next_clock=1535065408 value=31409
Receive: 54 48.093336 48.093065 11: seq: 1b, clock clock=1515808736
Receive: 55 48.197415 48.093065 14: seq: 1b, analog_in_state oid=24 next_clock=1587265408 value=7513
Receive: 56 48.207384 48.093065 15: seq: 1b, analog_in_state oid=25 next_clock=1589065408 value=31414
Receive: 57 48.313231 48.309042 18: seq: 1c, tmcuart_response oid=6 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 58 48.318377 48.314328 18: seq: 1d, tmcuart_response oid=7 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 59 48.323607 48.319558 18: seq: 1e, tmcuart_response oid=6 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 60 48.328918 48.324877 18: seq: 1f, tmcuart_response oid=8 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 61 48.334122 48.330075 18: seq: 10, tmcuart_response oid=7 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 62 48.339349 48.335277 18: seq: 11, tmcuart_response oid=8 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 63 48.497507 48.335277 14: seq: 11, analog_in_state oid=24 next_clock=1641265408 value=7509
Receive: 64 48.508314 48.335277 15: seq: 11, analog_in_state oid=25 next_clock=1643065408 value=31405
Receive: 65 48.791747 48.787665 18: seq: 12, tmcuart_response oid=2 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 66 48.797110 48.793044 18: seq: 13, tmcuart_response oid=4 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 67 48.797440 48.793044 14: seq: 13, analog_in_state oid=24 next_clock=1695265408 value=7514
Receive: 68 48.802805 48.798753 18: seq: 14, tmcuart_response oid=2 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 69 48.807435 48.803859 15: seq: 15, analog_in_state oid=25 next_clock=1697065408 value=31405
Receive: 70 48.807875 48.803859 18: seq: 15, tmcuart_response oid=5 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 71 48.813111 48.809087 18: seq: 16, tmcuart_response oid=4 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 72 48.818361 48.814342 18: seq: 17, tmcuart_response oid=3 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 73 48.823559 48.819518 18: seq: 18, tmcuart_response oid=5 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 74 48.828733 48.824662 18: seq: 19, tmcuart_response oid=3 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 75 49.077809 49.077479 11: seq: 1a, clock clock=1693009590
Receive: 76 49.097503 49.077479 14: seq: 1a, analog_in_state oid=24 next_clock=1749265408 value=7510
Receive: 77 49.107493 49.077479 15: seq: 1a, analog_in_state oid=25 next_clock=1751065408 value=31410
Receive: 78 49.313762 49.309694 18: seq: 1b, tmcuart_response oid=6 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 79 49.318930 49.314864 18: seq: 1c, tmcuart_response oid=7 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 80 49.324128 49.320088 18: seq: 1d, tmcuart_response oid=6 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 81 49.329243 49.325231 18: seq: 1e, tmcuart_response oid=8 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 82 49.334404 49.330402 18: seq: 1f, tmcuart_response oid=7 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 83 49.339605 49.335572 18: seq: 10, tmcuart_response oid=8 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 84 49.397566 49.335572 14: seq: 10, analog_in_state oid=24 next_clock=1803265408 value=7510
Receive: 85 49.407445 49.335572 15: seq: 10, analog_in_state oid=25 next_clock=1805065408 value=31410
Receive: 86 49.697515 49.335572 14: seq: 10, analog_in_state oid=24 next_clock=1857265408 value=7512
Receive: 87 49.707455 49.335572 15: seq: 10, analog_in_state oid=25 next_clock=1859065408 value=31412
Receive: 88 49.792594 49.788425 18: seq: 11, tmcuart_response oid=2 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 89 49.798050 49.793990 18: seq: 12, tmcuart_response oid=4 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 90 49.803415 49.799380 18: seq: 13, tmcuart_response oid=2 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 91 49.808759 49.804720 18: seq: 14, tmcuart_response oid=5 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 92 49.814331 49.810057 18: seq: 15, tmcuart_response oid=4 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 93 49.819476 49.815435 18: seq: 16, tmcuart_response oid=3 read=b'\n\xfa\xef-\xc08\x02\x08 \xb0'
Receive: 94 49.825054 49.820946 18: seq: 17, tmcuart_response oid=5 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 95 49.830410 49.826354 18: seq: 18, tmcuart_response oid=3 read=b'\n\xfa/ \x80\x00\x02\x08\xa0\x89'
Receive: 96 49.997494 49.826354 14: seq: 18, analog_in_state oid=24 next_clock=1911265408 value=7509
Receive: 97 50.007475 49.826354 15: seq: 18, analog_in_state oid=25 next_clock=1913065408 value=31407
Receive: 98 50.061987 50.061693 11: seq: 19, clock clock=1870168162
Receive: 99 50.212754 50.212177 12: seq: 1a, shutdown clock=1897258815 static_string_id=Command request
MCU 'rpi' shutdown: Command request
clocksync state: mcu_freq=50000000 last_clock=2103129498 clock_est=(34.692 1334627225 49999978.722) min_half_rtt=0.000062 min_rtt_time=48.093 time_avg=34.692(54.336) clock_avg=1334627225.638(2716803303.051) pred_variance=1114118106.780 clock_adj=(16.050 50000115.750)
Dumping serial stats: bytes_write=954 bytes_read=4998 bytes_retransmit=0 bytes_invalid=0 send_seq=130 receive_seq=130 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0
Dumping send queue 100 messages
Sent 0 29.492448 29.492448 9: seq: 1e, identify offset=560 count=40
Sent 1 29.493247 29.493247 9: seq: 1f, identify offset=600 count=40
Sent 2 29.493893 29.493893 9: seq: 10, identify offset=640 count=40
Sent 3 29.494466 29.494466 9: seq: 11, identify offset=680 count=40
Sent 4 29.495258 29.495258 9: seq: 12, identify offset=720 count=40
Sent 5 29.496116 29.496116 9: seq: 13, identify offset=760 count=40
Sent 6 29.496668 29.496668 9: seq: 14, identify offset=800 count=40
Sent 7 29.497150 29.497150 9: seq: 15, identify offset=840 count=40
Sent 8 29.497859 29.497859 9: seq: 16, identify offset=880 count=40
Sent 9 29.498500 29.498500 9: seq: 17, identify offset=920 count=40
Sent 10 29.499090 29.499090 9: seq: 18, identify offset=960 count=40
Sent 11 29.499872 29.499872 9: seq: 19, identify offset=1000 count=40
Sent 12 29.500598 29.500598 9: seq: 1a, identify offset=1040 count=40
Sent 13 29.501211 29.501211 9: seq: 1b, identify offset=1080 count=40
Sent 14 29.501903 29.501903 9: seq: 1c, identify offset=1120 count=40
Sent 15 29.502612 29.502612 9: seq: 1d, identify offset=1160 count=40
Sent 16 29.503213 29.503213 9: seq: 1e, identify offset=1200 count=40
Sent 17 29.503933 29.503933 9: seq: 1f, identify offset=1240 count=40
Sent 18 29.504618 29.504618 9: seq: 10, identify offset=1280 count=40
Sent 19 29.505240 29.505240 9: seq: 11, identify offset=1320 count=40
Sent 20 29.505973 29.505973 9: seq: 12, identify offset=1360 count=40
Sent 21 29.506557 29.506557 9: seq: 13, identify offset=1400 count=40
Sent 22 29.507215 29.507215 9: seq: 14, identify offset=1440 count=40
Sent 23 29.507893 29.507893 9: seq: 15, identify offset=1480 count=40
Sent 24 29.508492 29.508492 9: seq: 16, identify offset=1520 count=40
Sent 25 29.509062 29.509062 9: seq: 17, identify offset=1560 count=40
Sent 26 29.509826 29.509826 9: seq: 18, identify offset=1600 count=40
Sent 27 29.510429 29.510429 9: seq: 19, identify offset=1640 count=40
Sent 28 29.511070 29.511070 9: seq: 1a, identify offset=1680 count=40
Sent 29 29.511714 29.511714 9: seq: 1b, identify offset=1720 count=40
Sent 30 29.512396 29.512396 9: seq: 1c, identify offset=1760 count=40
Sent 31 29.512975 29.512975 9: seq: 1d, identify offset=1800 count=40
Sent 32 29.513709 29.513709 9: seq: 1e, identify offset=1840 count=40
Sent 33 29.514349 29.514349 9: seq: 1f, identify offset=1880 count=40
Sent 34 29.514942 29.514942 9: seq: 10, identify offset=1920 count=40
Sent 35 29.515624 29.515624 9: seq: 11, identify offset=1960 count=40
Sent 36 29.516333 29.516333 9: seq: 12, identify offset=2000 count=40
Sent 37 29.516932 29.516932 9: seq: 13, identify offset=2040 count=40
Sent 38 29.517657 29.517657 9: seq: 14, identify offset=2080 count=40
Sent 39 29.518273 29.518273 9: seq: 15, identify offset=2120 count=40
Sent 40 29.518768 29.518768 9: seq: 16, identify offset=2160 count=40
Sent 41 29.519248 29.519248 9: seq: 17, identify offset=2200 count=40
Sent 42 29.519782 29.519782 9: seq: 18, identify offset=2240 count=40
Sent 43 29.520305 29.520305 9: seq: 19, identify offset=2280 count=40
Sent 44 29.520746 29.520746 9: seq: 1a, identify offset=2320 count=40
Sent 45 29.521140 29.521140 9: seq: 1b, identify offset=2360 count=40
Sent 46 29.521665 29.521665 9: seq: 1c, identify offset=2400 count=40
Sent 47 29.522179 29.522179 9: seq: 1d, identify offset=2440 count=40
Sent 48 29.522675 29.522675 9: seq: 1e, identify offset=2480 count=40
Sent 49 29.523177 29.523177 9: seq: 1f, identify offset=2520 count=40
Sent 50 29.523923 29.523923 9: seq: 10, identify offset=2560 count=40
Sent 51 29.524561 29.524561 9: seq: 11, identify offset=2600 count=40
Sent 52 29.525098 29.525098 9: seq: 12, identify offset=2640 count=40
Sent 53 29.525866 29.525866 9: seq: 13, identify offset=2680 count=40
Sent 54 29.526469 29.526469 9: seq: 14, identify offset=2720 count=40
Sent 55 29.527059 29.527059 9: seq: 15, identify offset=2760 count=40
Sent 56 29.527658 29.527658 9: seq: 16, identify offset=2800 count=40
Sent 57 29.528392 29.528392 9: seq: 17, identify offset=2840 count=40
Sent 58 29.529014 29.529014 9: seq: 18, identify offset=2880 count=40
Sent 59 29.529788 29.529788 9: seq: 19, identify offset=2920 count=40
Sent 60 29.530400 29.530400 9: seq: 1a, identify offset=2960 count=40
Sent 61 29.530998 29.530998 9: seq: 1b, identify offset=3000 count=40
Sent 62 29.531603 29.531603 9: seq: 1c, identify offset=3040 count=40
Sent 63 29.532257 29.532257 9: seq: 1d, identify offset=3080 count=40
Sent 64 29.532925 29.532925 9: seq: 1e, identify offset=3120 count=40
Sent 65 29.533638 29.533638 9: seq: 1f, identify offset=3160 count=40
Sent 66 29.534290 29.534290 9: seq: 10, identify offset=3200 count=40
Sent 67 29.534967 29.534967 9: seq: 11, identify offset=3240 count=40
Sent 68 29.535774 29.535774 9: seq: 12, identify offset=3265 count=40
Sent 69 29.571018 29.571018 6: seq: 13, get_uptime
Sent 70 29.622273 29.622273 6: seq: 14, get_clock
Sent 71 29.674001 29.674001 6: seq: 15, get_clock
Sent 72 29.725461 29.725461 6: seq: 16, get_clock
Sent 73 29.776633 29.776633 6: seq: 17, get_clock
Sent 74 29.827660 29.827660 6: seq: 18, get_clock
Sent 75 29.879068 29.879068 6: seq: 19, get_clock
Sent 76 29.930141 29.930141 6: seq: 1a, get_clock
Sent 77 29.981362 29.981362 6: seq: 1b, get_clock
Sent 78 29.995454 29.995454 6: seq: 1c, get_clock
Sent 79 30.979800 30.979800 6: seq: 1d, get_clock
Sent 80 31.964275 31.964275 6: seq: 1e, get_clock
Sent 81 31.966152 31.966152 6: seq: 1f, get_config
Sent 82 31.967326 31.967326 7: seq: 10, allocate_oids count=1
Sent 83 31.967459 31.967459 16: seq: 11, config_digital_out oid=0 pin=gpiochip0/gpio4 value=0 default_value=1 max_duration=0, set_digital_out_pwm_cycle oid=0 cycle_ticks=500000
Sent 84 31.967704 31.967704 19: seq: 12, finalize_config crc=2738712656, queue_digital_out oid=0 clock=1208333302 on_ticks=0
Sent 85 31.967858 31.967858 6: seq: 13, get_config
Sent 86 32.948371 32.948371 6: seq: 14, get_clock
Sent 87 33.932707 33.932707 6: seq: 15, get_clock
Sent 88 34.917399 34.917399 6: seq: 16, get_clock
Sent 89 41.201796 41.201796 6: seq: 17, get_clock
Sent 90 42.186672 42.186672 6: seq: 18, get_clock
Sent 91 43.171808 43.171808 6: seq: 19, get_clock
Sent 92 44.155816 44.155816 6: seq: 1a, get_clock
Sent 93 45.140378 45.140378 6: seq: 1b, get_clock
Sent 94 46.124340 46.124340 6: seq: 1c, get_clock
Sent 95 47.108938 47.108938 6: seq: 1d, get_clock
Sent 96 48.093184 48.093184 6: seq: 1e, get_clock
Sent 97 49.078380 49.078380 6: seq: 1f, get_clock
Sent 98 50.062435 50.062435 6: seq: 10, get_clock
Sent 99 50.212976 50.212976 6: seq: 11, emergency_stop
Dumping receive queue 100 messages
Receive: 0 29.493486 29.493247 49: seq: 10, identify_response offset=600 data=b'>\x98\xf0\xbe\xe6\xc77\xc6,,\x1f\x9fzN\xb7\x13\xcd(\x8d\xdb8E\xacAy#\xf7hB\xb0\xeb\x9c\x16\x95\x0b\x04\x93\x97\xd2*'
Receive: 1 29.494032 29.493893 49: seq: 11, identify_response offset=640 data=b'j\xe4LQ\x8e\xd9\xd6YbimD\x96\xf5\x9d\xfd\x16\x95\xfd|j\xcb|n\x0e\xacl\xaa\xfc\xc8B\xd6\xde\x0e\x1c\x03\x87e\x1d\x86'
Receive: 2 29.494733 29.494466 49: seq: 12, identify_response offset=680 data=b"Z\x9fY%\x06\xf3I\xdeR!;\xac\xa9\x96\xdc[4t\x07\x1b\x0f|h:\xf0\x11\xfdI\x89\xfa`'\xd4\xd4\x1d{l\xca\xa9\x18"
Receive: 3 29.495472 29.495258 49: seq: 13, identify_response offset=720 data=b'\xac\xb6\x0c\x8f\xf9\x91\x07d\xa3\x9dD\xdd\x1fE\xc3I\xc7\x9d\xbf\x1d\x07\x94\x87\x13+\x1c\xba\xe2\xb7\x13XT\x07!skF\xb0\xca^'
Receive: 4 29.496276 29.496116 49: seq: 14, identify_response offset=760 data=b'Y\x13\xddO`\xd1\x06^@0\x1a*>8\xdb@O\x19\x1a\x84\x87A\x8c\xfc\x08\x03\xd5\x98\x10\xc13\xf2\x86\x0f{\xde\x96O9z'
Receive: 5 29.496797 29.496668 49: seq: 15, identify_response offset=800 data=b'F`\x02\xa6\xc8K\xe6\x87\xae\xe1G\x81K\x16M\xef\x9b\x84\x1e\xdb\xb05\x0fl\xc0\xbas\xe9t\\+\xe3A\xec\xf7|\xc0C\xc8\x8e'
Receive: 6 29.497283 29.497150 49: seq: 16, identify_response offset=840 data=b'\xdcS\x98\xb8\xcdU\xd8\x04\x9e\x8a\x91[\x01\x85\xe0\xbev\x02\x02\x198\x95\x9cd\xc8\xca\xa1$\x8d9[\xed\xc1\x9f(>A\xc8z\xa4'
Receive: 7 29.498015 29.497859 49: seq: 17, identify_response offset=880 data=b'p\xc0\x1ch8\xf5x\x0b`\x99g+\xed\xdcs\t\xfb\xe5\xa0\x816\xe8\xe17\xc99\r\x17hx\x05\x06\xcd]G\nBD\xc7\xd8'
Receive: 8 29.498658 29.498500 49: seq: 18, identify_response offset=920 data=b't\x95\xd8=\xe5p\xd7v\xad\x81+\x93b:v\x03\x07\x08\xd5V\xb6%2\xba\xc39>\xce\xe55\xd7ndM\x88\x8a|\x92\xbe/'
Receive: 9 29.499350 29.499090 49: seq: 19, identify_response offset=960 data=b"VN\x11<)\xc8\x08\x7f\xf1z\xb9$]\x8fCG%\xbb\xdd\xf8P\x0c\xdc'\x07\xfb\xb46Y\x15\xe6\xf3\xd4JiB+i]Z"
Receive: 10 29.500106 29.499872 49: seq: 1a, identify_response offset=1000 data=b'\x1e?\xc6\xe3W\xbc\x1d\xe1\xf0\xac\xdb\xed`Ce\xd46\xfc\x02\xdc\xc4)\x80M\xcf\xa8\xd5x\x80\r\x0f]]\xa9\xc1\xcb\x8a\xc2(\xc2'
Receive: 11 29.500757 29.500598 49: seq: 1b, identify_response offset=1040 data=b'{\x8a\xb3\x01\xad5QH\xdd\x95U\x99\xc4\x87L}\xe5\xd4\x89\xd2\xb7\xc3\xe4\x9d%\x01\xc5 \xbd[\xe4T3\xa5\x06\x91l\x17xJ'
Receive: 12 29.501369 29.501211 49: seq: 1c, identify_response offset=1080 data=b"O'\xe7 \xd3\x8dEX\xa6]\xff\xa3!5\xce\x90t\xacq#H\x1d\xf7@x\xe0\xe5\x9d\x97\xf6D\x81\xe1a\x91\xabY\x0e\xfa\x0e"
Receive: 13 29.502085 29.501903 49: seq: 1d, identify_response offset=1120 data=b'|\xd5r\x7f/\x18\xa7f\x81E\xbe\xf5L\x12\xeb\xb1(|\x0e\x05\xb8\xb2\xb5Yj\x91\xd8,\x04\xbb\t\x16xJY\x16^`\x13Z'
Receive: 14 29.502763 29.502612 49: seq: 1e, identify_response offset=1160 data=b'\xa4Y\x0e\xb3X+\xdb\xcc\xd1\x96w\x94e\x06\xbe\xc8r\x96\xeb$\x0b\xbc\xa3\x85\xac\xd6\x1c\x05\xe9g$\x85^\x08b\xb2\xd8\xd1Me'
Receive: 15 29.503450 29.503213 49: seq: 1f, identify_response offset=1200 data=b'\xf6@\xb4\xf2BHpb+\xbeSq\xeb\xcf\xafc\xa604\x80x\tn\xb4\xf2\xf4%\xa5\xeb\x9e\xf8\xa9t\xdd\xee\xd1\xf9\xe9Z\x90'
Receive: 16 29.504125 29.503933 49: seq: 10, identify_response offset=1240 data=b'\x18\x12\x9d\xad\x9d$\xb1\x8a\n\x07\xd9X\x82y\xbau\n9\xb6\xabc4g.\x9f\xe5\x03\x050\xe3d\x0e\xcaa\xc1/hZ\x08\xb2'
Receive: 17 29.504769 29.504618 49: seq: 11, identify_response offset=1280 data=b'\xa4\xccR\xa5\x00j\xdd\xe5&\x80\x05\x02E\x1c\xff\xa4\x8b\x8a\x04N\x17\x1d!)\xb6UNh\xd7\x9c%\x88@\x94\x12Q\xcb\x1f5\x0b'
Receive: 18 29.505481 29.505240 49: seq: 12, identify_response offset=1320 data=b'\x90\xa4X\xaf)\x06\x8ac\x01!\xf9R\xfb\xef\x13\\\x10g\xa6\xd7\xd1\xc2\xfc\x93\xa4\x15D\n\xaa\xeae\x8bXs\xee\x9ccp\x8e0'
Receive: 19 29.506113 29.505973 49: seq: 13, identify_response offset=1360 data=b"\x0b\x08\xcfs\xa5\x1e4\x8a\rt\x16\x91pJG$\x88\x85\xdc\x8b'@\x92:\x92S\xe1\xa8\x11\xb23A\xa8\xe9\xa48\x95F\x1e-"
Receive: 20 29.506707 29.506557 49: seq: 14, identify_response offset=1400 data=b'\x9aj>\x9e?G\x04*D\x19\xeaK\x81>\xd9\xce\xb1N\xc7\xf9d\x83X*\x17\xcd1\x99\x80\xf0!0\xd7\xb7V\x1al\x1d\x82J'
Receive: 21 29.507433 29.507215 49: seq: 15, identify_response offset=1440 data=b'a\xd0V(v1\x1b\xca\xbc\xc0\x06\x14\xb0\xa4\xce$g\xa2V\xa1\xd6f\x02\x14\xc7\xe0F45\xca\x10=\xc8\t\xf3\x01\xd5\xda8\xbc'
Receive: 22 29.508067 29.507893 49: seq: 16, identify_response offset=1480 data=b'\xd1\xcfPy\xdf\r:="_\xa1\xc6VI\xf8c/\xe0J\xfcdlkWZ\x9c\xc2G\x02\r\xa4\xa8z\xcakx\xb6\x14\x7f2'
Receive: 23 29.508624 29.508492 49: seq: 17, identify_response offset=1520 data=b'Y/6b.\xbf\xbd\xca\xaf/\xff\x85\xc9\xcd\x16\xae\xe8\xea\x87\x9f\xae\xbe\xcf\xbf\xfb\xe5\xcd\xcf\xd8c\xa0\xbf\xb3\xd5\xf5\xd5\xc7\xd5\xc5\xaa'
Receive: 24 29.509210 29.509062 49: seq: 18, identify_response offset=1560 data=b'\x16\xed\xf4\xb8:[\xbd\xbf\xbaT\xb6b\xc8@\xa1\xde\xff\xf3\x9a\x86Q\x98a\xc4\xbd\xf9p\xf9\xe1&\xbf\xf9x}\xf3s\xfe\xfa\xf2\xe6'
Receive: 25 29.509975 29.509826 49: seq: 19, identify_response offset=1600 data=b'\r&\x94\xe9\'L)\'HrUa\xa6\xda@:u\xd2\x9f\xaf\xd6\xab\x8b\x7f\xaf\xcf\x82\xe4W@\x05US\x8d"\x15\xb5\x11\xa0v'
Receive: 26 29.510581 29.510429 49: seq: 1a, identify_response offset=1640 data=b'\xda\xfc\n\xf9c/:\xc2\x0c7f\\\x1eD\xbf\xfe\xfa9H`!0\xbf\x80\x85\x16\x96@!=\x87E\x16\xb6\x01\r\x9f\xc3b\x0b'
Receive: 27 29.511222 29.511070 49: seq: 1b, identify_response offset=1680 data=b"\x0b\x02($\xe6\xc0\xc4\x01\xe3x\xc9M\xea\x80Y\xb8d's\xac\xae\x83%?\x1b\x07\x8c\xd6\x86!p9tz\xf8@P\x9a$`"
Receive: 28 29.511869 29.511714 49: seq: 1c, identify_response offset=1720 data=b'\xe3A\xea@\x81\x07\x02V}P\xe8\x81\xe0\xe2|P\xe4\x816\xf1\x0c\x14;P\n\xfa\xe1\x83\x12\x0f\x14\xcc\xd9H=P4g#\xf3'
Receive: 29 29.512541 29.512396 49: seq: 1d, identify_response offset=1760 data=b"@\xb1b\xe3\xd3\xcc=B\xdd\xa7\x94!\x88\xa2hu\x01\x1aY\xc8d\x1dg\x95\xcai\xc7\x9a'\xeb \xbc\x05%\xd3TZ\xa5\xe0\xb3"
Receive: 30 29.513119 29.512975 49: seq: 1e, identify_response offset=1800 data=b'\xe2\xf7k\xa3V\xb8\x1fM\x05j\nT\xd2\x9f\x0c\xd5d\x12\x84\xfed\xa4&3#\x1a\x9a\x8c\xd5d\xb0\x0ec\x7f6\xa1\xd9p3\xdb'
Receive: 31 29.513856 29.513709 49: seq: 1f, identify_response offset=1840 data=b'*\xa5Y{%4\x9b\xd1,8:sVH7\x04:\x8a\x01*\xcc\\T\xda4\x992\xe1\x1d\xe5\x95\xd4\x12\xbb\xack\xa6-\xd0\x84'
Receive: 32 29.514501 29.514349 49: seq: 10, identify_response offset=1880 data=b'&\xc9\x9aI\x8e\xecP\xdcs\xac\x971\x7f\xe4~\xe8\xa1v\xe1e\x8d.\xec\x89\x99\xb2\xad\xa2\xb8zU\xb4\xac\xedF\x06\xbe\x8ca<'
Receive: 33 29.515090 29.514942 49: seq: 11, identify_response offset=1920 data=b'`p\x13D\xcc\x141{8\x08\xf8&\xd7"Y\x0f\xce\x11X\xa4\xc0\r\xb4\x9f\x8f\x18(\x99\x14{X\x15v/F&$+\xf4^'
Receive: 34 29.515776 29.515624 49: seq: 12, identify_response offset=1960 data=b'\xd4F\xa1rR#KDE\xb7DE/\xcd\xaa