Clon1998 / mobileraker

A Flutter mobile app for Klipper/Moonraker
Other
487 stars 54 forks source link

Issue opening one printer suddenly. #120

Closed ChrisWhite1985 closed 1 year ago

ChrisWhite1985 commented 1 year ago

Describe the bug When I go to open Voron Printer, I get this error bit not on RatRig RatOS Printer. Sudddenly stopped working.

Expected behavior Open page Mobileraker - worked till recently.

**Mobileraker-Version Latest.

Additional context Error report from the App.

Exception: type '_OneByteString' is not a subtype of type 'List' in type cast

0 _$$_ConfigNeopixelFromJson (package:mobileraker/data/dto/config/led/config_neopixel.g.dart:20)

1 new _$_ConfigNeopixel.fromJson (package:mobileraker/data/dto/config/led/config_neopixel.freezed.dart:233)

2 _$ConfigNeopixelFromJson (package:mobileraker/data/dto/config/led/config_neopixel.freezed.dart:18)

3 new ConfigNeopixel.fromJson (package:mobileraker/data/dto/config/led/config_neopixel.dart:29)

4 new ConfigFile.parse (package:mobileraker/data/dto/config/config_file.dart:68)

5 PrinterService._updateConfigFile (package:mobileraker/service/moonraker/printer_service.dart:842)

6 PrinterService._parseObjectType (package:mobileraker/service/moonraker/printer_service.dart:465)

7 PrinterService._temperatureStore. (package:mobileraker/service/moonraker/printer_service.dart:415)

8 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:625)

9 PrinterService._parseQueriedObjects (package:mobileraker/service/moonraker/printer_service.dart:555)

10 PrinterService._printerObjectsQuery (package:mobileraker/service/moonraker/printer_service.dart:1139)

#11 PrinterService.refreshPrinter (package:mobileraker/service/moonraker/printer_service.dart:197) Failed-Key: configfile Raw Json: {"virtual_sdcard":{"progress":1.0,"file_position":1392584,"is_active":false,"file_path":null,"file_size":1392584},"temperature_sensor mcu_temp":{"measured_min_temp":22.37,"measured_max_temp":27.75,"temperature":22.57},"display_status":{"progress":1.0,"message":"Print Finished"},"configfile":{"warnings":[],"config":{"tmc2209 extruder":{"sense_resistor":"0.110","interpolate":"false","stealthchop_threshold":"0","run_current":"0.5","uart_pin":"PD7","hold_current":"0.2"},"gcode_macro BED_MESH_CALIBRATE":{"rename_existing":"BED_MESH_CALIBRATE_ORIGINAL","gcode":"\nQUERY_PROBE\nM401\nBED_MESH_CALIBRATE_ORIGINAL\nM402"},"gcode_macro CURRENT_NORMAL":{"gcode":"\nM117 Decreased motor currents.\nSET_TMC_CURRENT STEPPER=stepper_x CURRENT={ printer.configfile.config[\"tmc2209 stepper_x\"][\"run_current\"] }\nSET_TMC_CURRENT STEPPER=stepper_y CURRENT={ printer.configfile.config[\"tmc2209 stepper_y\"][\"run_current\"] }\nSET_TMC_CURRENT STEPPER=stepper_z CURRENT={ printer.configfile.config[\"tmc2209 stepper_z\"][\"run_current\"] }\nSET_TMC_CURRENT STEPPER=stepper_z1 CURRENT={ printer.configfile.config[\"tmc2209 stepper_z1\"][\"run_current\"] }\nSET_TMC_CURRENT STEPPER=stepper_z2 CURRENT={ printer.configfile.config[\"tmc2209 stepper_z2\"][\"run_current\"] }\nSET_TMC_CURRENT STEPPER=stepper_z3 CURRENT={ printer.configfile.config[\"tmc2209 stepper_z3\"][\"run_current\"] }","description":"Lowers stepper current for NON-printing routines, as set in [tmc2209 stepper_XX] above."},"gcode_macro _do_error_if_probe_deployed":{"gcode":"\n{% if not printer.probe.last_query %}\n{action_raise_error(\"ERROR: probe still deployed - remove and return to dock.\")}\n{% else %}\nM117 Probe stowed.\n{% endif %}"},"gcode_macro _HEAT_WAIT":{"gcode":"\n{% set MINUTES = params.MINUTES|default(12)|int %}\n{% for i in range(0, MINUTES) %}\nM117 Warming... {MINUTES-i} minute remaining.\n{% for s in range(0, 60) %}\nG4 P500\nG4 P500\n{% endfor %}\n{% endfor %}"},"pause_resume":{},"input_shaper":{"shaper_freq_x":"53.6","shaper_freq_y":"40.4","shaper_type_x":"mzv","shaper_type_y":"mzv"},"resonance_tester":{"probe_points":"\n175, 175, 20","accel_chip":"adxl345"},"probe":{"samples_tolerance_retries":"3","samples":"3","pin":"^PA3","samples_result":"median","sample_retract_dist":"1.5","samples_tolerance":"0.0075","lift_speed":"10.0","y_offset":"25.0","x_offset":"0","z_offset":"10.00","speed":"04.0"},"safe_z_home":{"speed":"20","home_xy_position":"231,350","z_hop":"10"},"gcode_macro M600":{"gcode":"\nM117 Filament Change ; Message Text on LCD\n{% set X = params.X|default(50)|float %}\n{% set Y = params.Y|default(0)|float %}\n{% set Z = params.Z|default(10)|float %}\nSAVE_GCODE_STATE NAME=M600_state\nPAUSE\nG91\nG1 E-.8 F2700\nG1 Z{Z}\nG90\nG1 X{X} Y50 F3000\nG91\nG1 E-50 F1000\nRESTORE_GCODE_STATE NAME=M600_state\nM117 Feed Me!"},"stepper_z2":{"rotation_distance":"40","gear_ratio":"80:16","step_pin":"PE2","microsteps":"32","dir_pin":"!PE4","enable_pin":"!PE3"},"gcode_macro UNLOAD_FILAMENT":{"gcode":"\n{% set X_MID = printer.configfile.config[\"stepper_x\"][\"position_max\"]|float / 2.0 %}\n{% if printer.idle_timeout.state == \"Printing\" or printer.pause_resume.is_paused %}\n{% if printer.idle_timeout.state == \"Printing\" and printer.pause_resume.is_paused %}\nSAVE_GCODE_STATE NAME=HUF_state\nM83 ; relative positioning on extruder\nG0 X{X_MID} Y20 F3500 ; move to area where can easily load filament\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG92 E0 ; reset extruder\nM400\nRESTORE_GCODE_STATE NAME=HUF_state\n{% else %}\n{action_respond_info(\"Pause print first.\")}\n{% endif %}\n{% else %}\n{% if printer.toolhead.homed_axes != \"xyz\" %}\nM117 Performing required homing.\nG28\n{% endif %}\n{% set TEMP = params.TEMP|default(235)|float %}\nM117 Heating nozzle to UNLOAD filamnet.\nG90 ; absolute positioning\nG0 X{X_MID} Y20 F3500 ; move to area where can easily load filament\nM109 S{TEMP} ; set hotend temperature and wait\nM83 ; relative positioning on extruder\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG92 E0 ; reset extruder\nM400\n_PARK_TOOLHEAD\nM18 X Y E\nTURN_OFF_HEATERS\nM117 Finished filament unload.\n{% endif %}"},"mcu rpi":{"serial":"/tmp/klipper_host_mcu"},"gcode_macro QUAD_GANTRY_LEVEL":{"rename_existing":"QUAD_GANTRY_LEVEL_ORIGINAL","gcode":"\nQUERY_PROBE\nM401\nQUAD_GANTRY_LEVEL_ORIGINAL\nM402"},"stepper_z3":{"rotation_distance":"40","gear_ratio":"80:16","step_pin":"PD12","microsteps":"32","dir_pin":"PC4","enable_pin":"!PE8"},"gcode_macro _PARK_TOOLHEAD":{"gcode":"\n{% set Z_MAX = printer.configfile.config[\"stepper_z\"][\"position_max\"]|float -1 %}\n{% set X_MAX = printer.configfile.config[\"stepper_x\"][\"position_max\"]|float -1 %}\n{% set Z_POS = printer.toolhead.position.z + 10 %}\nM118 Parking toolhead.\nG90\nG0 X{X_MAX} Y20 Z{ [(Z_MAX*0.75), [Z_POS, Z_MAX]|min]|max } F3600"},"gcode_macro LOAD_FILAMENT":{"gcode":"\n{% set X_MID = printer.configfile.config[\"stepper_x\"][\"position_max\"]|float / 2.0 %}\n{% if printer.idle_timeout.state == \"Printing\" or printer.pause_resume.is_paused %}\n{% if printer.idle_timeout.state == \"Printing\" and printer.pause_resume.is_paused %}\nSAVE_GCODE_STATE NAME=HLF_state\nM83 ; relative positioning on extruder\nG0 X{X_MID} Y20 F3500 ; move to area where can easily load filament\nG0 E50 F400 ; prime extruder\nG0 E50 F400 ; prime extruder\nG0 E50 F200 ; prime extruder\nG1 E-0.5 F1800 ; .5mm retraction\nG92 E0 ; reset extruder\nM400\nRESTORE_GCODE_STATE NAME=HLF_state\n{% else %}\n{action_respond_info(\"Pause print first.\")}\n{% endif %}\n{% else %}\n{% if printer.toolhead.homed_axes != \"xyz\" %}\nM117 Performing required homing.\nG28\n{% endif %}\n{% set TEMP = params.TEMP|default(235)|float %}\nM117 Heating nozzle to LOAD filamnet.\nG90 ; absolute positioning\nG0 X{X_MID} Y20 F3500 ; move to area where can easily load filament\nM109 S{TEMP} ; set hotend temperature and wait\nM83 ; relative positioning on extruder\nG0 E50 F400 ; prime extruder\nG0 E50 F400 ; prime extruder\nG0 E50 F200 ; prime extruder\nG1 E-0.5 F1800 ; .5mm retraction\nG92 E0 ; reset extruder\nM400\n_PARK_TOOLHEAD\nM18 X Y E\nTURN_OFF_HEATERS\nM117 Finished filament load.\n{% endif %}"},"bed_mesh default":{"tension":"0.2","min_x":"40.0","min_y":"40.0","y_count":"11","mesh_y_pps":"2","x_count":"11","version":"1","algo":"bicubic","mesh_x_pps":"2","max_y":"310.0","max_x":"310.0","points":"\n0.148750, 0.113750, 0.071250, 0.081250, 0.048750, 0.028750, 0.023750, 0.053750, 0.056250, 0.096250, 0.123750\n0.165000, 0.110000, 0.078750, 0.092500, 0.037500, 0.030000, 0.032500, 0.041250, 0.076250, 0.107500, 0.146250\n0.167500, 0.108750, 0.070000, 0.041250, 0.036250, 0.028750, 0.012500, 0.026250, 0.037500, 0.093750, 0.148750\n0.172500, 0.135000, 0.077500, 0.033750, 0.041250, 0.026250, 0.015000, 0.026250, 0.052500, 0.097500, 0.143750\n0.158750, 0.140000, 0.076250, 0.026250, 0.032500, -0.010000, -0.005000, 0.030000, 0.030000, 0.055000, 0.122500\n0.136250, 0.112500, 0.051250, 0.036250, 0.017500, 0.000000, -0.001250, 0.018750, 0.021250, 0.060000, 0.137500\n0.150000, 0.103750, 0.062500, 0.048750, 0.032500, 0.001250, 0.035000, -0.001250, 0.031250, 0.092500, 0.125000\n0.153750, 0.107500, 0.072500, 0.047500, 0.021250, 0.020000, 0.010000, 0.036250, 0.033750, 0.076250, 0.133750\n0.132500, 0.102500, 0.075000, 0.033750, 0.051250, 0.021250, -0.012500, -0.005000, 0.023750, 0.050000, 0.101250\n0.152500, 0.118750, 0.053750, 0.042500, 0.030000, 0.018750, 0.008750, 0.003750, 0.030000, 0.057500, 0.120000\n0.167500, 0.120000, 0.096250, 0.073750, 0.052500, 0.036250, 0.030000, 0.022500, 0.041250, 0.091250, 0.141250"},"virtual_sdcard":{"path":"~/gcode_files"},"tmc2209 stepper_y":{"uart_pin":"PE15","stealthchop_threshold":"0","sense_resistor":"0.110","run_current":"1.1","interpolate":"true"},"gcode_macro _do_error_if_probe_not_deployed":{"gcode":"\n{% if printer.probe.last_query %}\n{action_raise_error(\"ERROR: probe unsuccessfully deployed.\")}\n{% else %}\nM117 Probe attached.\n{% endif %}"},"stepper_z":{"homing_retract_dist":"3","position_endstop":"0.970","endstop_pin":"^PA0","rotation_distance":"40","gear_ratio":"80:16","second_homing_speed":"3","step_pin":"PD14","position_min":"-7","microsteps":"32","homing_speed":"8","dir_pin":"!PD13","position_max":"330","enable_pin":"!PD15"},"stepper_y":{"homing_positive_dir":"true","homing_retract_dist":"5","position_endstop":"350","full_steps_per_rotation":"400","endstop_pin":"PB13","rotation_distance":"40","step_pin":"PD8","position_min":"0","microsteps":"32","homing_speed":"50","dir_pin":"!PB12","position_max":"350","enable_pin":"!PD9"},"stepper_x":{"homing_positive_dir":"true","homing_retract_dist":"5","position_endstop":"350","full_steps_per_rotation":"400","endstop_pin":"PB14","rotation_distance":"40","step_pin":"PE11","position_min":"0","microsteps":"32","homing_speed":"50","dir_pin":"!PE10","position_max":"350","enable_pin":"!PE9"},"tmc2209 stepper_x":{"uart_pin":"PE7","stealthchop_threshold":"0","sense_resistor":"0.110","run_current":"1.1","interpolate":"true"},"heater_bed":{"control":"pid","pid_kp":"37.827","sensor_pin":"PC3","pid_kd":"251.079","heater_pin":"PB4","sensor_type":"Generic 3950","max_power":"0.6","pid_ki":"1.425","min_temp":"0","max_temp":"120"},"gcode_macro _error_if_probe_not_deployed":{"gcode":"\nG4 P300\nQUERY_PROBE\n_do_error_if_probe_not_deployed"},"tmc2209 stepper_z1":{"uart_pin":"PC14","stealthchop_threshold":"0","sense_resistor":"0.110","run_current":"0.8","interpolate":"true"},"tmc2209 stepper_z3":{"uart_pin":"PA15","stealthchop_threshold":"0","sense_resistor":"0.110","run_current":"0.8","interpolate":"true"},"tmc2209 stepper_z2":{"uart_pin":"PC15","stealthchop_threshold":"0","sense_resistor":"0.110","run_current":"0.8","interpolate":"true"},"gcode_macro M401":{"gcode":"\nQUERY_PROBE\n{% if printer.probe.last_query %}\nM117 Fetching Probe\n_PROBE_DEPLOY\n{% else %}\nM117 Prb alr. attached.\n{% endif %}"},"gcode_macro M402":{"gcode":"\nQUERY_PROBE\n{% if not printer.probe.last_query %}\nM117 Stowing Probe\n_PROBE_STOW\n{% else %}\nM117 Prb not attached.\n{% endif %}"},"gcode_macro HOTMESH":{"gcode":"\nCLEAR_PAUSE\n{% if printer.idle_timeout.state == \"Printing\" or printer.pause_resume.is_paused %}\n{action_respond_info(\"Cannot do that while printing\")}\n{% else %}\n{% set BED_TEMP = params.BED_TEMP|default(100)|float %}\nM140 S{BED_TEMP}\nM104 S160\nG90\nSET_GCODE_OFFSET Z=0.0\nM117 Homing XYZ\nG32\nG1 X0 Y20 Z25 F3000\nM117 Bed Heating\nM190 S{BED_TEMP}\n_HEAT_WAIT MINUTES=2\nM117 Performing hot level.\nCURRENT_HIGH\nM400\nBED_MESH_CLEAR\nG28\nQUERY_PROBE\n{% if printer.probe.last_query %}\nM118 Fetching Euclid Probe.\n_PROBE_DEPLOY\n{% endif %}\nQUAD_GANTRY_LEVEL_ORIGINAL\nG28\nM117 Performing heated bed mesh calibration.\nBED_MESH_PROFILE REMOVE=HOTMESH\nBED_MESH_CALIBRATE_ORIGINAL\nBED_MESH_PROFILE SAVE=HOTMESH\nBED_MESH_OUTPUT PGP=1\nM118 Bed mesh calibration completed.\nTURN_OFF_HEATERS\nCURRENT_NORMAL\nM402\n_PARK_TOOLHEAD\nM18 X Y E\nM117 Finished mesh.\nSAVE_CONFIG\n{% endif %}"},"printer":{"square_corner_velocity":"5.0","max_accel":"3000","max_z_accel":"350","max_velocity":"300","max_z_velocity":"15","kinematics":"corexy"},"gcode_macro G3200":{"gcode":"\nBED_MESH_CLEAR\nG28\nQUERY_PROBE\n{% if printer.probe.last_query %}\nM117 Fetching Probe.\n_PROBE_DEPLOY\nG28 Z\n{% endif %}\nQUAD_GANTRY_LEVEL_ORIGINAL\nBED_MESH_PROFILE LOAD=HOTMESH\nG28\nM117 Stowing Probe\n_PROBE_STOW\nQUERY_PROBE"},"temperature_sensor mcu_temp":{"sensor_type":"temperature_mcu"},"gcode_macro _COOL_WAIT":{"gcode":"\nM106 S250\n{% set MINUTES = params.MINUTES|default(1)|int %}\n{% for i in range(0, MINUTES) %}\nM117 Cooling... {MINUTES-i} minute remaining.\n{% for s in range(0, 60) %}\nG4 P500\nG4 P500\n{% endfor %}\n{% endfor %}\nM107"},"adxl345":{"cs_pin":"rpi:None"},"gcode_macro RESUME":{"rename_existing":"RESUME_BASE","description":"Resume the actual running print","gcode":"\n{% set e = params.E|default(1) %}\n{% if 'VELOCITY' in params|upper %}\n{% set get_params = ('VELOCITY=' + params.VELOCITY) %}\n{%else %}\n{% set get_params = \"\" %}\n{% endif %}\nG91\n{% if printer.extruder.can_extrude|lower == 'true' %}\nG1 E{e} F2100\n{% else %}\n{action_respond_info(\"Extruder not hot enough\")}\n{% endif %}\nRESUME_BASE {get_params}"},"gcode_macro PAUSE":{"rename_existing":"PAUSE_BASE","description":"Pause the actual running print","gcode":"\n{% set x = params.X|default(0) %}\n{% set y = params.Y|default(0) %}\n{% set z = params.Z|default(10)|float %}\n{% set e = params.E|default(1) %}\n{% set max_z = printer.toolhead.axis_maximum.z|float %}\n{% set act_z = printer.toolhead.position.z|float %}\n{% set lift_z = z|abs %}\n{% if act_z < (max_z - lift_z) %}\n{% set z_safe = lift_z %}\n{% else %}\n{% set z_safe = max_z - act_z %}\n{% endif %}\nPAUSE_BASE\nG91\n{% if printer.extruder.can_extrude|lower == 'true' %}\nG1 E-{e} F2100\n{% else %}\n{action_respond_info(\"Extruder not hot enough\")}\n{% endif %}\n{% if \"xyz\" in printer.toolhead.homed_axes %}\nG1 Z{z_safe}\nG90\nG1 X{x} Y{y} F6000\n{% else %}\n{action_respond_info(\"Printer not homed\")}\n{% endif %}"},"gcode_macro _error_if_probe_deployed":{"gcode":"\nG4 P300\nQUERY_PROBE\n_do_error_if_probe_deployed"},"display":{"a0_pin":"PD2","cs_pin":"PC11","spi_software_mosi_pin":"PA7","encoder_pins":"^PC6,^PC7","lcd_type":"uc1701","spi_software_miso_pin":"PA6","spi_software_sclk_pin":"PA5","rst_pin":"PC10","contrast":"63","click_pin":"^!PA8"},"fan":{"off_below":"0.10","kick_start_time":"0.5","max_power":"1","pin":"PB1"},"bed_mesh HOTMESH":{"tension":"0.2","min_x":"40.0","min_y":"40.0","y_count":"11","mesh_y_pps":"2","x_count":"11","version":"1","algo":"bicubic","mesh_x_pps":"2","max_y":"310.0","max_x":"310.0","points":"\n0.148750, 0.113750, 0.071250, 0.081250, 0.048750, 0.028750, 0.023750, 0.053750, 0.056250, 0.096250, 0.123750\n0.165000, 0.110000, 0.078750, 0.092500, 0.037500, 0.030000, 0.032500, 0.041250, 0.076250, 0.107500, 0.146250\n0.167500, 0.108750, 0.070000, 0.041250, 0.036250, 0.028750, 0.012500, 0.026250, 0.037500, 0.093750, 0.148750\n0.172500, 0.135000, 0.077500, 0.033750, 0.041250, 0.026250, 0.015000, 0.026250, 0.052500, 0.097500, 0.143750\n0.158750, 0.140000, 0.076250, 0.026250, 0.032500, -0.010000, -0.005000, 0.030000, 0.030000, 0.055000, 0.122500\n0.136250, 0.112500, 0.051250, 0.036250, 0.017500, 0.000000, -0.001250, 0.018750, 0.021250, 0.060000, 0.137500\n0.150000, 0.103750, 0.062500, 0.048750, 0.032500, 0.001250, 0.035000, -0.001250, 0.031250, 0.092500, 0.125000\n0.153750, 0.107500, 0.072500, 0.047500, 0.021250, 0.020000, 0.010000, 0.036250, 0.033750, 0.076250, 0.133750\n0.132500, 0.102500, 0.075000, 0.033750, 0.051250, 0.021250, -0.012500, -0.005000, 0.023750, 0.050000, 0.101250\n0.152500, 0.118750, 0.053750, 0.042500, 0.030000, 0.018750, 0.008750, 0.003750, 0.030000, 0.057500, 0.120000\n0.167500, 0.120000, 0.096250, 0.073750, 0.052500, 0.036250, 0.030000, 0.022500, 0.041250, 0.091250, 0.141250"},"tmc2209 stepper_z":{"sense_resistor":"0.110","uart_address":"0","interpolate":"true","stealthchop_threshold":"0","run_current":"0.8","uart_pin":"PD10"},"gcode_macro CURRENT_HIGH":{"gcode":"\nM117 Increased motor currents.\nSET_TMC_CURRENT STEPPER=stepper_x CURRENT=1.1\nSET_TMC_CURRENT STEPPER=stepper_y CURRENT=1.1\nSET_TMC_CURRENT STEPPER=stepper_z CURRENT=0.8\nSET_TMC_CURRENT STEPPER=stepper_z1 CURRENT=0.8\nSET_TMC_CURRENT STEPPER=stepper_z2 CURRENT=0.8\nSET_TMC_CURRENT STEPPER=stepper_z3 CURRENT=0.8","description":"Raises stepper current for printing routine."},"mcu":{"baud":"250000","restart_method":"command","serial":"/dev/ttyAMA0"},"gcode_macro PRINT_END":{"gcode":"\n{% set Z_MAX = printer.configfile.config[\"stepper_z\"][\"position_max\"]|float -1 %}\n{% set X_MAX = printer.configfile.config[\"stepper_x\"][\"position_max\"]|float -1 %}\n{% set Z_POS = printer.toolhead.position.z + 10 %}\n{% set th = printer.toolhead %}\n{% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %}\n{% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %}\n{% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %}\nSAVE_GCODE_STATE NAME=STATE_PRINT_END\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-2.0 F3600 ; retract filament\nTURN_OFF_HEATERS\nCURRENT_NORMAL\nG91\nG0 Z5\nG90\nM400\nG0 X{x_safe} Y{y_safe} Z{z_safe} F20000 ; move nozzle to remove stringing\nG0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 ; park nozzle at rear\nM18 X Y E\nM107 ; turn off fan\nBED_MESH_CLEAR\nRESTORE_GCODE_STATE NAME=STATE_PRINT_END\n_COOL_WAIT MINUTES=1\nM117 Print Finished"},"neopixel fysetc_mini12864":{"pin":"PC12","chain_count":"3","initial_red":"1.0","initial_green":"0.0","initial_blue":"0.0","color_order":"RGB"},"delayed_gcode setdisplayneopixel":{"gcode":"\nSET_LED LED=fysetc_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=3 TRANSMIT=1","initial_duration":"1"},"gcode_macro HOME_FRONT":{"gcode":"\nG28\nG0 X290 Y50 Z60 F10000"},"gcode_macro G32":{"gcode":"\nBED_MESH_CLEAR\nG28\nQUERY_PROBE\n{% if printer.probe.last_query %}\nM117 Fetching Probe.\n_PROBE_DEPLOY\n{% endif %}\nQUAD_GANTRY_LEVEL_ORIGINAL\nG28\nM117 Stowing Probe\n_PROBE_STOW\nQUERY_PROBE"},"bed_mesh":{"horizontal_move_z":"15","algorithm":"bicubic","mesh_min":"40, 40","mesh_max":"310,310","fade_start":"0.6","fade_end":"10.0","probe_count":"11,11","speed":"50","relative_reference_index":"60"},"gcode_macro _PROBE_DEPLOY":{"gcode":"\nG90\nG0 Z25 F800 ; Get a little bit of height\nG0 Y325 F5000 ; Move forward out of alignment with cradle\nG0 X33 F5000 ; Align with cradle from front\nG0 Y345 F800 ; Approach cradle from front\nG0 X100 F3500 ; Swipe to the side to free probe of cradle\n_error_if_probe_not_deployed ; Verify probe attached"},"idle_timeout":{"timeout":"1800"},"gcode_macro _PROBE_STOW":{"gcode":"\nG90\nG0 X175 F5000 ; Centralise toolhead.\nG0 Y345 F5000 ; Move toolhead back to align with cradle.\nG0 X100 F5000 ; Align probe with cradle ready to stow.\nG0 X33 F800 ; Slowy approach cradle and dock probe.\nG0 Y325 F3500 ; Swipe forward to drop probe in cradle.\n_error_if_probe_deployed ; Verify probe detached"},"gcode_macro CANCEL_PRINT":{"rename_existing":"CANCEL_PRINT_BASE","description":"Cancel the actual running print","gcode":"\n{% set Z_MAX = printer.configfile.config[\"stepper_z\"][\"position_max\"]|float -1 %}\n{% set X_MAX = printer.configfile.config[\"stepper_x\"][\"position_max\"]|float -1 %}\n{% set Z_POS = printer.toolhead.position.z + 10 %}\nSAVE_GCODE_STATE NAME=STATE_PRINT_END\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-2.0 F3600 ; retract filament\nCLEAR_PAUSE\nTURN_OFF_HEATERS\nCANCEL_PRINT_BASE\nCURRENT_NORMAL\nM106 S250\nG90\n_PARK_TOOLHEAD\nM18 X Y E\nM107 ; turn off fan\nBED_MESH_CLEAR\nRESTORE_GCODE_STATE NAME=STATE_PRINT_END\n_COOL_WAIT MINUTES=3\nM117 Cancelled print, check nozzle clear."},"gcode_macro PRINT_START":{"gcode":"\nCLEAR_PAUSE\nBED_MESH_CLEAR\nQUERY_PROBE\n{% set BED_TEMP = params.BED|float %}\n{% set EXTRUDER_TEMP = params.HOTEND|float %}\n{% set EXTRUDER_TEMP_PRE = EXTRUDER_TEMP - 80 %}\n{% set NZLD = printer.configfile.config[\"extruder\"][\"nozzle_diameter\"]|float %}\nM140 S{BED_TEMP}\nM104 S160\nG90\nM117 Homing XYZ\nG32\nG1 X0 Y20 Z25 F3000\nM117 Bed Heating\nM190 S{BED_TEMP}\n_HEAT_WAIT MINUTES=1\nM117 Hot QGL\nCURRENT_HIGH\nM400\nG3200\nM104 S{EXTRUDER_TEMP_PRE}\nG1 X0 Y20 F5000.0\nG1 Z0.5\nM117 Heating Nozzle\nM109 S{EXTRUDER_TEMP}\nM117 Purging\nG1 X0 Y19.8 Z0.3 F1500.0\nG1 E{(12.5 * NZLD)} F3600\nM400\nG1 X0 Y0 Z0.3 F1500.0\nG1 X130 Y0.0 Z0.3 F1500.0 E{(37.5 * NZLD)}\nG1 X130 Y0.3 Z0.3 F5000.0\nG1 X010 Y0.3 Z0.3 F1500.0 E{(37.5 * NZLD)}\nM400\nG92 E0\nG1 Z5.0 F3000\nM117 Printing"},"heater_fan hotend_fan":{"kick_start_time":"0.5","heater_temp":"50.0","max_power":"1.0","pin":"PB0","heater":"extruder"},"stepper_z1":{"rotation_distance":"40","gear_ratio":"80:16","step_pin":"PE6","microsteps":"32","dir_pin":"PC13","enable_pin":"!PE5"},"temperature_fan electronics_fan":{"control":"pid","pid_kp":"40","pin":"PB2","off_below":"0.3","pid_kd":"0.1","sensor_type":"temperature_host","target_temp":"35.0","pid_deriv_time":"2.0","max_power":"1.0","kick_start_time":"0.5","pid_ki":"0.2","min_temp":"10","max_temp":"100","min_speed":"0.4"},"quad_gantry_level":{"retries":"5","horizontal_move_z":"13","retry_tolerance":"0.0075","gantry_corners":"\n-60,-10\n410,420","points":"\n50,25\n50,275\n300,275\n300,25","speed":"200","max_adjust":"15"},"gcode_macro TEST_SPEED":{"gcode":"\n{% set speed = params.SPEED|default(printer.configfile.settings.printer.max_velocity)|int %}\n{% set iterations = params.ITERATIONS|default(5)|int %}\n{% set accel = params.ACCEL|default(printer.configfile.settings.printer.max_accel)|int %}\n{% set bound = params.BOUND|default(20)|int %}\n{% set smallpatternsize = SMALLPATTERNSIZE|default(20)|int %}\n{% set x_min = printer.toolhead.axis_minimum.x + bound %}\n{% set x_max = printer.toolhead.axis_maximum.x - bound %}\n{% set y_min = printer.toolhead.axis_minimum.y + bound %}\n{% set y_max = printer.toolhead.axis_maximum.y - bound %}\n{% set x_center = (printer.toolhead.axis_minimum.x|float + printer.toolhead.axis_maximum.x|float ) / 2 %}\n{% set y_center = (printer.toolhead.axis_minimum.y|float + printer.toolhead.axis_maximum.y|float ) / 2 %}\n{% set x_center_min = x_center - (smallpatternsize/2) %}\n{% set x_center_max = x_center + (smallpatternsize/2) %}\n{% set y_center_min = y_center - (smallpatternsize/2) %}\n{% set y_center_max = y_center + (smallpatternsize/2) %}\nSAVE_GCODE_STATE NAME=TEST_SPEED\n{ action_respond_info(\"TEST_SPEED: starting %d iterations at speed %d, accel %d\" % (iterations, speed, accel)) }\nG90\nSET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel / 2}\nG28\n{% if printer.configfile.settings.quad_gantry_level %}\n{% if printer.quad_gantry_level.applied == False %}\nQUAD_GANTRY_LEVEL\nG28 Z\n{% endif %}\n{% endif %}\nG0 X{printer.toolhead.axis_maximum.x} Y{printer.toolhead.axis_maximum.y} F{30*60}\nG4 P1000\nGET_POSITION\nG0 X{x_min} Y{y_min} Z{bound + 10} F{speed*60}\n{% for i in range(iterations) %}\nG0 X{x_min} Y{y_min} F{speed*60}\nG0 X{x_max} Y{y_max} F{speed*60}\nG0 X{x_min} Y{y_min} F{speed*60}\nG0 X{x_max} Y{y_min} F{speed*60}\nG0 X{x_min} Y{y_max} F{speed*60}\nG0 X{x_max} Y{y_min} F{speed*60}\nG0 X{x_min} Y{y_min} F{speed*60}\nG0 X{x_min} Y{y_max} F{speed*60}\nG0 X{x_max} Y{y_max} F{speed*60}\nG0 X{x_max} Y{y_min} F{speed*60}\nG0 X{x_center_min} Y{y_center_min} F{speed*60}\nG0 X{x_center_max} Y{y_center_max} F{speed*60}\nG0 X{x_center_min} Y{y_center_min} F{speed*60}\nG0 X{x_center_max} Y{y_center_min} F{speed*60}\nG0 X{x_center_min} Y{y_center_max} F{speed*60}\nG0 X{x_center_max} Y{y_center_min} F{speed*60}\nG0 X{x_center_min} Y{y_center_min} F{speed*60}\nG0 X{x_center_min} Y{y_center_max} F{speed*60}\nG0 X{x_center_max} Y{y_center_max} F{speed*60}\nG0 X{x_center_max} Y{y_center_min} F{speed*60}\n{% endfor %}\nSET_VELOCITY_LIMIT VELOCITY={printer.configfile.settings.printer.max_velocity} ACCEL={printer.configfile.settings.printer.max_accel} ACCEL_TO_DECEL={printer.configfile.settings.printer.max_accel_to_decel}\nG28\nG0 X{printer.toolhead.axis_maximum.x} Y{printer.toolhead.axis_maximum.y} F{30*60}\nG4 P1000\nGET_POSITION\nRESTORE_GCODE_STATE NAME=TEST_SPEED"},"extruder":{"control":"pid","pressure_advance_smooth_time":"0.04","sensor_type":"ATC Semitec 104GT-2","min_temp":"10","enable_pin":"!PD4","pressure_advance":"0.05","dir_pin":"!PD6","pid_kp":"29.170","full_steps_per_rotation":"200","heater_pin":"PB15","pid_kd":"126.891","pid_ki":"1.676","filament_diameter":"1.75","gear_ratio":"50:17","sensor_pin":"PC0","nozzle_diameter":"1.0","rotation_distance":"21.86721415","step_pin":"PD5","max_power":"1.0","microsteps":"32","max_temp":"300","min_extrude_temp":"170"}},"settings":{"tmc2209 extruder":{"driver_tbl":2,"driver_pwm_ofs":36,"driver_hstrt":5,"driver_toff":3,"sense_resistor":0.11,"uart_address":0,"driver_hend":0,"driver_pwm_reg":8,"driver_iholddelay":8,"interpolate":false,"uart_pin":"PD7","driver_pwm_autoscale":true,"driver_pwm_autograd":true,"driver_pwm_grad":14,"run_current":0.5,"driver_sgthrs":0,"stealthchop_threshold":0.0,"hold_current":0.2,"driver_tpowerdown":20,"driver_pwm_lim":12,"driver_pwm_freq":1},"gcode_macro home_front":{"gcode":"\nG28\nG0 X290 Y50 Z60 F10000","description":"G-Code macro"},"gcode_macro load_filament":{"gcode":"\n{% set X_MID = printer.configfile.config[\"stepper_x\"][\"position_max\"]|float / 2.0 %}\n{% if printer.idle_timeout.state == \"Printing\" or printer.pause_resume.is_paused %}\n{% if printer.idle_timeout.state == \"Printing\" and printer.pause_resume.is_paused %}\nSAVE_GCODE_STATE NAME=HLF_state\nM83 ; relative positioning on extruder\nG0 X{X_MID} Y20 F3500 ; move to area where can easily load filament\nG0 E50 F400 ; prime extruder\nG0 E50 F400 ; prime extruder\nG0 E50 F200 ; prime extruder\nG1 E-0.5 F1800 ; .5mm retraction\nG92 E0 ; reset extruder\nM400\nRESTORE_GCODE_STATE NAME=HLF_state\n{% else %}\n{action_respond_info(\"Pause print first.\")}\n{% endif %}\n{% else %}\n{% if printer.toolhead.homed_axes != \"xyz\" %}\nM117 Performing required homing.\nG28\n{% endif %}\n{% set TEMP = params.TEMP|default(235)|float %}\nM117 Heating nozzle to LOAD filamnet.\nG90 ; absolute positioning\nG0 X{X_MID} Y20 F3500 ; move to area where can easily load filament\nM109 S{TEMP} ; set hotend temperature and wait\nM83 ; relative positioning on extruder\nG0 E50 F400 ; prime extruder\nG0 E50 F400 ; prime extruder\nG0 E50 F200 ; prime extruder\nG1 E-0.5 F1800 ; .5mm retraction\nG92 E0 ; reset extruder\nM400\n_PARK_TOOLHEAD\nM18 X Y E\nTURN_OFF_HEATERS\nM117 Finished filament load.\n{% endif %}","description":"G-Code macro"},"gcode_macro _do_error_if_probe_deployed":{"gcode":"\n{% if not printer.probe.last_query %}\n{action_raise_error(\"ERROR: probe still deployed - remove and return to dock.\")}\n{% else %}\nM117 Probe stowed.\n{% endif %}","description":"G-Code macro"},"gcode_macro _heat_wait":{"gcode":"\n{% set MINUTES = params.MINUTES|default(12)|int %}\n{% for i in range(0, MINUTES) %}\nM117 Warming... {MINUTES-i} minute remaining.\n{% for s in range(0, 60) %}\nG4 P500\nG4 P500\n{% endfor %}\n{% endfor %}","description":"G-Code macro"},"force_move":{"enable_force_move":false},"pause_resume":{"recover_velocity":50.0},"gcode_macro _cool_wait":{"gcode":"\nM106 S250\n{% set MINUTES = params.MINUTES|default(1)|int %}\n{% for i in range(0, MINUTES) %}\nM117 Cooling... {MINUTES-i} minute remaining.\n{% for s in range(0, 60) %}\nG4 P500\nG4 P500\n{% endfor %}\n{% endfor %}\nM107","description":"G-Code macro"},"resonance_tester":{"min_freq":5.0,"probe_points":[[175.0,175.0,20.0]],"move_speed":50.0,"hz_per_sec":1.0,"max_freq":133.33333333333334,"accel_per_hz":75.0,"accel_chip":"adxl345"},"probe":{"samples_tolerance_retries":3,"x_offset":0.0,"pin":"^PA3","samples_result":"median","samples_tolerance":0.0075,"speed":4.0,"deactivate_gcode":"","deactivate_on_each_sample":true,"sample_retract_dist":1.5,"y_offset":25.0,"samples":3,"z_offset":10.0,"activate_gcode":"","lift_speed":10.0},"gcode_macro test_speed":{"gcode":"\n{% set speed = params.SPEED|default(printer.configfile.settings.printer.max_velocity)|int %}\n{% set iterations = params.ITERATIONS|default(5)|int %}\n{% set accel = params.ACCEL|default(printer.configfile.settings.printer.max_accel)|int %}\n{% set bound = params.BOUND|default(20)|int %}\n{% set smallpatternsize = SMALLPATTERNSIZE|default(20)|int %}\n{% set x_min = printer.toolhead.axis_minimum.x + bound %}\n{% set x_max = printer.toolhead.axis_maximum.x - bound %}\n{% set y_min = printer.toolhead.axis_minimum.y + bound %}\n{% set y_max = printer.toolhead.axis_maximum.y - bound %}\n{% set x_center = (printer.toolhead.axis_minimum.x|float + printer.toolhead.axis_maximum.x|float ) / 2 %}\n{% set y_center = (printer.toolhead.axis_minimum.y|float + printer.toolhead.axis_maximum.y|float ) / 2 %}\n{% set x_center_min = x_center - (smallpatternsize/2) %}\n{% set x_center_max = x_center + (smallpatternsize/2) %}\n{% set y_center_min = y_center - (smallpatternsize/2) %}\n{% set y_center_max = y_center + (smallpatternsize/2) %}\nSAVE_GCODE_STATE NAME=TEST_SPEED\n{ action_respond_info(\"TEST_SPEED: starting %d iterations at speed %d, accel %d\" % (iterations, speed, accel)) }\nG90\nSET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel / 2}\nG28\n{% if printer.configfile.settings.quad_gantry_level %}\n{% if printer.quad_gantry_level.applied == False %}\nQUAD_GANTRY_LEVEL\nG28 Z\n{% endif %}\n{% endif %}\nG0 X{printer.toolhead.axis_maximum.x} Y{printer.toolhead.axis_maximum.y} F{30*60}\nG4 P1000\nGET_POSITION\nG0 X{x_min} Y{y_min} Z{bound + 10} F{speed*60}\n{% for i in range(iterations) %}\nG0 X{x_min} Y{y_min} F{speed*60}\nG0 X{x_max} Y{y_max} F{speed*60}\nG0 X{x_min} Y{y_min} F{speed*60}\nG0 X{x_max} Y{y_min} F{speed*60}\nG0 X{x_min} Y{y_max} F{speed*60}\nG0 X{x_max} Y{y_min} F{speed*60}\nG0 X{x_min} Y{y_min} F{speed*60}\nG0 X{x_min} Y{y_max} F{speed*60}\nG0 X{x_max} Y{y_max} F{speed*60}\nG0 X{x_max} Y{y_min} F{speed*60}\nG0 X{x_center_min} Y{y_center_min} F{speed*60}\nG0 X{x_center_max} Y{y_center_max} F{speed*60}\nG0 X{x_center_min} Y{y_center_min} F{speed*60}\nG0 X{x_center_max} Y{y_center_min} F{speed*60}\nG0 X{x_center_min} Y{y_center_max} F{speed*60}\nG0 X{x_center_max} Y{y_center_min} F{speed*60}\nG0 X{x_center_min} Y{y_center_min} F{speed*60}\nG0 X{x_center_min} Y{y_center_max} F{speed*60}\nG0 X{x_center_max} Y{y_center_max} F{speed*60}\nG0 X{x_center_max} Y{y_center_min} F{speed*60}\n{% endfor %}\nSET_VELOCITY_LIMIT VELOCITY={printer.configfile.settings.printer.max_velocity} ACCEL={printer.configfile.settings.printer.max_accel} ACCEL_TO_DECEL={printer.configfile.settings.printer.max_accel_to_decel}\nG28\nG0 X{printer.toolhead.axis_maximum.x} Y{printer.toolhead.axis_maximum.y} F{30*60}\nG4 P1000\nGET_POSITION\nRESTORE_GCODE_STATE NAME=TEST_SPEED","description":"G-Code macro"},"safe_z_home":{"z_hop_speed":15.0,"move_to_previous":false,"speed":20.0,"home_xy_position":[231.0,350.0],"z_hop":10.0},"tmc2209 stepper_z":{"driver_pwm_ofs":36,"driver_hstrt":5,"driver_toff":3,"sense_resistor":0.11,"driver_pwm_autoscale":true,"uart_address":0,"driver_pwm_reg":8,"driver_iholddelay":8,"driver_sgthrs":0,"interpolate":true,"stealthchop_threshold":0.0,"driver_tbl":2,"driver_pwm_autograd":true,"driver_pwm_grad":14,"run_current":0.8,"driver_hend":0,"uart_pin":"PD10","hold_current":2.0,"driver_tpowerdown":20,"driver_pwm_lim":12,"driver_pwm_freq":1},"printer":{"square_corner_velocity":5.0,"move_flush_time":0.05,"max_accel":3000.0,"buffer_time_start":0.25,"buffer_time_low":1.0,"max_z_accel":350.0,"max_velocity":300.0,"max_z_velocity":15.0,"kinematics":"corexy","max_accel_to_decel":1500.0,"buffer_time_high":2.0},"temperature_fan electronics_fan":{"control":"pid","pid_kp":40.0,"cycle_time":0.01,"target_temp":35.0,"pin":"PB2","sensor_path":"/sys/class/thermal/thermal_zone0/temp","off_below":0.3,"max_power":1.0,"shutdown_speed":1.0,"sensor_type":"temperature_host","max_speed":1.0,"pid_deriv_time":2.0,"min_speed":0.4,"kick_start_time":0.5,"min_temp":10.0,"pid_ki":0.2,"hardware_pwm":false,"max_temp":100.0,"pid_kd":0.1},"mcu rpi":{"serial":"/tmp/klipper_host_mcu","max_stepper_error":0.000025},"gcode_macro _park_toolhead":{"gcode":"\n{% set Z_MAX = printer.configfile.config[\"stepper_z\"][\"position_max\"]|float -1 %}\n{% set X_MAX = printer.configfile.config[\"stepper_x\"][\"position_max\"]|float -1 %}\n{% set Z_POS = printer.toolhead.position.z + 10 %}\nM118 Parking toolhead.\nG90\nG0 X{X_MAX} Y20 Z{ [(Z_MAX*0.75), [Z_POS, Z_MAX]|min]|max } F3600","description":"G-Code macro"},"heater_bed":{"control":"pid","pid_kp":37.827,"pullup_resistor":4700.0,"sensor_pin":"PC3","heater_pin":"PB4","max_power":0.6,"min_extrude_temp":170.0,"sensor_type":"Generic 3950","inline_resistor":0.0,"pid_kd":251.079,"pwm_cycle_time":0.1,"pid_ki":1.425,"min_temp":0.0,"max_temp":120.0,"smooth_time":1.0},"bed_mesh default":{"tension":0.2,"min_x":40.0,"min_y":40.0,"y_count":11,"mesh_y_pps":2,"x_count":11,"version":1,"algo":"bicubic","mesh_x_pps":2,"max_y":310.0,"max_x":310.0,"points":[[0.14875,0.11375,0.07125,0.08125,0.04875,0.02875,0.02375,0.05375,0.05625,0.09625,0.12375],[0.165,0.11,0.07875,0.0925,0.0375,0.03,0.0325,0.04125,0.07625,0.1075,0.14625],[0.1675,0.10875,0.07,0.04125,0.03625,0.02875,0.0125,0.02625,0.0375,0.09375,0.14875],[0.1725,0.135,0.0775,0.03375,0.04125,0.02625,0.015,0.02625,0.0525,0.0975,0.14375],[0.15875,0.14,0.07625,0.02625,0.0325,-0.01,-0.005,0.03,0.03,0.055,0.1225],[0.13625,0.1125,0.05125,0.03625,0.0175,0.0,-0.00125,0.01875,0.02125,0.06,0.1375],[0.15,0.10375,0.0625,0.04875,0.0325,0.00125,0.035,-0.00125,0.03125,0.0925,0.125],[0.15375,0.1075,0.0725,0.0475,0.02125,0.02,0.01,0.03625,0.03375,0.07625,0.13375],[0.1325,0.1025,0.075,0.03375,0.05125,0.02125,-0.0125,-0.005,0.02375,0.05,0.10125],[0.1525,0.11875,0.05375,0.0425,0.03,0.01875,0.00875,0.00375,0.03,0.0575,0.12],[0.1675,0.12,0.09625,0.07375,0.0525,0.03625,0.03,0.0225,0.04125,0.09125,0.14125]]},"virtual_sdcard":{"path":"~/gcode_files"},"gcode_macro current_normal":{"gcode":"\nM117 Decreased motor currents.\nSET_TMC_CURRENT STEPPER=stepper_x CURRENT={ printer.configfile.config[\"tmc2209 stepper_x\"][\"run_current\"] }\nSET_TMC_CURRENT STEPPER=stepper_y CURRENT={ printer.configfile.config[\"tmc2209 stepper_y\"][\"run_current\"] }\nSET_TMC_CURRENT STEPPER=stepper_z CURRENT={ printer.configfile.config[\"tmc2209 stepper_z\"][\"run_current\"] }\nSET_TMC_CURRENT STEPPER=stepper_z1 CURRENT={ printer.configfile.config[\"tmc2209 stepper_z1\"][\"run_current\"] }\nSET_TMC_CURRENT STEPPER=stepper_z2 CURRENT={ printer.configfile.config[\"tmc2209 stepper_z2\"][\"run_current\"] }\nSET_TMC_CURRENT STEPPER=stepper_z3 CURRENT={ printer.configfile.config[\"tmc2209 stepper_z3\"][\"run_current\"] }","description":"Lowers stepper current for NON-printing routines, as set in [tmc2209 stepper_XX] above."},"tmc2209 stepper_y":{"driver_pwm_ofs":36,"driver_pwm_autoscale":true,"driver_toff":3,"sense_resistor":0.11,"driver_hend":0,"uart_address":0,"driver_pwm_reg":8,"driver_iholddelay":8,"interpolate":true,"uart_pin":"PE15","driver_hstrt":5,"driver_tbl":2,"driver_pwm_autograd":true,"driver_pwm_grad":14,"run_current":1.1,"driver_sgthrs":0,"stealthchop_threshold":0.0,"hold_current":2.0,"driver_tpowerdown":20,"driver_pwm_lim":12,"driver_pwm_freq":1},"verify_heater extruder":{"heating_gain":2.0,"check_gain_time":20.0,"max_error":120.0,"hysteresis":5.0},"stepper_z":{"homing_positive_dir":false,"homing_retract_dist":3.0,"position_endstop":0.97,"full_steps_per_rotation":200,"endstop_pin":"^PA0","rotation_distance":40.0,"gear_ratio":[[80.0,16.0]],"second_homing_speed":3.0,"step_pin":"PD14","position_min":-7.0,"microsteps":32,"homing_speed":8.0,"position_max":330.0,"dir_pin":"!PD13","homing_retract_speed":8.0,"enable_pin":"!PD15"},"stepper_y":{"homing_positive_dir":true,"homing_retract_dist":5.0,"position_endstop":350.0,"full_steps_per_rotation":400,"endstop_pin":"PB13","rotation_distance":40.0,"gear_ratio":[],"second_homing_speed":25.0,"step_pin":"PD8","homing_speed":50.0,"microsteps":32,"position_min":0.0,"dir_pin":"!PB12","position_max":350.0,"homing_retract_speed":50.0,"enable_pin":"!PD9"},"stepper_x":{"homing_positive_dir":true,"homing_retract_dist":5.0,"position_endstop":350.0,"full_steps_per_rotation":400,"endstop_pin":"PB14","rotation_distance":40.0,"gear_ratio":[],"second_homing_speed":25.0,"step_pin":"PE11","position_min":0.0,"microsteps":32,"homing_speed":50.0,"position_max":350.0,"dir_pin":"!PE10","homing_retract_speed":50.0,"enable_pin":"!PE9"},"input_shaper":{"damping_ratio_x":0.1,"damping_ratio_y":0.1,"shaper_type_x":"mzv","shaper_type_y":"mzv","shaper_freq_x":53.6,"shaper_freq_y":40.4,"shaper_type":"mzv"},"gcode_macro m600":{"gcode":"\nM117 Filament Change ; Message Text on LCD\n{% set X = params.X|default(50)|float %}\n{% set Y = params.Y|default(0)|float %}\n{% set Z = params.Z|default(10)|float %}\nSAVE_GCODE_STATE NAME=M600_state\nPAUSE\nG91\nG1 E-.8 F2700\nG1 Z{Z}\nG90\nG1 X{X} Y50 F3000\nG91\nG1 E-50 F1000\nRESTORE_GCODE_STATE NAME=M600_state\nM117 Feed Me!","description":"G-Code macro"},"gcode_macro m401":{"gcode":"\nQUERY_PROBE\n{% if printer.probe.last_query %}\nM117 Fetching Probe\n_PROBE_DEPLOY\n{% else %}\nM117 Prb alr. attached.\n{% endif %}","description":"G-Code macro"},"gcode_macro _error_if_probe_not_deployed":{"gcode":"\nG4 P300\nQUERY_PROBE\n_do_error_if_probe_not_deployed","description":"G-Code macro"},"tmc2209 stepper_z1":{"driver_tbl":2,"driver_pwm_ofs":36,"driver_hstrt":5,"driver_toff":3,"sense_resistor":0.11,"driver_hend":0,"uart_address":0,"driver_pwm_reg":8,"driver_iholddelay":8,"interpolate":true,"stealthchop_threshold":0.0,"driver_pwm_autoscale":true,"driver_pwm_autograd":true,"driver_pwm_grad":14,"run_current":0.8,"driver_sgthrs":0,"uart_pin":"PC14","hold_current":2.0,"driver_tpowerdown":20,"driver_pwm_lim":12,"driver_pwm_freq":1},"tmc2209 stepper_z3":{"driver_pwm_ofs":36,"driver_hstrt":5,"driver_toff":3,"sense_resistor":0.11,"driver_pwm_autoscale":true,"uart_address":0,"driver_pwm_reg":8,"driver_iholddelay":8,"driver_sgthrs":0,"interpolate":true,"uart_pin":"PA15","driver_tbl":2,"driver_pwm_autograd":true,"driver_pwm_grad":14,"run_current":0.8,"driver_hend":0,"stealthchop_threshold":0.0,"hold_current":2.0,"driver_tpowerdown":20,"driver_pwm_lim":12,"driver_pwm_freq":1},"tmc2209 stepper_z2":{"driver_pwm_ofs":36,"driver_hstrt":5,"driver_toff":3,"sense_resistor":0.11,"uart_address":0,"driver_hend":0,"driver_pwm_reg":8,"driver_iholddelay":8,"interpolate":true,"stealthchop_threshold":0.0,"driver_pwm_freq":1,"driver_tbl":2,"driver_pwm_autograd":true,"driver_pwm_grad":14,"run_current":0.8,"driver_sgthrs":0,"driver_pwm_autoscale":true,"hold_current":2.0,"driver_tpowerdown":20,"driver_pwm_lim":12,"uart_pin":"PC15"},"mcu":{"baud":250000,"restart_method":"command","serial":"/dev/ttyAMA0","max_stepper_error":0.000025},"gcode_macro unload_filament":{"gcode":"\n{% set X_MID = printer.configfile.config[\"stepper_x\"][\"position_max\"]|float / 2.0 %}\n{% if printer.idle_timeout.state == \"Printing\" or printer.pause_resume.is_paused %}\n{% if printer.idle_timeout.state == \"Printing\" and printer.pause_resume.is_paused %}\nSAVE_GCODE_STATE NAME=HUF_state\nM83 ; relative positioning on extruder\nG0 X{X_MID} Y20 F3500 ; move to area where can easily load filament\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG92 E0 ; reset extruder\nM400\nRESTORE_GCODE_STATE NAME=HUF_state\n{% else %}\n{action_respond_info(\"Pause print first.\")}\n{% endif %}\n{% else %}\n{% if printer.toolhead.homed_axes != \"xyz\" %}\nM117 Performing required homing.\nG28\n{% endif %}\n{% set TEMP = params.TEMP|default(235)|float %}\nM117 Heating nozzle to UNLOAD filamnet.\nG90 ; absolute positioning\nG0 X{X_MID} Y20 F3500 ; move to area where can easily load filament\nM109 S{TEMP} ; set hotend temperature and wait\nM83 ; relative positioning on extruder\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG0 E-50 F1000 ; retract additional filament to move out of melt zone\nG92 E0 ; reset extruder\nM400\n_PARK_TOOLHEAD\nM18 X Y E\nTURN_OFF_HEATERS\nM117 Finished filament unload.\n{% endif %}","description":"G-Code macro"},"gcode_macro hotmesh":{"gcode":"\nCLEAR_PAUSE\n{% if printer.idle_timeout.state == \"Printing\" or printer.pause_resume.is_paused %}\n{action_respond_info(\"Cannot do that while printing\")}\n{% else %}\n{% set BED_TEMP = params.BED_TEMP|default(100)|float %}\nM140 S{BED_TEMP}\nM104 S160\nG90\nSET_GCODE_OFFSET Z=0.0\nM117 Homing XYZ\nG32\nG1 X0 Y20 Z25 F3000\nM117 Bed Heating\nM190 S{BED_TEMP}\n_HEAT_WAIT MINUTES=2\nM117 Performing hot level.\nCURRENT_HIGH\nM400\nBED_MESH_CLEAR\nG28\nQUERY_PROBE\n{% if printer.probe.last_query %}\nM118 Fetching Euclid Probe.\n_PROBE_DEPLOY\n{% endif %}\nQUAD_GANTRY_LEVEL_ORIGINAL\nG28\nM117 Performing heated bed mesh calibration.\nBED_MESH_PROFILE REMOVE=HOTMESH\nBED_MESH_CALIBRATE_ORIGINAL\nBED_MESH_PROFILE SAVE=HOTMESH\nBED_MESH_OUTPUT PGP=1\nM118 Bed mesh calibration completed.\nTURN_OFF_HEATERS\nCURRENT_NORMAL\nM402\n_PARK_TOOLHEAD\nM18 X Y E\nM117 Finished mesh.\nSAVE_CONFIG\n{% endif %}","description":"G-Code macro"},"gcode_macro g32":{"gcode":"\nBED_MESH_CLEAR\nG28\nQUERY_PROBE\n{% if printer.probe.last_query %}\nM117 Fetching Probe.\n_PROBE_DEPLOY\n{% endif %}\nQUAD_GANTRY_LEVEL_ORIGINAL\nG28\nM117 Stowing Probe\n_PROBE_STOW\nQUERY_PROBE","description":"G-Code macro"},"gcode_macro _probe_deploy":{"gcode":"\nG90\nG0 Z25 F800 ; Get a little bit of height\nG0 Y325 F5000 ; Move forward out of alignment with cradle\nG0 X33 F5000 ; Align with cradle from front\nG0 Y345 F800 ; Approach cradle from front\nG0 X100 F3500 ; Swipe to the side to free probe of cradle\n_error_if_probe_not_deployed ; Verify probe attached","description":"G-Code macro"},"temperature_sensor mcu_temp":{"min_temp":-273.15,"sensor_type":"temperature_mcu","sensor_mcu":"mcu","max_temp":99999999.9},"gcode_macro resume":{"gcode":"\n{% set e = params.E|default(1) %}\n{% if 'VELOCITY' in params|upper %}\n{% set get_params = ('VELOCITY=' + params.VELOCITY) %}\n{%else %}\n{% set get_params = \"\" %}\n{% endif %}\nG91\n{% if printer.extruder.can_extrude|lower == 'true' %}\nG1 E{e} F2100\n{% else %}\n{action_respond_info(\"Extruder not hot enough\")}\n{% endif %}\nRESUME_BASE {get_params}","description":"Resume the actual running print","rename_existing":"RESUME_BASE"},"gcode_macro _probe_stow":{"gcode":"\nG90\nG0 X175 F5000 ; Centralise toolhead.\nG0 Y345 F5000 ; Move toolhead back to align with cradle.\nG0 X100 F5000 ; Align probe with cradle ready to stow.\nG0 X33 F800 ; Slowy approach cradle and dock probe.\nG0 Y325 F3500 ; Swipe forward to drop probe in cradle.\n_error_if_probe_deployed ; Verify probe detached","description":"G-Code macro"},"verify_heater heater_bed":{"max_error":120.0,"check_gain_time":60.0,"heating_gain":2.0,"hysteresis":5.0},"idle_timeout":{"gcode":"\n{% if 'heaters' in printer %}\n TURN_OFF_HEATERS\n{% endif %}\nM84\n","timeout":1800.0},"fan":{"cycle_time":0.01,"pin":"PB1","off_below":0.1,"shutdown_speed":0.0,"max_power":1.0,"kick_start_time":0.5,"hardware_pwm":false},"gcode_macro current_high":{"gcode":"\nM117 Increased motor currents.\nSET_TMC_CURRENT STEPPER=stepper_x CURRENT=1.1\nSET_TMC_CURRENT STEPPER=stepper_y CURRENT=1.1\nSET_TMC_CURRENT STEPPER=stepper_z CURRENT=0.8\nSET_TMC_CURRENT STEPPER=stepper_z1 CURRENT=0.8\nSET_TMC_CURRENT STEPPER=stepper_z2 CURRENT=0.8\nSET_TMC_CURRENT STEPPER=stepper_z3 CURRENT=0.8","description":"Raises stepper current for printing routine."},"stepper_z2":{"full_steps_per_rotation":200,"rotation_distance":40.0,"gear_ratio":[[80.0,16.0]],"step_pin":"PE2","microsteps":32,"dir_pin":"!PE4","enable_pin":"!PE3"},"stepper_z3":{"full_steps_per_rotation":200,"rotation_distance":40.0,"gear_ratio":[[80.0,16.0]],"step_pin":"PD12","microsteps":32,"dir_pin":"PC4","enable_pin":"!PE8"},"tmc2209 stepper_x":{"driver_pwm_ofs":36,"driver_iholddelay":8,"driver_hstrt":5,"driver_toff":3,"sense_resistor":0.11,"driver_pwm_autoscale":true,"driver_hend":0,"driver_pwm_reg":8,"driver_sgthrs":0,"interpolate":true,"uart_pin":"PE7","driver_tbl":2,"driver_pwm_autograd":true,"driver_pwm_grad":14,"run_current":1.1,"uart_address":0,"stealthchop_threshold":0.0,"hold_current":2.0,"driver_tpowerdown":20,"driver_pwm_lim":12,"driver_pwm_freq":1},"stepper_z1":{"full_steps_per_rotation":200,"rotation_distance":40.0,"gear_ratio":[[80.0,16.0]],"step_pin":"PE6","microsteps":32,"dir_pin":"PC13","enable_pin":"!PE5"},"neopixel fysetc_mini12864":{"pin":"PC12","chain_count":3,"initial_red":1.0,"initial_green":0.0,"initial_blue":0.0,"color_order":"RGB"},"delayed_gcode setdisplayneopixel":{"gcode":"\nSET_LED LED=fysetc_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=3 TRANSMIT=1","initial_duration":1.0},"gcode_macro m402":{"gcode":"\nQUERY_PROBE\n{% if not printer.probe.last_query %}\nM117 Stowing Probe\n_PROBE_STOW\n{% else %}\nM117 Prb not attached.\n{% endif %}","description":"G-Code macro"},"gcode_macro g3200":{"gcode":"\nBED_MESH_CLEAR\nG28\nQUERY_PROBE\n{% if printer.probe.last_query %}\nM117 Fetching Probe.\n_PROBE_DEPLOY\nG28 Z\n{% endif %}\nQUAD_GANTRY_LEVEL_ORIGINAL\nBED_MESH_PROFILE LOAD=HOTMESH\nG28\nM117 Stowing Probe\n_PROBE_STOW\nQUERY_PROBE","description":"G-Code macro"},"bed_mesh":{"horizontal_move_z":15.0,"mesh_pps":[2,2],"algorithm":"bicubic","mesh_max":[310.0,310.0],"fade_start":0.6,"bicubic_tension":0.2,"fade_end":10.0,"mesh_min":[40.0,40.0],"split_delta_z":0.025,"probe_count":[11,11],"move_check_distance":5.0,"speed":50.0,"relative_reference_index":60},"gcode_macro cancel_print":{"gcode":"\n{% set Z_MAX = printer.configfile.config[\"stepper_z\"][\"position_max\"]|float -1 %}\n{% set X_MAX = printer.configfile.config[\"stepper_x\"][\"position_max\"]|float -1 %}\n{% set Z_POS = printer.toolhead.position.z + 10 %}\nSAVE_GCODE_STATE NAME=STATE_PRINT_END\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-2.0 F3600 ; retract filament\nCLEAR_PAUSE\nTURN_OFF_HEATERS\nCANCEL_PRINT_BASE\nCURRENT_NORMAL\nM106 S250\nG90\n_PARK_TOOLHEAD\nM18 X Y E\nM107 ; turn off fan\nBED_MESH_CLEAR\nRESTORE_GCODE_STATE NAME=STATE_PRINT_END\n_COOL_WAIT MINUTES=3\nM117 Cancelled print, check nozzle clear.","description":"Cancel the actual running print","rename_existing":"CANCEL_PRINT_BASE"},"gcode_macro _error_if_probe_deployed":{"gcode":"\nG4 P300\nQUERY_PROBE\n_do_error_if_probe_deployed","description":"G-Code macro"},"gcode_macro pause":{"gcode":"\n{% set x = params.X|default(0) %}\n{% set y = params.Y|default(0) %}\n{% set z = params.Z|default(10)|float %}\n{% set e = params.E|default(1) %}\n{% set max_z = printer.toolhead.axis_maximum.z|float %}\n{% set act_z = printer.toolhead.position.z|float %}\n{% set lift_z = z|abs %}\n{% if act_z < (max_z - lift_z) %}\n{% set z_safe = lift_z %}\n{% else %}\n{% set z_safe = max_z - act_z %}\n{% endif %}\nPAUSE_BASE\nG91\n{% if printer.extruder.can_extrude|lower == 'true' %}\nG1 E-{e} F2100\n{% else %}\n{action_respond_info(\"Extruder not hot enough\")}\n{% endif %}\n{% if \"xyz\" in printer.toolhead.homed_axes %}\nG1 Z{z_safe}\nG90\nG1 X{x} Y{y} F6000\n{% else %}\n{action_respond_info(\"Printer not homed\")}\n{% endif %}","description":"Pause the actual running print","rename_existing":"PAUSE_BASE"},"gcode_macro _do_error_if_probe_not_deployed":{"gcode":"\n{% if printer.probe.last_query %}\n{action_raise_error(\"ERROR: probe unsuccessfully deployed.\")}\n{% else %}\nM117 Probe attached.\n{% endif %}","description":"G-Code macro"},"gcode_macro print_start":{"gcode":"\nCLEAR_PAUSE\nBED_MESH_CLEAR\nQUERY_PROBE\n{% set BED_TEMP = params.BED|float %}\n{% set EXTRUDER_TEMP = params.HOTEND|float %}\n{% set EXTRUDER_TEMP_PRE = EXTRUDER_TEMP - 80 %}\n{% set NZLD = printer.configfile.config[\"extruder\"][\"nozzle_diameter\"]|float %}\nM140 S{BED_TEMP}\nM104 S160\nG90\nM117 Homing XYZ\nG32\nG1 X0 Y20 Z25 F3000\nM117 Bed Heating\nM190 S{BED_TEMP}\n_HEAT_WAIT MINUTES=1\nM117 Hot QGL\nCURRENT_HIGH\nM400\nG3200\nM104 S{EXTRUDER_TEMP_PRE}\nG1 X0 Y20 F5000.0\nG1 Z0.5\nM117 Heating Nozzle\nM109 S{EXTRUDER_TEMP}\nM117 Purging\nG1 X0 Y19.8 Z0.3 F1500.0\nG1 E{(12.5 * NZLD)} F3600\nM400\nG1 X0 Y0 Z0.3 F1500.0\nG1 X130 Y0.0 Z0.3 F1500.0 E{(37.5 * NZLD)}\nG1 X130 Y0.3 Z0.3 F5000.0\nG1 X010 Y0.3 Z0.3 F1500.0 E{(37.5 * NZLD)}\nM400\nG92 E0\nG1 Z5.0 F3000\nM117 Printing","description":"G-Code macro"},"heater_fan hotend_fan":{"heater":["extruder"],"cycle_time":0.01,"pin":"PB0","off_below":0.0,"heater_temp":50.0,"shutdown_speed":1.0,"fan_speed":1.0,"max_power":1.0,"kick_start_time":0.5,"hardware_pwm":false},"bed_mesh hotmesh":{"tension":0.2,"min_x":40.0,"min_y":40.0,"y_count":11,"mesh_y_pps":2,"x_count":11,"version":1,"algo":"bicubic","mesh_x_pps":2,"max_y":310.0,"max_x":310.0,"points":[[0.14875,0.11375,0.07125,0.08125,0.04875,0.02875,0.02375,0.05375,0.05625,0.09625,0.12375],[0.165,0.11,0.07875,0.0925,0.0375,0.03,0.0325,0.04125,0.07625,0.1075,0.14625],[0.1675,0.10875,0.07,0.04125,0.03625,0.02875,0.0125,0.02625,0.0375,0.09375,0.14875],[0.1725,0.135,0.0775,0.03375,0.04125,0.02625,0.015,0.02625,0.0525,0.0975,0.14375],[0.15875,0.14,0.07625,0.02625,0.0325,-0.01,-0.005,0.03,0.03,0.055,0.1225],[0.13625,0.1125,0.05125,0.03625,0.0175,0.0,-0.00125,0.01875,0.02125,0.06,0.1375],[0.15,0.10375,0.0625,0.04875,0.0325,0.00125,0.035,-0.00125,0.03125,0.0925,0.125],[0.15375,0.1075,0.0725,0.0475,0.02125,0.02,0.01,0.03625,0.03375,0.07625,0.13375],[0.1325,0.1025,0.075,0.03375,0.05125,0.02125,-0.0125,-0.005,0.02375,0.05,0.10125],[0.1525,0.11875,0.05375,0.0425,0.03,0.01875,0.00875,0.00375,0.03,0.0575,0.12],[0.1675,0.12,0.09625,0.07375,0.0525,0.03625,0.03,0.0225,0.04125,0.09125,0.14125]]},"gcode_macro quad_gantry_level":{"gcode":"\nQUERY_PROBE\nM401\nQUAD_GANTRY_LEVEL_ORIGINAL\nM402","description":"G-Code macro","rename_existing":"QUAD_GANTRY_LEVEL_ORIGINAL"},"adxl345":{"axes_map":["x","y","z"],"cs_pin":"rpi:None","rate":3200,"spi_speed":5000000},"quad_gantry_level":{"retries":5,"horizontal_move_z":13.0,"retry_tolerance":0.0075,"gantry_corners":[[-60.0,-10.0],[410.0,420.0]],"points":[[50.0,25.0],[50.0,275.0],[300.0,275.0],[300.0,25.0]],"speed":200.0,"max_adjust":15.0},"gcode_macro bed_mesh_calibrate":{"rename_existing":"BED_MESH_CALIBRATE_ORIGINAL","description":"G-Code macro","gcode":"\nQUERY_PROBE\nM401\nBED_MESH_CALIBRATE_ORIGINAL\nM402"},"display":{"menu_reverse_navigation":false,"click_pin":"^!PA8","cs_pin":"PC11","spi_software_sclk_pin":"PA5","encoder_pins":"^PC6,^PC7","lcd_type":"uc1701","contrast":63,"spi_software_miso_pin":"PA6","a0_pin":"PD2","display_group":"_default_16x4","encoder_steps_per_detent":4,"encoder_fast_rate":0.03,"menu_root":"__main","spi_speed":10000000,"spi_software_mosi_pin":"PA7","rst_pin":"PC10","menu_timeout":0},"gcode_macro print_end":{"gcode":"\n{% set Z_MAX = printer.configfile.config[\"stepper_z\"][\"position_max\"]|float -1 %}\n{% set X_MAX = printer.configfile.config[\"stepper_x\"][\"position_max\"]|float -1 %}\n{% set Z_POS = printer.toolhead.position.z + 10 %}\n{% set th = printer.toolhead %}\n{% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %}\n{% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %}\n{% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %}\nSAVE_GCODE_STATE NAME=STATE_PRINT_END\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-2.0 F3600 ; retract filament\nTURN_OFF_HEATERS\nCURRENT_NORMAL\nG91\nG0 Z5\nG90\nM400\nG0 X{x_safe} Y{y_safe} Z{z_safe} F20000 ; move nozzle to remove stringing\nG0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 ; park nozzle at rear\nM18 X Y E\nM107 ; turn off fan\nBED_MESH_CLEAR\nRESTORE_GCODE_STATE NAME=STATE_PRINT_END\n_COOL_WAIT MINUTES=1\nM117 Print Finished","description":"G-Code macro"},"extruder":{"control":"pid","pullup_resistor":4700.0,"max_extrude_only_velocity":498.90202569214546,"gear_ratio":[[50.0,17.0]],"max_extrude_only_distance":50.0,"sensor_type":"ATC Semitec 104GT-2","min_temp":10.0,"enable_pin":"!PD4","pressure_advance":0.05,"max_extrude_cross_section":4.0,"pwm_cycle_time":0.1,"dir_pin":"!PD6","pid_kp":29.17,"instantaneous_corner_velocity":1.0,"full_steps_per_rotation":200,"heater_pin":"PB15","pressure_advance_smooth_time":0.04,"smooth_time":1.0,"pid_ki":1.676,"filament_diameter":1.75,"sensor_pin":"PC0","nozzle_diameter":1.0,"pid_kd":126.891,"rotation_distance":21.86721415,"step_pin":"PD5","inline_resistor":0.0,"max_power":1.0,"microsteps":32,"min_extrude_temp":170.0,"max_extrude_only_accel":4989.020256921454,"max_temp":300.0}},"save_config_pending":false},"motion_report":{"live_position":[175.0,348.0,14.3,3188.632270000028],"steppers":["extruder","stepper_x","stepper_y","stepper_z","stepper_z1","stepper_z2","stepper_z3"],"live_velocity":-7.105427357601002e-15,"live_extruder_velocity":0.0,"trapq":["extruder","toolhead"]},"print_stats":{"print_duration":1637.7727705239995,"total_duration":2109.8860892049997,"filament_used":3188.6322700000283,"filename":"MK3S X Axis-V2.4 Ellis PIF (DHF 0.4mm (45 Degree))-Prusament PCCF.gcode","state":"complete","message":""},"fan":{"speed":0.0,"rpm":null},"toolhead":{"square_corner_velocity":5.0,"max_accel":5000.0,"homed_axes":"","estimated_print_time":2578.4330664944446,"max_velocity":300.0,"print_time":2120.361521338527,"max_accel_to_decel":1500.0,"axis_minimum":[0.0,0.0,-7.0,0.0],"stalls":0,"axis_maximum":[350.0,350.0,330.0,0.0],"position":[175.0,348.0,14.3,3188.6322700000283],"extruder":"extruder"},"gcode_move":{"homing_origin":[0.0,0.0,0.0,0.0],"speed_factor":1.0,"gcode_position":[175.0,348.0,14.3,75.54930999998305],"absolute_extrude":false,"absolute_coordinates":true,"position":[175.0,348.0,14.3,3188.6322700000283],"speed":27000.0,"extrude_factor":1.0},"extruder":{"pressure_advance":0.05,"target":0.0,"power":0.0,"can_extrude":false,"smooth_time":0.04,"temperature":66.27},"neopixel fysetc_mini12864":{"color_data":[[1.0,0.0,0.0,0.0],[1.0,0.0,0.0,0.0],[1.0,1.0,1.0,0.0]]},"heater_bed":{"temperature":78.23,"power":0.0,"target":0.0},"temperature_fan electronics_fan":{"speed":0.4,"rpm":null,"temperature":32.62,"target":35.0},"heater_fan hotend_fan":{"speed":1.0,"rpm":null}}
Clon1998 commented 1 year ago

Can you provide me the Klipper and Moonraker version of both machines you currently use? It seems like the value for the neopixel.color_order Config I receive from Moonraker is different now.

For your side it looks like this:

"neopixel fysetc_mini12864": {
"pin": "PC12",
"chain_count": 3,
"initial_red": 1.0,
"initial_green": 0.0,
"initial_blue": 0.0,
"color_order": "RGB"
},

While for my printer a neopixel looks like this:

neopixel fysetc_mini12864": {
"initial_red": 1,
"pin": "EXP1_6",
"chain_count": 3,
"initial_white": 0,
"initial_green": 1,
"initial_blue": 1,
"color_order": [
"RGB"
]
},
Clon1998 commented 1 year ago

In addition, can you send me the output/json that is shown if you visit:

http://<YOUR-PRINTER-ADDRESS>/printer/objects/query?configfile

ChrisWhite1985 commented 1 year ago

My Mainsail has not been updated in a while.

Voron (not working) Klipper: v0.10.0-357 Mainsail: v2.1.1

RatOS V-Minion (working) Klipper: v0.10.0-391 Mainsail: v2.1.2

20230301-json-voron.zip

Clon1998 commented 1 year ago

My Mainsail has not been updated in a while.

Voron (not working)

Klipper: v0.10.0-357

Mainsail: v2.1.1

RatOS V-Minion (working)

Klipper: v0.10.0-391

Mainsail: v2.1.2

20230301-json-voron.zip

Thanks for the file. Hopefully i can look into this later today.

Can you also provide me the Version of Moonraker, not Mainsail?

ChrisWhite1985 commented 1 year ago

Moonraker

Voron (not working) v0.7.1-340 RatOS V-Minion (working) v0.7.1-565

Clon1998 commented 1 year ago

Moonraker

Voron (not working) v0.7.1-340 RatOS V-Minion (working) v0.7.1-565

Your moonraker versions (mainly v0.7.1-340) are outdated (I can not even find how old but they must be older than 10+ months) So please update them. I assume you used an older mobileraker version that did not offer full Neopixel support yet, therefore after your phone auto-updated the app the error started to occur since the app now uses more config information and data to provide better neopixel support!

Clon1998 commented 1 year ago

Moonraker

Voron (not working) v0.7.1-340 RatOS V-Minion (working) v0.7.1-565

Any news? Did updating klipper resolve the issue or is there sth. else wrong?

Clon1998 commented 1 year ago

Please reopen if the issue is still present