-
Notifications
You must be signed in to change notification settings - Fork 68
Open
Description
Hi. When I'm include the toolchanger.cfg in my printer.cfg I got a parsing error. Is used the 2.4 version
Klipper reports: ERROR
File contains parsing errors: /home/pi/klipper_config/toolchanger.cfg
[line 2]: ' t_command_restore_axis:\n'
[line 3]: ' params_safe_y: 120\n'
[line 4]: ' params_close_y: 65\n'
[line 5]: ' params_fast_speed: 10000 \n'
[line 6]: ' params_path_speed: 600 \n'
[line 7]: " params_type = 'rods_mini_hookon' \n"
[line 9]: " params_pads_mini_path: [{'y':9 ,'z':2}, {'y':8, 'z':0}, {'y':0, 'z':0, 'f':0.5},{'y':0, 'z':-5}, {'y':1, 'z':-7}, {'y':3, 'z':-9}, {'y':7,'z':-11}]\n"
[line 10]: " params_pads_sb_path: [{'y':9.5 ,'z':8}, {'y':9.5, 'z':2}, {'y':5.5, 'z':0}, {'y':0, 'z':0, 'f':0.5},{'y':0, 'z':-5}, {'y':1, 'z':-7}, {'y':3, 'z':-9}, {'y':7,'z':-11}]\n"
[line 11]: " params_rods_mini_path: [{'z':0, 'y':4}, {'z':0, 'y':0, 'f':0.5}, {'z':-6, 'y':0}, {'z':-10, 'y':3}, {'z':-10, 'y':16}]\n"
[line 12]: " params_rods_sb_path: [{'y':9.5 ,'z':8}, {'y':9.5, 'z':2}, {'y':5.5, 'z':0}, {'z':0, 'y':0, 'f':0.5}, {'z':-6, 'y':0}, {'z':-10, 'y':3}, {'z':-10, 'y':16}]\n"
[line 13]: " params_rods_mini_hookon_path: [{'z':0, 'y':4}, {'z':0, 'y':0, 'f':0.5}, {'z':-7.3, 'y':0}, {'z':-12.3, 'y':3.5}, {'z':-12.3, 'y':16}]\n"
[line 14]: " params_rods_xol_path: [{'y':59, 'z':17.5},{'y':5, 'z':17.5},{'y':5, 'z':0.2},{'y':0.5, 'z':0.1},{'z':0, 'y':0, 'f':0.5},{'z':-5, 'y':0},{'z':-6, 'y':3},{'z':-8, 'y':7},{'z':-10, 'y':16}]\n"
[line 26]: ' initialize_on: first-use\n'
[line 27]: ' uses_axis: xyz\n'
[line 28]: ' on_axis_not_homed: home\n'
[line 29]: ' initialize_gcode:\n'
[line 30]: ' DETECT_ACTIVE_TOOL_PROBE\n'
[line 31]: ' _INITIALIZE_FROM_DETECTED_TOOL\n'
[line 33]: ' before_change_gcode:\n'
[line 34]: ' {% set tn = "T"+(tool.tool_number|string) %}\n'
[line 35]: ' {% if printer["gcode_macro " + tn ] %}\n'
[line 36]: ' SET_GCODE_VARIABLE MACRO={tn} VARIABLE=color VALUE="\'\'"\n'
[line 37]: ' {% endif %}\n'
[line 39]: ' after_change_gcode:\n'
[line 40]: ' {% set tn = "T"+(tool.tool_number|string) %}\n'
[line 41]: ' {% if printer["gcode_macro " + tn ] %}\n'
[line 42]: ' SET_GCODE_VARIABLE MACRO={tn} VARIABLE=color VALUE="\'c44\'"\n'
[line 43]: ' {% endif %}\n'
[line 46]: ' {% if tool.params_input_shaper_freq_x and tool.params_input_shaper_freq_y %}\n'
[line 47]: ' {% if tool.params_input_shaper_type_x and tool.params_input_shaper_type_y %}\n'
[line 48]: ' {% if tool.params_input_shaper_damping_ratio_x and tool.params_input_shaper_damping_ratio_y %}\n'
[line 49]: ' SET_INPUT_SHAPER SHAPER_FREQ_X={tool.params_input_shaper_freq_x} SHAPER_FREQ_Y={tool.params_input_shaper_freq_y} SHAPER_TYPE_X={tool.params_input_shaper_type_x} SHAPER_TYPE_Y={tool.params_input_shaper_type_y} DAMPING_RATIO_X={tool.params_input_shaper_damping_ratio_x} DAMPING_RATIO_Y={tool.params_input_shaper_damping_ratio_y}\n'
[line 50]: ' {% else %}\n'
[line 51]: ' SET_INPUT_SHAPER SHAPER_FREQ_X={tool.params_input_shaper_freq_x} SHAPER_FREQ_Y={tool.params_input_shaper_freq_y} SHAPER_TYPE_X={tool.params_input_shaper_type_x} SHAPER_TYPE_Y={tool.params_input_shaper_type_y} DAMPING_RATIO_X={params_input_shaper_damping_ratio_x} DAMPING_RATIO_Y={params_input_shaper_damping_ratio_y}\n'
[line 52]: ' {% endif %}\n'
[line 53]: ' {% else %}\n'
[line 54]: ' SET_INPUT_SHAPER SHAPER_FREQ_X={tool.params_input_shaper_freq_x} SHAPER_FREQ_Y={tool.params_input_shaper_freq_y} SHAPER_TYPE_X={params_input_shaper_type_x} SHAPER_TYPE_Y={params_input_shaper_type_y} DAMPING_RATIO_X={params_input_shaper_damping_ratio_x} DAMPING_RATIO_Y={params_input_shaper_damping_ratio_y}\n'
[line 55]: ' {% endif %}\n'
[line 56]: ' {% else %}\n'
[line 57]: ' SET_INPUT_SHAPER SHAPER_FREQ_X={params_input_shaper_freq_x} SHAPER_FREQ_Y={params_input_shaper_freq_y} SHAPER_TYPE_X={params_input_shaper_type_x} SHAPER_TYPE_Y={params_input_shaper_type_y} DAMPING_RATIO_X={params_input_shaper_damping_ratio_x} DAMPING_RATIO_Y={params_input_shaper_damping_ratio_y}\n'
[line 58]: ' {% endif %}\n'
[line 59]: " {% if not printer['gcode_macro PRINT_START'].printing %}\n"
[line 60]: ' STOP_TOOL_PROBE_CRASH_DETECTION\n'
[line 61]: ' {% endif %}\n'
[line 63]: ' dropoff_gcode:\n'
[line 64]: ' {% set x = tool.params_park_x|float %}\n'
[line 65]: ' {% set y = tool.params_park_y|float %}\n'
[line 66]: ' {% set z = tool.params_park_z|float %}\n'
[line 67]: ' {% set fast = tool.params_fast_speed|float %}\n'
[line 68]: " {% set path = tool['params_' ~ tool.params_type ~ '_path'] %}\n"
[line 69]: ' {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %}\n'
[line 70]: ' {% set cur_z = printer.toolhead.position[2]|float %}\n'
[line 71]: " RESPOND TYPE=echo MSG='Dropping off {tool.name}'\n"
[line 72]: ' STOP_TOOL_PROBE_CRASH_DETECTION\n'
[line 73]: ' G90\n'
[line 74]: ' ; Move 1 mm up to avoid crashing into things\n'
[line 75]: ' G0 Z{ [cur_z+1.0, max_z]|min } F{fast}\n'
[line 77]: ' ROUNDED_G0 Y={tool.params_safe_y} D=20 F={fast}\n'
[line 78]: ' ROUNDED_G0 X={x} D=150 F={fast}\n'
[line 79]: " ROUNDED_G0 Z={z + path[0]['z']|float} D=20 F={fast}\n"
[line 80]: " ROUNDED_G0 Y={y + path[0]['y']|float} D=0 F={fast}\n"
[line 82]: ' {% for pos in path %}\n'
[line 83]: " G0 Y{y + pos['y']|float} Z{z + pos['z']|float} F{tool.params_path_speed|float * (pos.get('f', 1.0)|float) }\n"
[line 84]: ' {% endfor %}\n'
[line 86]: ' pickup_gcode:\n'
[line 87]: ' {% set x = tool.params_park_x|float %}\n'
[line 88]: ' {% set y = tool.params_park_y|float %}\n'
[line 89]: ' {% set z = tool.params_park_z|float %}\n'
[line 90]: ' {% set fast = tool.params_fast_speed|float %}\n'
[line 91]: " {% set path = tool['params_' ~ tool.params_type ~ '_path'] %}\n"
[line 92]: " RESPOND TYPE=echo MSG='Picking up {tool.name}'\n"
[line 93]: ' G90\n'
[line 95]: ' ROUNDED_G0 Y={tool.params_close_y} F={fast} D=5\n'
[line 96]: " ROUNDED_G0 X={x} Z={z + path[-1]['z']|float} F={fast} D=5\n"
[line 97]: " ROUNDED_G0 Y={y + path[-1]['y']|float} F={fast} D=0\n"
[line 100]: ' {% if tool.extruder %}\n'
[line 101]: ' TEMPERATURE_WAIT SENSOR={printer.toolhead.extruder} MINIMUM={printer[tool.extruder].target}\n'
[line 102]: ' {% endif %}\n'
[line 105]: ' {% for pos in path|reverse %}\n'
[line 106]: " G0 Y{y + pos['y']|float} Z{z + pos['z']|float} F{tool.params_path_speed|float * (pos.get('f', 1.0)|float) }\n"
[line 107]: " {% if 'f' in pos %} \n"
[line 108]: ' M400 ; Wait for moves to finish\n'
[line 109]: ' START_TOOL_PROBE_CRASH_DETECTION T={tool.tool_number}\n'
[line 110]: ' {% endif %}\n'
[line 111]: ' {% endfor %}\n'
[line 113]: ' ROUNDED_G0 Y={tool.params_safe_y} F={fast} D=20\n'
[line 114]: " {% if 'Z' in restore_position %}\n"
[line 115]: ' ROUNDED_G0 Z={restore_position.Z} F={fast} D=150\n'
[line 116]: ' {% endif %}\n'
[line 117]: " {% if 'X' in restore_position %}\n"
[line 118]: ' ROUNDED_G0 X={restore_position.X} F={fast} D=1000\n'
[line 119]: ' {% endif %}\n'
[line 120]: " {% if 'Y' in restore_position %}\n"
[line 121]: ' ROUNDED_G0 Y={restore_position.Y} F={fast} D=0\n'
[line 122]: ' {% endif %}\n'
[line 123]: ' ROUNDED_G0 D=0\n'
Once the underlying issue is corrected, use the "RESTART"
command to reload the config and restart the host software.
Printer is halted
Metadata
Metadata
Assignees
Labels
No labels