背景:
使用klipper固件的打印机,实现在Z轴不变的情况下,让喷嘴循环走路径,比如在气溶胶打印、激光打标等应用中。
问题:
klipper不支持M98指令,不能通过调用子程序的方式实现循环。
解决思路:
使用klipper的sdcard_loop和M808质量,参考网址:
https://www.klipper3d.org/zh/Config_Reference.html#sdcard_loop
https://github.com/Klipper3d/klipper/blob/master/config/sample-macros.cfg
具体过程:
(1)在printer.cfg中插入:
# SDCard 'looping' (aka Marlin M808 commands) support
#
# Support SDCard looping
[sdcard_loop]
# 'Marlin' style M808 compatibility macro for SDCard looping
[gcode_macro M808]
gcode:
{% if params.K is not defined and params.L is defined %}SDCARD_LOOP_BEGIN COUNT={params.L|int}{% endif %}
{% if params.K is not defined and params.L is not defined %}SDCARD_LOOP_END{% endif %}
{% if params.K is defined and params.L is not defined %}SDCARD_LOOP_DESIST{% endif %}
(2)在Gcode文件中需要循环的路径段添加M808指令:
.....
;以M808开始,以M808结束,L 指定循环次数
M808 L5
;需要循环的gcode指令
M808