Hi All! I'm trying to understand how octoprint communicates GCode to the printer when printing from files uploaded to the server (not the sd card). Am I correct in thinking that this code in src/util/comm.py is ultimately what is responsible, and that the general process is:
- Octoprint maintains a
_currentFilestate variable - The value for
_currentFileis set during this api route (/files/<string:target>/<path:filename>) - When the user triggers a print, octoprint sends an
M29command and copies the content of the file onto the sd card - Once the file is copied over, octoprint tells the printer to begin (using and
M23command)
I'm really just trying to figure out if octoprint streams the commands over it's serial/tty connection on some timeout/interval, or if it behaves like I outlined above. The other day I rebooted my octoprint serve process mindlessly (probably rebooting after an apt update or something) during a print and noticed the printer just stopped executing commands. That leads me to believe it is not copying the gcode to the SD card before the print but streaming them outright, though I'm just not sure.
Thanks in advance!