kliment / Printrun

Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software
GNU General Public License v3.0
2.34k stars 995 forks source link

host: Add commands for the host to send feedback for resume/cancel print to process_host_command #1413

Closed bkerler closed 4 months ago

bkerler commented 4 months ago

On printing via Printrun on Prusa printers, if the user stops the print on the printer, Printrun will continue to print and doesn't recognize that the print run was canceled. The Prusa printer is sending the "action:cancel" (see here) command via serial port, but Printcore seems to expect "action:disconnect".

rockstorm101 commented 4 months ago

Hi @bkerler, thanks for contributing.

I'm not sure I understand what you are trying to achieve, so please bear with me here. The process_host_command function within the printcore library is meant to be rewritten by hosts. In fact, pronterface and pronsole, rewrite this function (e.g. line 1740 on printrun/pronsole.py) and therefore any code implemented in princore's process_host_command will have no effect. So first question would be, why add those functions to printcore?

Next, a quick look at the Prusa-Firmware-Buddy project makes me think it is about the firmware for a printer. A host based on printcore will react to host-commands like ;@pause when read from a .gcode file not from answers from the printer's firmware. So I'm not sure I get what the PR you linked would achieve either.

Maybe we need more information on what are the use-cases and/or the problem.

bkerler commented 4 months ago

Hi, thanks for pointing that out, it was indeed a misunderstanding. I was able to find the code that might cause the problem and I will try to adapt the pr as no change might be needed on the printer side. Closing for now, will reopen later with correct fixes. Thanks !