Is streaming G-code (real-time) possible?
-
After much searching here and online, I can't find the answer I'm looking for. I'd like to use Duet3D hardware to control a custom CNC positioning device and stream instructions from software on a local host Windows PC.
Is it possible to stream G-code data into Duet3D controller boards instead of loading from a file? From this thread, it seems that Pronterface and Slicer3D can stream files directly to a 3Dprinter, so I am optimistic.
If so, is there any feedback mechanism such as checksum or "OK" to notify the sender that the data was received?
If not, can other firmware (besides RepRap) with streaming capability be used with the Duet3D controller boards?
-
@loddie said in Is streaming G-code (real-time) possible?:
Is it possible to stream G-code data into Duet3D controller boards instead of loading from a file?
If so, is there any feedback mechanism such as checksum or "OK" to notifier the sender that the data was received?
Yes, and Yes.
You can send gcode directly to the Duet via USBserial, or via hardwired uart serial, also via telnet and other streams too.
You can choose to use checksumming and message sequences to ensure integrity.
Look in the duet documentation for examples and descriptions of this. Almost ALL other firmwares can do the same.
Doing this is very common, especially on non networked controllers, it's how OctoPrint works, for instance.
-
@EasyTarget Thank-you! I'll have to dig deeper into the documentation as I somehow missed it. Anyway, it is great to know the capability exists.
-
@loddie bear in mind that when you stream GCode to a Duet, the capabilities for fast pausing and resume-after-power-fail are lost. This is because those capabilities depend on being able to cancel commands that have already been processed and queued but not yet executed.
-
@dc42 Thank-you for the warning and insight! Perfectly valid for long processes such as 3D printing or CNC machining. Fortunately, in my application, power loss shouldn't be a problem as it is simply for statically positioning objects - so the G-code is only a couple of lines and the process is only a few seconds. If power is lost, I'll just start the process over.
-
-
@droftarts Thanks Ian!