Quick toolhead swap (`M2000 S200`) not supported via Octoprint?
Opened this issue ยท 1 comments
๐ bug report
Affected Version(s)
All
Is this a regression? (optional)
No
To Reproduce
Steps to reproduce the behavior:
1.
T0
G1 X50
T1
M2000 S200
- Print heads do not move as expected
Exception or Error (optional)
Recv: Not printing, can not move T0 T1 now
Expected behavior
T0 should park at the same time as T1 moves into place
Notes:
I notice here:
if (SYSTEM_STATUE_PRINTING != system_service.get_status()) {
LOG_I("Not printing, can not move T0 T1 now\r\n");
return;
}
I do not see what sets the status to SYSTEM_STATUE_PRINTING
.
This appears to be a custom Snapmaker status. I do not see any GCODE command that lets you set this.
I am guessing when printing via the screen, it sets it?
I can reproduce this bug. Looking at M2000.cpp, it's checking system_service.get_status()
. It is not clear to me how this is set, or checked. It's long been known M2000 S600 only works on print jobs initiated from the Android screen.
It's possible gcode streamed directly to the MCU via the rear USB port does not trigger active "printing" status in some way that streams from the screen does, or that printing status is maintained by the screen firmware (which OctoPrint cannot see).
Possibly related: OctoPrint reports host commands are not supported.