Hi,
im am using a Duet3d Maestro board to control a DyzeDesign extruder. I actually do not need the X,Y and Z drivers and only connected the extruder stepper. The kinematics are controlled by a different system and I am having problems synchronizing the extrusion with the movements of the kinematic system.
Currently I am sending the full G-Code via HTTP requests to the Maestro so that the necessary extrusion speed (/feedrate) is calculated by the firmware using the given extrusion length and the distance (X,Y,(Z)) between the waypoints (just like conventional fff printers). I also set the speed factor over 100 %, so that the Maestro is just a tiny bit ahead of the kinematic system every step. I also only send the next 2 G-Code commands in the command chain to the Maestro, so that it can never "outrun" my kinematic system entirely. So far the results look quiet promising despite the lack of "realtime" communication between the two systems.
What I would like to do is control the extruder by continuosly sending extrusion speeds and running it "infinitely".
I thought about just sending commands with very high E values like "G1 E1000 F1200" and then "G1 F1000" to change the speed. But as I understand it G-Code is processed step-by-step so that the "G1 E1000 F1200" command would block the command queue until it is finished. Is there maybe a way to stop the current movement and clear the command buffer? Like this (pseudo code):
G1 E1000 F1200
Stop (immediately)
G1 E1000 F1000
Stop (immediately)
G1 E-1000 F2000 (retract)
Stop (immediately)
I hope I could describe my idea,
Thanks for your help!