본문으로 건너뛰기

Klipper 断电续打

须知
  • 仅适用部分机器

切换分支

  • 需要使用SS通过网络连接到上位机后执行,需要确保上位机可以联网
git clone https://e.coding.net/g-ofpa1390/3D-Printers/klipper-dev.git -b fly-dev klipper

参考配置

[power_resume]
power_pin: PA10
is_shutdown: True # 是否执行关机操作, 默认为启用
start_gcode:
    # 开始续打前执行的gcode
    # 断电前保存的所有参数均可通过{PR}获取
    # 可使用M118 {PR}输出所有可用参数
    M118 开始续打: {PR.print_stats.filename}
    {% if PR.print_stats.info.total_layer %}
        M118 总层数: {PR.print_stats.info.total_layer}
        M118 中断层: {PR.print_stats.info.current_layer}
    {% endif %}
    M118 中断位置: X:[{PR.POS_X}] Y:[{PR.POS_Y}] Z:[{PR.POS_Z}] E:[{PR.POS_E}]
    M140 S{PR.bed.target}      ; 设置热床温度
    # M104 S180                ; 设置挤出头温度
    # M109 S180                ; 等待挤出头加热到设定温度
    G91                        ; 相对坐标
    G1 Z2 F100                 ; 抬升Z,准备X,Y归零
    G90                        ; 绝对坐标
    G28 X Y                    ; 归零XY
    M140 S{PR.bed.target}      ; 设置热床温度
    M104 S{PR.extruder.target} ; 设置挤出头温度
    M190 S{PR.bed.target}      ; 等待热床加热到设定温度
    M109 S{PR.extruder.target} ; 等待挤出头加热到设定温度
    M106 S255                  ; 开启吹料风扇
    M83                        ; 相对挤出
    G1 E10 F400                ; 挤出一点
    G90                        ; 绝对坐标
    G1 F{PR.gcode_move.speed}  ; 设置移动速度
    G1 X{PR.POS_X} Y{PR.POS_Y} Z{PR.POS_Z} ; 移动到开始位置
    {% if PR.gcode_move.absolute_coordinates %}
        G90 ; 绝对运动
    {% else %}
        G91 ; 相对运动
    {% endif %}
    {% if PR.gcode_move.absolute_extrude %}
        M82 ; 绝对挤出
    {% else %}
        M83 ; 相对挤出
    {% endif %}
    G92 E{PR.POS_E} ; 设置挤出位置
shutdown_gcode:
    # 关机前执行的gcode
    M118 电源电压低,关机
    # M112 ; 紧急停止