klipper infinite LOOP once getting in halted status

I found RS default setting have issue at halted status handing for klipper. Due to RS will send commectionCommands once it got "!!" (halted signal) and Gcode M220 / M221 / G92 / G90 / M82 / M117 will make klipper resent the halted information. It cause RS looping to get the error info and make the RS stop working.

I workaround to change the startup script from 

    <connectionCommands>M105
        M115
        M220 S100
        M221 S100
        G92 E0
        G90
        M82
        @getip
    </connectionCommands>

to

    <connectionCommands>M105
        M115
    </connectionCommands>

and no infinite LOOP after error.

provide part of log:
> 20:52:12.024: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.035: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.036: !! Heater extruder not heating at expected rate
> 20:52:12.036: ok 7 
< 20:52:12.036: N1 M105
< 20:52:12.036: N2 M115
< 20:52:12.036: N3 M220 S100
< 20:52:12.036: N4 M221 S100
< 20:52:12.036: N5 G92 E0
< 20:52:12.036: N6 G90
< 20:52:12.036: N7 M82
< 20:52:12.036: @getip
> 20:52:12.039: ok B:56.5 /60.0 T0:195.2 /215.0
> 20:52:12.039: ok FIRMWARE_VERSION:v0.7.0-386-g9bd3e80-dirty FIRMWARE_NAME:Klipper
> 20:52:12.039: // Heater extruder not heating at expected rate
> 20:52:12.039: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.039: // for the parameters that control this check.
> 20:52:12.039: // 
> 20:52:12.039: // Once the underlying issue is corrected, use the
> 20:52:12.040: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.040: // config, and restart the host software.
> 20:52:12.040: // Printer is shutdown
> 20:52:12.040: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.050: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.051: !! Heater extruder not heating at expected rate
> 20:52:12.051: ok 3 
> 20:52:12.051: // Heater extruder not heating at expected rate
> 20:52:12.051: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.051: // for the parameters that control this check.
> 20:52:12.052: // 
> 20:52:12.052: // Once the underlying issue is corrected, use the
> 20:52:12.052: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.052: // config, and restart the host software.
> 20:52:12.052: // Printer is shutdown
> 20:52:12.052: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.063: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.063: !! Heater extruder not heating at expected rate
> 20:52:12.063: ok 4 
> 20:52:12.064: // Heater extruder not heating at expected rate
> 20:52:12.064: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.064: // for the parameters that control this check.
> 20:52:12.064: // 
> 20:52:12.064: // Once the underlying issue is corrected, use the
> 20:52:12.064: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.064: // config, and restart the host software.
> 20:52:12.064: // Printer is shutdown
> 20:52:12.064: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.075: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.076: !! Heater extruder not heating at expected rate
> 20:52:12.076: ok 5 
> 20:52:12.076: // Heater extruder not heating at expected rate
> 20:52:12.076: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.076: // for the parameters that control this check.
> 20:52:12.076: // 
> 20:52:12.076: // Once the underlying issue is corrected, use the
> 20:52:12.076: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.077: // config, and restart the host software.
> 20:52:12.077: // Printer is shutdown
> 20:52:12.077: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.087: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.088: !! Heater extruder not heating at expected rate
> 20:52:12.088: ok 6 
> 20:52:12.088: // Heater extruder not heating at expected rate
> 20:52:12.088: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.088: // for the parameters that control this check.
> 20:52:12.089: // 
> 20:52:12.089: // Once the underlying issue is corrected, use the
> 20:52:12.089: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.089: // config, and restart the host software.
> 20:52:12.089: // Printer is shutdown
> 20:52:12.089: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.101: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.101: !! Heater extruder not heating at expected rate
> 20:52:12.101: ok 7 
< 20:52:12.102: N1 M105
< 20:52:12.102: N2 M115
< 20:52:12.102: N3 M220 S100
< 20:52:12.102: N4 M221 S100
< 20:52:12.102: N5 G92 E0
< 20:52:12.102: N6 G90
< 20:52:12.102: N7 M82
< 20:52:12.102: @getip
> 20:52:12.105: ok B:56.5 /60.0 T0:195.2 /215.0
> 20:52:12.105: ok FIRMWARE_VERSION:v0.7.0-386-g9bd3e80-dirty FIRMWARE_NAME:Klipper
> 20:52:12.105: // Heater extruder not heating at expected rate
> 20:52:12.105: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.105: // for the parameters that control this check.
> 20:52:12.105: // 
> 20:52:12.106: // Once the underlying issue is corrected, use the
> 20:52:12.106: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.106: // config, and restart the host software.
> 20:52:12.106: // Printer is shutdown
> 20:52:12.106: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.117: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.117: !! Heater extruder not heating at expected rate
> 20:52:12.117: ok 3 
> 20:52:12.117: // Heater extruder not heating at expected rate
> 20:52:12.117: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.118: // for the parameters that control this check.
> 20:52:12.118: // 
> 20:52:12.118: // Once the underlying issue is corrected, use the
> 20:52:12.118: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.118: // config, and restart the host software.
> 20:52:12.118: // Printer is shutdown
> 20:52:12.118: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.129: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.129: !! Heater extruder not heating at expected rate
> 20:52:12.130: ok 4 
> 20:52:12.130: // Heater extruder not heating at expected rate
> 20:52:12.130: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.130: // for the parameters that control this check.
> 20:52:12.130: // 
> 20:52:12.130: // Once the underlying issue is corrected, use the
> 20:52:12.130: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.130: // config, and restart the host software.
> 20:52:12.130: // Printer is shutdown
> 20:52:12.131: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.240: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.241: !! Heater extruder not heating at expected rate
> 20:52:12.241: ok 5 
> 20:52:12.241: // Heater extruder not heating at expected rate
> 20:52:12.241: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.241: // for the parameters that control this check.
> 20:52:12.241: // 
> 20:52:12.241: // Once the underlying issue is corrected, use the
> 20:52:12.241: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.242: // config, and restart the host software.
> 20:52:12.242: // Printer is shutdown
> 20:52:12.242: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.252: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.253: !! Heater extruder not heating at expected rate
> 20:52:12.253: ok 6 
> 20:52:12.253: // Heater extruder not heating at expected rate
> 20:52:12.253: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.253: // for the parameters that control this check.
> 20:52:12.254: // 
> 20:52:12.254: // Once the underlying issue is corrected, use the
> 20:52:12.254: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.254: // config, and restart the host software.
> 20:52:12.254: // Printer is shutdown
> 20:52:12.254: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.265: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.265: !! Heater extruder not heating at expected rate
> 20:52:12.265: ok 7 
< 20:52:12.266: N1 M105
< 20:52:12.266: N2 M115
< 20:52:12.266: N3 M220 S100
< 20:52:12.266: N4 M221 S100
< 20:52:12.266: N5 G92 E0
< 20:52:12.266: N6 G90
< 20:52:12.266: N7 M82
< 20:52:12.266: @getip
> 20:52:12.268: ok B:56.4 /60.0 T0:195.0 /215.0
> 20:52:12.269: ok FIRMWARE_VERSION:v0.7.0-386-g9bd3e80-dirty FIRMWARE_NAME:Klipper
> 20:52:12.269: // Heater extruder not heating at expected rate
> 20:52:12.270: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.270: // for the parameters that control this check.
> 20:52:12.270: // 
> 20:52:12.270: // Once the underlying issue is corrected, use the
> 20:52:12.270: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.270: // config, and restart the host software.
> 20:52:12.270: // Printer is shutdown
> 20:52:12.270: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.281: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.282: !! Heater extruder not heating at expected rate
> 20:52:12.282: ok 3 
> 20:52:12.282: // Heater extruder not heating at expected rate
> 20:52:12.283: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.283: // for the parameters that control this check.
> 20:52:12.283: // 
> 20:52:12.283: // Once the underlying issue is corrected, use the
> 20:52:12.283: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.283: // config, and restart the host software.
> 20:52:12.283: // Printer is shutdown
> 20:52:12.283: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.294: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.294: !! Heater extruder not heating at expected rate
> 20:52:12.295: ok 4 
> 20:52:12.295: // Heater extruder not heating at expected rate
> 20:52:12.295: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.295: // for the parameters that control this check.
> 20:52:12.295: // 
> 20:52:12.295: // Once the underlying issue is corrected, use the
> 20:52:12.295: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.295: // config, and restart the host software.
> 20:52:12.296: // Printer is shutdown
> 20:52:12.296: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.306: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.307: !! Heater extruder not heating at expected rate
> 20:52:12.307: ok 5 
> 20:52:12.307: // Heater extruder not heating at expected rate
> 20:52:12.307: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.307: // for the parameters that control this check.
> 20:52:12.307: // 
> 20:52:12.307: // Once the underlying issue is corrected, use the
> 20:52:12.308: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.308: // config, and restart the host software.
> 20:52:12.308: // Printer is shutdown
> 20:52:12.308: Firmware was halted, trying to reconnect. Eventually running print is stopped.
> 20:52:12.318: Response while unconnected:!! Heater extruder not heating at expected rate
> 20:52:12.319: !! Heater extruder not heating at expected rate
> 20:52:12.319: ok 6 
> 20:52:12.319: // Heater extruder not heating at expected rate
> 20:52:12.319: // See the 'verify_heater' section in config/example-extras.cfg
> 20:52:12.319: // for the parameters that control this check.
> 20:52:12.319: // 
> 20:52:12.320: // Once the underlying issue is corrected, use the
> 20:52:12.320: // "FIRMWARE_RESTART" command to reset the firmware, reload the
> 20:52:12.320: // config, and restart the host software.
> 20:52:12.320: // Printer is shutdown






Comments

  • Thanks for the log. Comparing with sources it is clear what happens. !! calls halted signal which resets the printer and starts again. I now have changed it so halted will deactivate the printer so it will never connect on it's own. You will have to activate it to use it again.
  • I think it won't work if user try to active the printer in this status immediately. And the result will be user not able to enter the command interface to input "#FIRMWARE_RESTART" to reset the printer.

    I suggest change to not send connectionCommands when printer halted.
  • I see what you mean. Would require a bigger mod as that state is not implemented. Originally only gcode was planned. Now gcode does not work but special firmware commands do:-( But ok, will make a switch to disable gcode and send a error notice every time user tries to send a gcode to remind him of the problem. Think that should do it.
Sign In or Register to comment.